/** Angular */ import * as ng from "@angular/core"; /** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Nested modules */ import { ElementQuerySize } from "../../../directives/elementQuery/elementQuery"; import { VisualDataValue, VisualDataRangeInterval } from "../visualDataUtils"; /** * LinearGaugeType */ export declare enum LinearGaugeType { Bullet = 0, Linear = 1 } /** * @whatItDoes * LinearGauge component * This component is used to represent a linear gauge or a bullet gauge * * @howToUse * This component is used with the inputs and outputs mentioned below. * * ### Inputs * `LinearGaugeType` : **visualType** - If gauge is a Linear Gauge or a Bullet Gauge * `number` : **value** - The value * `number` : **delta** - The delta value * `number` : **target** - The target value * `string` : **units** - The value units * `number` : **min** - The min value * `number` : **max** - The max value * `VisualDataValue[]` : **ranges** - The value ranges * `boolean` : **showPrimaryLabel** - If primary label is visible * `boolean` : **showSecondaryLabel** - If secondary label is visible * `boolean` : **useSecondaryLabelAsName** - If secondary label will show the mainTitle instead * `boolean` : **showUnits** - If units are visible * `boolean` : **isExclusiveRanges** - If range intervals are exclusive * `boolean` : **isAnimated** - If gauge transitions are animated * `boolean` : **isReversedDeltaPercentage** - If calculation of delta percentage is reversed * `number` : **valuesDecimalPlacesCount** - Value max decimal places * `number` : **percentagesDecimalPlacesCount** - Percentages max decimal places * `boolean` : **blurOnResize** - If chart is blurred when being resized * * ### Outputs * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * * ``` * */ export declare class LinearGauge extends CoreComponent implements ng.OnChanges, ng.OnInit, ng.OnDestroy { private zone; /** * Canvas element */ private _canvas; /** * Stores the element query */ private _elementQuery; private _currentWidth; private _currentHeight; _sizeClass: ElementQuerySize; /** * Value and Units container */ private _valueAndUnits; /** * Delta and percentage container */ private _deltaAndPercentage; visualType: LinearGaugeType; value: number; target: number; min: number; max: number; ranges: Array; isExclusiveRanges: boolean; isReversedDeltaPercentage: boolean; percentagesDecimalPlacesCount: number; valuesDecimalPlacesCount: number; mainTitle: string; units: string; showUnits: boolean; isAnimated: boolean; showPrimaryLabel: boolean; showSecondaryLabel: boolean; useSecondaryLabelAsName: boolean; blurOnResize: boolean; _blurred: boolean; _valueDisplayed: string; _pointerPercentage: number; _pointerValue: number; _value: number; _delta: number; _deltaPercentage: number; _rangeIntervals: VisualDataRangeInterval[]; _primaryFontSize: string; _secondaryFontSize: string; _currentColor: string; _mainTextColor: string; private _valueTransitionAnimator; private _onChangesDebounced; /** * Constructor */ constructor(zone: ng.NgZone); /** * On destroy */ ngOnDestroy(): void; /** * Draw division line */ private drawDivisionLine; /** * Update canvas */ private updateCanvas; /** * Update font sizes */ private updateFontSizes; /** * On init */ ngOnInit(): void; /** * On Changes */ ngOnChanges(changes: ng.SimpleChanges): void; /** * On changes to debounce */ private onChanges; } export declare class LinearGaugeModule { }