import { Component, OnDestroy } from '@angular/core'; import { NbThemeService } from '@nebular/theme'; import { takeWhile } from 'rxjs/operators'; import { TrafficChartData } from '../../../@core/data/traffic-chart'; @Component({ selector: 'ngx-traffic', styleUrls: ['./traffic.component.scss'], template: ` Traffic Consumption {{ t }} `, }) export class TrafficComponent implements OnDestroy { private alive = true; trafficChartPoints: number[]; type = 'month'; types = ['week', 'month', 'year']; currentTheme: string; constructor(private themeService: NbThemeService, private trafficChartService: TrafficChartData) { this.themeService.getJsTheme() .pipe(takeWhile(() => this.alive)) .subscribe(theme => { this.currentTheme = theme.name; }); this.trafficChartService.getTrafficChartData() .pipe(takeWhile(() => this.alive)) .subscribe((data) => { this.trafficChartPoints = data; }); } ngOnDestroy() { this.alive = false; } }