aboutsummaryrefslogtreecommitdiff
path: root/modern/src/store/modules/devices.js
diff options
context:
space:
mode:
authorditoaugusta <dt_ap@ymail.com>2020-03-24 15:04:52 +0700
committerditoaugusta <dt_ap@ymail.com>2020-03-24 15:04:52 +0700
commit2f8ae58f4f5cde892b4b6981a83a37edc1422a2c (patch)
treef9354abc103d4dde4f98effbdf46739fefe4ac1f /modern/src/store/modules/devices.js
parent78d69f50595e058a08f3eaaa47fd7c3745fa1266 (diff)
downloadtrackermap-web-2f8ae58f4f5cde892b4b6981a83a37edc1422a2c.tar.gz
trackermap-web-2f8ae58f4f5cde892b4b6981a83a37edc1422a2c.tar.bz2
trackermap-web-2f8ae58f4f5cde892b4b6981a83a37edc1422a2c.zip
experiment: redux toolkit
Diffstat (limited to 'modern/src/store/modules/devices.js')
-rw-r--r--modern/src/store/modules/devices.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/modern/src/store/modules/devices.js b/modern/src/store/modules/devices.js
new file mode 100644
index 00000000..0d96e98d
--- /dev/null
+++ b/modern/src/store/modules/devices.js
@@ -0,0 +1,20 @@
+import { createSlice } from '@reduxjs/toolkit';
+
+const { reducer, actions } = createSlice({
+ name: 'devices',
+ initialState: {
+ items: {},
+ selectedId: null
+ },
+ reducers: {
+ update(state, action) {
+ action.payload.forEach(item => state.items[item['id']] = item);
+ },
+ select(state, action) {
+ state.selectedId = action.payload.id;
+ }
+ }
+});
+
+export { actions as devicesActions };
+export { reducer as devicesReducer };