@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.
42 lines (41 loc) • 2.2 kB
TypeScript
import { ReactElement } from 'react';
import { MaybePromise } from '../../utils/util';
import { CellEditorCommon } from '../GridCell';
import { GridBaseRow } from '../types';
export interface GridPopoutEditDropDownSelectedItem<TData extends GridBaseRow, TOption> {
selectedRows: TData[];
selectedRowIds: TData['id'][];
value: TOption;
subComponentValue?: any;
}
interface FinalSelectOption<TOptionValue> {
value: TOptionValue;
label?: ReactElement | string;
disabled?: boolean | string;
subComponent?: (props: any, ref: any) => any;
}
export declare const primitiveToSelectOption: <T>(value: T) => SelectOption<T>;
export declare const MenuSeparatorString = "_____MENU_SEPARATOR_____";
export declare const MenuSeparator: Readonly<{
value: "_____MENU_SEPARATOR_____";
}>;
export declare const MenuHeaderString = "_____MENU_HEADER_____";
export declare const MenuHeaderItem: (title: string) => {
label: string;
value: string;
};
export type SelectOption<TOptionValue = any> = FinalSelectOption<TOptionValue>;
export interface GridFormDropDownProps<TData extends GridBaseRow, TOptionValue> extends CellEditorCommon {
className?: 'GridPopoverEditDropDown-containerSmall' | 'GridPopoverEditDropDown-containerMedium' | 'GridPopoverEditDropDown-containerLarge' | 'GridPopoverEditDropDown-containerUnlimited' | 'GridPopoverEditDropDown-containerAutoWidth' | string | undefined;
filtered?: 'local' | 'reload';
filterDefaultValue?: string;
filterPlaceholder?: string;
filterHelpText?: string;
noOptionsMessage?: string;
onSelectedItem?: (props: GridPopoutEditDropDownSelectedItem<TData, TOptionValue>) => Promise<void> | void;
onSelectFilter?: (props: GridPopoutEditDropDownSelectedItem<TData, TOptionValue>) => Promise<void> | void;
options: FinalSelectOption<TOptionValue>[] | ((selectedRows: TData[], filter?: string) => MaybePromise<FinalSelectOption<TOptionValue>[] | undefined>) | undefined;
topComponent?: () => ReactElement;
}
export declare const GridFormDropDown: <TData extends GridBaseRow, TOptionValue>(props: GridFormDropDownProps<TData, TOptionValue>) => import("react/jsx-runtime").JSX.Element;
export {};