@leanup/cli
Version:
This CLI brings along all required tools to serve, test and build multi framework SPAs
58 lines (49 loc) • 1.75 kB
text/typescript
import { AbstractController } from '@leanup/lib/components/generic';
import { DI } from '@leanup/lib/helpers/injector';
import { MeasuredSerieModel } from '../../../models/measured-series.model';
import { MeasurementService } from '../../../services/measurements/service';
import { RouterService } from '../../../services/router/service';
const PERFORMANCE_ANZAHL = 2500;
export class ListSerieController extends AbstractController {
private readonly measurementService: MeasurementService = DI.get<MeasurementService>('MeasurementService');
public measuredSeries: MeasuredSerieModel[] = [];
public measuredSerie: MeasuredSerieModel | null = null;
// tslint:disable-next-line: no-empty
public renderView: Function = () => {};
public elements: any[] = [null];
public duration = 0;
public showPerformanceButton = true;
public constructor() {
super();
this.measurementService.observe.subscribe(() => {
this.update();
});
this.update();
}
public add(): void {
RouterService.navigate('series/create');
}
public edit(measuredSerie: MeasuredSerieModel): void {
RouterService.navigate(`series/${measuredSerie.getId()}/edit`);
}
public update(): void {
this.measuredSeries = this.measurementService.getSeries();
}
public onStart(): void {
this.showPerformanceButton = false;
setTimeout(() => {
const start: number = Date.now();
this.elements = new Array(PERFORMANCE_ANZAHL);
setTimeout(() => {
this.duration = (Date.now() - start) / 1000;
setTimeout(() => {
this.elements = [null];
this.renderView();
}, 0);
this.renderView();
}, 0);
this.renderView();
}, 0);
this.renderView();
}
}