sryd-charts-enterprise
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
73 lines (72 loc) • 3.47 kB
TypeScript
import { type AgPyramidSeriesStyle, _ModuleSupport } from 'ag-charts-community';
import { FunnelConnector } from '../funnel/funnelConnector';
import { PyramidProperties } from './pyramidProperties';
type PyramidNodeLabelDatum = Readonly<_ModuleSupport.Point> & {
readonly text: string;
readonly textAlign: CanvasTextAlign;
readonly textBaseline: CanvasTextBaseline;
readonly visible: boolean;
};
interface PyramidNodeDatum extends _ModuleSupport.DataModelSeriesNodeDatum, Readonly<_ModuleSupport.Point> {
readonly index: number;
readonly xValue: string;
readonly yValue: number;
readonly top: number;
readonly right: number;
readonly bottom: number;
readonly left: number;
readonly label: PyramidNodeLabelDatum | undefined;
}
interface PyramidNodeDataContext extends _ModuleSupport.DataModelSeriesNodeDataContext<PyramidNodeDatum, PyramidNodeLabelDatum> {
stageLabelData: PyramidNodeLabelDatum[] | undefined;
bounds: _ModuleSupport.BBox;
}
type ItemStyle = Pick<AgPyramidSeriesStyle, 'fill' | 'stroke'> & Required<Omit<AgPyramidSeriesStyle, 'fill' | 'stroke'>>;
export declare class PyramidSeries extends _ModuleSupport.DataModelSeries<PyramidNodeDatum, PyramidProperties, PyramidNodeLabelDatum, PyramidNodeDataContext> {
static readonly className = "PyramidSeries";
static readonly type: "pyramid";
properties: PyramidProperties;
private readonly itemGroup;
private readonly itemLabelGroup;
private readonly stageLabelGroup;
datumSelection: _ModuleSupport.Selection<FunnelConnector, PyramidNodeDatum>;
private labelSelection;
private stageLabelSelection;
private highlightDatumSelection;
contextNodeData?: PyramidNodeDataContext;
private readonly animationState;
constructor(moduleCtx: _ModuleSupport.ModuleContext);
addChartEventListeners(): void;
private nodeFactory;
getNodeData(): PyramidNodeDatum[] | undefined;
resetAnimation(phase: _ModuleSupport.ChartAnimationPhase): void;
processData(dataController: _ModuleSupport.DataController): Promise<void>;
createNodeData(): {
itemId: string;
nodeData: PyramidNodeDatum[];
labelData: PyramidNodeLabelDatum[];
stageLabelData: PyramidNodeLabelDatum[] | undefined;
bounds: _ModuleSupport.BBox;
} | undefined;
updateSelections(): void;
update({ seriesRect }: {
seriesRect?: _ModuleSupport.BBox;
}): void;
private updateDatumSelection;
private getItemBaseStyle;
protected getItemStyleOverrides(datumId: string, datum: any, datumIndex: number, format: ItemStyle, highlighted: boolean): Partial<ItemStyle>;
private updateDatumNodes;
private updateLabelSelection;
private updateStageLabelSelection;
private updateLabelNodes;
protected computeFocusBounds(opts: _ModuleSupport.PickFocusInputs): _ModuleSupport.BBox | _ModuleSupport.Path | undefined;
getTooltipContent(datumIndex: number): _ModuleSupport.TooltipContent | undefined;
getSeriesDomain(): any[];
getSeriesRange(_direction: _ModuleSupport.ChartAxisDirection, _visibleRange: [any, any]): [number, number];
pickNodeClosestDatum({ x, y }: _ModuleSupport.Point): _ModuleSupport.SeriesNodePickMatch | undefined;
private legendItemSymbol;
getLegendData(legendType: _ModuleSupport.ChartLegendType): _ModuleSupport.CategoryLegendDatum[];
protected animateReset(): void;
private animateEmptyUpdateReady;
}
export {};