diff --git a/Client/app/app.module.ts b/Client/app/app.module.ts index 13f98f84..23cc9e4d 100644 --- a/Client/app/app.module.ts +++ b/Client/app/app.module.ts @@ -10,6 +10,11 @@ import { Ng2BootstrapModule } from 'ng2-bootstrap'; import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; +// ngrx store +import { RouterStoreModule } from '@ngrx/router-store'; +import { StoreModule, Store } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; + import { AppComponent } from './app.component'; import { NavMenuComponent } from './components/navmenu/navmenu.component'; import { HomeComponent } from './containers/home/home.component'; @@ -24,6 +29,7 @@ import { UserService } from './shared/user.service'; import { ConnectionResolver } from './shared/route.resolver'; import { ORIGIN_URL } from './shared/constants/baseurl.constants'; import { TransferHttpModule } from '../modules/transfer-http/transfer-http.module'; +import { reducer } from './reducers'; export function createTranslateLoader(http: Http, baseHref) { // Temporary Azure hack @@ -62,6 +68,11 @@ export function createTranslateLoader(http: Http, baseHref) { } }), + StoreModule.provideStore(reducer), + RouterStoreModule.connectRouter(), + StoreDevtoolsModule.instrumentOnlyWithExtension(), + + // App Routing RouterModule.forRoot([ { @@ -133,7 +144,7 @@ export function createTranslateLoader(http: Http, baseHref) { } }, - { path: 'lazy', loadChildren: './containers/+lazy/lazy.module#LazyModule'}, + { path: 'lazy', loadChildren: './containers/+lazy/lazy.module#LazyModule' }, // All else fails - go home! { path: '**', redirectTo: 'home' } diff --git a/Client/app/browser-app.module.ts b/Client/app/browser-app.module.ts index 0150d22c..01670ccc 100644 --- a/Client/app/browser-app.module.ts +++ b/Client/app/browser-app.module.ts @@ -23,12 +23,12 @@ export function createConfig(): SignalRConfiguration { } export function getOriginUrl() { - return window.location.origin; + return window.location.origin; } export function getRequest() { - // the Request object only lives on the server - return { cookie: document.cookie }; + // the Request object only lives on the server + return { cookie: document.cookie }; } @NgModule({ diff --git a/Client/app/containers/counter/counter.component.html b/Client/app/containers/counter/counter.component.html index cc2bbd59..99ea4c84 100644 --- a/Client/app/containers/counter/counter.component.html +++ b/Client/app/containers/counter/counter.component.html @@ -2,6 +2,9 @@
This is a simple example of an Angular 2 component.
-Current count: {{ currentCount }}
+ + + +{{ counter | async | json }}
diff --git a/Client/app/containers/counter/counter.component.ts b/Client/app/containers/counter/counter.component.ts
index 69de17d9..f9540097 100644
--- a/Client/app/containers/counter/counter.component.ts
+++ b/Client/app/containers/counter/counter.component.ts
@@ -1,13 +1,33 @@
+// tslint:disable:no-null-keyword
+// tslint:disable:semicolon
+
import { Component } from '@angular/core';
+import { Store } from '@ngrx/store';
+import * as fromRoot from '../../reducers';
+
+import { COUNTER_INCREASE, COUNTER_DECREASE } from '../../reducers/counter.reducer';
+import { CounterState } from '../../reducers/counter.reducer';
+import { Observable } from 'rxjs/Observable';
@Component({
selector: 'counter',
templateUrl: './counter.component.html'
})
export class CounterComponent {
- public currentCount = 0;
+ // public currentCount = 0;
+ public counter: Observable
+NgRx Store with Redux DevTools:
+
+
+
+