@antv/s2
Version:
effective spreadsheet render core lib
61 lines (60 loc) • 1.98 kB
TypeScript
import { Canvas, type FederatedPointerEvent as CanvasEvent, type PointLike } from '@antv/g';
import type { EmitterType } from '../common/interface';
import type { SpreadSheet } from '../sheet-type';
interface EventListener {
target: EventTarget;
type: string;
handler: EventListenerOrEventListenerObject;
options?: AddEventListenerOptions | boolean;
}
interface S2EventHandler {
type: `${keyof EmitterType}`;
handler: EmitterType[keyof EmitterType];
}
interface EventHandler {
type: string;
handler: (event: CanvasEvent) => void;
}
export declare class EventController {
spreadsheet: SpreadSheet;
private target;
canvasEventHandlers: EventHandler[];
s2EventHandlers: S2EventHandler[];
domEventListeners: EventListener[];
isCanvasEffect: boolean;
canvasMousemoveEvent: CanvasEvent;
constructor(spreadsheet: SpreadSheet);
get canvasContainer(): Canvas;
isAutoResetSheetStyle(event: Event | CanvasEvent): boolean | undefined;
bindEvents(): void;
private isGuiIconShape;
private isConditionIconShape;
private onKeyboardCopy;
private onKeyboardEsc;
private resetSheetStyle;
private isMouseEvent;
isMatchElement(event: MouseEvent): boolean;
isMatchPoint(event: MouseEvent): boolean;
private isMouseOnTheCanvasContainer;
private getContainerRect;
private isMouseOnTheTooltip;
private isResizeArea;
private activeResizeArea;
private resetResizeArea;
private onCanvasMousedown;
private onCanvasMousemove;
private hasBrushSelectionIntercepts;
private onCanvasMouseup;
private onCanvasSingleClick;
private onCanvasClick;
private onCanvasMouseout;
private onCanvasContextMenu;
clear(): void;
private unbindEvents;
private addCanvasEvent;
private addS2Event;
private addDomEventListener;
clearAllEvents(): void;
getViewportPoint(event: MouseEvent | PointerEvent | CanvasEvent): PointLike;
}
export {};