UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

74 lines (73 loc) 3.85 kB
import { type FederatedPointerEvent as CanvasEvent, type DisplayObject, type PointLike } from '@antv/g'; import { S2Event, ScrollDirection } from '../../common/constant'; import { InteractionBrushSelectionStage } from '../../common/constant/interaction'; import type { BrushAutoScrollConfig, BrushPoint, BrushRange, CellSelectedDetail, OnUpdateCells, S2CellType, ViewMeta } from '../../common/interface'; import type { BBox } from '../../engine/interface'; import type { Node } from '../../facet/layout/node'; import type { BaseEventImplement } from '../base-event'; import { BaseEvent } from '../base-interaction'; export declare class BaseBrushSelection extends BaseEvent implements BaseEventImplement { displayedCells: S2CellType[]; prepareSelectMaskShape: DisplayObject; startBrushPoint: BrushPoint; endBrushPoint: BrushPoint; brushRangeCells: S2CellType[]; brushSelectionStage: InteractionBrushSelectionStage; brushSelectionMinimumMoveDistance: number; scrollAnimationComplete: boolean; mouseMoveDistanceFromCanvas: number; bindEvents(): void; protected getPrepareSelectMaskTheme(): import("../../common/interface").DeepRequired<import("../../common/interface").InteractionStateTheme>; protected initPrepareSelectMaskShape(): void; protected setBrushSelectionStage(stage: InteractionBrushSelectionStage): void; protected isPointInCanvas(point: PointLike): boolean; private setMoveDistanceFromCanvas; formatBrushPointForScroll: (delta: PointLike, isRowHeader?: boolean) => { x: { value: number; needScroll: boolean; }; y: { value: number; needScroll: boolean; }; }; private autoScrollIntervalId; rectanglesIntersect: (rect1: BBox, rect2: BBox) => boolean; protected autoScrollConfig: BrushAutoScrollConfig; validateYIndex: (yIndex: number) => number | null; validateXIndex: (xIndex: number) => number | null; adjustNextColIndexWithFrozen: (colIndex: number, dir: ScrollDirection) => number; adjustNextRowIndexWithFrozen: (rowIndex: number, dir: ScrollDirection) => number; getWillScrollRowIndexDiff: (dir: ScrollDirection) => number; getDefaultWillScrollToRowIndex: (dir: ScrollDirection) => number | null; protected getWillScrollToRowIndex: (dir: ScrollDirection) => number | null; private getNextScrollDelta; private onScrollAnimationComplete; private autoScroll; protected handleScroll: import("lodash").DebouncedFuncLeading<(x: number, y: number, isRowHeader?: any) => void>; protected clearAutoScroll: () => void; protected resetDrag(): void; isValidBrushSelection(): boolean; protected setDisplayedCells(): void; protected updatePrepareSelectMask(): void; hidePrepareSelectMaskShape(): void; protected resetScrollDelta(): void; protected getBrushPoint(event: CanvasEvent): BrushPoint; getBrushRange(): BrushRange; protected getBrushRangeCells(): S2CellType[]; protected onUpdateCells: OnUpdateCells; private showPrepareSelectedCells; protected mouseDown(event: CanvasEvent): void; protected addBrushIntercepts(): void; protected bindMouseUp(enableScroll?: boolean): void; protected renderPrepareSelected: (point: PointLike) => void; autoBrushScroll(point: PointLike, isRowHeader?: boolean): boolean; emitBrushSelectionEvent(event: S2Event, scrollBrushRangeCells: S2CellType[], detail: CellSelectedDetail): void; getVisibleBrushRangeCells(nodeId: string): S2CellType | undefined; protected isInBrushRange(node: ViewMeta | Node): boolean; protected bindMouseDown(): void; protected bindMouseMove(): void; protected updateSelectedCells(event: MouseEvent): void; protected getPrepareSelectMaskPosition(brushRange: BrushRange): PointLike; }