ngx-admin/src/app/pages/e-commerce/traffic-reveal-card/traffic-reveal-card.component.ts

57 lines
1.5 KiB
TypeScript
Raw Normal View History

import { Component, OnDestroy } from '@angular/core';
import { TrafficList, TrafficListData } from '../../../@core/data/traffic-list';
import { TrafficBarData, TrafficBar } from '../../../@core/data/traffic-bar';
import { takeWhile } from 'rxjs/operators';
@Component({
selector: 'ngx-traffic-reveal-card',
styleUrls: ['./traffic-reveal-card.component.scss'],
templateUrl: './traffic-reveal-card.component.html',
})
export class TrafficRevealCardComponent implements OnDestroy {
private alive = true;
trafficBarData: TrafficBar;
2021-10-17 04:15:43 +03:00
trafficListData: TrafficList[];
revealed = false;
period: string = 'week';
constructor(private trafficListService: TrafficListData,
private trafficBarService: TrafficBarData) {
this.getTrafficFrontCardData(this.period);
this.getTrafficBackCardData(this.period);
}
toggleView() {
this.revealed = !this.revealed;
}
setPeriodAngGetData(value: string): void {
this.period = value;
this.getTrafficFrontCardData(value);
this.getTrafficBackCardData(value);
}
getTrafficBackCardData(period: string) {
this.trafficBarService.getTrafficBarData(period)
.pipe(takeWhile(() => this.alive ))
.subscribe(trafficBarData => {
this.trafficBarData = trafficBarData;
});
}
getTrafficFrontCardData(period: string) {
this.trafficListService.getTrafficListData(period)
.pipe(takeWhile(() => this.alive))
.subscribe(trafficListData => {
this.trafficListData = trafficListData;
});
}
ngOnDestroy() {
this.alive = false;
}
}