| | |
| | | import ConfirmButton from '../../page/components/ConfirmButton'; |
| | | import { |
| | | DEVICE_TYPE, |
| | | DEVICE_Z_INDEX, |
| | | } from '../constants'; |
| | | import { useNotification } from '../Notification'; |
| | | |
| | | const ConfigSettings = (props) => { |
| | | const { sprite, setSpriteSettings, onSubmit } = props; |
| | | const { sprite, onSubmit } = props; |
| | | const notify = useNotification(); |
| | | const translate = useTranslate(); |
| | | |
| | | const { control, handleSubmit, reset, watch } = useForm({ |
| | | const { control, handleSubmit, reset, watch, setValue } = useForm({ |
| | | defaultValues: { |
| | | ...sprite.data |
| | | ...sprite.data, |
| | | }, |
| | | }); |
| | | |
| | | const updateSprite = (data) => { |
| | | }; |
| | | const rowValue = watch('row'); |
| | | const bayValue = watch('bay'); |
| | | |
| | | useEffect(() => { |
| | | if (rowValue != null && bayValue != null && rowValue !== '' && bayValue !== '') { |
| | | setValue('no', `${rowValue}-${bayValue}`); |
| | | } else { |
| | | setValue('no', ''); |
| | | } |
| | | }, [rowValue, bayValue, setValue]); |
| | | |
| | | const onFormSubmit = (data) => { |
| | | console.log(data); |
| | | if (sprite && sprite.data) { |
| | | Object.keys(data).forEach((key) => { |
| | | sprite.data[key] = data[key]; |
| | | }); |
| | | } |
| | | if (onSubmit) { |
| | | onSubmit(data); |
| | | } |
| | | console.log(sprite.data); |
| | | notify.info(translate('common.response.success')); |
| | | }; |
| | | |
| | | return ( |
| | | <> |
| | | <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}> |
| | | <Grid container spacing={1.4}> |
| | | |
| | | {sprite?.data?.type === DEVICE_TYPE.SHELF && ( |
| | | <> |
| | | <Grid item xs={6} pt={0} sx={{ |
| | | paddingTop: '8px !important', |
| | | }}> |
| | | <Grid item xs={6}> |
| | | <Controller |
| | | name="row" |
| | | control={control} |
| | |
| | | type="number" |
| | | fullWidth |
| | | onChange={(e) => { |
| | | const value = e.target.value; |
| | | field.onChange(e); |
| | | updateSprite(); |
| | | }} |
| | | /> |
| | | )} |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6} pt={0} sx={{ |
| | | paddingTop: '8px !important', |
| | | }}> |
| | | <Grid item xs={6}> |
| | | <Controller |
| | | name="bay" |
| | | control={control} |
| | |
| | | type="number" |
| | | fullWidth |
| | | onChange={(e) => { |
| | | const value = e.target.value; |
| | | field.onChange(e); |
| | | }} |
| | | /> |
| | |
| | | <> |
| | | </> |
| | | )} |
| | | |
| | | <Grid item xs={12}> |
| | | <Divider /> |
| | | </Grid> |
| | |
| | | {translate('page.map.settings.config.base.no')} |
| | | </Typography> |
| | | </Grid> */} |
| | | <Grid item xs={6} pt={0} sx={{ |
| | | paddingTop: '8px !important', |
| | | }}> |
| | | |
| | | <Grid item xs={6}> |
| | | <Controller |
| | | name="no" |
| | | control={control} |
| | |
| | | {...field} |
| | | label="No" |
| | | type="text" |
| | | value={field.value || ''} |
| | | fullWidth |
| | | onChange={(e) => { |
| | | const value = e.target.value; |
| | | field.onChange(e); |
| | | }} |
| | | /> |
| | |
| | | |
| | | <Grid item xs={12} mt={2}> |
| | | <Stack direction="row" spacing={2}> |
| | | <Button variant="contained" color="primary" onClick={() => { |
| | | }}> |
| | | <Button variant="contained" color="primary" type="submit"> |
| | | {translate('ra.action.confirm')} |
| | | </Button> |
| | | </Stack> |
| | | </Grid> |
| | | |
| | | </Grid> |
| | | </Box> |
| | | </> |
| | | ) |
| | | } |
| | | ); |
| | | }; |
| | | |
| | | |
| | | export default ConfigSettings; |
| | | export default ConfigSettings; |