| import { useFetchKnowledgeList } from '@/hooks/knowledgeHook'; | |
| import { IModalProps } from '@/interfaces/common'; | |
| import { Form, Modal, Select, SelectProps } from 'antd'; | |
| const ConnectToKnowledgeModal = ({ | |
| visible, | |
| hideModal, | |
| onOk, | |
| }: IModalProps<string[]>) => { | |
| const [form] = Form.useForm(); | |
| const { list } = useFetchKnowledgeList(); | |
| const options: SelectProps['options'] = list?.map((item) => ({ | |
| label: item.name, | |
| value: item.id, | |
| })); | |
| const handleOk = async () => { | |
| const values = await form.getFieldsValue(); | |
| const knowledgeIds = values.knowledgeIds ?? []; | |
| if (knowledgeIds.length > 0) { | |
| return onOk?.(knowledgeIds); | |
| } | |
| }; | |
| return ( | |
| <Modal | |
| title="Add to Knowledge Base" | |
| open={visible} | |
| onOk={handleOk} | |
| onCancel={hideModal} | |
| > | |
| <Form form={form}> | |
| <Form.Item | |
| name="knowledgeIds" | |
| noStyle | |
| rules={[ | |
| { | |
| required: true, | |
| message: 'Please select your favourite colors!', | |
| type: 'array', | |
| }, | |
| ]} | |
| > | |
| <Select | |
| mode="multiple" | |
| allowClear | |
| style={{ width: '100%' }} | |
| placeholder="Please select" | |
| options={options} | |
| /> | |
| </Form.Item> | |
| </Form> | |
| </Modal> | |
| ); | |
| }; | |
| export default ConnectToKnowledgeModal; | |