UNPKG

@linzjs/step-ag-grid

Version:

[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) > Reusable [ag-grid](https://www.ag-grid.com/) component for LINZ / Toitū te whenua.

26 lines (25 loc) 1.13 kB
import { CellMouseDownEvent, CellMouseOverEvent, IRowNode } from 'ag-grid-community'; import { MutableRefObject, RefObject } from 'react'; import { GridBaseRow } from '../types'; export interface CellLocation { rowId: string; colId: string; timestamp: number; } export interface GridRanges<TData extends GridBaseRow> { selectedColIds: string[]; selectedNodes: IRowNode<TData>[]; } export declare const useGridRangeSelection: <TData extends GridBaseRow>({ enableRangeSelection, gridDivRef, rangeStartRef, rangeEndRef, hasSelectedMoreThanOneCellRef, rangeSortedNodesRef, }: { enableRangeSelection: boolean; gridDivRef: RefObject<HTMLDivElement>; rangeStartRef: MutableRefObject<CellLocation | null>; rangeEndRef: MutableRefObject<CellLocation | null>; hasSelectedMoreThanOneCellRef: MutableRefObject<boolean>; rangeSortedNodesRef: MutableRefObject<IRowNode<TData>[] | null>; }) => { clearRangeSelection: () => void; ranges: () => GridRanges<TData>; onCellMouseDown: (e: CellMouseDownEvent) => void; onCellMouseOver: (e: CellMouseOverEvent, mouseDown?: boolean) => void; };