fix: evaluate status add lock state
This commit is contained in:
@@ -128,7 +128,7 @@ const MixLineBarChart: React.FC<
|
||||
...options.xAxis,
|
||||
data: xAxisData
|
||||
},
|
||||
series: [...linedata, ...barData]
|
||||
series: [...barData, ...linedata]
|
||||
};
|
||||
}, [seriesData, xAxisData, yAxisName, title, smooth, legendData, options]);
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ const SearchModel: React.FC<SearchInputProps> = (props) => {
|
||||
const [query, setQuery] = useState({
|
||||
page: 1,
|
||||
perPage: 10,
|
||||
total: 100
|
||||
total: 0
|
||||
});
|
||||
const modelFilesSortOptions = useRef<any[]>([
|
||||
{
|
||||
@@ -120,7 +120,8 @@ const SearchModel: React.FC<SearchInputProps> = (props) => {
|
||||
return isGGUF || isGGUFFromMs;
|
||||
};
|
||||
|
||||
const handleOnSelectModel = (item: any, evaluate?: boolean) => {
|
||||
const handleOnSelectModel = (model: any, evaluate?: boolean) => {
|
||||
const item = model || {};
|
||||
onSelectModel(item, evaluate);
|
||||
setCurrent(item.id);
|
||||
currentRef.current = item.id;
|
||||
@@ -207,6 +208,13 @@ const SearchModel: React.FC<SearchInputProps> = (props) => {
|
||||
});
|
||||
return list;
|
||||
} catch (error) {
|
||||
setQuery((prev) => {
|
||||
return {
|
||||
...prev,
|
||||
page: queryParams.page,
|
||||
total: 0
|
||||
};
|
||||
});
|
||||
return [];
|
||||
}
|
||||
};
|
||||
@@ -367,7 +375,7 @@ const SearchModel: React.FC<SearchInputProps> = (props) => {
|
||||
displayEvaluateStatus?.({
|
||||
show: true,
|
||||
flag: {
|
||||
model: true
|
||||
model: list.length > 0
|
||||
}
|
||||
});
|
||||
handleOnSelectModel(list[0]);
|
||||
@@ -375,6 +383,7 @@ const SearchModel: React.FC<SearchInputProps> = (props) => {
|
||||
|
||||
handleEvaluate(list);
|
||||
} catch (error: any) {
|
||||
console.log('error:', error);
|
||||
setDataSource({
|
||||
repoOptions: [],
|
||||
loading: false,
|
||||
|
||||
@@ -36,6 +36,11 @@ type MessageStatus = {
|
||||
evaluateResult?: EvaluateResult;
|
||||
};
|
||||
|
||||
type WarningStausOptions = {
|
||||
lockAfterUpdate?: boolean;
|
||||
override?: boolean;
|
||||
};
|
||||
|
||||
export const useGenerateFormEditInitialValues = () => {
|
||||
const gpuDeviceList = useRef<any[]>([]);
|
||||
const workerList = useRef<any[]>([]);
|
||||
@@ -268,6 +273,7 @@ export const useCheckCompatibility = () => {
|
||||
const submitAnyway = useRef<boolean>(false);
|
||||
const requestIdRef = useRef(0);
|
||||
const updateStatusTimer = useRef<any>(null);
|
||||
const isLockWarningStatus = useRef<boolean>(false);
|
||||
const [warningStatus, setWarningStatus] = useState<MessageStatus>({
|
||||
show: false,
|
||||
title: '',
|
||||
@@ -279,6 +285,33 @@ export const useCheckCompatibility = () => {
|
||||
return requestIdRef.current;
|
||||
};
|
||||
|
||||
const lockWarningStatus = () => {
|
||||
isLockWarningStatus.current = true;
|
||||
};
|
||||
|
||||
const unlockWarningStatus = () => {
|
||||
isLockWarningStatus.current = false;
|
||||
};
|
||||
|
||||
const updateWarningStatus = (
|
||||
params: MessageStatus,
|
||||
options?: WarningStausOptions
|
||||
) => {
|
||||
const { lockAfterUpdate = false, override = false } = options || {};
|
||||
|
||||
setWarningStatus((prev: MessageStatus) => {
|
||||
if (isLockWarningStatus.current && !override) {
|
||||
return prev;
|
||||
}
|
||||
|
||||
if (lockAfterUpdate) {
|
||||
lockWarningStatus();
|
||||
}
|
||||
|
||||
return params;
|
||||
});
|
||||
};
|
||||
|
||||
const handleEvaluate = async (data: any) => {
|
||||
try {
|
||||
checkTokenRef.current?.cancel();
|
||||
@@ -374,13 +407,16 @@ export const useCheckCompatibility = () => {
|
||||
};
|
||||
};
|
||||
|
||||
const handleShowCompatibleAlert = (evaluateResult: EvaluateResult | null) => {
|
||||
const handleShowCompatibleAlert = (
|
||||
evaluateResult: EvaluateResult | null,
|
||||
options?: WarningStausOptions
|
||||
) => {
|
||||
const result = handleCheckCompatibility(evaluateResult);
|
||||
if (updateStatusTimer.current) {
|
||||
clearTimeout(updateStatusTimer.current);
|
||||
}
|
||||
updateStatusTimer.current = setTimeout(() => {
|
||||
setWarningStatus(result);
|
||||
updateWarningStatus(result, options);
|
||||
}, 300);
|
||||
};
|
||||
|
||||
@@ -562,7 +598,8 @@ export const useCheckCompatibility = () => {
|
||||
handleDoEvalute,
|
||||
generateGPUIds,
|
||||
handleEvaluate,
|
||||
setWarningStatus,
|
||||
setWarningStatus: updateWarningStatus,
|
||||
unlockWarningStatus,
|
||||
cancelEvaluate,
|
||||
handleBackendChangeBefore,
|
||||
handleOnValuesChange: debounceHandleValuesChange,
|
||||
|
||||
Reference in New Issue
Block a user