From 217285223cbf4b095b5c07a8c61d76d67aef6126 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 29 Apr 2026 10:28:34 +0800 Subject: [PATCH] fix: list-input, labels-selector form --- src/pages/backends/forms/basic.tsx | 11 --------- src/pages/backends/forms/versions-config.tsx | 23 ------------------- src/pages/benchmark/forms/labels.tsx | 8 ------- .../components/pool-form.tsx | 2 -- src/pages/llmodels/forms/advance-config.tsx | 7 ------ .../forms/backend-parameters-list.tsx | 6 ----- src/pages/llmodels/forms/schedule-type.tsx | 7 ------ src/pages/model-routes/forms/meta-data.tsx | 10 -------- .../resources/components/update-labels.tsx | 7 ------ tsconfig.json | 6 ++++- 10 files changed, 5 insertions(+), 82 deletions(-) diff --git a/src/pages/backends/forms/basic.tsx b/src/pages/backends/forms/basic.tsx index 4f921481..d9113ca1 100644 --- a/src/pages/backends/forms/basic.tsx +++ b/src/pages/backends/forms/basic.tsx @@ -18,11 +18,6 @@ const BasicForm = () => { const intl = useIntl(); const { getRuleMessage } = useAppUtils(); const { action, backendSource } = useFormContext(); - const defaultEnvs = Form.useWatch('default_env', form); - - const handleEnviromentVarsChange = (labels: Record) => { - form.setFieldValue('default_env', labels); - }; useEffect(() => { if (action === PageAction.CREATE) { @@ -93,10 +88,6 @@ const BasicForm = () => { rules={[{ required: false }]} > { - form.setFieldValue('default_backend_param', data); - }} btnText={intl.formatMessage({ id: 'backend.form.addParameter' })} label={intl.formatMessage({ id: 'backend.form.defaultBackendParameters' @@ -108,9 +99,7 @@ const BasicForm = () => { label={intl.formatMessage({ id: 'backend.form.defaultEnvironment' })} - labels={defaultEnvs} btnText={intl.formatMessage({ id: 'common.button.vars' })} - onChange={handleEnviromentVarsChange} > diff --git a/src/pages/backends/forms/versions-config.tsx b/src/pages/backends/forms/versions-config.tsx index c9261bdf..45746c23 100644 --- a/src/pages/backends/forms/versions-config.tsx +++ b/src/pages/backends/forms/versions-config.tsx @@ -142,25 +142,6 @@ const VersionsForm: React.FC = ({ setDefaultVersion(value); }; - const handleEnviromentVarsChange = ( - envs: Record, - name: number - ) => { - const versions = form.getFieldValue('version_configs') || []; - const updatedVersions = versions.map((version: any, idx: number) => { - if (idx === name) { - return { - ...version, - env: { - ...envs - } - }; - } - return version; - }); - form.setFieldValue('version_configs', updatedVersions); - }; - useEffect(() => { const versions = form.getFieldValue('version_configs') || []; @@ -407,11 +388,7 @@ const VersionsForm: React.FC = ({ label={intl.formatMessage({ id: 'models.form.env' })} - labels={versionConfigs?.[name]?.env} btnText={intl.formatMessage({ id: 'common.button.vars' })} - onChange={(envs) => - handleEnviromentVarsChange(envs, name) - } > diff --git a/src/pages/benchmark/forms/labels.tsx b/src/pages/benchmark/forms/labels.tsx index cf067bb4..26b6956e 100644 --- a/src/pages/benchmark/forms/labels.tsx +++ b/src/pages/benchmark/forms/labels.tsx @@ -5,14 +5,8 @@ import _ from 'lodash'; import { FormData } from '../config/types'; const LabelsForm: React.FC = () => { - const form = Form.useFormInstance(); - const labels = Form.useWatch('labels', form); const intl = useIntl(); - const handleLabelsChange = (labels: object) => { - form.setFieldValue('labels', labels); - }; - return ( name="labels" @@ -44,9 +38,7 @@ const LabelsForm: React.FC = () => { label={intl.formatMessage({ id: 'resources.table.labels' })} - labels={labels} btnText={intl.formatMessage({ id: 'common.button.addLabel' })} - onChange={handleLabelsChange} > ); diff --git a/src/pages/cluster-management/components/pool-form.tsx b/src/pages/cluster-management/components/pool-form.tsx index a6c1b777..f701c7fb 100644 --- a/src/pages/cluster-management/components/pool-form.tsx +++ b/src/pages/cluster-management/components/pool-form.tsx @@ -179,7 +179,6 @@ const PoolForm: React.FC = forwardRef((props, ref) => { const [form] = Form.useForm(); const intl = useIntl(); const { getRuleMessage } = useAppUtils(); - const labels = Form.useWatch('labels', form); const title = Form.useWatch('name', form); const [instanceSpec, setInstanceSpec] = useState>({}); @@ -481,7 +480,6 @@ const PoolForm: React.FC = forwardRef((props, ref) => { > diff --git a/src/pages/llmodels/forms/advance-config.tsx b/src/pages/llmodels/forms/advance-config.tsx index 200c26ae..45c5d450 100644 --- a/src/pages/llmodels/forms/advance-config.tsx +++ b/src/pages/llmodels/forms/advance-config.tsx @@ -19,7 +19,6 @@ import BackendParametersList from './backend-parameters-list'; const AdvanceConfig = () => { const intl = useIntl(); const form = Form.useFormInstance(); - const EnviromentVars = Form.useWatch('env', form); const backend = Form.useWatch('backend', form); const modelRouteEnable = Form.useWatch('enable_model_route', form); const { @@ -36,10 +35,6 @@ const AdvanceConfig = () => { return flatBackendOptions?.find((item) => item.value === backend); }, [backend, flatBackendOptions]); - const handleEnviromentVarsChange = (labels: Record) => { - form.setFieldValue('env', labels); - }; - const onSelectorChange = (field: string, allowEmpty?: boolean) => { const workerSelector = form.getFieldValue(field); // check if all keys have values @@ -86,11 +81,9 @@ const AdvanceConfig = () => { label={intl.formatMessage({ id: 'models.form.env' })} - labels={EnviromentVars} btnText={intl.formatMessage({ id: 'common.button.vars' })} onBlur={handleEnvSelectorOnBlur} onDelete={handleDeleteEnvSelector} - onChange={handleEnviromentVarsChange} > {(backend === backendOptionsMap.custom || diff --git a/src/pages/llmodels/forms/backend-parameters-list.tsx b/src/pages/llmodels/forms/backend-parameters-list.tsx index 91d57f7f..e95e4716 100644 --- a/src/pages/llmodels/forms/backend-parameters-list.tsx +++ b/src/pages/llmodels/forms/backend-parameters-list.tsx @@ -24,10 +24,6 @@ const BackendParametersList: React.FC = () => { return _.get(BackendParameters, backend, []); }, [backend]); - const handleBackendParametersChange = (list: string[]) => { - form.setFieldValue('backend_parameters', list); - }; - const handleBackendParametersOnBlur = () => { onValuesChange?.({}, form.getFieldsValue()); }; @@ -51,8 +47,6 @@ const BackendParametersList: React.FC = () => { label={intl.formatMessage({ id: 'models.form.backend_parameters' })} - dataList={form.getFieldValue('backend_parameters') || []} - onChange={handleBackendParametersChange} onBlur={handleBackendParametersOnBlur} onDelete={handleDeleteBackendParameters} options={paramsConfig} diff --git a/src/pages/llmodels/forms/schedule-type.tsx b/src/pages/llmodels/forms/schedule-type.tsx index 62da111c..d8cba9c3 100644 --- a/src/pages/llmodels/forms/schedule-type.tsx +++ b/src/pages/llmodels/forms/schedule-type.tsx @@ -76,7 +76,6 @@ const ScheduleTypeForm: React.FC = () => { const { getRuleMessage } = useAppUtils(); const form = Form.useFormInstance(); const scheduleType = Form.useWatch('scheduleType', form); - const workerSelector = Form.useWatch('worker_selector', form); const GPUsPerReplicas = Form.useWatch( ['gpu_selector', 'gpus_per_replica'], form @@ -126,10 +125,6 @@ const ScheduleTypeForm: React.FC = () => { } }; - const handleWorkerLabelsChange = (labels: Record) => { - form.setFieldValue('worker_selector', labels); - }; - const handleSelectorOnBlur = () => { onSelectorChange('worker_selector'); }; @@ -295,8 +290,6 @@ const ScheduleTypeForm: React.FC = () => { label={intl.formatMessage({ id: 'resources.form.workerSelector' })} - labels={workerSelector} - onChange={handleWorkerLabelsChange} onBlur={handleSelectorOnBlur} onDelete={handleDeleteWorkerSelector} description={ diff --git a/src/pages/model-routes/forms/meta-data.tsx b/src/pages/model-routes/forms/meta-data.tsx index 09030f89..5a320073 100644 --- a/src/pages/model-routes/forms/meta-data.tsx +++ b/src/pages/model-routes/forms/meta-data.tsx @@ -41,10 +41,6 @@ const MetaData = () => { const form = Form.useFormInstance(); const icon = Form.useWatch(['meta', 'icon'], form); - const handleMetadataChange = (list: string[], field: string) => { - form.setFieldValue(['meta', field], list); - }; - const handleUpdateImageList = (fileList: any[]) => { if (fileList.length === 0) { return; @@ -122,24 +118,18 @@ const MetaData = () => { handleMetadataChange(list, 'tags')} > name={['meta', 'licenses']} data-field="metadata"> handleMetadataChange(list, 'licenses')} > name={['meta', 'languages']} data-field="metadata"> handleMetadataChange(list, 'languages')} > name={['meta', 'icon']} data-field="metadata"> diff --git a/src/pages/resources/components/update-labels.tsx b/src/pages/resources/components/update-labels.tsx index 3c69bc96..26861ccf 100644 --- a/src/pages/resources/components/update-labels.tsx +++ b/src/pages/resources/components/update-labels.tsx @@ -28,11 +28,6 @@ const UpdateLabels: React.FC = (props) => { const { open, onCancel, data, onOk } = props || {}; const intl = useIntl(); const [form] = Form.useForm(); - const labels = Form.useWatch('labels', form); - - const handleLabelsChange = (labels: object) => { - form.setFieldValue('labels', labels); - }; const handleSumit = () => { form.submit(); @@ -105,9 +100,7 @@ const UpdateLabels: React.FC = (props) => { label={intl.formatMessage({ id: 'resources.table.labels' })} - labels={labels} btnText={intl.formatMessage({ id: 'common.button.addLabel' })} - onChange={handleLabelsChange} > diff --git a/tsconfig.json b/tsconfig.json index e2c8f685..ede5ebe8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,11 @@ "paths": { "@/*": ["./src/*"], "@@/*": ["./src/.umi/*"], - "@@test/*": ["./src/.umi-test/*"] + "@@test/*": ["./src/.umi-test/*"], + "@gpustack/gpustack-ui-enterprise": [ + "../gpustack-ui-enterprise/src/index.ts" + ], + "@gpustack/gpustack-ui-enterprise/*": ["../gpustack-ui-enterprise/src/*"] } }, "include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx"]