import { Collapse } from '@/components/collapse'; import { Button } from '@/components/ui/button'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from '@/components/ui/form'; import { RAGFlowSelect } from '@/components/ui/select'; import { Switch } from '@/components/ui/switch'; import { Textarea } from '@/components/ui/textarea'; import { FormTooltip } from '@/components/ui/tooltip'; import { buildSelectOptions } from '@/utils/common-util'; import { Plus } from 'lucide-react'; import { useCallback } from 'react'; import { useWatch } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { AgentDialogueMode } from '../../constant'; import { INextOperatorForm } from '../../interface'; import { ParameterDialog } from './parameter-dialog'; import { QueryTable } from './query-table'; import { useEditQueryRecord } from './use-edit-query'; const ModeOptions = buildSelectOptions([ AgentDialogueMode.Conversational, AgentDialogueMode.Task, ]); const BeginForm = ({ form, node }: INextOperatorForm) => { const { t } = useTranslation(); const query = useWatch({ control: form.control, name: 'query' }); const mode = useWatch({ control: form.control, name: 'mode' }); const enablePrologue = useWatch({ control: form.control, name: 'enablePrologue', }); const { ok, currentRecord, visible, hideModal, showModal, otherThanCurrentQuery, handleDeleteRecord, } = useEditQueryRecord({ form, node, }); const handleParameterDialogSubmit = useCallback( (values: any) => { ok(values); }, [ok], ); return (
( Mode )} /> {mode === AgentDialogueMode.Conversational && ( ( {t('flow.openingSwitch')} )} /> )} {enablePrologue && ( ( {t('flow.openingCopy')} )} /> )} {/* Create a hidden field to make Form instance record this */}
} /> {t('flow.input')} } rightContent={ } > {visible && ( )}
); }; export default BeginForm;