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
+
+