diff --git a/web/src/assets/svg/switch.svg b/web/src/assets/svg/switch.svg index df962f3ec..33a6babc3 100644 --- a/web/src/assets/svg/switch.svg +++ b/web/src/assets/svg/switch.svg @@ -1,6 +1,6 @@ - + fill="#3b76f4" p-id="4300"> \ No newline at end of file diff --git a/web/src/locales/en.ts b/web/src/locales/en.ts index a7d30b442..e08fbafb8 100644 --- a/web/src/locales/en.ts +++ b/web/src/locales/en.ts @@ -603,7 +603,7 @@ The above is the content you need to summarize.`, yes: 'Yes', no: 'No', key: 'key', - componentId: 'component id', + componentId: 'Component ID', add: 'Add', operation: 'operation', run: 'Run', @@ -637,6 +637,7 @@ The above is the content you need to summarize.`, blank: 'Blank', createFromNothing: 'Create from nothing', addItem: 'Add Item', + addSubItem: 'Add Sub Item', nameRequiredMsg: 'Name is required', nameRepeatedMsg: 'The name cannot be repeated', keywordExtract: 'Keyword', @@ -833,6 +834,8 @@ The above is the content you need to summarize.`, and: 'And', or: 'Or', }, + operator: 'Operator', + value: 'Value', }, footer: { profile: 'All rights reserved @ React', diff --git a/web/src/locales/zh-traditional.ts b/web/src/locales/zh-traditional.ts index 48297322d..5f430c99e 100644 --- a/web/src/locales/zh-traditional.ts +++ b/web/src/locales/zh-traditional.ts @@ -597,6 +597,7 @@ export default { blank: '空', createFromNothing: '從無到有', addItem: '新增', + addSubItem: '新增子項', nameRequiredMsg: '名稱不能為空', nameRepeatedMsg: '名稱不能重複', keywordExtract: '關鍵字', @@ -791,6 +792,8 @@ export default { and: '與', or: '或', }, + operator: '操作符', + value: '值', }, footer: { profile: '“保留所有權利 @ react”', diff --git a/web/src/locales/zh.ts b/web/src/locales/zh.ts index ddfcda14d..53261c235 100644 --- a/web/src/locales/zh.ts +++ b/web/src/locales/zh.ts @@ -615,6 +615,7 @@ export default { blank: '空', createFromNothing: '从无到有', addItem: '新增', + addSubItem: '新增子项', nameRequiredMsg: '名称不能为空', nameRepeatedMsg: '名称不能重复', keywordExtract: '关键词', @@ -809,6 +810,8 @@ export default { and: '与', or: '或', }, + operator: '操作符', + value: '值', }, footer: { profile: 'All rights reserved @ React', diff --git a/web/src/pages/flow/canvas/node/relevant-node.tsx b/web/src/pages/flow/canvas/node/relevant-node.tsx index b08260c05..c27c94f3f 100644 --- a/web/src/pages/flow/canvas/node/relevant-node.tsx +++ b/web/src/pages/flow/canvas/node/relevant-node.tsx @@ -45,8 +45,8 @@ export function RelevantNode({ id, data, selected }: NodeProps) { className={styles.handle} id={'c'} > - - + + = { [Operator.Retrieval]: { diff --git a/web/src/pages/flow/generate-form/dynamic-parameters.tsx b/web/src/pages/flow/generate-form/dynamic-parameters.tsx index 429263f6a..4e84849e6 100644 --- a/web/src/pages/flow/generate-form/dynamic-parameters.tsx +++ b/web/src/pages/flow/generate-form/dynamic-parameters.tsx @@ -4,10 +4,8 @@ import { DeleteOutlined } from '@ant-design/icons'; import { Button, Flex, Select, Table, TableProps } from 'antd'; import { IGenerateParameter } from '../interface'; -import { - useBuildComponentIdSelectOptions, - useHandleOperateParameters, -} from './hooks'; +import { useBuildComponentIdSelectOptions } from '../hooks'; +import { useHandleOperateParameters } from './hooks'; import styles from './index.less'; interface IProps { diff --git a/web/src/pages/flow/generate-form/hooks.ts b/web/src/pages/flow/generate-form/hooks.ts index 11d16f34b..e8a5c305a 100644 --- a/web/src/pages/flow/generate-form/hooks.ts +++ b/web/src/pages/flow/generate-form/hooks.ts @@ -1,33 +1,9 @@ import get from 'lodash/get'; import { useCallback, useMemo } from 'react'; import { v4 as uuid } from 'uuid'; -import { Operator } from '../constant'; import { IGenerateParameter } from '../interface'; import useGraphStore from '../store'; -// exclude nodes with branches -const ExcludedNodes = [ - Operator.Categorize, - Operator.Relevant, - Operator.Begin, - Operator.Answer, -]; - -export const useBuildComponentIdSelectOptions = (nodeId?: string) => { - const nodes = useGraphStore((state) => state.nodes); - - const options = useMemo(() => { - return nodes - .filter( - (x) => - x.id !== nodeId && !ExcludedNodes.some((y) => y === x.data.label), - ) - .map((x) => ({ label: x.data.name, value: x.id })); - }, [nodes, nodeId]); - - return options; -}; - export const useHandleOperateParameters = (nodeId: string) => { const { getNode, updateNodeForm } = useGraphStore((state) => state); const node = getNode(nodeId); diff --git a/web/src/pages/flow/hooks.ts b/web/src/pages/flow/hooks.ts index 7132fa8b3..38c24358c 100644 --- a/web/src/pages/flow/hooks.ts +++ b/web/src/pages/flow/hooks.ts @@ -563,3 +563,26 @@ export const useWatchNodeFormDataChange = () => { buildSwitchEdgesByFormData, ]); }; + +// exclude nodes with branches +const ExcludedNodes = [ + Operator.Categorize, + Operator.Relevant, + Operator.Begin, + Operator.Answer, +]; + +export const useBuildComponentIdSelectOptions = (nodeId?: string) => { + const nodes = useGraphStore((state) => state.nodes); + + const options = useMemo(() => { + return nodes + .filter( + (x) => + x.id !== nodeId && !ExcludedNodes.some((y) => y === x.data.label), + ) + .map((x) => ({ label: x.data.name, value: x.id })); + }, [nodes, nodeId]); + + return options; +}; diff --git a/web/src/pages/flow/switch-form/index.tsx b/web/src/pages/flow/switch-form/index.tsx index 5e5f1f7eb..01d1455fa 100644 --- a/web/src/pages/flow/switch-form/index.tsx +++ b/web/src/pages/flow/switch-form/index.tsx @@ -9,15 +9,16 @@ import { SwitchOperatorOptions, } from '../constant'; import { useBuildFormSelectOptions } from '../form-hooks'; +import { useBuildComponentIdSelectOptions } from '../hooks'; import { IOperatorForm, ISwitchForm } from '../interface'; import { getOtherFieldValues } from '../utils'; const subLabelCol = { - span: 7, + span: 9, }; const subWrapperCol = { - span: 17, + span: 15, }; const SwitchForm = ({ onValuesChange, node, form }: IOperatorForm) => { @@ -48,10 +49,12 @@ const SwitchForm = ({ onValuesChange, node, form }: IOperatorForm) => { })); }, [t]); + const componentIdOptions = useBuildComponentIdSelectOptions(node?.id); + return (
{ ])} /> - + {(subFields, subOpt) => (
{ } > - + - + ))} @@ -159,7 +165,7 @@ const SwitchForm = ({ onValuesChange, node, form }: IOperatorForm) => { onClick={() => subOpt.add()} block > - + Add Sub Item + + {t('flow.addSubItem')}
)} @@ -169,7 +175,7 @@ const SwitchForm = ({ onValuesChange, node, form }: IOperatorForm) => { ))} )}