@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
28 lines (27 loc) • 1.89 kB
TypeScript
/// <reference types="react" />
import { BodyContainerProvider } from '@docsvision/webclient/Helpers/BodyContainerProvider';
export declare type MessageBoxButton<T> = {
name?: React.ReactNode;
value?: T;
id?: string;
isCancel?: boolean;
};
/** Сервис для доступа к системным функция setTimeout и setInterval. */
export interface IMessageBoxService {
/** Показывает модальное окно с сообщением об ошибке. */
showError(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<void>;
/** Показывает модальное окно с информационным сообщением. */
showInfo(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<void>;
/** Показывает модальное окно с предупреждением. */
showWarning(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<void>;
/** Показывает модальное окно с запросом подтвердить какое-либо действие. */
showConfirmation(content: React.ReactNode, customCaptionText?: React.ReactNode, customButtonOkText?: React.ReactNode, customButtonCancelText?: React.ReactNode): Promise<void>;
/** Показывает окно с набором кнопок. */
showCustom<T>(content: React.ReactNode, customCaptionText: React.ReactNode, buttons: MessageBoxButton<T>[]): Promise<T>;
/** Вовращает DOM-контейнер для показа специфичных информационных модальных окон. */
getMessageBoxContainer(): BodyContainerProvider;
}
export declare type $MessageBox = {
messageBox: IMessageBoxService;
};
export declare const $MessageBox: string | ((model?: $MessageBox) => IMessageBoxService);