import React, { useEffect } from 'react';
|
import { useForm, Controller } from 'react-hook-form';
|
import {
|
Box,
|
Grid,
|
Typography,
|
TextField,
|
Slider,
|
Button,
|
Select,
|
MenuItem,
|
InputLabel,
|
FormControl,
|
Stack,
|
Divider,
|
Drawer,
|
IconButton,
|
} from '@mui/material';
|
import CloseIcon from '@mui/icons-material/Close';
|
import { useTranslate } from 'react-admin';
|
import * as Tool from '../tool';
|
import { PAGE_DRAWER_WIDTH } from '@/config/setting';
|
import {
|
DEVICE_TYPE,
|
} from '../constants';
|
import { useNotification } from '../Notification';
|
|
const CopyDrawer = (props) => {
|
const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, handleOnCopy } = props;
|
const notify = useNotification();
|
const translate = useTranslate();
|
const deviceType = sprite?.data?.type;
|
|
const { control, handleSubmit, reset, watch, setValue, formState: { errors } } = useForm({
|
defaultValues: {},
|
});
|
|
|
|
const handleClose = () => {
|
onCancel();
|
}
|
|
const onFormSubmit = (data) => {
|
if (data) {
|
}
|
if (handleOnCopy) {
|
handleOnCopy(data);
|
}
|
notify.info(translate('common.response.success'));
|
};
|
|
return (
|
<>
|
<Drawer
|
variant="persistent"
|
open={open}
|
anchor="right"
|
onClose={handleClose}
|
sx={{ zIndex: 100, opacity: 1 }}
|
>
|
{open && (
|
<Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 200px);'} mt={{ xs: 2, sm: 1 }} sx={{
|
}}>
|
<Stack direction="row" p={2}>
|
<Typography variant="h6" flex="1">
|
{translate('page.map.settings.map.copy.title')}
|
</Typography>
|
<IconButton onClick={handleClose} size="small">
|
<CloseIcon />
|
</IconButton>
|
</Stack>
|
|
<Box p={3}>
|
<Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
|
<Grid container spacing={1.4}>
|
{deviceType === DEVICE_TYPE.SHELF && (
|
<>
|
</>
|
)}
|
|
{deviceType === DEVICE_TYPE.CHARGE && (
|
<>
|
</>
|
)}
|
|
{deviceType === DEVICE_TYPE.STATION && (
|
<>
|
</>
|
)}
|
|
{deviceType === DEVICE_TYPE.POINT && (
|
<>
|
</>
|
)}
|
|
|
<Grid item xs={12}>
|
<Divider />
|
</Grid>
|
|
<Grid item xs={12} mt={2}>
|
<Stack direction="row" spacing={2}>
|
<Button variant="contained" color="primary" type="submit">
|
{translate('ra.action.confirm')}
|
</Button>
|
</Stack>
|
</Grid>
|
|
</Grid>
|
</Box>
|
</Box>
|
</Box>
|
)}
|
</Drawer>
|
</>
|
)
|
}
|
|
export default CopyDrawer;
|