aboutsummaryrefslogtreecommitdiff
path: root/modern/src/EditItemView.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-05-08 13:16:57 -0700
committerAnton Tananaev <anton@traccar.org>2022-05-08 13:16:57 -0700
commit2cd374bb9fa941d7e2a6fd8aa5079893a158c98f (patch)
treef4ee48130592fed5de25dce7af4ac0cbeb017680 /modern/src/EditItemView.js
parent2352071211b61c10fa5bf5736baaff7809d18bf0 (diff)
downloadtrackermap-web-2cd374bb9fa941d7e2a6fd8aa5079893a158c98f.tar.gz
trackermap-web-2cd374bb9fa941d7e2a6fd8aa5079893a158c98f.tar.bz2
trackermap-web-2cd374bb9fa941d7e2a6fd8aa5079893a158c98f.zip
Reorganize remaining files
Diffstat (limited to 'modern/src/EditItemView.js')
-rw-r--r--modern/src/EditItemView.js95
1 files changed, 0 insertions, 95 deletions
diff --git a/modern/src/EditItemView.js b/modern/src/EditItemView.js
deleted file mode 100644
index 550369fc..00000000
--- a/modern/src/EditItemView.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import React from 'react';
-import { useHistory, useParams } from 'react-router-dom';
-import { makeStyles } from '@material-ui/core/styles';
-import Container from '@material-ui/core/Container';
-import Button from '@material-ui/core/Button';
-import FormControl from '@material-ui/core/FormControl';
-
-import { useEffectAsync } from './reactHelper';
-import OptionsLayout from './settings/OptionsLayout';
-import { useTranslation } from './LocalizationProvider';
-
-const useStyles = makeStyles((theme) => ({
- container: {
- marginTop: theme.spacing(2),
- },
- buttons: {
- display: 'flex',
- justifyContent: 'space-evenly',
- '& > *': {
- flexBasis: '33%',
- },
- },
-}));
-
-const EditItemView = ({
- children, endpoint, item, setItem, validate, onItemSaved,
-}) => {
- const history = useHistory();
- const classes = useStyles();
- const t = useTranslation();
-
- const { id } = useParams();
-
- useEffectAsync(async () => {
- if (id) {
- const response = await fetch(`/api/${endpoint}/${id}`);
- if (response.ok) {
- setItem(await response.json());
- }
- } else {
- setItem({});
- }
- }, [id]);
-
- const handleSave = async () => {
- let url = `/api/${endpoint}`;
- if (id) {
- url += `/${id}`;
- }
-
- const response = await fetch(url, {
- method: !id ? 'POST' : 'PUT',
- headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify(item),
- });
-
- if (response.ok) {
- if (onItemSaved) {
- onItemSaved(await response.json());
- }
- history.goBack();
- }
- };
-
- return (
- <OptionsLayout>
- <Container maxWidth="xs" className={classes.container}>
- {children}
- <FormControl fullWidth margin="normal">
- <div className={classes.buttons}>
- <Button
- type="button"
- color="primary"
- variant="outlined"
- onClick={() => history.goBack()}
- >
- {t('sharedCancel')}
- </Button>
- <Button
- type="button"
- color="primary"
- variant="contained"
- onClick={handleSave}
- disabled={!validate()}
- >
- {t('sharedSave')}
- </Button>
- </div>
- </FormControl>
- </Container>
- </OptionsLayout>
- );
-};
-
-export default EditItemView;