@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
78 lines (77 loc) • 3.52 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, KeyValueDiffers, NgZone, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { EventBus, IDataSource, IEvent, LoggerService, UnitConversionService } from "@nova-ui/bits";
import { ChartAssist, ChartDonutContentPlugin, IAccessors } from "@nova-ui/charts";
import { IHasChangeDetector } from "../../types";
import { IFormatter } from "../types";
import { IProportionalWidgetData, IProportionalWidgetConfig } from "./types";
import * as i0 from "@angular/core";
/** @ignore */
export declare class ProportionalWidgetComponent implements AfterViewInit, OnChanges, IHasChangeDetector, OnDestroy {
changeDetector: ChangeDetectorRef;
private ngZone;
private kvDiffers;
private eventBus;
private dataSource;
private logger;
static lateLoadKey: string;
private static NO_SWITCH_LAYOUT_INTERVAL_SIZE;
private static MAX_ROW_LAYOUT_SIZE;
private static TICK_LABEL_MAX_WIDTH;
widgetData: IProportionalWidgetData[];
configuration: IProportionalWidgetConfig;
elementClass: string;
seriesToIconMap: {
[seriesId: string]: string;
};
chartAssist: ChartAssist;
accessors: IAccessors;
donutContentPlugin: ChartDonutContentPlugin | null;
legendUnitLabel: string;
legendFormatter: IFormatter | undefined;
contentFormatter: IFormatter | undefined;
chartFormatterComponentType: string | undefined;
contentFormatterProperties: any;
prioritizedGridRows: {
right: boolean;
bottom: boolean;
};
private differ;
private renderer;
private scales;
private chartPalette;
private proportionalWidgetResizeObserver;
private unitConversionPipe;
private gridContainer;
private chartTypeSubscription$;
get interactive(): boolean;
constructor(changeDetector: ChangeDetectorRef, ngZone: NgZone, kvDiffers: KeyValueDiffers, eventBus: EventBus<IEvent>, dataSource: IDataSource, logger: LoggerService, unitConversionService: UnitConversionService);
computeLegendTileValue(legendSeries: unknown): string | undefined;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
getContentFormatterProperties(): void;
/** Checks if chart is donut. */
isDonutChart(): boolean;
/** Checks if chart is radial. */
isRadialChart(): boolean;
/** Checks if legend should be shown. */
hasLegend(): boolean;
/** Checks if legend should be aligned to right. */
legendShouldBeAlignedRight(): boolean;
onInteraction(data: any): void;
/** Configures the chart options */
private buildChart;
private handleGridFlowOnResize;
private applyTickLabelMaxWidths;
private onResize;
private isContainerInNoSwitchLayoutInterval;
private containerHasRowLayoutWidth;
/** Builds the chart */
private updateChart;
private updateChartColors;
private getDataDriverColorProvider;
private getConfigurationColorProvider;
get isEmpty(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<ProportionalWidgetComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ProportionalWidgetComponent, "nui-proportional-widget", never, { "widgetData": { "alias": "widgetData"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "elementClass": { "alias": "elementClass"; "required": false; }; "seriesToIconMap": { "alias": "seriesToIconMap"; "required": false; }; }, {}, never, never, false, never>;
}