aboutsummaryrefslogtreecommitdiff
path: root/modern/src/settings
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-08-01 09:08:48 -0700
committerAnton Tananaev <anton@traccar.org>2022-08-01 09:08:48 -0700
commit027f56866f4584debdef22792f0b9f1d7a545faf (patch)
tree7fe236975d3b3d8bf4eda8f41548c58cf51ede00 /modern/src/settings
parent04385204c0ee230f73615224955b2b8b7a7d9c73 (diff)
downloadtrackermap-web-027f56866f4584debdef22792f0b9f1d7a545faf.tar.gz
trackermap-web-027f56866f4584debdef22792f0b9f1d7a545faf.tar.bz2
trackermap-web-027f56866f4584debdef22792f0b9f1d7a545faf.zip
Quick geofence creation
Diffstat (limited to 'modern/src/settings')
-rw-r--r--modern/src/settings/GeofencePage.js12
1 files changed, 9 insertions, 3 deletions
diff --git a/modern/src/settings/GeofencePage.js b/modern/src/settings/GeofencePage.js
index 3bebea30..b6c516a1 100644
--- a/modern/src/settings/GeofencePage.js
+++ b/modern/src/settings/GeofencePage.js
@@ -1,8 +1,7 @@
import React, { useState } from 'react';
-import TextField from '@mui/material/TextField';
-
+import { useDispatch } from 'react-redux';
import {
- Accordion, AccordionSummary, AccordionDetails, Typography,
+ Accordion, AccordionSummary, AccordionDetails, Typography, TextField,
} from '@mui/material';
import makeStyles from '@mui/styles/makeStyles';
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
@@ -12,6 +11,7 @@ import { useTranslation } from '../common/components/LocalizationProvider';
import useGeofenceAttributes from '../common/attributes/useGeofenceAttributes';
import SettingsMenu from './components/SettingsMenu';
import SelectField from '../common/components/SelectField';
+import { geofencesActions } from '../store';
const useStyles = makeStyles((theme) => ({
details: {
@@ -24,12 +24,17 @@ const useStyles = makeStyles((theme) => ({
const GeofencePage = () => {
const classes = useStyles();
+ const dispatch = useDispatch();
const t = useTranslation();
const geofenceAttributes = useGeofenceAttributes(t);
const [item, setItem] = useState();
+ const onItemSaved = (result) => {
+ dispatch(geofencesActions.update([result]));
+ };
+
const validate = () => item && item.name;
return (
@@ -38,6 +43,7 @@ const GeofencePage = () => {
item={item}
setItem={setItem}
validate={validate}
+ onItemSaved={onItemSaved}
menu={<SettingsMenu />}
breadcrumbs={['settingsTitle', 'sharedGeofence']}
>