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.

38 lines (37 loc) 1.49 kB
import { ReactElement } from 'react'; import { MaybePromise } from '../../utils/util'; import { CellEditorCommon } from '../GridCell'; import { GridBaseRow } from '../types'; export interface GridFormPopoverMenuProps<TData extends GridBaseRow> extends CellEditorCommon { options: (selectedRows: TData[]) => Promise<MenuOption<TData>[]> | MenuOption<TData>[]; defaultAction?: (props: { selectedRows: TData[]; menuOption: SelectedMenuOptionResult<TData>; }) => Promise<void> | void; } export declare const PopoutMenuSeparator: Readonly<{ label: "__isMenuSeparator__"; }>; interface MenuSeparatorType { __isMenuSeparator__: boolean; } export interface SelectedMenuOptionResult<TData extends GridBaseRow> extends MenuOption<TData> { subValue: any; } export interface MenuOption<TData extends GridBaseRow> { label: ReactElement | string | MenuSeparatorType; subMenu?: () => ReactElement; action?: (props: { selectedRows: TData[]; menuOption: SelectedMenuOptionResult<TData>; }) => MaybePromise<void>; disabled?: string | boolean; hidden?: boolean; subComponent?: (props: any) => ReactElement; } /** * NOTE: If the popout menu doesn't appear on single click when also selecting row it's because * you need a useMemo around your columnDefs */ export declare const GridFormPopoverMenu: <TData extends GridBaseRow>(props: GridFormPopoverMenuProps<TData>) => import("react/jsx-runtime").JSX.Element; export {};