From 787c9dc0ec684d3524ec060b6422ffbaea5012ac Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 20 Sep 2020 21:28:52 -0700 Subject: Add user edit page --- modern/src/DevicePage.js | 123 ++++++++++++----------------------------------- 1 file changed, 30 insertions(+), 93 deletions(-) (limited to 'modern/src/DevicePage.js') diff --git a/modern/src/DevicePage.js b/modern/src/DevicePage.js index ee52549..14e978e 100644 --- a/modern/src/DevicePage.js +++ b/modern/src/DevicePage.js @@ -1,106 +1,43 @@ -import React, { useEffect, useState } from 'react'; -import MainToobar from './MainToolbar'; -import { useHistory, useParams } from 'react-router-dom'; -import { makeStyles } from '@material-ui/core/styles'; +import React, { useState } from 'react'; import TextField from '@material-ui/core/TextField'; -import Container from '@material-ui/core/Container'; -import Button from '@material-ui/core/Button'; -import FormControl from '@material-ui/core/FormControl'; import t from './common/localization'; - -const useStyles = makeStyles(theme => ({ - container: { - marginTop: theme.spacing(2), - }, - buttons: { - display: 'flex', - justifyContent: 'space-evenly', - '& > *': { - flexBasis: '33%', - }, - }, -})); +import EditPage from './EditPage'; const DevicePage = () => { - const history = useHistory(); - const classes = useStyles(); - const { id } = useParams(); - const [device, setDevice] = useState(); + const [item, setItem] = useState(); + const [name, setName] = useState(''); const [uniqueId, setUniqueId] = useState(''); - useEffect(() => { - fetch(`/api/devices/${id}`).then(response => { - if (response.ok) { - response.json().then(setDevice); - } - }); - }, [id]); - - const handleSave = () => { - const updatedDevice = id ? device : {}; - updatedDevice.name = name || updatedDevice.name; - updatedDevice.uniqueId = uniqueId || updatedDevice.uniqueId; - - let request; - if (id) { - request = fetch(`/api/devices/${id}`, { - method: 'PUT', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(updatedDevice), - }); - } else { - request = fetch('/api/devices', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(updatedDevice), - }); - } - - request.then(response => { - if (response.ok) { - history.goBack(); - } - }); - } + const getItem = () => { + const updatedItem = item; + updatedItem.name = name; + updatedItem.uniqueId = uniqueId; + return updatedItem; + }; return ( - <> - - -
- {(!id || device) && - setName(event.target.value)} - label={t('sharedName')} - variant='filled' /> - } - {(!id || device) && - setUniqueId(event.target.value)} - label={t('deviceIdentifier')} - variant='filled' /> - } - -
- - -
-
- -
- + + {item && + <> + setName(event.target.value)} + label={t('sharedName')} + variant="filled" /> + setUniqueId(event.target.value)} + label={t('deviceIdentifier')} + variant="filled" /> + + } + ); } -- cgit v1.2.3