import { PlusOutlined } from '@ant-design/icons'; import { Button, Form, Input } from 'antd'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { BeginQuery, IOperatorForm } from '../../interface'; import { useEditQueryRecord } from './hooks'; import { ModalForm } from './paramater-modal'; import QueryTable from './query-table'; import styles from './index.less'; type FieldType = { prologue?: string; }; const BeginForm = ({ onValuesChange, form }: IOperatorForm) => { const { t } = useTranslation(); const { ok, currentRecord, visible, hideModal, showModal, otherThanCurrentQuery, } = useEditQueryRecord({ form, onValuesChange, }); const handleDeleteRecord = useCallback( (idx: number) => { const query = form?.getFieldValue('query') || []; const nextQuery = query.filter( (item: BeginQuery, index: number) => index !== idx, ); onValuesChange?.( { query: nextQuery }, { query: nextQuery, prologue: form?.getFieldValue('prologue') }, ); }, [form, onValuesChange], ); return ( { if (name === 'queryForm') { ok(values as BeginQuery); } }} >
name={'prologue'} label={t('chat.setAnOpener')} tooltip={t('chat.setAnOpenerTip')} initialValue={t('chat.setAnOpenerInitial')} > {/* Create a hidden field to make Form instance record this */} prevValues.query !== curValues.query } > {({ getFieldValue }) => { const query: BeginQuery[] = getFieldValue('query') || []; return ( ); }} {visible && ( )}
); }; export default BeginForm;