diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/store/module.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/store/module.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/store/module.ts b/vid-webpack-master/src/app/shared/store/module.ts new file mode 100644 index 000000000..5a81f36ec --- /dev/null +++ b/vid-webpack-master/src/app/shared/store/module.ts @@ -0,0 +1,36 @@ +import {NgModule} from '@angular/core'; +import {NgReduxModule, NgRedux, DevToolsExtension} from '@angular-redux/store'; +import {RootEpics} from './epics'; + +import rootReducer, {AppState} from "./reducers"; +import {AAIEpics} from "../services/aaiService/aai.epics"; +import {createEpicMiddleware} from "redux-observable"; +import {AaiService} from "../services/aaiService/aai.service"; +import {applyMiddleware, createStore} from "redux"; + +@NgModule({ + imports: [NgReduxModule], + providers: [RootEpics, AAIEpics], +}) + +export class StoreModule { + constructor( + public store: NgRedux<AppState>, + private aaiService : AaiService, + devTools: DevToolsExtension, + rootEpics: RootEpics, + ) { + const epicMiddleware = createEpicMiddleware(); + const persistedState = sessionStorage.getItem('reduxState') ? + JSON.parse(sessionStorage.getItem('reduxState')) : {}; + + const configStore = createStore( + rootReducer, + <any>persistedState, + applyMiddleware(epicMiddleware) + ); + + epicMiddleware.run(rootEpics.createEpics()); + store.provideStore(configStore); + } +} |