mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-08-22 07:31:12 +00:00

### What problem does this PR solve? feat: translate name of operator #918 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
89 lines
2.3 KiB
TypeScript
89 lines
2.3 KiB
TypeScript
import { useTranslate } from '@/hooks/commonHooks';
|
|
import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
|
|
import { Button, Form, Input } from 'antd';
|
|
import { IOperatorForm } from '../interface';
|
|
|
|
import styles from './index.less';
|
|
|
|
const formItemLayout = {
|
|
labelCol: {
|
|
sm: { span: 6 },
|
|
},
|
|
wrapperCol: {
|
|
sm: { span: 18 },
|
|
},
|
|
};
|
|
|
|
const formItemLayoutWithOutLabel = {
|
|
wrapperCol: {
|
|
sm: { span: 18, offset: 6 },
|
|
},
|
|
};
|
|
|
|
const MessageForm = ({ onValuesChange, form }: IOperatorForm) => {
|
|
const { t } = useTranslate('flow');
|
|
|
|
return (
|
|
<Form
|
|
name="basic"
|
|
{...formItemLayoutWithOutLabel}
|
|
initialValues={{ remember: true }}
|
|
onValuesChange={onValuesChange}
|
|
autoComplete="off"
|
|
form={form}
|
|
>
|
|
<Form.List name="messages">
|
|
{(fields, { add, remove }, {}) => (
|
|
<>
|
|
{fields.map((field, index) => (
|
|
<Form.Item
|
|
{...(index === 0 ? formItemLayout : formItemLayoutWithOutLabel)}
|
|
label={index === 0 ? t('msg') : ''}
|
|
required={false}
|
|
key={field.key}
|
|
>
|
|
<Form.Item
|
|
{...field}
|
|
validateTrigger={['onChange', 'onBlur']}
|
|
rules={[
|
|
{
|
|
required: true,
|
|
whitespace: true,
|
|
message: t('messageMsg'),
|
|
},
|
|
]}
|
|
noStyle
|
|
>
|
|
<Input.TextArea
|
|
rows={4}
|
|
placeholder={t('messagePlaceholder')}
|
|
style={{ width: '80%' }}
|
|
/>
|
|
</Form.Item>
|
|
{fields.length > 1 ? (
|
|
<MinusCircleOutlined
|
|
className={styles.dynamicDeleteButton}
|
|
onClick={() => remove(field.name)}
|
|
/>
|
|
) : null}
|
|
</Form.Item>
|
|
))}
|
|
<Form.Item>
|
|
<Button
|
|
type="dashed"
|
|
onClick={() => add()}
|
|
style={{ width: '80%' }}
|
|
icon={<PlusOutlined />}
|
|
>
|
|
{t('addField')}
|
|
</Button>
|
|
</Form.Item>
|
|
</>
|
|
)}
|
|
</Form.List>
|
|
</Form>
|
|
);
|
|
};
|
|
|
|
export default MessageForm;
|