Константы и перечисления

Библиотека 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 обеспечивает строгую структуру уведомлений, повышает удобство поддержки кода и совместимость с различными темами и анимациями.