ag-charts-enterprise
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
159 lines (158 loc) • 6.5 kB
TypeScript
import { type RichFormatter, _ModuleSupport } from 'ag-charts-community';
import type { InternalAgGradientColor, NormalisedTextOrSegments, RequireOptional } from 'ag-charts-core';
import { BaseProperties, PropertiesArray } from 'ag-charts-core';
import type { AgChartLabelFormatterParams, AgGradientColorMode, AgLinearGaugeLabelPlacement, AgLinearGaugeMarkerShape, AgLinearGaugeOptions, AgLinearGaugeSeriesStyle, AgLinearGaugeTargetPlacement, AgLinearGaugeTooltipRendererParams, AgNumericValue, FontStyle, FontWeight, OverflowStrategy, TextWrap } from 'ag-charts-types';
import { GaugeSegmentationProperties } from '../gauge-util/segmentation';
import { AutoSizedLabel } from '../util/autoSizedLabel';
declare const SeriesProperties: typeof _ModuleSupport.SeriesProperties, Label: typeof _ModuleSupport.Label, SeriesLabelProperties: typeof _ModuleSupport.SeriesLabelProperties;
export declare enum NodeDataType {
Node = 0,
Target = 1
}
export interface LinearGaugeNodeDatum extends _ModuleSupport.SeriesNodeDatum {
type: NodeDataType.Node;
readonly itemId: 'value' | 'scale' | `value-${number}` | `scale-${number}`;
x0: number;
y0: number;
x1: number;
y1: number;
clipX0: number | undefined;
clipY0: number | undefined;
clipX1: number | undefined;
clipY1: number | undefined;
topLeftCornerRadius: number;
topRightCornerRadius: number;
bottomRightCornerRadius: number;
bottomLeftCornerRadius: number;
horizontalInset: number;
verticalInset: number;
style: AgLinearGaugeSeriesStyle;
}
export interface LinearGaugeTargetDatumLabel {
offsetX: number;
offsetY: number;
fill: string | undefined;
textAlign: CanvasTextAlign;
textBaseline: CanvasTextBaseline;
fontStyle: FontStyle | undefined;
fontWeight: FontWeight | undefined;
fontSize: number;
fontFamily: string;
lineHeight: number | undefined;
}
export interface LinearGaugeTargetDatum extends _ModuleSupport.SeriesNodeDatum {
type: NodeDataType.Target;
readonly itemId: `target-${number}`;
value: number;
text: string | undefined;
x: number;
y: number;
shape: AgLinearGaugeMarkerShape;
size: number;
rotation: number;
label: LinearGaugeTargetDatumLabel;
style: AgLinearGaugeSeriesStyle;
}
export interface LinearGaugeLabelDatum extends _ModuleSupport.SeriesNodeDatum {
placement: AgLinearGaugeLabelPlacement;
avoidCollisions: boolean;
spacing: number;
text: NormalisedTextOrSegments | undefined;
value: AgNumericValue;
fill: string | undefined;
fontStyle: FontStyle | undefined;
fontWeight: FontWeight | undefined;
fontSize: number;
minimumFontSize: number | undefined;
fontFamily: string;
lineHeight: number | undefined;
wrapping: TextWrap;
overflowStrategy: OverflowStrategy;
formatter: RichFormatter<AgChartLabelFormatterParams<any>> | undefined;
}
declare class LinearGaugeDefaultTargetLabelProperties extends Label<never> {
spacing: number | undefined;
}
export declare class LinearGaugeTargetProperties extends BaseProperties {
text: string | undefined;
value: number;
shape: AgLinearGaugeMarkerShape | undefined;
placement: AgLinearGaugeTargetPlacement | undefined;
spacing: number | undefined;
size: number | undefined;
rotation: number | undefined;
fill: string | undefined;
fillOpacity: number | undefined;
stroke: string | undefined;
strokeWidth: number | undefined;
strokeOpacity: number | undefined;
lineDash: number[] | undefined;
lineDashOffset: number | undefined;
readonly label: LinearGaugeDefaultTargetLabelProperties;
getStyle(defaultTarget: LinearGaugeTargetProperties): Required<AgLinearGaugeSeriesStyle>;
}
declare class LinearGaugeBarProperties extends BaseProperties {
enabled: boolean;
thickness: number | undefined;
thicknessRatio: number;
fills: PropertiesArray<_ModuleSupport.StopProperties>;
fillMode: AgGradientColorMode;
fill: string | undefined;
fillOpacity: number;
stroke: string;
strokeWidth: number;
strokeOpacity: number;
lineDash: number[];
lineDashOffset: number;
getStyle(defaultColorRange: string[], horizontal: boolean, scale: _ModuleSupport.LinearScale): RequireOptional<AgLinearGaugeSeriesStyle>;
}
declare class LinearGaugeScaleIntervalProperties extends BaseProperties {
values?: number[];
step?: number;
minSpacing: number;
maxSpacing: number;
}
declare class LinearGaugeScaleLabelProperties extends SeriesLabelProperties {
placement?: 'before' | 'after';
}
declare class LinearGaugeScaleProperties extends BaseProperties {
min: AgNumericValue;
max: AgNumericValue;
fills: PropertiesArray<_ModuleSupport.StopProperties>;
fillMode: AgGradientColorMode;
fill: _ModuleSupport.ShapeColor | undefined;
fillOpacity: number;
stroke: string;
strokeWidth: number;
strokeOpacity: number;
lineDash: number[];
lineDashOffset: number;
defaultFill: string;
readonly interval: LinearGaugeScaleIntervalProperties;
readonly label: LinearGaugeScaleLabelProperties;
getStyle(barEnabled: boolean, defaultColorRange: string[], horizontal: boolean, scale: _ModuleSupport.LinearScale): RequireOptional<AgLinearGaugeSeriesStyle>;
}
export declare class LinearGaugeLabelProperties extends AutoSizedLabel<unknown> {
text?: string;
placement: AgLinearGaugeLabelPlacement;
avoidCollisions: boolean;
}
export declare class LinearGaugeSeriesProperties extends SeriesProperties<AgLinearGaugeOptions> {
value: AgNumericValue;
readonly segmentation: GaugeSegmentationProperties;
defaultColorRange: string[];
targets: PropertiesArray<LinearGaugeTargetProperties>;
defaultTarget: LinearGaugeTargetProperties;
defaultScale: LinearGaugeScaleProperties;
direction: 'horizontal' | 'vertical';
thickness: number;
cornerRadius: number;
cornerMode: 'container' | 'item';
margin: number;
readonly scale: LinearGaugeScaleProperties;
readonly bar: LinearGaugeBarProperties;
readonly label: LinearGaugeLabelProperties;
readonly tooltip: _ModuleSupport.SeriesTooltip<Omit<AgLinearGaugeTooltipRendererParams, "context">>;
}
export declare function createLinearGradient(fills: _ModuleSupport.StopProperties[], fillMode: AgGradientColorMode, defaultColorRange: string[], scale: _ModuleSupport.LinearScale, horizontal: boolean): InternalAgGradientColor;
export {};