| | |
| | | resettable |
| | | />, |
| | | ] |
| | | const CopyButton = ({ setCopyRecord, setCreateDialog }) => { |
| | | const CopyButton = ({ setInitCopyData, setInitDialogOpen }) => { |
| | | const record = useRecordContext(); |
| | | const translate = useTranslate(); |
| | | if (!record) return null; |
| | |
| | | sx={{ padding: '1px', fontSize: '.75rem', minWidth: 'auto' }} |
| | | onClick={(e) => { |
| | | e.stopPropagation(); |
| | | const { id, createTime, updateTime, createBy, updateBy, createBy$, updateBy$, ...rest } = record; |
| | | const copied = { ...rest }; |
| | | if (record.areaIds) copied.areaIds = [...(Array.isArray(record.areaIds) ? record.areaIds : [])]; |
| | | if (record.containerTypes) copied.containerTypes = [...(Array.isArray(record.containerTypes) ? record.containerTypes : [])]; |
| | | setCopyRecord(copied); |
| | | setCreateDialog(true); |
| | | const pairs = [{ stationName: record.stationName ?? '', stationId: record.stationId ?? '' }]; |
| | | const areaIds = Array.isArray(record.areaIds) ? [...record.areaIds] : []; |
| | | const containerTypes = Array.isArray(record.containerTypes) ? [...record.containerTypes] : []; |
| | | setInitCopyData({ |
| | | pairs, |
| | | common: { |
| | | type: record.type ?? 0, |
| | | useStatus: record.useStatus ?? '', |
| | | areaIds, |
| | | containerTypes, |
| | | inAble: record.inAble ?? 0, |
| | | outAble: record.outAble ?? 0, |
| | | }, |
| | | }); |
| | | setInitDialogOpen(true); |
| | | }} |
| | | > |
| | | {translate('toolbar.copy')} |
| | |
| | | const [areaFieldDialog2, setAreaFieldDialog2] = useState(false); |
| | | const [copyRecord, setCopyRecord] = useState(null); |
| | | const [initDialogOpen, setInitDialogOpen] = useState(false); |
| | | const [initCopyData, setInitCopyData] = useState(null); |
| | | return ( |
| | | <Box display="flex"> |
| | | <List |
| | |
| | | {/* <BooleanField source="statusBool" label="common.field.status" sortable={false} /> */} |
| | | <TextField source="memo" label="common.field.memo" sortable={false} /> |
| | | <WrapperField cellClassName="opt" label="common.field.opt"> |
| | | <CopyButton setCopyRecord={setCopyRecord} setCreateDialog={setCreateDialog} /> |
| | | <CopyButton setInitCopyData={setInitCopyData} setInitDialogOpen={setInitDialogOpen} /> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> |
| | | </WrapperField> |
| | |
| | | <BasStationInitModal |
| | | open={initDialogOpen} |
| | | setOpen={setInitDialogOpen} |
| | | initialData={initCopyData} |
| | | onClose={() => setInitCopyData(null)} |
| | | /> |
| | | <PageDrawer |
| | | title='BasStation Detail' |