diff --git a/web/app/components/workflow/nodes/_base/hooks/use-node-crud.ts b/web/app/components/workflow/nodes/_base/hooks/use-node-crud.ts new file mode 100644 index 0000000000..e622a8935b --- /dev/null +++ b/web/app/components/workflow/nodes/_base/hooks/use-node-crud.ts @@ -0,0 +1,19 @@ +import { useWorkflow } from '@/app/components/workflow/hooks' +import type { CommonNodeType } from '@/app/components/workflow/types' +const useNodeCrud = (id: string, data: CommonNodeType) => { + const { handleNodeDataUpdate } = useWorkflow() + + const setInputs = (newInputs: CommonNodeType) => { + handleNodeDataUpdate({ + id, + data: newInputs, + }) + } + + return { + inputs: data, + setInputs, + } +} + +export default useNodeCrud diff --git a/web/app/components/workflow/nodes/start/use-config.ts b/web/app/components/workflow/nodes/start/use-config.ts index e37b70fa38..72ae627edb 100644 --- a/web/app/components/workflow/nodes/start/use-config.ts +++ b/web/app/components/workflow/nodes/start/use-config.ts @@ -3,17 +3,10 @@ import produce from 'immer' import { useBoolean } from 'ahooks' import type { StartNodeType } from './types' import type { InputVar } from '@/app/components/workflow/types' -import { useWorkflow } from '@/app/components/workflow/hooks' +import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud' + const useConfig = (id: string, payload: StartNodeType) => { - const { handleNodeDataUpdate } = useWorkflow() - // const [inputs, setInputs] = useState(initInputs) - const inputs = payload - const setInputs = (newInputs: StartNodeType) => { - handleNodeDataUpdate({ - id, - data: newInputs, - }) - } + const { inputs, setInputs } = useNodeCrud(id, payload) const [isShowAddVarModal, { setTrue: showAddVarModal,