X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cee5b3efd5287a0e88254f3088b1d4ef80a38dd9..818979d32a30f9b0bdbf5cee646124c131386d70:/src/store/store.ts diff --git a/src/store/store.ts b/src/store/store.ts index 94f110a0..2925d8f9 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -185,6 +185,22 @@ export function configureStore(history: History, services: ServiceRepository, co return createStore(rootReducer, enhancer); } +//TODO: put sidePanel items in separate file and import +export const toggleSidePanel = (collapsedState: boolean) => { + return (dispatch) => { + dispatch({type: 'TOGGLE_COLLAPSE', payload: !collapsedState}) + } +} + +const sidePanelInitialState = { + collapsedState: false +} + +const sidePanelReducer = (state = sidePanelInitialState, action)=>{ + if(action.type === 'TOGGLE_COLLAPSE') return {...state, collapsedState: action.payload} + return state +} + const createRootReducer = (services: ServiceRepository) => combineReducers({ auth: authReducer(services), collectionPanel: collectionPanelReducer, @@ -212,5 +228,6 @@ const createRootReducer = (services: ServiceRepository) => combineReducers({ virtualMachines: virtualMachinesReducer, repositories: repositoriesReducer, keepServices: keepServicesReducer, - linkAccountPanel: linkAccountPanelReducer + linkAccountPanel: linkAccountPanelReducer, + sidePanel: sidePanelReducer });