feat: iteration output type change

pull/21369/head
Joel 1 year ago
parent d4113eaec1
commit fea02b74b7

@ -66,6 +66,7 @@ const useInspectVarsCrud = () => {
}
const deleteNodeInspectorVars = async (nodeId: string) => {
// console.log('delete node inspector vars', nodeId)
if (hasNodeInspectVars(nodeId))
await doDeleteNodeInspectorVars(nodeId)
@ -114,10 +115,6 @@ const useInspectVarsCrud = () => {
renameInspectVarNameInStore(nodeId, varId, newSelector)
}
const editInspectVarValueType = async (nodeId: string) => {
return await deleteNodeInspectorVars(nodeId)
}
const resetToLastRunVar = (nodeId: string, varId: string) => {
setCurrNodeId(nodeId)
setCurrEditVarId(varId)
@ -132,7 +129,6 @@ const useInspectVarsCrud = () => {
fetchInspectVarValue,
editInspectVarValue,
renameInspectVarName,
editInspectVarValueType,
deleteInspectVar,
deleteNodeInspectorVars,
deleteAllInspectorVars,

@ -15,9 +15,14 @@ import useOneStepRun from '../_base/hooks/use-one-step-run'
import type { IterationNodeType } from './types'
import type { VarType as VarKindType } from '@/app/components/workflow/nodes/tool/types'
import type { Item } from '@/app/components/base/select'
import useInspectVarsCrud from '../../hooks/use-inspect-vars-crud'
import { isEqual } from 'lodash-es'
const DELIMITER = '@@@@@'
const useConfig = (id: string, payload: IterationNodeType) => {
const {
deleteNodeInspectorVars,
} = useInspectVarsCrud()
const { nodesReadOnly: readOnly } = useNodesReadOnly()
const { isNodeInIteration } = useIsNodeInIteration(id)
const isChatMode = useIsChatMode()
@ -43,6 +48,9 @@ const useConfig = (id: string, payload: IterationNodeType) => {
const childrenNodeVars = toNodeOutputVars(iterationChildrenNodes, isChatMode)
const handleOutputVarChange = useCallback((output: ValueSelector | string, _varKindType: VarKindType, varInfo?: Var) => {
if (isEqual(inputs.output_selector, output as ValueSelector))
return
const newInputs = produce(inputs, (draft) => {
draft.output_selector = output as ValueSelector || []
const outputItemType = varInfo?.type || VarType.string
@ -61,7 +69,8 @@ const useConfig = (id: string, payload: IterationNodeType) => {
} as Record<VarType, VarType>)[outputItemType] || VarType.arrayString
})
setInputs(newInputs)
}, [inputs, setInputs])
deleteNodeInspectorVars(id)
}, [deleteNodeInspectorVars, id, inputs, setInputs])
// single run
const iteratorInputKey = `${id}.input_selector`

Loading…
Cancel
Save