@linzjs/step-ag-grid
Version:
[](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
TypeScript
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;
};