diff --git a/src/state/actions/action-types.js b/src/state/actions/action-types.js index fad609fe8f6b288f69da4087255b806884deb776..c5e503f91bb105f1f5742c53af2f8eaa7f0f8da8 100644 --- a/src/state/actions/action-types.js +++ b/src/state/actions/action-types.js @@ -12,6 +12,7 @@ const ActionTypes = { RECEIVE_MANIFEST: 'RECEIVE_MANIFEST', RECEIVE_MANIFEST_FAILURE: 'RECEIVE_MANIFEST_FAILURE', SET_CONFIG: 'SET_CONFIG', + SET_WINDOW_THUMBNAIL_POSITION: 'SET_WINDOW_THUMBNAIL_POSITION', TOGGLE_WINDOW_SIDE_BAR: 'TOGGLE_WINDOW_SIDE_BAR', UPDATE_CONFIG: 'UPDATE_CONFIG', REMOVE_MANIFEST: 'REMOVE_MANIFEST', diff --git a/src/state/actions/window.js b/src/state/actions/window.js index 395f1b0d66d55433d2ac1e285f55aadd6f66f558..605b690b8b38bc86b52f8fbc33a3a1c8216c2bee 100644 --- a/src/state/actions/window.js +++ b/src/state/actions/window.js @@ -50,3 +50,13 @@ export function removeWindow(windowId) { export function toggleWindowSideBar(windowId) { return { type: ActionTypes.TOGGLE_WINDOW_SIDE_BAR, windowId }; } + +/** + * toggleWindowSideBar - action creator + * + * @param {String} windowId + * @memberof ActionCreators + */ +export function setWindowThumbnailPosition(windowId, position) { + return { type: ActionTypes.SET_WINDOW_THUMBNAIL_POSITION, windowId, position }; +} diff --git a/src/state/reducers/windows.js b/src/state/reducers/windows.js index d61f61b5b86f924cadd334ad73b052bd68c4de6e..8c851f8249148b26e4906cdc5ecd06c86d2a0a99 100644 --- a/src/state/reducers/windows.js +++ b/src/state/reducers/windows.js @@ -22,6 +22,14 @@ const windowsReducer = (state = {}, action) => { sideBarOpen: !state[action.windowId].sideBarOpen, }, }; + case ActionTypes.SET_WINDOW_THUMBNAIL_POSITION: + return { + ...state, + [action.windowId]: { + ...state[action.windowId], + thumbnailNavigationPosition: action.position, + }, + }; case ActionTypes.NEXT_CANVAS: return setCanvasIndex(state, action.windowId, currentIndex => currentIndex + 1); case ActionTypes.PREVIOUS_CANVAS: