UNPKG

fixed-react-data-grid-custom

Version:

Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like

53 lines (52 loc) 2.43 kB
/// <reference types="react" /> import { CellNavigationMode } from '../common/enums'; import { CalculatedColumn, Position, Range, Dimension, RowGetter } from '../common/types'; interface getSelectedDimensionsOpts<R> { selectedPosition: Position; columns: CalculatedColumn<R>[]; rowHeight: number; scrollLeft: number; } export declare function getSelectedDimensions<R>({ selectedPosition: { idx, rowIdx }, columns, rowHeight, scrollLeft }: getSelectedDimensionsOpts<R>): Dimension; interface getSelectedRangeDimensionsOpts<R> { selectedRange: Range; columns: CalculatedColumn<R>[]; rowHeight: number; } export declare function getSelectedRangeDimensions<R>({ selectedRange: { topLeft, bottomRight }, columns, rowHeight }: getSelectedRangeDimensionsOpts<R>): Dimension; interface getSelectedCellValueOpts<R> { selectedPosition: Position; columns: CalculatedColumn<R>[]; rowGetter: RowGetter<R>; } export declare function getSelectedCellValue<R>({ selectedPosition, columns, rowGetter }: getSelectedCellValueOpts<R>): R[keyof R] | null; interface isSelectedCellEditableOpts<R> { enableCellSelect: boolean; selectedPosition: Position; columns: CalculatedColumn<R>[]; rowGetter: RowGetter<R>; onCheckCellIsEditable?(arg: { row: R; column: CalculatedColumn<R>; } & Position): boolean; } export declare function isSelectedCellEditable<R>({ enableCellSelect, selectedPosition, columns, rowGetter, onCheckCellIsEditable }: isSelectedCellEditableOpts<R>): boolean; interface getNextSelectedCellPositionOpts<R> { cellNavigationMode: CellNavigationMode; columns: CalculatedColumn<R>[]; rowsCount: number; nextPosition: Position; } export interface NextSelectedCellPosition extends Position { changeRowOrColumn: boolean; } export declare function getNextSelectedCellPosition<R>({ cellNavigationMode, columns, rowsCount, nextPosition }: getNextSelectedCellPositionOpts<R>): NextSelectedCellPosition; interface canExitGridOpts<R> { cellNavigationMode: CellNavigationMode; columns: CalculatedColumn<R>[]; rowsCount: number; selectedPosition: Position; } export declare function canExitGrid<R>(event: React.KeyboardEvent, { cellNavigationMode, columns, rowsCount, selectedPosition: { rowIdx, idx } }: canExitGridOpts<R>): boolean; export declare function selectedRangeIsSingleCell({ topLeft, bottomRight }: Range): boolean; export {};