feat: get and set data use context

This commit is contained in:
Joel
2024-03-04 20:14:09 +08:00
parent ccd3e519ea
commit 4376813951
36 changed files with 236 additions and 117 deletions

View File

@ -1,16 +1,21 @@
import { useCallback, useState } from 'react'
import { useCallback } from 'react'
import produce from 'immer'
import useVarList from '../_base/hooks/use-var-list'
import type { TemplateTransformNodeType } from './types'
import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
const useConfig = (initInputs: TemplateTransformNodeType) => {
const [inputs, setInputs] = useState<TemplateTransformNodeType>(initInputs)
const useConfig = (id: string, payload: TemplateTransformNodeType) => {
const { inputs, setInputs } = useNodeCrud<TemplateTransformNodeType>(id, payload)
const { handleVarListChange, handleAddVariable } = useVarList<TemplateTransformNodeType>({
inputs,
setInputs,
})
const handleCodeChange = useCallback((template: string) => {
setInputs(prev => ({ ...prev, template }))
const newInputs = produce(inputs, (draft: any) => {
draft.template = template
})
setInputs(newInputs)
}, [setInputs])
return {