Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private searchClickSubject:Subject<void>; // Submit form
- private searchClick$:Observable<any>;
- private metrics$:Observable<MetricGroup>;
- constructor() {
- // Prepare observers
- this.searchClickSubject = new Subject<void>();
- this.searchClick$ = this.searchClickSubject.asObservable();
- }
- public ngOnInit() {
- // Grab search button click event
- this.searchQuery$ = this.searchClick$.pipe(
- map(() => <Query>{
- offset: 0,
- limit: AmetriquesComponent.DEFAULT_PAGE_SIZE
- })
- );
- const loading = () => tap(() => this.loadingPage());
- const getAggregatedMetrics = () => switchMap((query: Query) => this.service.getAggregatedMetrics(query));
- const loaded = () => tap((aggregatedMetrics: MetricGroup) => this.loadedMetric(aggregatedMetrics));
- this.metrics$ = this.searchQuery$
- .pipe(
- loading(),
- getAggregatedMetrics(),
- loaded(),
- share()
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement