import { Component, OnInit, ViewChild, ChangeDetectionStrategy } from "@angular/core";
import { ILoadedEventArgs, ChartComponent, IZoomingEventArgs, IScrollEventArgs } from '@syncfusion/ej2-angular-charts';
import {
DataManager,
Query,
ReturnOption,
WebApiAdaptor
} from "@syncfusion/ej2-data";
import { ActivatedRoute } from '@angular/router';
import { DropDownListComponent } from '@syncfusion/ej2-angular-dropdowns';
interface ServerData {
idx: number;
lead1: number;
lead2: number;
lead3: number;
lead4: number;
}
interface DisplayData {
Time: number;
L1: number;
L2: number;
L3: number;
L4: number;
}
@Component({
selector: "app-vdata",
templateUrl: ` `<ejs-chart id="chart-container" [primaryXAxis]='primaryXAxis'[primaryYAxis]='primaryYAxis' [title]='title'>
<e-series-collection>
<e-series [dataSource]='myDisplayData' type='Column' xName='Time' yName='L1' name='Lead 1'></e-series>
</e-series-collection>
</ejs-chart>`,
styleUrls: ["./vdata.component.css"],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class VdataComponent implements OnInit {
public SERVICE_URL: string ="https://www.myserver.com/api/data/vdata";
public myManager: DataManager;
public myDisplayData: DisplayData[] = [];
constructor( private activatedRoute: ActivatedRoute ) {
}
ngOnInit() {
this.myManager = new DataManager({
url: SERVICE_URL,
adaptor: new WebApiAdaptor(),
headers: [{ Authorization: "bearer " + this.token }]
}).executeQuery(new Query()).then((e: ReturnOption) => {
var tempData = e.result as ServerData[];
tempData.sort((a, b) => a - b);
for(var d in tempData){
var tempD = {} as DisplayData;
tempD.Time = d.idx;
tempD.L1 = d.lead1 * 10;
tempD.L2 = d.lead2 * 1.5;
tempD.L3 = d.lead3 * 11;
tempD.L4 = d.lead4 * 13;
this.DisplayData.push(tempD);
} ;
}
}