| import { CommaIcon, SemicolonIcon } from '@/assets/icon/Icon'; | |
| import { Form, Select } from 'antd'; | |
| import { | |
| CornerDownLeft, | |
| IndentIncrease, | |
| Minus, | |
| Slash, | |
| Underline, | |
| } from 'lucide-react'; | |
| import { useMemo } from 'react'; | |
| import { useTranslation } from 'react-i18next'; | |
| import { IOperatorForm } from '../../interface'; | |
| import DynamicInputVariable from '../components/dynamic-input-variable'; | |
| const optionList = [ | |
| { | |
| value: ',', | |
| icon: CommaIcon, | |
| text: 'comma', | |
| }, | |
| { | |
| value: '\n', | |
| icon: CornerDownLeft, | |
| text: 'lineBreak', | |
| }, | |
| { | |
| value: 'tab', | |
| icon: IndentIncrease, | |
| text: 'tab', | |
| }, | |
| { | |
| value: '_', | |
| icon: Underline, | |
| text: 'underline', | |
| }, | |
| { | |
| value: '/', | |
| icon: Slash, | |
| text: 'diagonal', | |
| }, | |
| { | |
| value: '-', | |
| icon: Minus, | |
| text: 'minus', | |
| }, | |
| { | |
| value: ';', | |
| icon: SemicolonIcon, | |
| text: 'semicolon', | |
| }, | |
| ]; | |
| const IterationForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |
| const { t } = useTranslation(); | |
| const options = useMemo(() => { | |
| return optionList.map((x) => { | |
| let Icon = x.icon; | |
| return { | |
| value: x.value, | |
| label: ( | |
| <div className="flex items-center gap-2"> | |
| <Icon className={'size-4'}></Icon> | |
| {t(`flow.delimiterOptions.${x.text}`)} | |
| </div> | |
| ), | |
| }; | |
| }); | |
| }, [t]); | |
| return ( | |
| <Form | |
| name="basic" | |
| autoComplete="off" | |
| form={form} | |
| onValuesChange={onValuesChange} | |
| layout={'vertical'} | |
| > | |
| <DynamicInputVariable node={node}></DynamicInputVariable> | |
| <Form.Item | |
| name={['delimiter']} | |
| label={t('knowledgeDetails.delimiter')} | |
| initialValue={`\\n!?;。;!?`} | |
| rules={[{ required: true }]} | |
| tooltip={t('flow.delimiterTip')} | |
| > | |
| <Select options={options}></Select> | |
| </Form.Item> | |
| </Form> | |
| ); | |
| }; | |
| export default IterationForm; | |