💬

Modal - Окно диалога

Блок, появляющийся в центре экрана, чтобы что-то важное сообщить или спросить о чём-то пользователя. Клик мимо либо запрещён и не обрабатывается, либо закрывает модалку.

new Modal(content)

Создаёт экземпляр модального диалога. Принимает фрагмент html-размети или DOM-элементы, так или иначе помещает это в модалку.

Методы экземпляров

.render()

Выполняет построение элементов модалки и её контентной области.

.prompt()

Показывает модалку и возвращает промис, в котором должно появиться значение после выполнения пользователем ожидаемого решающего действия. Клик мимо также решает промис и закрывает модалку.

.promptInsist()

То же, но клик мимо не обрабатывается.

.hide()

Удаляет модалку из документа.

.isHidden()

Возвращает true / false, если меню на скрыто / виду.

.setContent(html_or_elements)

Принимает фрагмент html-разметки или DOM-элементы и заменяет этим контент модалки.

.useClickOutHandler(fn)

Принимает и запоминает обработчик клика мимо модалки.

.setSubj(details)

Принимает и запоминает значение (простое или сложное), чтобы передавать его в обработчики пунктов меню. По замыслу там могут быть данные, относительно которых пункт меню должен быть выполнен.

.getSubj()

Возвращает значение, запомненное для передачи его в обработчики пунктов меню.

Дизайн

Само окно диалога должно появляться в центре экрана. Окружающее пространство должно немного затемняться с незначительным эффектом размывки.