diff --git a/src/state/reducers/companionWindows.js b/src/state/reducers/companionWindows.js index cd619e6fe93a6c3577f2fd26542cf14e627c6755..29b42ca1e92a21d2b4b3ea56c364629b64d0977c 100644 --- a/src/state/reducers/companionWindows.js +++ b/src/state/reducers/companionWindows.js @@ -1,7 +1,6 @@ import omit from 'lodash/omit'; import set from 'lodash/fp/set'; import update from 'lodash/fp/update'; -import merge from 'lodash/fp/merge'; import ActionTypes from '../actions/action-types'; /** */ @@ -31,14 +30,14 @@ export function companionWindowsReducer(state = {}, action) { return object; }, {}); case ActionTypes.UPDATE_COMPANION_WINDOW: - return update([action.id], orig => merge(orig, action.payload), state); + return update([action.id], orig => ({ ...(orig || {}), ...action.payload }), state); case ActionTypes.REMOVE_COMPANION_WINDOW: return omit(state, action.id); case ActionTypes.IMPORT_MIRADOR_STATE: return action.state.companionWindows || []; case ActionTypes.TOGGLE_TOC_NODE: - return update([action.id, 'tocNodes'], orig => merge(orig || {}, action.payload), state); + return update([action.id, 'tocNodes'], orig => ({ ...(orig || {}), ...action.payload }), state); default: return state; } diff --git a/src/state/reducers/elasticLayout.js b/src/state/reducers/elasticLayout.js index fbbf9f11afd73fcb0c0aef64095b5be77db17275..c35ee12d5a5c3f637208414c833724a3c6b793cd 100644 --- a/src/state/reducers/elasticLayout.js +++ b/src/state/reducers/elasticLayout.js @@ -1,6 +1,5 @@ import update from 'lodash/fp/update'; import omit from 'lodash/omit'; -import merge from 'lodash/fp/merge'; import ActionTypes from '../actions/action-types'; /** @@ -17,7 +16,7 @@ export const elasticLayoutReducer = (state = {}, action) => { }; case ActionTypes.UPDATE_ELASTIC_WINDOW_LAYOUT: - return update([action.windowId], orig => merge(orig, action.payload), state); + return update([action.windowId], orig => ({ ...(orig || {}), ...action.payload }), state); case ActionTypes.REMOVE_WINDOW: return omit(state, action.windowId); diff --git a/src/state/reducers/windows.js b/src/state/reducers/windows.js index 5d20799acccda9f48f6f6f1620f13c26b589d609..37ef215d0f236598413ea7d9baa5455840371c3c 100644 --- a/src/state/reducers/windows.js +++ b/src/state/reducers/windows.js @@ -1,6 +1,5 @@ import update from 'lodash/fp/update'; import omit from 'lodash/omit'; -import merge from 'lodash/fp/merge'; import ActionTypes from '../actions/action-types'; /** @@ -29,7 +28,7 @@ export const windowsReducer = (state = {}, action) => { }; case ActionTypes.UPDATE_WINDOW: - return update([action.id], orig => merge(orig, action.payload), state); + return update([action.id], orig => ({ ...(orig || {}), ...action.payload }), state); case ActionTypes.REMOVE_WINDOW: return omit(state, [action.windowId]); @@ -72,10 +71,12 @@ export const windowsReducer = (state = {}, action) => { case ActionTypes.SET_CANVAS: if (!state[action.windowId]) return state; - return update([action.windowId], orig => merge(orig, { - canvasId: action.canvasId, - visibleCanvases: action.visibleCanvases || [], - }), state); + return update([action.windowId], orig => ( + { + ...(orig || {}), + canvasId: action.canvasId, + visibleCanvases: action.visibleCanvases || [], + }), state); case ActionTypes.ADD_COMPANION_WINDOW: return { ...state,