Библиотека Noty предоставляет гибкую систему уведомлений для веб-приложений, позволяя быстро создавать всплывающие сообщения с настраиваемым поведением. Одним из ключевых инструментов управления уведомлениями является объект defaults, который позволяет задавать глобальные параметры для всех создаваемых уведомлений.
Объект Noty.defaults содержит набор свойств, влияющих на внешний вид, поведение и позиционирование уведомлений. Использование defaults удобно, когда необходимо стандартизировать стиль уведомлений по всему приложению, не повторяя одни и те же настройки при каждом вызове.
Ключевые свойства:
theme – тема уведомления. Возможные значения:
"mint", "relax", "metroui",
"sunset", "nest". Эта настройка определяет
внешний вид уведомлений и их анимации.
layout – расположение уведомления на экране.
Стандартные варианты: "top", "topLeft",
"topRight", "bottom",
"bottomLeft", "bottomRight",
"center".
timeout – время в миллисекундах, через которое
уведомление автоматически закроется. Значение false
отключает авто-закрытие.
progressBar – отображение полосы прогресса
авто-закрытия (true/false).
closeWith – массив событий, с помощью которых
можно закрыть уведомление. Возможные значения: "click",
"button", "hover".
animation – объект с параметрами анимации появления и скрытия:
animation: {
open: 'animated bounceInRight',
close: 'animated bounceOutRight'
}force – принудительное отображение уведомления
поверх других элементов (true/false).
modal – делает уведомление модальным
(true/false), блокируя взаимодействие с
остальными элементами страницы.
id – уникальный идентификатор уведомления, полезный для управления конкретными уведомлениями.
maxVisible – максимальное количество одновременно видимых уведомлений.
killer – если значение true, новые
уведомления удаляют все текущие уведомления на экране.
Чтобы задать глобальные параметры для всех уведомлений в приложении:
Noty.overrideDefaults({
theme: 'sunset',
layout: 'topRight',
timeout: 5000,
progressBar: true,
closeWith: ['click', 'button'],
animation: {
open: 'animated fadeInDown',
close: 'animated fadeOutUp'
},
killer: false
});
После вызова Noty.overrideDefaults() все новые
уведомления будут использовать указанные параметры, если явно не
переопределить их при создании конкретного уведомления.
Даже при глобальной настройке defaults, параметры можно изменять на уровне отдельного уведомления:
new Noty({
text: 'Сообщение с индивидуальными настройками',
timeout: 10000, // переопределяет глобальные 5000
layout: 'bottomLeft' // изменяет расположение
}).show();
Noty.overrideDefaults(), что позволяет адаптировать
уведомления к разным разделам или темам интерфейса.Noty.overrideDefaults({
modal: true,
closeWith: ['button'],
theme: 'mint'
});
Noty.overrideDefaults({
timeout: false,
layout: 'top',
progressBar: false
});
Noty.overrideDefaults({
maxVisible: 3,
killer: true
});
Эта комбинация удобна для предотвращения перегрузки интерфейса большим количеством сообщений.
Настройка defaults — это мощный инструмент для централизованного управления уведомлениями в Noty. Она позволяет стандартизировать стиль, поведение и анимацию сообщений, упрощает поддержку кода и обеспечивает согласованность пользовательского интерфейса.