88 lines
1.7 KiB
TypeScript
88 lines
1.7 KiB
TypeScript
import { Component, OnInit, OnDestroy } from '@angular/core';
|
|
import { ActivatedRoute, Params } from '@angular/router';
|
|
|
|
import { IntervalObservable } from 'rxjs/observable/IntervalObservable';
|
|
import { Subscription } from 'rxjs/Subscription';
|
|
|
|
import { DataService } from './data.service';
|
|
import {LineChartComponent} from "./chart.component";
|
|
import {LineData} from "./line-data";
|
|
import {LabelData} from "./label-data";
|
|
|
|
@Component({
|
|
selector: 'detail',
|
|
templateUrl: './detail.component.html'
|
|
})
|
|
|
|
export class DetailComponent implements OnInit {
|
|
|
|
public id:string = 'Loading';
|
|
public name:string = "Loading";
|
|
|
|
public data:LineData;
|
|
public label:LabelData;
|
|
|
|
public data2:LineData;
|
|
|
|
public hov:number = 0;
|
|
public htv:number = 0;
|
|
public ht:number = 0;
|
|
|
|
public loaded:boolean = false;
|
|
|
|
public subscription:Subscription;
|
|
|
|
constructor(private dataService: DataService,
|
|
private route: ActivatedRoute) {}
|
|
|
|
ngOnInit(): void {
|
|
|
|
this.id = this.route.snapshot.params['id'];
|
|
|
|
this.refreshData(this.id);
|
|
|
|
this.subscription = IntervalObservable.create(7500).subscribe(n => this.refreshData(this.id));
|
|
|
|
}
|
|
|
|
ngOnDestroy(): void {
|
|
this.subscription.unsubscribe();
|
|
}
|
|
|
|
refreshData(id:string)
|
|
{
|
|
console.log("Refreshing data for ", this.id);
|
|
|
|
this.dataService
|
|
.get(id)
|
|
.subscribe(res => {
|
|
|
|
this.label = res.labels;
|
|
this.data = res.TTE1;
|
|
this.data2 = res.HTV;
|
|
|
|
this.loaded = true;
|
|
|
|
});
|
|
|
|
this.dataService
|
|
.usage(id)
|
|
.subscribe(res => {
|
|
|
|
this.hov = res.hov;
|
|
this.htv = res.htv;
|
|
this.ht = res.ht;
|
|
|
|
});
|
|
|
|
this.dataService
|
|
.name(id)
|
|
.subscribe(res => {
|
|
|
|
this.name = res;
|
|
|
|
});
|
|
}
|
|
|
|
}
|