diff --git a/service-web/client/src/components/flow/node/TemplateNode.tsx b/service-web/client/src/components/flow/node/TemplateNode.tsx index bbe243b..22123d6 100644 --- a/service-web/client/src/components/flow/node/TemplateNode.tsx +++ b/service-web/client/src/components/flow/node/TemplateNode.tsx @@ -1,10 +1,10 @@ import type {NodeProps} from '@xyflow/react' import {Tag} from 'antd' -import React, {useCallback} from 'react' +import React, {useCallback, useEffect} from 'react' import {useContextStore} from '../store/ContextStore.ts' import {useDataStore} from '../store/DataStore.ts' import {useFlowStore} from '../store/FlowStore.ts' -import AmisNode, {EndNodeHandler, inputsFormColumns} from './AmisNode.tsx' +import AmisNode, {inputsFormColumns, NormalNodeHandler, outputsFormColumns} from './AmisNode.tsx' const typeMap: Record = { default: '默认', @@ -15,11 +15,24 @@ const typeMap: Record = { const TemplateNode = (props: NodeProps) => { const {getNodes, getEdges} = useFlowStore() - const {getData, getDataById} = useDataStore() + const {getData, getDataById, mergeDataById} = useDataStore() const {getInputSchema} = useContextStore() const nodeData = getDataById(props.id) + useEffect(() => { + mergeDataById( + props.id, + { + outputs: { + text: { + type: 'string', + }, + }, + }, + ) + }, [props.id]) + const columnsSchema = useCallback( () => [ ...inputsFormColumns(props.id, getInputSchema(), getNodes(), getEdges(), getData()), @@ -55,6 +68,7 @@ const TemplateNode = (props: NodeProps) => { min_height: 500, }, }, + ...outputsFormColumns(false, true), ], [props.id], ) @@ -71,7 +85,7 @@ const TemplateNode = (props: NodeProps) => { : <> } columnSchema={columnsSchema} - handler={} + handler={} /> ) }