summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/store/module.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/store/module.ts')
-rw-r--r--vid-webpack-master/src/app/shared/store/module.ts36
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);
+ }
+}