import ModalFooter from '@/components/modal-footer'; import SealInput from '@/components/seal-form/seal-input'; import SealSelect from '@/components/seal-form/seal-select'; import { PageAction } from '@/config'; import { PageActionType } from '@/config/types'; import { SyncOutlined } from '@ant-design/icons'; import { Form, Modal } from 'antd'; import { useEffect } from 'react'; import { UserRoles, UserRolesOptions } from '../config'; import { FormData, ListItem } from '../config/types'; type AddModalProps = { title: string; action: PageActionType; open: boolean; onOk: (values: FormData) => void; data?: ListItem; onCancel: () => void; }; const AddModal: React.FC = ({ title, action, open, onOk, data, onCancel }) => { const [form] = Form.useForm(); const suffix = ( ); const initFormValue = () => { if (action === PageAction.EDIT && open) { form.setFieldsValue({ ...data, is_admin: data?.is_admin ? UserRoles.ADMIN : UserRoles.USER }); } }; const handleSumit = () => { form.submit(); }; useEffect(() => { initFormValue(); }, [open]); return ( } >
name="username" rules={[{ required: true }]}> name="full_name" rules={[{ required: false }]}> name="is_admin" rules={[{ required: false }]}> name="password" rules={[{ required: true }]}>
); }; export default AddModal;