fix: catalog form meta data update

This commit is contained in:
jialin
2025-01-17 21:22:15 +08:00
parent 58fcc90417
commit faa13f58e0
9 changed files with 138 additions and 10 deletions
@@ -44,6 +44,12 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
const wokerSelector = Form.useWatch('worker_selector', form);
const scheduleType = Form.useWatch('scheduleType', form);
const backend = Form.useWatch('backend', form);
const backend_parameters = Form.useWatch('backend_parameters', form);
const categories = Form.useWatch('categories', form);
const backend_version = Form.useWatch('backend_version', form);
const placement_strategy = Form.useWatch('placement_strategy', form);
const gpuSelectorIds = Form.useWatch('gpu_selector.gpu_ids', form);
const worker_selector = Form.useWatch('worker_selector', form);
const placementStrategyTips = [
{
@@ -371,7 +377,13 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
scheduleType,
wokerSelector,
backend,
isGGUF
backend_parameters,
isGGUF,
categories,
backend_version,
placement_strategy,
gpuSelectorIds,
worker_selector
]);
return (
+37
View File
@@ -29,6 +29,7 @@ const Models: React.FC = () => {
loading: false,
total: 0
});
const [pageHidden, setPageHidden] = useState(false);
const [gpuDeviceList, setGpuDeviceList] = useState<GPUDeviceItem[]>([]);
const [workerList, setWorkerList] = useState<WokerListItem[]>([]);
const [firstLoad, setFirstLoad] = useState(true);
@@ -122,6 +123,10 @@ const Models: React.FC = () => {
const updateInstanceHandler = (list: any) => {
setModelInstances(list);
window.postMessage(
{ type: 'modelInstance', data: list },
window.location.origin
);
};
const createModelsChunkRequest = useCallback(async () => {
@@ -242,6 +247,38 @@ const Models: React.FC = () => {
};
}, [fetchData, createModelsChunkRequest, createModelsInstanceChunkRequest]);
useEffect(() => {
const handleOnWindowMessage = (event: any) => {
const data = event.data;
console.log(
'event.origin=======',
event.origin !== window.location.origin ||
data.type !== 'modelInstance',
data,
event.origin,
window.location.origin
);
if (
event.origin !== window.location.origin ||
data.type !== 'modelInstance'
) {
return;
}
if (document.visibilityState === 'hidden') {
console.log('isPageHidden=======', document.visibilityState, data.data);
setModelInstances(data.data);
}
};
window.addEventListener('message', handleOnWindowMessage);
return () => {
window.removeEventListener('message', handleOnWindowMessage);
};
}, []);
return (
<TableContext.Provider
value={{