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.

25 lines (24 loc) 1.29 kB
import '../../styles/ContextMenu.scss'; import { ColDef } from 'ag-grid-community'; import { CellContextMenuEvent } from 'ag-grid-community'; import { ReactElement } from 'react'; import { GridBaseRow } from '../types'; export interface GridContextMenuComponentProps<TData extends GridBaseRow, Context extends object = object> { selectedRows: TData[]; clickedRow: TData; colDef: ColDef; close: () => void; event?: CellContextMenuEvent; context?: Context; } export type GridContextMenuComponent<TData extends GridBaseRow, Context extends object = object> = (props: GridContextMenuComponentProps<TData, Context>) => ReactElement | null; export interface useGridContextMenuProps<TData extends GridBaseRow, Context extends object = object> { contextMenuSelectRow?: boolean; contextMenu?: GridContextMenuComponent<TData, Context>; context?: Context; } export declare const useGridContextMenu: <TData extends GridBaseRow, Context extends object = object>({ contextMenuSelectRow, contextMenu: ContextMenu, context, }: useGridContextMenuProps<TData, Context>) => { openMenu: (e: PointerEvent | null | undefined) => void; cellContextMenu: (event: CellContextMenuEvent) => void; contextMenuComponent: import("react/jsx-runtime").JSX.Element | null; };