UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

169 lines (168 loc) 6.02 kB
import { Scene } from "../scene/scene"; import { Series, SeriesNodeDatum } from "./series/series"; import { Padding } from "../util/padding"; import { Shape } from "../scene/shape/shape"; import { Node } from "../scene/node"; import { Rect } from "../scene/shape/rect"; import { Legend } from "./legend"; import { BBox } from "../scene/bbox"; import { Caption } from "../caption"; import { Observable, SourceEvent } from "../util/observable"; import { ChartAxis } from "./chartAxis"; import { PlacedLabel } from "../util/labelPlacement"; import { AgChartOptions } from "./agChartOptions"; export interface ChartClickEvent extends SourceEvent<Chart> { event: MouseEvent; } export interface TooltipMeta { pageX: number; pageY: number; } export interface TooltipRendererResult { content?: string; title?: string; color?: string; backgroundColor?: string; } export declare function toTooltipHtml(input: string | TooltipRendererResult, defaults?: TooltipRendererResult): string; export declare class ChartTooltip extends Observable { chart: Chart; element: HTMLDivElement; private observer?; enabled: boolean; class: string; delay: number; /** * If `true`, the tooltip will be shown for the marker closest to the mouse cursor. * Only has effect on series with markers. */ tracking: boolean; constructor(chart: Chart, document: Document); destroy(): void; isVisible(): boolean; updateClass(visible?: boolean, constrained?: boolean): void; private showTimeout; private constrained; /** * Shows tooltip at the given event's coordinates. * If the `html` parameter is missing, moves the existing tooltip to the new position. */ show(meta: TooltipMeta, html?: string, instantly?: boolean): void; toggle(visible?: boolean): void; } export declare abstract class Chart extends Observable { readonly id: string; options: AgChartOptions; readonly scene: Scene; readonly background: Rect; readonly legend: Legend; protected legendAutoPadding: Padding; protected captionAutoPadding: number; static readonly defaultTooltipClass = "ag-chart-tooltip"; private _container; set container(value: HTMLElement | undefined | null); get container(): HTMLElement | undefined | null; protected _data: any; set data(data: any); get data(): any; set width(value: number); get width(): number; set height(value: number); get height(): number; protected _autoSize: boolean; set autoSize(value: boolean); get autoSize(): boolean; readonly tooltip: ChartTooltip; download(fileName?: string): void; padding: Padding; title?: Caption; subtitle?: Caption; private static tooltipDocuments; protected constructor(document?: Document); destroy(): void; private onLegendPositionChange; private onCaptionChange; protected _element: HTMLElement; get element(): HTMLElement; abstract get seriesRoot(): Node; protected _axes: ChartAxis[]; set axes(values: ChartAxis[]); get axes(): ChartAxis[]; protected attachAxis(axis: ChartAxis): void; protected detachAxis(axis: ChartAxis): void; protected _series: Series[]; set series(values: Series[]); get series(): Series[]; protected scheduleLayout(): void; private scheduleData; addSeries(series: Series, before?: Series): boolean; protected initSeries(series: Series): void; protected freeSeries(series: Series): void; addSeriesAfter(series: Series, after?: Series): boolean; removeSeries(series: Series): boolean; removeAllSeries(): void; protected assignSeriesToAxes(): void; protected assignAxesToSeries(force?: boolean): void; private findMatchingAxis; protected _axesChanged: boolean; protected set axesChanged(value: boolean); protected get axesChanged(): boolean; protected _seriesChanged: boolean; protected set seriesChanged(value: boolean); protected get seriesChanged(): boolean; protected layoutCallbackId: number; set layoutPending(value: boolean); /** * Only `true` while we are waiting for the layout to start. * This will be `false` if the layout has already started and is ongoing. */ get layoutPending(): boolean; private readonly _performLayout; private dataCallbackId; set dataPending(value: boolean); get dataPending(): boolean; processData(): void; private nodeData; createNodeData(): void; placeLabels(): Map<Series, PlacedLabel[]>; private updateLegend; abstract performLayout(): void; private updateCallbackId; set updatePending(value: boolean); get updatePending(): boolean; update(): void; protected positionCaptions(): void; protected legendBBox: BBox; protected positionLegend(): void; private _onMouseDown; private _onMouseMove; private _onMouseUp; private _onMouseOut; private _onClick; protected setupDomListeners(chartElement: HTMLCanvasElement): void; protected cleanupDomListeners(chartElement: HTMLCanvasElement): void; protected seriesRect?: BBox; getSeriesRect(): Readonly<BBox | undefined>; private pickSeriesNode; lastPick?: { datum: SeriesNodeDatum; node?: Shape; event?: MouseEvent; }; private pickClosestSeriesNodeDatum; protected onMouseMove(event: MouseEvent): void; protected handleTooltip(event: MouseEvent): void; protected onMouseDown(event: MouseEvent): void; protected onMouseUp(event: MouseEvent): void; protected onMouseOut(event: MouseEvent): void; protected onClick(event: MouseEvent): void; private checkSeriesNodeClick; private onSeriesNodeClick; private checkLegendClick; private pointerInsideLegend; private handleLegendMouseMove; private onSeriesDatumPick; highlightedDatum?: SeriesNodeDatum; highlightDatum(datum: SeriesNodeDatum): void; dehighlightDatum(): void; }