1 |
|
2 |
|
3 |
|
4 | import { Column } from "../entities/column";
|
5 | import { GridCell } from "../entities/gridCell";
|
6 | import { GridPanel } from "../gridPanel/gridPanel";
|
7 | export interface IRangeController {
|
8 | clearSelection(): void;
|
9 | getCellRangeCount(cell: GridCell): number;
|
10 | isCellInAnyRange(cell: GridCell): boolean;
|
11 | onDragStart(mouseEvent: MouseEvent): void;
|
12 | onDragStop(): void;
|
13 | onDragging(mouseEvent: MouseEvent): void;
|
14 | getCellRanges(): RangeSelection[];
|
15 | setRangeToCell(cell: GridCell, appendRange?: boolean): void;
|
16 | setRange(rangeSelection: AddRangeSelectionParams): void;
|
17 | addRange(rangeSelection: AddRangeSelectionParams): void;
|
18 | extendRangeInDirection(cell: GridCell, key: number): boolean;
|
19 | extendRangeToCell(cell: GridCell): void;
|
20 | registerGridComp(gridPanel: GridPanel): void;
|
21 | }
|
22 | export interface RangeSelection {
|
23 | start: GridCell;
|
24 | end: GridCell;
|
25 | columns: Column[];
|
26 | }
|
27 | export interface AddRangeSelectionParams {
|
28 | rowStart: number;
|
29 | floatingStart: string;
|
30 | rowEnd: number;
|
31 | floatingEnd: string;
|
32 | columnStart: string | Column;
|
33 | columnEnd: string | Column;
|
34 | }
|