From 7d607dbc8f2f5636dd1319ff018add3265c923aa Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 11 Dec 2023 20:41:31 -0800 Subject: Fix store refresh --- modern/src/CachingController.js | 10 +++++----- modern/src/settings/CalendarPage.jsx | 2 +- modern/src/settings/GroupPage.jsx | 2 +- modern/src/store/calendars.js | 3 ++- modern/src/store/drivers.js | 3 ++- modern/src/store/groups.js | 3 ++- modern/src/store/maintenances.js | 3 ++- 7 files changed, 15 insertions(+), 11 deletions(-) (limited to 'modern/src') diff --git a/modern/src/CachingController.js b/modern/src/CachingController.js index 55a4e020..b8e5fd90 100644 --- a/modern/src/CachingController.js +++ b/modern/src/CachingController.js @@ -13,7 +13,7 @@ const CachingController = () => { if (authenticated) { const response = await fetch('/api/geofences'); if (response.ok) { - dispatch(geofencesActions.update(await response.json())); + dispatch(geofencesActions.refresh(await response.json())); } else { throw Error(await response.text()); } @@ -24,7 +24,7 @@ const CachingController = () => { if (authenticated) { const response = await fetch('/api/groups'); if (response.ok) { - dispatch(groupsActions.update(await response.json())); + dispatch(groupsActions.refresh(await response.json())); } else { throw Error(await response.text()); } @@ -35,7 +35,7 @@ const CachingController = () => { if (authenticated) { const response = await fetch('/api/drivers'); if (response.ok) { - dispatch(driversActions.update(await response.json())); + dispatch(driversActions.refresh(await response.json())); } else { throw Error(await response.text()); } @@ -46,7 +46,7 @@ const CachingController = () => { if (authenticated) { const response = await fetch('/api/maintenance'); if (response.ok) { - dispatch(maintenancesActions.update(await response.json())); + dispatch(maintenancesActions.refresh(await response.json())); } else { throw Error(await response.text()); } @@ -57,7 +57,7 @@ const CachingController = () => { if (authenticated) { const response = await fetch('/api/calendars'); if (response.ok) { - dispatch(calendarsActions.update(await response.json())); + dispatch(calendarsActions.refresh(await response.json())); } else { throw Error(await response.text()); } diff --git a/modern/src/settings/CalendarPage.jsx b/modern/src/settings/CalendarPage.jsx index 099858a3..b7dcdd04 100644 --- a/modern/src/settings/CalendarPage.jsx +++ b/modern/src/settings/CalendarPage.jsx @@ -99,7 +99,7 @@ const CalendarPage = () => { const onItemSaved = useCatch(async () => { const response = await fetch('/api/calendars'); if (response.ok) { - dispatch(calendarsActions.update(await response.json())); + dispatch(calendarsActions.refresh(await response.json())); } else { throw Error(await response.text()); } diff --git a/modern/src/settings/GroupPage.jsx b/modern/src/settings/GroupPage.jsx index 51fbda0e..c4ca867d 100644 --- a/modern/src/settings/GroupPage.jsx +++ b/modern/src/settings/GroupPage.jsx @@ -39,7 +39,7 @@ const GroupPage = () => { const onItemSaved = useCatch(async () => { const response = await fetch('/api/groups'); if (response.ok) { - dispatch(groupsActions.update(await response.json())); + dispatch(groupsActions.refresh(await response.json())); } else { throw Error(await response.text()); } diff --git a/modern/src/store/calendars.js b/modern/src/store/calendars.js index 924288e6..2d92c004 100644 --- a/modern/src/store/calendars.js +++ b/modern/src/store/calendars.js @@ -6,7 +6,8 @@ const { reducer, actions } = createSlice({ items: {}, }, reducers: { - update(state, action) { + refresh(state, action) { + state.items = {}; action.payload.forEach((item) => state.items[item.id] = item); }, }, diff --git a/modern/src/store/drivers.js b/modern/src/store/drivers.js index 3ebbdd84..d62bd476 100644 --- a/modern/src/store/drivers.js +++ b/modern/src/store/drivers.js @@ -6,7 +6,8 @@ const { reducer, actions } = createSlice({ items: {}, }, reducers: { - update(state, action) { + refresh(state, action) { + state.items = {}; action.payload.forEach((item) => state.items[item.uniqueId] = item); }, }, diff --git a/modern/src/store/groups.js b/modern/src/store/groups.js index 11fc5dbf..607b8609 100644 --- a/modern/src/store/groups.js +++ b/modern/src/store/groups.js @@ -6,7 +6,8 @@ const { reducer, actions } = createSlice({ items: {}, }, reducers: { - update(state, action) { + refresh(state, action) { + state.items = {}; action.payload.forEach((item) => state.items[item.id] = item); }, }, diff --git a/modern/src/store/maintenances.js b/modern/src/store/maintenances.js index 08b2adb6..0f5e41d1 100644 --- a/modern/src/store/maintenances.js +++ b/modern/src/store/maintenances.js @@ -6,7 +6,8 @@ const { reducer, actions } = createSlice({ items: {}, }, reducers: { - update(state, action) { + refresh(state, action) { + state.items = {}; action.payload.forEach((item) => state.items[item.id] = item); }, }, -- cgit v1.2.3