X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Fvorgang.service.ts;h=ec4025c02fb6b9f0f87993cf58f468a2cda297cd;hb=0d1009022ba153db601c18bdedc51822831bd01c;hp=3d433e727bfca8dc04e1b3165f522753b7d0d3f3;hpb=4393801b0f3375831d8452fea056eaa0f728123f;p=examples%2Fangular-tour-of-heroes diff --git a/src/app/vorgang.service.ts b/src/app/vorgang.service.ts index 3d433e7..ec4025c 100644 --- a/src/app/vorgang.service.ts +++ b/src/app/vorgang.service.ts @@ -1,8 +1,11 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Observable, of, EMPTY } from 'rxjs'; -import { catchError, tap } from 'rxjs/operators'; +import { catchError, map, tap } from 'rxjs/operators'; +import { select, Store } from '@ngrx/store'; import { Vorgang } from './vorgang'; +import { increment, decrement, reset } from './actions/vorgang'; +import { State } from './reducers/vorgang'; @Injectable({ @@ -18,7 +21,9 @@ export class VorgangService { }) }; - constructor(private http: HttpClient) { } + constructor( + private http: HttpClient, + private store: Store<{ vorgang: State }>) { } /** POST: Einen neuen Vorgang erzeugen */ create(vorgang: Vorgang): Observable { @@ -37,6 +42,22 @@ export class VorgangService { return this.gpsUrl + vbId + '/save'; } + increment() { + this.store.dispatch(increment()); + } + + decrement() { + this.store.dispatch(decrement()); + } + + reset() { + this.store.dispatch(reset()); + } + + observe(): Observable { + return this.store.pipe(select('vorgang'), map(vorgang => vorgang.counter)); + } + /** * Handle Http operation that failed. * Let the app continue.