Guest User

Untitled

a guest
Mar 24th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. import { Component, OnInit } from '@angular/core';
  2. import { ClientService } from '../../services/client.service';
  3. import { EventService } from '../../services/event.service';
  4. import { Router, ActivatedRoute, Params } from '@angular/router';
  5. import { FlashMessagesService } from 'angular2-flash-messages';
  6.  
  7. import { Client } from '../../models/Client';
  8. import { Event } from '../../models/Event';
  9.  
  10. @Component({
  11. selector: 'app-client-details',
  12. templateUrl: './client-details.component.html', styleUrls: ['./client-details.component.css']
  13. })
  14. export class ClientDetailsComponent implements OnInit {
  15. id: string;
  16. client: Client;
  17. event: Event;
  18. events: Event[];
  19. hasDeposit: boolean = false;
  20. showDepostUpdateInput: boolean = false;
  21.  
  22. constructor(
  23. private clientService: ClientService,
  24. private eventService: EventService,
  25. private router: Router,
  26. private route: ActivatedRoute,
  27. private flashMessage: FlashMessagesService,
  28. ) { }
  29.  
  30. ngOnInit() {
  31. // Get id from url
  32. this.id = this.route.snapshot.params['id'];
  33. // Get the client
  34. this.clientService.getClient(this.id).subscribe(client => {
  35. if(client != null) {
  36. // Get all events
  37. this.eventService.getEvents(this.id).subscribe(events => {
  38. this.events = events; <-- I would assume an error would appear here too? (It does not)
  39. });
  40. }
  41. this.client = client;
  42. this.events = events; <-- Error thrown here
  43. });
  44. }
  45.  
  46. ...
  47.  
  48. import { Injectable } from '@angular/core';
  49. import { AngularFirestore, AngularFirestoreCollection,
  50. AngularFirestoreDocument } from 'angularfire2/firestore';
  51. import { Observable } from 'rxjs/observable';
  52.  
  53. import { Event } from '../models/Event';
  54.  
  55. @Injectable()
  56. export class EventService {
  57. eventsCollection: AngularFirestoreCollection<Event>;
  58. eventDoc: AngularFirestoreDocument<Event>;
  59. events: Observable<Event[]>;
  60. event: Observable<Event>;
  61.  
  62. constructor(private afs: AngularFirestore) {
  63. this.eventsCollection = this.afs.collection('events', ref => ref.orderBy('date', 'asc'));
  64. }
  65.  
  66. getEvents(id): Observable<Event[]> {
  67. // Get events with the client id
  68. this.events = this.afs.collection('events', ref => ref.where('clientID', '==', id)).snapshotChanges().map(actions => {
  69. return actions.map(a => {
  70. const data = a.payload.doc.data() as Event;
  71. return data;
  72. })
  73. });
  74.  
  75. return this.events;
  76. }
Add Comment
Please, Sign In to add comment