// @ts-nocheck import { Button, Input, message, Modal, Table } from 'antd'; import { Fragment, useEffect, useMemo, useState } from 'react'; import { useDemoStore } from '../store'; import { useShallow } from 'zustand/react/shallow'; import { Form } from 'antd'; import { useNavigate } from 'react-router'; import { EditOutlined, SettingOutlined, LinkOutlined, SaveOutlined, DeleteOutlined, LeftOutlined } from '@ant-design/icons'; import clsx from 'clsx'; import { isObjectNull } from '@/utils/is-null'; import { CardBlank } from '@/components/card/CardBlank'; const FormModal = () => { const [form] = Form.useForm(); const demoStore = useDemoStore( useShallow((state) => { return { showEdit: state.showEdit, setShowEdit: state.setShowEdit, formData: state.formData, updateData: state.updateData, setFormData: state.setFormData, }; }), ); useEffect(() => { const open = demoStore.showEdit; if (open) { const isNull = isObjectNull(demoStore.formData); if (isNull) { form.setFieldsValue({}); } else form.setFieldsValue(demoStore.formData); } }, [demoStore.showEdit]); const onFinish = async (values: any) => { demoStore.updateData(values); }; const onClose = () => { demoStore.setShowEdit(false); form.setFieldsValue({}); demoStore.setFormData({}); }; const isEdit = demoStore.formData.id; return ( demoStore.setShowEdit(false)} destroyOnClose footer={false} width={800} onCancel={onClose}>
); }; export const List = () => { const navicate = useNavigate(); const demoStore = useDemoStore( useShallow((state) => { return { setFormData: state.setFormData, setShowEdit: state.setShowEdit, list: state.list, deleteData: state.deleteData, getList: state.getList, loading: state.loading, updateData: state.updateData, formData: state.formData, }; }), ); const [codeEdit, setCodeEdit] = useState(false); const [code, setCode] = useState(''); useEffect(() => { demoStore.getList(); }, []); const onAdd = () => { demoStore.setFormData({}); demoStore.setShowEdit(true); }; return (
{demoStore.list.length > 0 && demoStore.list.map((item) => { return (
{ setCode(item.code); demoStore.setFormData(item); setCodeEdit(true); }}>
{ copy(item.code); e.stopPropagation(); message.success('copy code success'); }}> {item.title || '-'}
{item.description ? item.description : '-'}
); })} {demoStore.list.length == 0 && (
No Data
)}
{ setCode(value); }} className='h-full max-h-full scrollbar' style={{ overflow: 'auto' }} />
); };