@eclipse-scout/chart
Version:
Eclipse Scout chart
90 lines • 3.8 kB
TypeScript
import { EnumObject } from '@eclipse-scout/core';
import { AbstractSvgChartRenderer, Chart } from '../index';
export declare class SpeedoChartRenderer extends AbstractSvgChartRenderer {
segmentSelectorForAnimation: string;
r: number;
scaleWeight: number;
my: number;
parts: number;
numSegmentsPerPart: number;
segmentWidth: number;
widthOfSegmentWithGap: number;
animationTriggered: boolean;
$filledParts: JQuery<SVGElement>[];
$pointer: JQuery<SVGElement>;
constructor(chart: Chart);
static Position: {
readonly LEFT: "left";
readonly CENTER: "center";
readonly RIGHT: "right";
};
static NUM_PARTS_GREEN_CENTER: number;
static NUM_PARTS_GREEN_EDGE: number;
static ONE_THOUSAND: number;
static TEN_THOUSAND: number;
static ONE_MILLION: number;
static ARC_MIN: number;
static ARC_MAX: number;
static ARC_RANGE: number;
static SEGMENT_GAP: number;
protected _validate(): boolean;
protected _renderInternal(): void;
protected _getValuePercentage(value: number, minValue: number, maxValue: number): number;
protected _getSegmentToPointAt(valuePercentage: number, numTotalSegments: number): number;
protected _limitValue(value: number, maxValue: number): number;
/**
* Gets the percentage value in range [0,1] of the specified segment.
*/
protected _getPercentageValueOfSegment(segmentIndexInPart: number, part: number): number;
/**
* Renders the pointer line and registers animation to move the pointer and the corresponding filling of the segments
*/
protected _renderPointer(valuePercentage: number): void;
/**
* renders a single segment line.
*/
protected _renderSegment(from: number, to: number, colorClass: string): JQuery<SVGElement>;
protected _renderCirclePart(part: number): void;
protected _renderLegend(minValue: number, value: number, maxValue: number, groupName: string): void;
/**
* returns the part index for the specified valuePercentage. The valuePercentage must be in the range [0,1].
*/
protected _getPartForValue(valuePercentage: number): number;
/**
* Formats the speedo-values in a compact way:
* 0 - 999: as is
* 1 to 9'999: as is, with grouping separators
* 10 to 999 thousand: 123k
* >= 1 million: millions with max. two fraction digits -> 1.23M
*/
protected _formatValue(value: number): string;
/**
* Updates the pointer position to point to the specified valuePercentage in range [0,1].
*/
protected _updatePointer(valuePercentage: number): void;
/**
* Updates the filling of the 'filled' segments to be filled up to the specified valuePercentage in range [0,1].
*/
protected _updatePartsFill(valuePercentage: number): void;
/**
* Calculates the positions (from, to) of a single segment line.
* @param segmentIndexInPart the index of the segment line within the part.
* @param part the part index.
*/
protected _calcSegmentPos(segmentIndexInPart: number, part: number): {
from: number;
to: number;
};
protected _getColorForPart(part: number): string;
/**
* calculates the path-values to be used in the 'd' attribute of the path tag for a segment.
*/
protected _pathSegment(start: number, end: number): string;
/**
* calculates the path-values to be used in the 'd' attribute of the path tag for the pointer
*/
protected _pathPointer(valuePercentage: number): string;
protected _removeAnimated(afterRemoveFunc: (chartAnimationStopping?: boolean) => void): void;
}
export type GreenAreaPosition = EnumObject<typeof SpeedoChartRenderer.Position>;
//# sourceMappingURL=SpeedoChartRenderer.d.ts.map