UNPKG

@ansible/ansible-ui-framework

Version:

A framework for building applications using PatternFly.

24 lines (23 loc) 1.25 kB
import { ReactNode } from 'react'; import { ErrorAdapter } from '../PageForm/typesErrorAdapter'; import { ITableColumn } from '../PageTable/PageTableColumn'; export type StatusWithMessageAndUrl = { message: string; url: string; }; export interface BulkActionDialogProps<T extends object> { title: string; description?: ReactNode | string; items: T[]; keyFn: (item: T) => string | number; actionColumns: ITableColumn<T>[]; actionFn: (item: T, signal: AbortSignal) => Promise<unknown>; onComplete?: (successfulItems: T[]) => void; onClose?: (status: 'success' | 'failures' | 'canceled', successfulItems: T[], failedItems: T[], canceledItems: T[]) => void; processingText?: string; isDanger?: boolean; errorAdapter?: ErrorAdapter; statusParser?: (response: unknown) => null | StatusWithMessageAndUrl; } export declare function BulkActionDialog<T extends object>(props: BulkActionDialogProps<T>): import("react/jsx-runtime").JSX.Element; export declare function useBulkActionDialog<T extends object>(defaultErrorAdapter?: ErrorAdapter, statusParser?: (response: unknown) => null | StatusWithMessageAndUrl): import("react").Dispatch<import("react").SetStateAction<BulkActionDialogProps<T> | undefined>>;