@eclipse-scout/chart
Version:
Eclipse Scout chart
61 lines • 2.85 kB
TypeScript
import { AbstractSvgChartRenderer, Chart } from '../index';
import { ChartValueGroup, ClickObject } from './Chart';
export declare class SalesfunnelChartRenderer extends AbstractSvgChartRenderer {
segmentSelectorForAnimation: string;
widthThresholdMedium: number;
widthThresholdSmall: number;
/**
* Constants for "normalized mode"
* Width of a bar is calculated by multiplying this value with the previous bar's width
*/
barDeltaPercentage: number;
/**
* Factor to be multiplied with the last bar's width. This will create a funnel effect, because
* the last bar is considerably smaller than the other bars.
*/
lastBarAdditionalPercentage: number;
/** Percentage of the total width the last bar always has (delta might get smaller due to this constraint). */
lastBarMinWidthPercentage: number;
paddingBetweenLabel: number;
dataAnalyzeResult: AnalyzedData;
barHeight: number;
barAreaWidth: number;
centerX: number;
animationTriggered: boolean;
constructor(chart: Chart);
protected _validate(): boolean;
protected _renderInternal(): void;
protected _renderBarsNormalized(chartValueGroups: ChartValueGroup[]): void;
protected _renderLabel(label: number, secondLabel: boolean, barIndexFromTop: number): void;
protected _renderWireLabels(label: string, $text: JQuery<SVGElement>, x1: number, y1: number): void;
protected _renderBarLabel(label: string, barIndexFromTop: number, barWidth: number): void;
protected _renderConversionRate(barIndexFromTop: number, startPointX: number, conversionRate: number): void;
protected _renderPolygon(renderPolyOptions: PolyOptions): JQuery<SVGElement>;
protected _calcPolygonPoints(expand: boolean, fxPos: number, xStart: number, yStart: number, width: number, widthBottom: number, height: number): string;
protected _renderBarsAccordingToValues(chartValueGroups: ChartValueGroup[]): void;
protected _renderLabelSeparatorLine(yCoord: number, labelLineWidth: number): void;
protected _calcConversionRate(valueBefore: number, value: number): number;
protected _analyzeData(valueGroups: ChartValueGroup[]): AnalyzedData;
protected _removeAnimated(afterRemoveFunc: (chartAnimationStopping?: boolean) => void): void;
protected _dynamicCssClass(cssClass: string): string;
protected _dynamicConversionRateWidth(): number;
}
export type AnalyzedData = {
labelCount: number;
maxValue: number;
maxLengthFirstValueRow: number;
maxLengthSecondValueRow: number;
};
export type PolyOptions = {
id?: string;
xStart: number;
yStart: number;
rect: boolean;
width: number;
widthBottom: number;
cssClass: string;
fill: string;
label: string;
clickObject: ClickObject;
};
//# sourceMappingURL=SalesfunnelChartRenderer.d.ts.map