ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
141 lines (140 loc) • 4.48 kB
TypeScript
import { DropShadow } from "../../../scene/dropShadow";
import { PolarTooltipRendererParams, SeriesNodeDatum, HighlightStyle, SeriesTooltip } from "./../series";
import { Label } from "../../label";
import { LegendDatum } from "../../legend";
import { Caption } from "../../../caption";
import { Observable, TypedEvent } from "../../../util/observable";
import { PolarSeries } from "./polarSeries";
import { ChartAxisDirection } from "../../chartAxis";
import { TooltipRendererResult } from "../../chart";
export interface PieSeriesNodeClickEvent extends TypedEvent {
readonly type: 'nodeClick';
readonly event: MouseEvent;
readonly series: PieSeries;
readonly datum: any;
readonly angleKey: string;
readonly labelKey?: string;
readonly radiusKey?: string;
}
interface PieNodeDatum extends SeriesNodeDatum {
readonly index: number;
readonly radius: number;
readonly startAngle: number;
readonly endAngle: number;
readonly midAngle: number;
readonly midCos: number;
readonly midSin: number;
readonly label?: {
readonly text: string;
readonly textAlign: CanvasTextAlign;
readonly textBaseline: CanvasTextBaseline;
};
}
export interface PieTooltipRendererParams extends PolarTooltipRendererParams {
readonly labelKey?: string;
readonly labelName?: string;
}
declare class PieHighlightStyle extends HighlightStyle {
centerOffset?: number;
}
export interface PieSeriesFormatterParams {
readonly datum: any;
readonly fill?: string;
readonly stroke?: string;
readonly strokeWidth: number;
readonly highlighted: boolean;
readonly angleKey: string;
readonly radiusKey?: string;
}
export interface PieSeriesFormat {
fill?: string;
stroke?: string;
strokeWidth?: number;
}
declare class PieSeriesLabel extends Label {
offset: number;
minAngle: number;
formatter?: (params: {
value: any;
}) => string;
}
declare class PieSeriesCallout extends Observable {
colors: string[];
length: number;
strokeWidth: number;
}
export declare class PieSeriesTooltip extends SeriesTooltip {
renderer?: (params: PieTooltipRendererParams) => string | TooltipRendererResult;
}
export declare class PieTitle extends Caption {
showInLegend: boolean;
}
export declare class PieSeries extends PolarSeries {
static className: string;
static type: "pie";
private radiusScale;
private groupSelection;
/**
* The processed data that gets visualized.
*/
private groupSelectionData;
private angleScale;
seriesItemEnabled: boolean[];
private _title?;
set title(value: PieTitle | undefined);
get title(): PieTitle | undefined;
readonly label: PieSeriesLabel;
readonly callout: PieSeriesCallout;
tooltip: PieSeriesTooltip;
constructor();
/**
* The key of the numeric field to use to determine the angle (for example,
* a pie slice angle).
*/
angleKey: string;
angleName: string;
/**
* The key of the numeric field to use to determine the radii of pie slices.
* The largest value will correspond to the full radius and smaller values to
* proportionally smaller radii.
*/
radiusKey?: string;
radiusName?: string;
radiusMin?: number;
radiusMax?: number;
labelKey?: string;
labelName?: string;
private _fills;
set fills(values: string[]);
get fills(): string[];
private _strokes;
set strokes(values: string[]);
get strokes(): string[];
fillOpacity: number;
strokeOpacity: number;
lineDash?: number[];
lineDashOffset: number;
formatter?: (params: PieSeriesFormatterParams) => PieSeriesFormat;
/**
* The series rotation in degrees.
*/
rotation: number;
outerRadiusOffset: number;
innerRadiusOffset: number;
strokeWidth: number;
shadow?: DropShadow;
readonly highlightStyle: PieHighlightStyle;
onHighlightChange(): void;
setColors(fills: string[], strokes: string[]): void;
getDomain(direction: ChartAxisDirection): any[];
processData(): boolean;
update(): void;
private updateSelections;
private updateGroupSelection;
private updateNodes;
fireNodeClickEvent(event: MouseEvent, datum: PieNodeDatum): void;
getTooltipHtml(nodeDatum: PieNodeDatum): string;
listSeriesItems(legendData: LegendDatum[]): void;
toggleSeriesItem(itemId: number, enabled: boolean): void;
}
export {};