From 69f398c5943ed8923bbb455f9df779d6f1502684 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 30 Apr 2025 14:52:28 +0800 Subject: [PATCH] fix: update fields value --- src/components/logs-viewer/styles/index.less | 2 +- .../logs-viewer/virtual-log-list.tsx | 2 +- src/global.less | 2 +- .../llmodels/components/advance-config.tsx | 19 ++++++++++++++++--- .../llmodels/components/update-modal.tsx | 11 +++++++++-- src/pages/llmodels/config/index.ts | 6 ++++-- .../llmodels/hooks/use-selector-change.ts | 1 + 7 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 src/pages/llmodels/hooks/use-selector-change.ts diff --git a/src/components/logs-viewer/styles/index.less b/src/components/logs-viewer/styles/index.less index 5f0f3b4c..a4cba1cb 100644 --- a/src/components/logs-viewer/styles/index.less +++ b/src/components/logs-viewer/styles/index.less @@ -55,7 +55,7 @@ padding-top: 100px; display: flex; justify-content: center; - background-color: rgba(255, 255, 255, 25%); + background-color: var(--color-fill-spin-bg); } .copy { diff --git a/src/components/logs-viewer/virtual-log-list.tsx b/src/components/logs-viewer/virtual-log-list.tsx index 1ef12a7a..b47a4353 100644 --- a/src/components/logs-viewer/virtual-log-list.tsx +++ b/src/components/logs-viewer/virtual-log-list.tsx @@ -141,7 +141,7 @@ const LogsViewer: React.FC = forwardRef((props, ref) => { const createChunkConnection = async () => { chunkRequedtRef.current?.current?.abort?.(); - + setLoading(true); chunkRequedtRef.current = setChunkFetch({ url, params: { diff --git a/src/global.less b/src/global.less index be52d584..53beb7f3 100644 --- a/src/global.less +++ b/src/global.less @@ -71,7 +71,7 @@ html { --seal-transition-func: cubic-bezier(0, 0, 1, 1); --color-green-fill-light: rgb(243 251 248); --ant-rate-star-color: #fadb14; - --color-fill-spin-bg: rgba(255, 255, 255, 60%); + --color-fill-spin-bg: rgba(255, 255, 255, 15%); --width-tooltip-max: 300px; --color-bg-tooltip: '#fff'; --color-modal-content-bg: rgba(255, 255, 255, 90%); diff --git a/src/pages/llmodels/components/advance-config.tsx b/src/pages/llmodels/components/advance-config.tsx index 2d465d3e..cddb017d 100644 --- a/src/pages/llmodels/components/advance-config.tsx +++ b/src/pages/llmodels/components/advance-config.tsx @@ -171,8 +171,8 @@ const AdvanceConfig: React.FC = (props) => { onValuesChange?.({}, form.getFieldsValue()); }; - const handleSelectorOnBlur = () => { - const workerSelector = form.getFieldValue('worker_selector'); + const onSelectorChange = (field: string) => { + const workerSelector = form.getFieldValue(field); // check if all keys have values const hasEmptyValue = _.some(_.keys(workerSelector), (k: string) => { return !workerSelector[k]; @@ -182,12 +182,23 @@ const AdvanceConfig: React.FC = (props) => { } }; + const handleSelectorOnBlur = () => { + onSelectorChange('worker_selector'); + }; + const handleDeleteWorkerSelector = (index: number) => { onValuesChange?.({}, form.getFieldsValue()); }; + const handleEnvSelectorOnBlur = () => { + onSelectorChange('env'); + }; + + const handleDeleteEnvSelector = (index: number) => { + onValuesChange?.({}, form.getFieldsValue()); + }; + const handleBackendVersionOnBlur = () => { - const backendVersion = form.getFieldValue('backend_version'); onValuesChange?.({}, form.getFieldsValue()); }; @@ -450,6 +461,8 @@ const AdvanceConfig: React.FC = (props) => { })} labels={EnviromentVars} btnText="common.button.vars" + onBlur={handleEnvSelectorOnBlur} + onDelete={handleDeleteEnvSelector} onChange={handleEnviromentVarsChange} > diff --git a/src/pages/llmodels/components/update-modal.tsx b/src/pages/llmodels/components/update-modal.tsx index 7c59eeb4..4650c160 100644 --- a/src/pages/llmodels/components/update-modal.tsx +++ b/src/pages/llmodels/components/update-modal.tsx @@ -90,6 +90,7 @@ const UpdateModal: React.FC = (props) => { const handleOnValuesChange = (data: any) => { const formdata = form.getFieldsValue?.(); + let alldata = {}; if (formdata.scheduleType === 'manual') { alldata = { @@ -104,10 +105,16 @@ const UpdateModal: React.FC = (props) => { alldata = { ..._.omit(formdata, ['gpu_selector']), env: formdata.env || {}, - worker_selector: originFormData.current?.worker_selector || null + worker_selector: + formdata.worker_selector || + originFormData.current?.worker_selector || + null }; } - const isEqual = _.isEqualWith(alldata, originFormData.current, customizer); + + const originalData = _.pick(originFormData.current, Object.keys(alldata)); + + const isEqual = _.isEqualWith(alldata, originalData, customizer); if (isEqual) { setWarningStatus({ show: false, diff --git a/src/pages/llmodels/config/index.ts b/src/pages/llmodels/config/index.ts index 60d4123a..92be2f38 100644 --- a/src/pages/llmodels/config/index.ts +++ b/src/pages/llmodels/config/index.ts @@ -477,6 +477,7 @@ export const excludeFields = [ 'gpu_selector' ]; +// if some fields need to trigger manual check, add them here export const updateExcludeFields = [ 'repo_id', 'file_name', @@ -487,10 +488,11 @@ export const updateExcludeFields = [ 'local_path', 'backend_version', 'ollama_library_model_name', - 'scheduleType', 'backend', 'gpu_selector', - 'categories' + 'categories', + 'env', + 'replicas' ]; export const formFields = [ diff --git a/src/pages/llmodels/hooks/use-selector-change.ts b/src/pages/llmodels/hooks/use-selector-change.ts new file mode 100644 index 00000000..6bfcc1e0 --- /dev/null +++ b/src/pages/llmodels/hooks/use-selector-change.ts @@ -0,0 +1 @@ +export default function useSelectorChange() {}