@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.
39 lines (38 loc) • 2.53 kB
TypeScript
import { ColDef, EditableCallback, ICellEditorParams, ICellRendererParams } from 'ag-grid-community';
import { SuppressKeyboardEventParams, ValueFormatterFunc, ValueGetterFunc } from 'ag-grid-community';
import { ReactElement } from 'react';
import { GridBaseRow } from './Grid';
import { GenericCellColDef } from './gridRender';
export interface GenericCellEditorProps<E> {
multiEdit?: boolean;
editor?: (editorProps: E) => ReactElement;
editorParams?: E;
}
export declare const GridCellRenderer: (props: ICellRendererParams) => import("react/jsx-runtime").JSX.Element;
export interface ColDefT<TData extends GridBaseRow, ValueType = any> extends ColDef<TData, ValueType> {
editable?: boolean | EditableCallback<TData, ValueType>;
valueGetter?: string | ValueGetterFunc<TData, ValueType>;
valueFormatter?: string | ValueFormatterFunc<TData, ValueType>;
cellRenderer?: ((props: ICellRendererParams<TData, ValueType>) => ReactElement | string | false | null | undefined) | string;
cellRendererParams?: {
rightHoverElement?: ReactElement;
originalCellRenderer?: any;
editAction?: (selectedRows: TData[]) => void;
shortcutKeys?: Record<string, () => void>;
warning?: (props: ICellRendererParams<TData, ValueType>) => ReactElement | string | false | null | undefined;
info?: (props: ICellRendererParams<TData, ValueType>) => ReactElement | string | false | null | undefined;
};
editor?: (editorProps: any) => ReactElement;
}
export declare const suppressCellKeyboardEvents: (e: SuppressKeyboardEventParams) => any;
export declare const generateFilterGetter: <TData extends GridBaseRow, ValueType>(field: string | undefined, filterValueGetter: string | ValueGetterFunc<TData, ValueType> | undefined, valueFormatter: string | ValueFormatterFunc<TData, ValueType> | undefined) => string | ValueGetterFunc<TData, ValueType> | undefined;
export declare const GridCell: <TData extends GridBaseRow, TValue = any, Props extends CellEditorCommon = any>(props: GenericCellColDef<TData, TValue>, custom?: {
multiEdit?: boolean;
preventAutoEdit?: boolean;
editor?: (editorProps: Props) => ReactElement;
editorParams?: Props;
}) => ColDefT<TData, TValue>;
export interface CellEditorCommon {
className?: string | undefined;
}
export declare const GenericCellEditorComponentWrapper: (editor?: (props: any) => ReactElement) => import("react").ForwardRefExoticComponent<ICellEditorParams<any, any, any> & import("react").RefAttributes<unknown>>;