ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
176 lines (175 loc) • 7.3 kB
TypeScript
import { type ModuleInstance } from 'ag-charts-core';
import type { AgChartInstance, AgChartOptions } from 'ag-charts-types';
import type { LayoutContext } from '../module/baseModule';
import type { ModuleContext } from '../module/moduleContext';
import type { ChartOptions } from '../module/optionsModule';
import { BBox } from '../scene/bbox';
import { TranslatableGroup } from '../scene/group';
import type { Scene } from '../scene/scene';
import { Observable } from '../util/observable';
import { Padding } from '../util/padding';
import { BaseProperties } from '../util/properties';
import { Caption } from './caption';
import type { ChartAnimationPhase } from './chartAnimationPhase';
import type { ChartAxis } from './chartAxis';
import { ChartContext } from './chartContext';
import { ChartHighlight } from './chartHighlight';
import type { ChartMode } from './chartMode';
import { ChartUpdateType } from './chartUpdateType';
import type { ChartType } from './factory/chartTypes';
import { Keyboard } from './keyboard';
import { ModulesManager } from './modulesManager';
import { ChartOverlays } from './overlay/chartOverlays';
import { Series } from './series/series';
import { SeriesAreaManager } from './series/seriesAreaManager';
import { SeriesLayerManager } from './series/seriesLayerManager';
import type { ISeries } from './series/seriesTypes';
import { Tooltip, type TooltipContent } from './tooltip/tooltip';
import { Touch } from './touch';
import type { UpdateOpts } from './updateService';
export type TransferableResources = {
container?: HTMLElement;
styleContainer?: HTMLElement;
scene: Scene;
};
declare class SeriesArea extends BaseProperties {
clip?: boolean;
padding: Padding;
}
export declare abstract class Chart extends Observable implements ModuleInstance {
private static readonly chartsInstances;
static getInstance(element: HTMLElement): Chart | undefined;
readonly id: string;
className?: string;
readonly seriesRoot: TranslatableGroup;
readonly annotationRoot: TranslatableGroup;
private readonly titleGroup;
readonly tooltip: Tooltip;
readonly overlays: ChartOverlays;
readonly highlight: ChartHighlight;
private readonly debug;
private extraDebugStats;
container?: HTMLElement;
data: any;
width?: number;
height?: number;
minWidth?: number;
minHeight?: number;
overrideDevicePixelRatio?: number;
/** NOTE: This is exposed for use by Integrated charts only. */
get canvasElement(): HTMLCanvasElement;
private _lastAutoSize?;
private _firstAutoSize;
private readonly _autoSizeNotify;
download(fileName?: string, fileFormat?: string): void;
getCanvasDataURL(fileFormat?: string): string;
toSVG(): string | undefined;
readonly padding: Padding;
readonly seriesArea: SeriesArea;
readonly keyboard: Keyboard;
readonly touch: Touch;
mode: ChartMode;
private readonly chartCaptions;
readonly title: Caption;
readonly subtitle: Caption;
readonly footnote: Caption;
suppressFieldDotNotation: boolean;
destroyed: boolean;
private readonly _destroyFns;
protected skipSync: boolean;
chartAnimationPhase: ChartAnimationPhase;
readonly modulesManager: ModulesManager;
readonly ctx: ChartContext;
protected readonly seriesLayerManager: SeriesLayerManager;
protected readonly seriesAreaManager: SeriesAreaManager;
private readonly processors;
queuedUserOptions: AgChartOptions[];
queuedChartOptions: ChartOptions[];
chartOptions: ChartOptions;
private firstApply;
/**
* Public API for this Chart instance. NOTE: This is initialized after construction by the
* wrapping class that implements AgChartInstance.
*/
publicApi?: AgChartInstance;
getOptions(): import("ag-charts-types").AgCartesianChartOptions | import("ag-charts-types").AgPolarChartOptions | import("ag-charts-types").AgHierarchyChartOptions | import("ag-charts-types").AgTopologyChartOptions | import("ag-charts-types").AgFlowProportionChartOptions | import("ag-charts-types").AgStandaloneChartOptions;
getChartOptions(): ChartOptions<AgChartOptions>;
constructor(options: ChartOptions, resources?: TransferableResources);
overrideFocusVisible(visible: boolean | undefined): void;
private initSeriesAreaDependencies;
getModuleContext(): ModuleContext;
abstract getChartType(): ChartType;
getTooltipContent(series: ISeries<unknown, any, any>, datumIndex: unknown, removeMeDatum: unknown): TooltipContent[];
protected getCaptionText(): string;
protected getAriaLabel(): string;
resetAnimations(): void;
skipAnimations(): void;
detachAndClear(): void;
destroy(opts?: {
keepTransferableResources: boolean;
}): TransferableResources | undefined;
requestFactoryUpdate(cb: (chart: Chart) => Promise<void> | void): void;
private clearCallbackCache;
private _pendingFactoryUpdatesCount;
private _performUpdateSkipAnimations;
private readonly _performUpdateNotify;
private performUpdateType;
private runningUpdateType;
private updateShortcutCount;
private readonly seriesToUpdate;
private readonly updateMutex;
private updateRequestors;
private readonly performUpdateTrigger;
update(type?: ChartUpdateType, opts?: UpdateOpts): void;
private readonly _performUpdateSplits;
private performUpdate;
private updateThemeClassName;
private updateDOM;
private updateAriaLabels;
private checkUpdateShortcut;
private checkFirstAutoSize;
axes: ChartAxis[];
series: Series<unknown, any, any>[];
protected onAxisChange(newValue: ChartAxis[], oldValue?: ChartAxis[]): void;
protected onSeriesChange(newValue: Series<unknown, any, any>[], oldValue?: Series<unknown, any, any>[]): void;
protected destroySeries(allSeries: Series<unknown, any, any>[]): void;
private addSeriesListeners;
protected assignSeriesToAxes(): void;
protected assignAxesToSeries(): void;
private parentResize;
private resize;
updateData(): Promise<void>;
private _cachedData;
processData(): Promise<void>;
private updateLegends;
private setCategoryLegendData;
private setLegendData;
private processLayout;
protected abstract performLayout(ctx: LayoutContext): Promise<void> | void;
protected seriesRect?: BBox;
protected animationRect?: BBox;
private updateSeries;
private readonly onSeriesNodeClick;
private readonly onSeriesNodeDoubleClick;
private readonly onSeriesVisibilityChange;
private readonly seriesGroupingChanged;
waitForUpdate(timeoutMs?: number, failOnTimeout?: boolean): Promise<void>;
private filterMiniChartSeries;
applyOptions(newChartOptions: ChartOptions): void;
private applyInitialState;
private maybeResetAnimations;
private shouldForceNodeDataRefresh;
private shouldClearLegendData;
private applyMiniChartOptions;
private applyModules;
private initSeriesDeclarationOrder;
private applySeries;
private applyAxes;
private createSeries;
private applySeriesOptionModules;
private applySeriesValues;
private createAxis;
private applyAxisModules;
private registerListeners;
}
export {};