diff options
author | Anton Tananaev <anton@traccar.org> | 2022-05-22 16:02:10 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2022-05-22 16:02:10 -0700 |
commit | d447490a186a473dc398a9214fd37c5180fdcf7d (patch) | |
tree | d50e59a101aef5e189d33225e8663e3d6be4cae8 /modern | |
parent | dd18f6264b1a5eb006b4b57951176f7da9cf4fe1 (diff) | |
download | trackermap-web-d447490a186a473dc398a9214fd37c5180fdcf7d.tar.gz trackermap-web-d447490a186a473dc398a9214fd37c5180fdcf7d.tar.bz2 trackermap-web-d447490a186a473dc398a9214fd37c5180fdcf7d.zip |
Fix geofence refresh
Diffstat (limited to 'modern')
-rw-r--r-- | modern/src/other/GeofencesList.js | 14 | ||||
-rw-r--r-- | modern/src/settings/components/CollectionActions.js | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/modern/src/other/GeofencesList.js b/modern/src/other/GeofencesList.js index 202ae3b1..4abb528c 100644 --- a/modern/src/other/GeofencesList.js +++ b/modern/src/other/GeofencesList.js @@ -6,8 +6,9 @@ import List from '@material-ui/core/List'; import ListItem from '@material-ui/core/ListItem'; import ListItemText from '@material-ui/core/ListItemText'; -import { devicesActions } from '../store'; +import { devicesActions, geofencesActions } from '../store'; import CollectionActions from '../settings/components/CollectionActions'; +import { useCatchCallback } from '../reactHelper'; const useStyles = makeStyles(() => ({ list: { @@ -27,13 +28,22 @@ const GeofencesList = () => { const items = useSelector((state) => state.geofences.items); + const refreshGeofences = useCatchCallback(async () => { + const response = await fetch('/api/geofences'); + if (response.ok) { + dispatch(geofencesActions.refresh(await response.json())); + } else { + throw Error(await response.text()); + } + }, [dispatch]); + return ( <List className={classes.list}> {Object.values(items).map((item, index, list) => ( <Fragment key={item.id}> <ListItem button key={item.id} onClick={() => dispatch(devicesActions.select(item.id))}> <ListItemText primary={item.name} /> - <CollectionActions itemId={item.id} editPath="/settings/geofence" endpoint="geofences" /> + <CollectionActions itemId={item.id} editPath="/settings/geofence" endpoint="geofences" setTimestamp={refreshGeofences} /> </ListItem> {index < list.length - 1 ? <Divider /> : null} </Fragment> diff --git a/modern/src/settings/components/CollectionActions.js b/modern/src/settings/components/CollectionActions.js index 6bf9ddb1..98226269 100644 --- a/modern/src/settings/components/CollectionActions.js +++ b/modern/src/settings/components/CollectionActions.js @@ -26,7 +26,7 @@ const CollectionActions = ({ const handleRemoveResult = (removed) => { setRemoving(false); - if (removed && setTimestamp) { + if (removed) { setTimestamp(Date.now()); } }; |