Типы данных параметров

Библиотека iziToast предоставляет широкие возможности для кастомизации уведомлений. Основой работы с этой библиотекой является правильная передача параметров в объект конфигурации при вызове функции iziToast.show() или специализированных методов (success, error, info, warning). Каждый параметр имеет строго определённый тип данных, и корректное использование этих типов критично для предсказуемой работы уведомлений.


Строковые параметры (string)

Наиболее часто встречающийся тип данных. Используется для текстового содержимого уведомления, идентификаторов, CSS-классов и других строковых значений. Основные параметры:

  • title — заголовок уведомления. Пример:

    iziToast.show({
        title: 'Успех',
        message: 'Данные сохранены'
    });
  • message — основной текст уведомления.

  • theme — тема оформления ('light' или 'dark').

  • position — позиция на экране ('topRight', 'bottomLeft' и т.д.).

  • icon — путь к иконке или класс шрифта иконок.

  • id — уникальный идентификатор уведомления.

Использование типов, отличных от string, в этих параметрах может привести к некорректному отображению текста или ошибкам в консоли.


Булевы параметры (boolean)

Булевы значения определяют включение или отключение определённых функций уведомления. Ключевые параметры:

  • close — отображение кнопки закрытия (true/false).
  • timeout — автоматическое закрытие уведомления (false для отключения).
  • pauseOnHover — при наведении курсора таймер закрытия ставится на паузу.
  • drag — возможность перетаскивания уведомления мышью.

Пример:

iziToast.show({
    message: 'Системное уведомление',
    timeout: 5000,
    close: true,
    pauseOnHover: true
});

Важно помнить, что строковые значения 'true' или 'false' не равнозначны булевым. Необходимо передавать именно тип boolean.


Числовые параметры (number)

Используются для задания времени отображения уведомления, размеров и отступов. Основные параметры:

  • timeout — время в миллисекундах, после которого уведомление автоматически закроется.
  • maxWidth — максимальная ширина уведомления в пикселях.
  • zindex — слой отображения поверх других элементов страницы.
  • animateInside — задаётся как true или false при работе с анимацией.

Пример:

iziToast.show({
    message: 'Задача выполнена',
    timeout: 3000,
    maxWidth: 400,
    zindex: 9999
});

Функции обратного вызова (function)

iziToast поддерживает несколько событийных функций, которые позволяют выполнить пользовательский код при взаимодействии с уведомлением. Тип параметра всегда function.

  • onOpening — вызывается в момент начала отображения уведомления.
  • onOpened — вызывается после того, как уведомление полностью появилось.
  • onClosing — перед закрытием уведомления.
  • onClosed — после того, как уведомление исчезло.

Пример использования:

iziToast.show({
    message: 'Подписка оформлена',
    onOpened: function() {
        console.log('Уведомление отображено');
    },
    onClosed: function() {
        console.log('Уведомление закрыто');
    }
});

Объектные параметры (object)

Некоторые параметры принимают объекты для группировки связанных настроек:

  • buttons — массив кнопок с определёнными действиями.
  • transitionIn / transitionOut — объект с настройками анимации (opacity, translate, scale).

Пример создания кнопки:

iziToast.show({
    message: 'Выберите действие',
    buttons: [
        ['<button>OK</button>', function (instance, toast) {
            instance.hide({ transitionOut: 'fadeOut' }, toast);
        }]
    ]
});

Массивы (array)

Используются редко, но критично для динамического добавления нескольких элементов, например, кнопок или последовательностей анимации. Тип всегда array.

  • buttons — массив массивов, где первый элемент — HTML-кнопка, второй — функция-обработчик.
  • inputs — массив объектов input для создания интерактивных уведомлений (например, формы).

Пример массива кнопок:

iziToast.show({
    message: 'Выберите действие',
    buttons: [
        ['<button>Да</button>', function (instance, toast) { instance.hide(toast); }],
        ['<button>Нет</button>', function (instance, toast) { instance.hide(toast); }]
    ]
});

Специфика типизации

  • Передача неверного типа данных приводит к некорректному отображению уведомления или полной его неработоспособности.
  • Для числовых и булевых значений нельзя использовать строковые литералы.
  • Функции обязательно должны быть именно функциями (function или стрелочные ()=>{}), иначе события не сработают.
  • Объекты и массивы должны быть корректно структурированы согласно документации iziToast, иначе возможны ошибки при рендеринге.

Систематическое понимание типов данных параметров позволяет создавать сложные уведомления с точным контролем визуальных и функциональных аспектов, минимизируя ошибки и повышая стабильность работы приложений.