Библиотека Noty предоставляет мощный инструмент для отображения уведомлений в веб-приложениях. Помимо создания и отображения уведомлений, важным аспектом является возможность получения свойств уже созданного уведомления для динамической настройки поведения или анализа состояния.
Каждое уведомление создаётся через конструктор
new Noty(options), где options — это объект
конфигурации. После создания уведомления возвращается экземпляр класса
Noty, который содержит все свойства уведомления, включая
те, что были переданы при инициализации.
let notification = new Noty({
text: 'Успешная операция',
type: 'success',
layout: 'topRight',
timeout: 3000
});
Экземпляр notification позволяет получить доступ ко всем
ключевым свойствам, включая:
type – тип уведомления
(alert, success, error,
warning, info).text – текст, отображаемый в
уведомлении.layout – позиция уведомления на
странице.timeout – время автоматического
скрытия уведомления в миллисекундах.progressBar – состояние полосы
прогресса.modal – булевое значение,
определяющее, будет ли уведомление модальным.Все конфигурационные параметры, переданные при создании уведомления,
доступны через свойство options экземпляра:
console.log(notification.options.text); // "Успешная операция"
console.log(notification.options.type); // "success"
console.log(notification.options.layout); // "topRight"
console.log(notification.options.timeout); // 3000
Свойство options хранит полный набор параметров, что
позволяет динамически анализировать или модифицировать уведомление до
его отображения.
Кроме статических параметров, Noty предоставляет методы для получения текущего состояния уведомления:
isShown() – возвращает
true, если уведомление в данный момент отображается на
странице.isClosed() – возвращает
true, если уведомление уже закрыто.getText() – возвращает текущий текст
уведомления, включая возможные изменения после инициализации.getType() – возвращает текущий тип
уведомления.notification.show();
console.log(notification.isShown()); // true
console.log(notification.getText()); // "Успешная операция"
console.log(notification.getType()); // "success"
Для работы с DOM-элементами уведомления существуют методы:
barDom – корневой DOM элемент
уведомления.closeButton – элемент кнопки закрытия
(если включена опция closeWith: ['button']).document.body.appendChild(notification.barDom);
console.log(notification.barDom); // HTMLElement уведомления
Доступ к DOM позволяет применять дополнительные стили или слушать события напрямую на элементе уведомления.
Noty позволяет расширять уведомления собственными свойствами,
передаваемыми через options:
let notification = new Noty({
text: 'Новая задача',
type: 'info',
customData: { taskId: 42 }
});
console.log(notification.options.customData.taskId); // 42
Любые пользовательские данные сохраняются в объекте
options и доступны на протяжении всего жизненного цикла
уведомления.
options для получения исходных
конфигурационных данных.getText(), getType(),
isShown() позволяют отслеживать текущее состояние
уведомления после отображения.barDom и
дочерние элементы.options, чтобы избежать конфликта с внутренними параметрами
Noty.Эти подходы обеспечивают полный контроль над уведомлениями и позволяют интегрировать их в сложные интерфейсы с динамическим поведением.