summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/store
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/store')
-rw-r--r--vid-webpack-master/src/app/store/epics.ts13
-rw-r--r--vid-webpack-master/src/app/store/module.ts29
-rw-r--r--vid-webpack-master/src/app/store/reducers.ts17
3 files changed, 59 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/store/epics.ts b/vid-webpack-master/src/app/store/epics.ts
new file mode 100644
index 00000000..f424e735
--- /dev/null
+++ b/vid-webpack-master/src/app/store/epics.ts
@@ -0,0 +1,13 @@
+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/store/module.ts b/vid-webpack-master/src/app/store/module.ts
new file mode 100644
index 00000000..c0909c12
--- /dev/null
+++ b/vid-webpack-master/src/app/store/module.ts
@@ -0,0 +1,29 @@
+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";
+
+@NgModule({
+ imports: [NgReduxModule],
+ providers: [RootEpics, AAIEpics],
+})
+
+export class StoreModule {
+ constructor(
+ public store: NgRedux<AppState>,
+ devTools: DevToolsExtension,
+ rootEpics: RootEpics,
+ ) {
+
+ const persistedState = sessionStorage.getItem('reduxState') ?
+ JSON.parse(sessionStorage.getItem('reduxState')) : {};
+
+ store.configureStore(
+ rootReducer,
+ persistedState,
+ rootEpics.createEpics(),
+ devTools.isEnabled() ? [ devTools.enhancer() ] : []);
+ }
+}
diff --git a/vid-webpack-master/src/app/store/reducers.ts b/vid-webpack-master/src/app/store/reducers.ts
new file mode 100644
index 00000000..b3e4f471
--- /dev/null
+++ b/vid-webpack-master/src/app/store/reducers.ts
@@ -0,0 +1,17 @@
+import {Reducer, combineReducers} from 'redux';
+import {GlobalReducer, GlobalState} from "../global.reducer";
+import {ServiceReducer, ServiceState} from "../service.reducer";
+
+
+export interface AppState {
+ global: GlobalState;
+ service: ServiceState;
+
+}
+
+const rootReducer: Reducer<AppState> = combineReducers<AppState>({
+ global: GlobalReducer,
+ service: ServiceReducer
+});
+
+export default rootReducer;