UNPKG

@ansible/ansible-ui-framework

Version:

A framework for building applications using PatternFly.

34 lines (33 loc) 1.44 kB
import { ITableColumn } from '../PageTable/PageTableColumn'; import { ISelected } from '../PageTable/useTableItems'; import { IToolbarFilter } from '../PageToolbar/PageToolbarFilter'; import { IView } from '../useView'; interface ISelectDialogOptions<T extends object, TMultiple> { view: IView & ISelected<T> & { itemCount?: number; pageItems: T[] | undefined; }; tableColumns: ITableColumn<T>[]; toolbarFilters: IToolbarFilter[]; confirm: string; cancel: string; selected: string; isMultiple?: TMultiple extends true ? true : false; } export declare function useSelectDialog<T extends { id: number | string; name: string | undefined; }, TMultiple = false>(options: ISelectDialogOptions<T, TMultiple>): (onSelect?: TMultiple extends true ? (item: T[]) => void : (item: T) => void, title?: string) => void; export type SelectDialogProps<T extends object, TMultiple> = { title: string; open: boolean; isMultiple?: TMultiple extends true ? true : false; setOpen: (open: boolean) => void; onSelect: TMultiple extends true ? (item: T[]) => void : (item: T) => void; keyFn: (item: T) => string | number; } & ISelectDialogOptions<T, TMultiple>; export declare function SelectDialog<T extends { id: number | string; name: string | undefined; }, TMultiple = false>(props: SelectDialogProps<T, TMultiple>): import("react/jsx-runtime").JSX.Element; export {};