UNPKG

mirador

Version:

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations.

41 lines (32 loc) 1.08 kB
// Topics for understanding // redux modules for nested stores // state normalisation // (normalizer library) import { thunk } from 'redux-thunk'; import createSagaMiddleware from 'redux-saga'; import { combineReducers, createStore, applyMiddleware } from 'redux'; import { composeWithDevTools } from '@redux-devtools/extension'; import createRootReducer from './reducers/rootReducer'; import getRootSaga from './sagas'; import settings from '../config/settings'; /** * Configure Store */ function configureStore(pluginReducers, pluginSagas = []) { const miradorReducer = createRootReducer(pluginReducers); const rootReducer = settings.state.slice ? combineReducers({ [settings.state.slice]: miradorReducer }) : miradorReducer; // create the saga middleware const sagaMiddleware = createSagaMiddleware(); const store = createStore( rootReducer, composeWithDevTools( applyMiddleware(thunk, sagaMiddleware), ), ); // then run the saga sagaMiddleware.run(getRootSaga(pluginSagas)); return store; } export default configureStore;