slickgrid
Version:
A lightning fast JavaScript grid/spreadsheet
58 lines • 3.31 kB
TypeScript
import { SlickEvent as SlickEvent_, SlickEventData as SlickEventData_, SlickEventHandler as SlickEventHandler_, SlickRange as SlickRange_ } from '../slick.core.js';
import { SlickCellRangeSelector as SlickCellRangeSelector_ } from './slick.cellrangeselector.js';
import type { CustomDataView, HybridSelectionModelOption, OnActiveCellChangedEventArgs, SelectionModel } from '../models/index.js';
import type { SlickDataView } from '../slick.dataview.js';
import type { SlickCrossGridRowMoveManager as SlickCrossGridRowMoveManager_ } from './slick.crossgridrowmovemanager.js';
import type { SlickRowMoveManager as SlickRowMoveManager_ } from './slick.rowmovemanager.js';
import type { SlickGrid } from '../slick.grid.js';
export declare class SlickHybridSelectionModel implements SelectionModel {
pluginName: "HybridSelectionModel";
onSelectedRangesChanged: SlickEvent_<SlickRange_[]>;
protected _cachedPageRowCount: number;
protected _dataView?: CustomDataView | SlickDataView;
protected _eventHandler: SlickEventHandler_;
protected _grid: SlickGrid;
protected _prevSelectedRow?: number;
protected _prevKeyDown: string;
protected _ranges: SlickRange_[];
protected _selector: SlickCellRangeSelector_;
protected _isRowMoveManagerHandler: any;
protected _activeSelectionIsRow: boolean;
protected _options: HybridSelectionModelOption;
protected _defaults: HybridSelectionModelOption;
constructor(options?: HybridSelectionModelOption);
init(grid: SlickGrid): void;
destroy(): void;
getOptions(): HybridSelectionModelOption;
protected removeInvalidRanges(ranges: SlickRange_[]): SlickRange_[];
protected rangesAreEqual(range1: SlickRange_[], range2: SlickRange_[]): boolean;
protected rangesToRows(ranges: SlickRange_[]): number[];
protected rowsToRanges(rows: number[]): SlickRange_[];
protected getRowsRange(from: number, to: number): number[];
getCellRangeSelector(): SlickCellRangeSelector_ | undefined;
getSelectedRanges(): SlickRange_[];
getSelectedRows(): number[];
setSelectedRows(rows: number[]): void;
/** Provide a way to force a recalculation of page row count (for example on grid resize) */
resetPageRowCount(): void;
setSelectedRanges(ranges: SlickRange_[], caller?: string, selectionMode?: string): void;
currentSelectionModeIsRow(): boolean;
refreshSelections(): void;
getRowMoveManagerPlugin(): SlickRowMoveManager_ | SlickCrossGridRowMoveManager_ | undefined;
rowSelectionModelIsActive(data: OnActiveCellChangedEventArgs): boolean;
protected handleActiveCellChange(_e: SlickEventData_, args: OnActiveCellChangedEventArgs): void;
protected isKeyAllowed(key: string, isShiftKeyPressed?: boolean): boolean;
protected handleKeyDown(e: SlickEventData_): void;
protected handleClick(e: SlickEventData_): boolean | void;
protected handleBeforeCellRangeSelected(e: SlickEventData_, cell: {
row: number;
cell: number;
}): boolean | void;
protected handleCellRangeSelected(_e: SlickEventData_, args: {
range: SlickRange_;
selectionMode: string;
allowAutoEdit?: boolean;
caller: 'onCellRangeSelecting' | 'onCellRangeSelected';
}): boolean;
}
//# sourceMappingURL=slick.hybridselectionmodel.d.ts.map