summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/redux/reducers/objects.js
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web/opendc-web-ui/src/redux/reducers/objects.js')
-rw-r--r--opendc-web/opendc-web-ui/src/redux/reducers/objects.js18
1 files changed, 6 insertions, 12 deletions
diff --git a/opendc-web/opendc-web-ui/src/redux/reducers/objects.js b/opendc-web/opendc-web-ui/src/redux/reducers/objects.js
index f8f577ac..11f6d353 100644
--- a/opendc-web/opendc-web-ui/src/redux/reducers/objects.js
+++ b/opendc-web/opendc-web-ui/src/redux/reducers/objects.js
@@ -6,11 +6,9 @@ import {
REMOVE_ID_FROM_STORE_OBJECT_LIST_PROP,
} from '../actions/objects'
import { CPU_UNITS, GPU_UNITS, MEMORY_UNITS, STORAGE_UNITS } from '../../util/unit-specifications'
+import { STORE_TOPOLOGY } from '../actions/topologies'
export const objects = combineReducers({
- project: object('project'),
- user: object('user'),
- authorization: objectWithId('authorization', (object) => [object.userId, object.projectId]),
cpu: object('cpu', CPU_UNITS),
gpu: object('gpu', GPU_UNITS),
memory: object('memory', MEMORY_UNITS),
@@ -20,8 +18,6 @@ export const objects = combineReducers({
tile: object('tile'),
room: object('room'),
topology: object('topology'),
- portfolio: object('portfolio'),
- scenario: object('scenario'),
prefab: object('prefab'),
})
@@ -31,18 +27,16 @@ function object(type, defaultState = {}) {
function objectWithId(type, getId, defaultState = {}) {
return (state = defaultState, action) => {
- if (action.objectType !== type) {
+ if (action.type === STORE_TOPOLOGY) {
+ return { ...state, ...action.entities[type] }
+ } else if (action.objectType !== type) {
return state
}
if (action.type === ADD_TO_STORE) {
- return Object.assign({}, state, {
- [getId(action.object)]: action.object,
- })
+ return { ...state, [getId(action.object)]: action.object }
} else if (action.type === ADD_PROP_TO_STORE_OBJECT) {
- return Object.assign({}, state, {
- [action.objectId]: Object.assign({}, state[action.objectId], action.propObject),
- })
+ return { ...state, [action.objectId]: { ...state[action.objectId], ...action.propObject } }
} else if (action.type === ADD_ID_TO_STORE_OBJECT_LIST_PROP) {
return Object.assign({}, state, {
[action.objectId]: Object.assign({}, state[action.objectId], {