ag-charts-enterprise
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
45 lines (44 loc) • 1.84 kB
TypeScript
import { _ModuleSupport } from 'ag-charts-community';
import { AbstractModuleInstance, type DynamicContext } from 'ag-charts-core';
/**
* The AxisDOMProxy module handles interactions with the axes. In most cases it does this via the dom events on proxy
* axis elements. However, in circumstances where the axes overlap the series area, such as when using the `crossAt`
* option, we disable pointer events so we do not block other interactions, such as highlight. So it also listen to
* events on the series area dom proxy and delegates them to the axes where appropriate. It does not handle any
* effects of these interactions, those are expected to be handled by other modules.
*/
export declare class AxisDOMProxy extends AbstractModuleInstance {
readonly ctx: DynamicContext<_ModuleSupport.ChartRegistry>;
private readonly enabled;
private readonly enableDoubleClick;
private readonly enableDragging;
private readonly enableScrolling;
private axes;
private readonly overlappingAxisIds;
private hoveredAxisId;
private draggingAxisId;
private seriesRect;
constructor(ctx: DynamicContext<_ModuleSupport.ChartRegistry>);
private teardown;
private onLayoutComplete;
private onUpdate;
private processAxisDiff;
private onSeriesAreaHover;
private onSeriesAreaClick;
private onSeriesAreaDoubleClick;
private onSeriesAreaDragStart;
private onSeriesAreaDragMove;
private onSeriesAreaDragEnd;
private pickAxisAtPoint;
private hasOverlappingAxes;
private getAxis;
private updateOverlappingAxisPointerEvents;
private cleanupAxisState;
private createAxisDOMProxy;
private diffAxisIds;
private isEnabled;
private isEnabledDoubleClick;
private isEnabledDragging;
private isEnabledScrolling;
private isBooleanMap;
}