From 48294e624cb22d0e51e99ad81e88b240479271c5 Mon Sep 17 00:00:00 2001 From: balibabu Date: Mon, 26 May 2025 19:36:49 +0800 Subject: [PATCH] Feat: Add the WaitingDialogue operator. #3221 (#7862) ### What problem does this PR solve? Feat: Add the WaitingDialogue operator. #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- web/src/pages/agent/agent-sidebar.tsx | 9 ++- web/src/pages/agent/constant.tsx | 12 +++ .../agent/form-sheet/use-form-config-map.tsx | 9 +++ .../agent/form/begin-form/query-table.tsx | 2 +- .../form/waiting-dialogue-form/index.tsx | 77 +++++++++++++++++++ .../agent/hooks/use-watch-form-change.ts | 2 - 6 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 web/src/pages/agent/form/waiting-dialogue-form/index.tsx diff --git a/web/src/pages/agent/agent-sidebar.tsx b/web/src/pages/agent/agent-sidebar.tsx index 42f399a82..f5aef42bf 100644 --- a/web/src/pages/agent/agent-sidebar.tsx +++ b/web/src/pages/agent/agent-sidebar.tsx @@ -21,6 +21,7 @@ import { componentMenuList, operatorMap, } from './constant'; +import { useHandleDrag } from './hooks'; import OperatorIcon from './operator-icon'; type OperatorItem = { @@ -28,8 +29,14 @@ type OperatorItem = { }; function OperatorCard({ name }: OperatorItem) { + const { handleDragStart } = useHandleDrag(); + return ( - + ([]); diff --git a/web/src/pages/agent/form/waiting-dialogue-form/index.tsx b/web/src/pages/agent/form/waiting-dialogue-form/index.tsx new file mode 100644 index 000000000..c38874c21 --- /dev/null +++ b/web/src/pages/agent/form/waiting-dialogue-form/index.tsx @@ -0,0 +1,77 @@ +import Editor, { loader } from '@monaco-editor/react'; +import { INextOperatorForm } from '../../interface'; + +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from '@/components/ui/form'; +import { RAGFlowSelect } from '@/components/ui/select'; +import { ProgrammingLanguage } from '@/constants/agent'; +import { ICodeForm } from '@/interfaces/database/flow'; +import { useTranslation } from 'react-i18next'; + +loader.config({ paths: { vs: '/vs' } }); + +const options = [ + ProgrammingLanguage.Python, + ProgrammingLanguage.Javascript, +].map((x) => ({ value: x, label: x })); + +const CodeForm = ({ form, node }: INextOperatorForm) => { + const formData = node?.data.form as ICodeForm; + const { t } = useTranslation(); + + return ( +
+ { + e.preventDefault(); + }} + > + ( + + + Code + ( + + + + + + + )} + /> + + + + + + + )} + /> + + + ); +}; + +export default CodeForm; diff --git a/web/src/pages/agent/hooks/use-watch-form-change.ts b/web/src/pages/agent/hooks/use-watch-form-change.ts index 907c324cb..3d83ccf46 100644 --- a/web/src/pages/agent/hooks/use-watch-form-change.ts +++ b/web/src/pages/agent/hooks/use-watch-form-change.ts @@ -39,8 +39,6 @@ export const useHandleFormValuesChange = ( useEffect(() => { const subscription = form?.watch((value, { name, type, values }) => { - console.log('🚀 ~ subscription ~ value:', value); - if (id && name) { console.log( '🚀 ~ useEffect ~ value:',