Fix: Fixed an issue where adding session variables multiple times would overwrite them.

This commit is contained in:
chanx 2025-11-17 14:52:17 +08:00
parent 9d2a4b4270
commit 2f0c261808

View file

@ -15,27 +15,30 @@ export const useHandleForm = () => {
return value; return value;
} }
}; };
const handleSubmit = useCallback(async (fieldValue: FieldValues) => { const handleSubmit = useCallback(
const param = { async (fieldValue: FieldValues) => {
...(data.dsl?.variables || {}), const param = {
[fieldValue.name]: { ...(data.dsl?.variables || {}),
...fieldValue, [fieldValue.name]: {
value: ...fieldValue,
fieldValue.type === TypesWithArray.Object || value:
fieldValue.type === TypesWithArray.ArrayObject fieldValue.type === TypesWithArray.Object ||
? handleObjectData(fieldValue.value) fieldValue.type === TypesWithArray.ArrayObject
: fieldValue.value, ? handleObjectData(fieldValue.value)
}, : fieldValue.value,
} as Record<string, GlobalVariableType>; },
} as Record<string, GlobalVariableType>;
const res = await saveGraph(undefined, { const res = await saveGraph(undefined, {
globalVariables: param, globalVariables: param,
}); });
if (res.code === 0) { if (res.code === 0) {
refetch(); refetch();
} }
}, []); },
[data.dsl?.variables, refetch, saveGraph],
);
return { handleSubmit, loading }; return { handleSubmit, loading };
}; };