@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
99 lines (98 loc) • 4.75 kB
TypeScript
import { BodyContainerProvider } from "@docsvision/webclient/Helpers/BodyContainerProvider";
import React from "react";
import { MessageBoxButton } from '@docsvision/webclient/System/$MessageBox';
/**
* Предоставляет статические методы для отображения простых модальных окон.
*/
export declare class MessageBox {
private static mMessageBoxContainerProvider;
static lastError?: HTMLElement;
static getMessageBoxContainer(): BodyContainerProvider;
/**
* Показывает модальное окно с сообщением об ошибке.
*
* @param content Текст сообщения обо ошибке
* @param customCaptionText Заголовок диалога
* @returns Promise объект, который перейдет в состояние "resolved" после закрытия диалога.
*
* Пример использования:
*
* MessageBox.ShowError("Неправильное имя файла!").then(() => {
* console.info("Диалог закрыт");
* });
*
*/
static ShowError(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<any>;
/**
* Показывает модальное окно с информационным сообщением.
*
* @param content Текст сообщения
* @param customCaptionText Заголовок диалога
* @returns Promise объект, который перейдет в состояние "resolved" после закрытия диалога.
*
* Пример использования:
*
* MessageBox.ShowInfo("Операция успешно выполнена!").then(() => {
* console.info("Диалог закрыт");
* });
*
*/
static ShowInfo(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<any>;
/**
* Показывает модальное окно с предупреждением.
*
* @param content Текст предупреждения
* @param customCaptionText Заголовок диалога
* @returns Promise объект, который перейдет в состояние "resolved" после закрытия диалога.
*
* Пример использования:
*
* MessageBox.ShowWarning("Не все файлы были загружены!").then(() => {
* console.info("Диалог закрыт");
* });
*
*/
static ShowWarning(content: React.ReactNode, customCaptionText?: React.ReactNode): Promise<any>;
/**
* Показывает модальное окно с запросом подтвердить какое-либо действие.
*
* @param content Текст запроса
* @param customCaptionText Заголовок диалога
* @returns Promise объект, который перейдет в состояние "resolved" при согласии, и "rejected" при отказе.
*
* Пример использования:
*
* MessageBox.ShowConfirmation("Вы действительно хотите удалить файл?").then(() => {
* this.removeFile();
* }).catch(() => {
* // Пользователь отменил удаление
* });
*
*/
static ShowConfirmation(content: React.ReactNode, customCaptionText?: React.ReactNode, customButtonOkText?: React.ReactNode, customButtonCancelText?: React.ReactNode, hideByBackdropClick?: boolean, msgType?: MessageBoxType): Promise<any>;
static ShowCustom<T>(content: React.ReactNode, customCaptionText: React.ReactNode, buttons: MessageBoxButton<T>[], hideByBackdropClick?: boolean): Promise<T>;
/**
* Показывает модальное окно с информацией об исключении
*
* @param exception Исключение
* @returns Promise объект, который перейдет в состояние "resolved" при согласии, и "rejected" при отказе.
*
* Пример использования:
*
* try {
* throw new Error("Произошла неизвестная ошибка");
* } catch (e) {
* MessageBox.ShowException(e).then(() => {
* console.info("Диалог закрыт");
* });
* }
* @internal
*/
private static Show;
private static renderModalHeader;
}
export declare enum MessageBoxType {
Error = 0,
Warning = 1,
Info = 2
}