blob: 5a81f36eca0588bbaf148000959b3741fca83eea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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);
}
}
|