@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
34 lines (33 loc) • 1.91 kB
TypeScript
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
import { Subject } from "rxjs";
import { EventBus, IDataSource, IEvent } from "@nova-ui/bits";
import { IXYScales } from "@nova-ui/charts";
import { TimeseriesScalesService } from "../timeseries-scales.service";
import { ITimeseriesOutput, ITimeseriesWidgetConfig, ITimeseriesWidgetData, ITimeseriesWidgetSeriesData } from "../types";
import * as i0 from "@angular/core";
export declare abstract class TimeseriesChartComponent<T = ITimeseriesWidgetSeriesData> implements OnChanges, OnDestroy, OnInit {
protected eventBus: EventBus<IEvent>;
timeseriesScalesService: TimeseriesScalesService;
dataSource: IDataSource;
widgetData: ITimeseriesOutput<T>;
configuration: ITimeseriesWidgetConfig;
protected scales: IXYScales;
protected destroy$: Subject<void>;
protected buildChart$: Subject<void>;
protected resetChart: boolean;
protected chartBuilt: boolean;
get seriesInteractive(): boolean;
protected constructor(eventBus: EventBus<IEvent>, timeseriesScalesService: TimeseriesScalesService, dataSource: IDataSource);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
protected applyPreviousTransformer(previousData: any): void;
protected transformSeriesData(serie: ITimeseriesWidgetData<T>): void;
updateYAxisDomain(): void;
removeMetric(metricId: string): void;
/** Updates chart data. */
protected abstract updateChartData(): void;
protected abstract buildChart(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TimeseriesChartComponent<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<TimeseriesChartComponent<any>, never, never, { "widgetData": { "alias": "widgetData"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; }, {}, never, never, false, never>;
}