Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. private searchClickSubject:Subject<void>; // Submit form
  2. private searchClick$:Observable<any>;
  3. private metrics$:Observable<MetricGroup>;
  4.  
  5. constructor() {
  6. // Prepare observers
  7. this.searchClickSubject = new Subject<void>();
  8. this.searchClick$ = this.searchClickSubject.asObservable();
  9. }
  10.  
  11. public ngOnInit() {
  12. // Grab search button click event
  13. this.searchQuery$ = this.searchClick$.pipe(
  14. map(() => <Query>{
  15. offset: 0,
  16. limit: AmetriquesComponent.DEFAULT_PAGE_SIZE
  17. })
  18. );
  19.  
  20. const loading = () => tap(() => this.loadingPage());
  21. const getAggregatedMetrics = () => switchMap((query: Query) => this.service.getAggregatedMetrics(query));
  22. const loaded = () => tap((aggregatedMetrics: MetricGroup) => this.loadedMetric(aggregatedMetrics));
  23.  
  24. this.metrics$ = this.searchQuery$
  25. .pipe(
  26. loading(),
  27. getAggregatedMetrics(),
  28. loaded(),
  29. share()
  30. );
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement