Библиотека Noty для уведомлений в JavaScript использует ряд констант и перечислений, которые обеспечивают унифицированное управление поведением уведомлений. Правильное понимание этих констант позволяет тонко настраивать вид, расположение и логику уведомлений, избегая хаотичного использования строковых значений.
type)Noty поддерживает несколько встроенных типов уведомлений. Тип
уведомления задаётся через параметр type при создании
экземпляра:
new Noty({
type: 'alert',
text: 'Это уведомление типа alert'
}).show();
Доступные типы:
alert – стандартное информационное уведомление.success – сообщение об успешном завершении
операции.error – уведомление о критической ошибке.warning – предупреждение о потенциальной проблеме.info – информационное уведомление, нейтрального
характера.notification – универсальный тип, используется по
умолчанию.Эти типы можно считать внутренним перечислением, влияющим на визуальное оформление, и позволяют применять одинаковые стили во всей системе уведомлений.
layout)Параметр layout определяет место появления уведомления
на экране. Noty поддерживает множество предустановленных позиций:
new Noty({
layout: 'topRight',
text: 'Уведомление в правом верхнем углу'
}).show();
Список стандартных позиций:
top – верхняя центральная часть экрана.topLeft – верхний левый угол.topCenter – верхний центр.topRight – верхний правый угол.center – центр экрана.centerLeft – центр по вертикали, левый край.centerRight – центр по вертикали, правый край.bottom – нижняя центральная часть.bottomLeft – нижний левый угол.bottomCenter – нижний центр.bottomRight – нижний правый угол.Использование этих констант вместо ручного задания координат обеспечивает согласованность и совместимость с анимациями Noty.
animation)Анимации в Noty делятся на входящие
(open) и исходящие (close).
Конфигурация задаётся через объект animation:
new Noty({
animation: {
open: 'animated bounceInDown',
close: 'animated bounceOutUp'
},
text: 'Уведомление с анимацией'
}).show();
Рекомендованные значения:
open:
fadeIn – плавное появление.bounceIn – эффект подпрыгивания при появлении.close:
fadeOut – плавное исчезновение.bounceOut – эффект подпрыгивания при исчезновении.Использование этих констант позволяет централизованно контролировать анимации всех уведомлений.
timeout)В Noty можно задать время отображения уведомления через числовую константу в миллисекундах:
new Noty({
timeout: 3000, // 3 секунды
text: 'Это уведомление исчезнет через 3 секунды'
}).show();
Специальное значение false делает уведомление
постоянным, требуя явного закрытия пользователем. Такой
подход позволяет реализовать разные сценарии — от кратких сообщений до
критических алертов.
buttons)Noty поддерживает перечисление кнопок, которые можно добавить в
уведомление. Каждая кнопка описывается как массив
[текст, cssClass, callback]:
new Noty({
text: 'Подтвердите действие',
buttons: [
['OK', 'btn btn-success', function() { console.log('Подтверждено'); }],
['Отмена', 'btn btn-error', function() { this.close(); }]
]
}).show();
Использование констант для классов и структурированных массивов обеспечивает единообразие и совместимость с CSS-стилями.
progressBar и closable)progressBar – логическая константа
true/false, включает визуальный индикатор времени жизни
уведомления.closable – определяет, можно ли закрывать уведомление
вручную, значение true или false.new Noty({
progressBar: true,
closeWith: ['click', 'button'],
text: 'Прогресс-бар активен'
}).show();
Эти константы позволяют контролировать интерактивность уведомлений и их визуальную нагрузку на интерфейс.
Noty использует ряд дополнительных констант для событий и поведения:
callbacks – объект с функциями onShow,
onClose, afterShow,
afterClose.theme – строковое перечисление доступных тем:
'mint', 'sunset', 'relax',
'metroui'.queue – булевое значение для включения или отключения
очереди уведомлений.Применение этих констант делает код более читаемым и уменьшает вероятность ошибок при ручном управлении строковыми значениями.
Эффективное использование констант и перечислений в Noty обеспечивает строгую структуру уведомлений, повышает удобство поддержки кода и совместимость с различными темами и анимациями.