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.

37 lines (36 loc) 1.64 kB
import { ReactElement } from 'react'; import { CellEditorCommon } from '../GridCell'; import { GridBaseRow } from '../types'; export interface MultiSelectOption { value: any; label?: string; subComponent?: (props: any) => ReactElement; subValue?: any; filter?: string; checked?: boolean; warning?: string | undefined; } export interface GridFormMultiSelectGroup { header: string; filter?: string; } export interface GridFormMultiSelectSaveProps<TData extends GridBaseRow> { selectedRows: TData[]; selectedOptions: MultiSelectOption[]; } export interface GridFormMultiSelectProps<TData extends GridBaseRow> extends CellEditorCommon { className?: 'GridMultiSelect-containerSmall' | 'GridMultiSelect-containerMedium' | 'GridMultiSelect-containerLarge' | 'GridMultiSelect-containerUnlimited' | string | undefined; filtered?: boolean; filterPlaceholder?: string; filterHelpText?: string | ((filter: string, options: MultiSelectOption[]) => string | undefined); noOptionsMessage?: string; onSelectFilter?: (props: { filter: string; options: MultiSelectOption[]; }) => void; onSave?: (props: GridFormMultiSelectSaveProps<TData>) => Promise<boolean>; headers?: GridFormMultiSelectGroup[]; options: MultiSelectOption[] | ((selectedRows: TData[]) => Promise<MultiSelectOption[]> | MultiSelectOption[]); invalid?: (selectedRows: TData[], selectedOptions: MultiSelectOption[]) => boolean; } export declare const GridFormMultiSelect: <TData extends GridBaseRow>(props: GridFormMultiSelectProps<TData>) => import("react/jsx-runtime").JSX.Element;