|
import { Form, Input } from 'antd'; |
|
import { useTranslation } from 'react-i18next'; |
|
|
|
interface IProps { |
|
value?: string | undefined; |
|
onChange?: (val: string | undefined) => void; |
|
maxLength?: number; |
|
} |
|
|
|
export const DelimiterInput = ({ value, onChange, maxLength }: IProps) => { |
|
const nextValue = value?.replaceAll('\n', '\\n'); |
|
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => { |
|
const val = e.target.value; |
|
const nextValue = val.replaceAll('\\n', '\n'); |
|
onChange?.(nextValue); |
|
}; |
|
return ( |
|
<Input |
|
value={nextValue} |
|
onChange={handleInputChange} |
|
maxLength={maxLength} |
|
></Input> |
|
); |
|
}; |
|
|
|
const Delimiter = () => { |
|
const { t } = useTranslation(); |
|
|
|
return ( |
|
<Form.Item |
|
name={['parser_config', 'delimiter']} |
|
label={t('knowledgeDetails.delimiter')} |
|
initialValue={`\\n!?;。;!?`} |
|
rules={[{ required: true }]} |
|
tooltip={t('knowledgeDetails.delimiterTip')} |
|
> |
|
<DelimiterInput /> |
|
</Form.Item> |
|
); |
|
}; |
|
|
|
export default Delimiter; |
|
|