aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/store
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/store')
-rw-r--r--vid-webpack-master/src/app/shared/store/epics.ts11
-rw-r--r--vid-webpack-master/src/app/shared/store/module.ts36
-rw-r--r--vid-webpack-master/src/app/shared/store/reducers.ts16
3 files changed, 63 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/store/epics.ts b/vid-webpack-master/src/app/shared/store/epics.ts
new file mode 100644
index 000000000..c7b190d19
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/store/epics.ts
@@ -0,0 +1,11 @@
+import { Injectable } from '@angular/core';
+import {AAIEpics} from "../services/aaiService/aai.epics";
+
+@Injectable()
+export class RootEpics {
+ constructor(private aaiEpics: AAIEpics) {}
+
+ public createEpics() {
+ return this.aaiEpics.createEpic();
+ }
+}
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);
+ }
+}
diff --git a/vid-webpack-master/src/app/shared/store/reducers.ts b/vid-webpack-master/src/app/shared/store/reducers.ts
new file mode 100644
index 000000000..90cdd273f
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/store/reducers.ts
@@ -0,0 +1,16 @@
+import {MainReducer, ServiceState} from "../storeUtil/utils/main.reducer";
+import {globalReducer, GlobalState} from "../storeUtil/utils/global/global.reducers";
+import {combineReducers, Reducer} from "redux";
+
+
+export interface AppState {
+ global: GlobalState;
+ service: ServiceState;
+}
+
+const rootReducer: Reducer<AppState> = combineReducers<AppState>({
+ global: globalReducer,
+ service: MainReducer
+});
+
+export default rootReducer;