WIP
[examples/angular-tour-of-heroes] / src / app / vorgang / vorgang.component.ts
index 4c8233d..986b1b2 100644 (file)
@@ -1,4 +1,11 @@
 import { Component, OnInit } from '@angular/core';
+import { VorgangService } from '../vorgang.service';
+import { Vorgang } from '../vorgang';
+import { Store, select } from '@ngrx/store';
+import { Observable } from 'rxjs';
+import { tap, map } from 'rxjs/operators';
+import { create } from '../actions/vorgang';
+import { State } from '../reducers/vorgang';
 
 @Component({
   selector: 'app-vorgang',
@@ -7,9 +14,23 @@ import { Component, OnInit } from '@angular/core';
 })
 export class VorgangComponent implements OnInit {
 
-  constructor() { }
+  vorgang$: Observable<Vorgang[]>;
+
+  constructor(
+      private service: VorgangService,
+      private store: Store<{ vorgang: { vorgaenge: Vorgang[] }}>) {
+    this.vorgang$ = store.pipe(select('vorgang')).pipe(
+      tap((state) => console.log(`New state: ${JSON.stringify(state)}`)),
+      map((state: State) => state.vorgaenge));
+  }
 
   ngOnInit(): void {
   }
 
+  create(data: string) {
+    this
+      .service
+      .create({ vbId: 'peter', vorgangId: '1' , zustand: data })
+      .subscribe(result => this.store.dispatch(create( { vorgang: result })));
+  }
 }