You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.3 KiB
57 lines
1.3 KiB
import { Serie, Options } from '@chartwerk/core'; |
|
|
|
|
|
export enum Stat { |
|
CURRENT = 'current', |
|
MIN = 'min', |
|
MAX = 'max', |
|
TOTAL = 'total' |
|
} |
|
|
|
export type Stop = { |
|
color: string, |
|
value: number | null |
|
}; |
|
|
|
export type PointCoordinate = { |
|
x: number, y: number |
|
} |
|
|
|
export type ValueFormatter = (value?: number | null) => string; |
|
|
|
export type IconConfig = { |
|
src: string, |
|
position: IconPosition, |
|
size: number |
|
} |
|
export enum IconPosition { |
|
LEFT = 'left', |
|
MIDDLE = 'middle', |
|
RIGHT = 'right' |
|
} |
|
|
|
export type GaugeOptionsParams = { |
|
innerRadius: number; |
|
outerRadius: number; |
|
maxValue: number; |
|
minValue: number; |
|
stops: { color: string , value: number }[]; |
|
defaultColor: string; |
|
stat: Stat; |
|
valueFormatter: ValueFormatter; |
|
icons: IconConfig[]; |
|
valueFontSize: number; |
|
valueArcBackgroundColor: string; |
|
reversed: boolean; |
|
enableThresholdLabels: boolean; // render threshold values as a text under the gauge |
|
enableExtremumLabels: boolean; // render min/max values as a text above the gauge |
|
enableThresholdDrag: boolean; // drag threshold arcs to change stops values |
|
dragCallback: DragCallback; |
|
dragEndCallback: DragEndCallback; |
|
} |
|
|
|
export type GaugeData = Serie; |
|
export type GaugeConfig = Options & Partial<GaugeOptionsParams>; |
|
|
|
export type DragCallback = (event: any) => void; |
|
export type DragEndCallback = (event: any) => void;
|
|
|