From ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 15:57:37 +0300 Subject: New Angular UI from 1806 Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- vid-webpack-master/src/app/store/epics.ts | 13 +++++++++++++ vid-webpack-master/src/app/store/module.ts | 29 ++++++++++++++++++++++++++++ vid-webpack-master/src/app/store/reducers.ts | 17 ++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 vid-webpack-master/src/app/store/epics.ts create mode 100644 vid-webpack-master/src/app/store/module.ts create mode 100644 vid-webpack-master/src/app/store/reducers.ts (limited to 'vid-webpack-master/src/app/store') 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 000000000..f424e7355 --- /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 000000000..c0909c124 --- /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, + 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 000000000..b3e4f4712 --- /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 = combineReducers({ + global: GlobalReducer, + service: ServiceReducer +}); + +export default rootReducer; -- cgit 1.2.3-korg