Документация для разработчиков
Темная тема

Класс MessageBox

Описание и опции

Класс для создания стандартных информационных диалогов (alert и confirm).

new BX.UI.Dialogs.MessageBox(
{
	options;
}
);

Опции объекта класса

options {object} — коллекция опций диалога. Список опций диалога в таблице:

Опция диалогаТипОписание
messagestring|Element|NodeСообщение диалога. Строка HTML или DOM-элемент.
titlestringЗаголовок диалога.
modalbooleanЕсли задано значение true, диалог откроется с оверлеем.
cacheablebooleanПо умолчанию после закрытия диалог уничтожается из DOM. Это можно отменить, если задать cacheable: false.
minWidthnumberМинимальная ширина окна.
minHeightnumberМинимальная высота окна.
maxWidthnumberМаксимальная ширина окна.
onOkFunctionФункция-обработчик кнопки OK.
onCancelFunctionФункция-обработчик кнопки Отмена.
onYesFunctionФункция-обработчик кнопки Да.
onNoFunctionФункция-обработчик кнопки Нет.
okCaptionstringНадпись кнопки OK.
cancelCaptionstringНадпись кнопки Отмена.
yesCaptionstringНадпись кнопки Да.
noCaptionstringНадпись кнопки Нет.
mediumButtonSizebooleanПо умолчанию кнопки диалога имеют маленький размер. Если параметр mediumButtonSize задан в true, размер кнопок станет стандартным (medium). Если задан параметр title, свойство mediumButtonSize автоматически устанавливается в true (отменить это поведение можно через mediumButtonSize: false).
buttonsMessageBoxButtons | ArrayЗадает набор кнопок диалога. Структура MessageBoxButtons определяет следующие стандартные наборы:
  • MessageBoxButtons.OK — кнопка ОК.
  • MessageBoxButtons.CANCEL — кнопка Отмена.
  • MessageBoxButtons.YES — кнопка Да.
  • MessageBoxButtons.NO — кнопка Нет.
  • MessageBoxButtons.OK_CANCEL — кнопки ОК и Отмена.
  • MessageBoxButtons.YES_NO — кнопки Да и Нет.
  • MessageBoxButtons.YES_CANCEL — кнопки Да и Отмена.
  • MessageBoxButtons.YES_NO_CANCEL — кнопки Да, Нет и Отмена.
Для задания своего набора необходимо указать массив кнопок BX.UI.Button.
popupOptionsobjectНабор опций для BX.PopupWindow.

Пример

Методы

МетодОписание
messageBox.showПоказывает диалог на странице.
messageBox.closeЗакрывает диалог на странице.
messageBox.getPopupWindowВозвращает объект BX.PopupWindow.
messageBox.setMessageУстанавливает контент диалога. Строка HTML или DOM-элемент.
messageBox.getMessageВозвращает контент диалога.
messageBox.setTitleУстанавливает заголовок диалога.
messageBox.getTitleВозвращает заголовок диалога.
messageBox.getOkButtonВозвращает кнопку ОК (объект класса BX.UI.Button).
messageBox.getCancelButtonВозвращает кнопку Отмена (объект класса BX.UI.Button).
messageBox.getYesButtonВозвращает кнопку Да (объект класса BX.UI.Button).
messageBox.getNoButtonВозвращает кнопку Нет (объект класса BX.UI.Button).
messageBox.setButtonsУстанавливает набор кнопок диалога. Набор задается структурой MessageBoxButtons или массивом объектов BX.UI.Button.
  • MessageBoxButtons.OK — кнопка ОК.
  • MessageBoxButtons.CANCEL — кнопка Отмена.
  • MessageBoxButtons.YES — кнопка Да.
  • MessageBoxButtons.NO — кнопка Нет.
  • MessageBoxButtons.OK_CANCEL — кнопки ОК и Отмена.
  • MessageBoxButtons.YES_NO — кнопки Да и Нет.
  • MessageBoxButtons.YES_CANCEL — кнопки Да и Отмена.
  • MessageBoxButtons.YES_NO_CANCEL — кнопки Да, Нет и Отмена.
messageBox.getButtonsВозвращает массив кнопок диалога.
messageBox.setOkCaptionУстанавливает надпись кнопки ОК.
messageBox.setCancelCaptionУстанавливает надпись кнопки Отмена.
messageBox.setYesCaptionУстанавливает надпись кнопки Да.
messageBox.setNoCaptionУстанавливает надпись кнопки Нет.
messageBox.setOkCallbackУстанавливает обработчик кнопки ОК.
messageBox.setCancelCallbackУстанавливает обработчик кнопки Отмена.
messageBox.setYesCallbackУстанавливает обработчик кнопки Да.
messageBox.setNoCallbackУстанавливает обработчик кнопки Нет.
MessageBox.createСтатический метод создания диалога.

options {object} — набор опций диалога (описание опций см. в new MessageBox).

MessageBox.showСоздает и показывает диалог на странице.

options {object} — набор опций диалога (описание опций см. в new MessageBox).

MessageBox.alertСтатический метод для создания информационных диалогов (alert).
alert(message: string | Element | Node, okCallback?: Function, okCaption?: string);
alert(message: string | Element | Node, title?: string, okCallback?: Function, okCaption?: string);
MessageBox.confirmСтатический метод для создания диалогов подтверждений (confirm).
confirm(message: string | Element | Node, okCallback?: Function, okCaption?: string, cancelCallback?: Function);
confirm(message: string | Element | Node, title: string, okCallback?: Function, okCaption?: string, cancelCallback?: Function);

Примеры

Создание объекта класса

const messageBox = new BX.UI.Dialogs.MessageBox(
{
	message: "Вы действительно хотите удалить файл?",
	title: "Подтверждение удаления",
	buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
	okCaption: "Да",
	onOk: function() 
	{
		console.log("onOk");
	},
}
);


messageBox.show();

Произвольные названия и callback'и кнопок

const messageBox = new BX.UI.Dialogs.MessageBox(
{
	message: "Разные названия кнопкам",
	title: "Подтверждение удаления",
	buttons: BX.UI.Dialogs.MessageBoxButtons.YES_NO_CANCEL,
	yesCaption: "Мое название Да",
	noCaption: "Мое название Нет",
	cancelCaption: "Моя Отмена",
	maxWidth: 600,
	onYes: function() 
	{
		console.log("onYes");
		messageBox.close();
	},
	onNo: function() 
	{
		console.log("onNo");
		messageBox.close();
	},
	onCancel: function(messageBox) 
	{
		console.log("onCancel");
		messageBox.close();
	},
}
);

messageBox.show();

Опции для BX.PopupWindow

BX.UI.Dialogs.MessageBox.show({
	message: "Текст, поясняющий назначение данного попапа, находится здесь.",
	buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
	popupOptions: {
		bindElement: BX("yesnocancel"),
		offsetLeft: 20,
		closeIcon: true,
		events: {
			onPopupClose: function() {
				BX.UI.Dialogs.MessageBox.alert("Попап закрыт.");
			}
		}
	}
});


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх