@ansible/ansible-ui-framework
Version:
A framework for building applications using PatternFly.
24 lines (23 loc) • 1.25 kB
TypeScript
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>>;