1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { useCallback } from 'react'
- import produce from 'immer'
- import useVarList from '../_base/hooks/use-var-list'
- import type { Var } from '../../types'
- import { VarType } from '../../types'
- import type { AnswerNodeType } from './types'
- import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
- import {
- useNodesReadOnly,
- } from '@/app/components/workflow/hooks'
- const useConfig = (id: string, payload: AnswerNodeType) => {
- const { nodesReadOnly: readOnly } = useNodesReadOnly()
- const { inputs, setInputs } = useNodeCrud<AnswerNodeType>(id, payload)
- // variables
- const { handleVarListChange, handleAddVariable } = useVarList<AnswerNodeType>({
- inputs,
- setInputs,
- })
- const handleAnswerChange = useCallback((value: string) => {
- const newInputs = produce(inputs, (draft) => {
- draft.answer = value
- })
- setInputs(newInputs)
- }, [inputs, setInputs])
- const filterVar = useCallback((varPayload: Var) => {
- return varPayload.type !== VarType.arrayObject
- }, [])
- return {
- readOnly,
- inputs,
- handleVarListChange,
- handleAddVariable,
- handleAnswerChange,
- filterVar,
- }
- }
- export default useConfig
|