Библиотека iziToast предоставляет единый объект
iziToast, через который осуществляется взаимодействие с
уведомлениями. Все методы вызываются напрямую у этого объекта и
принимают в качестве аргумента объект конфигурации.
Базовая форма вызова:
iziToast.method(options);
где:
method — конкретный метод (например, show,
success, error)options — объект с параметрами уведомленияshow как универсальная точка входаМетод show является основным и наиболее гибким способом
создания уведомлений. Он принимает полный набор настроек.
iziToast.show({
title: 'Заголовок',
message: 'Текст уведомления'
});
Особенности:
Для упрощения работы предусмотрены методы с предустановленными стилями:
iziToast.success(options);
iziToast.error(options);
iziToast.warning(options);
iziToast.info(options);
iziToast.question(options);
Пример:
iziToast.success({
title: 'Успех',
message: 'Операция выполнена'
});
Ключевые отличия от show:
optionsВсе методы принимают единый объект конфигурации. Его структура включает множество полей.
{
title: 'Заголовок',
message: 'Сообщение',
timeout: 5000,
position: 'topRight'
}
title — заголовок уведомленияmessage — основной текстtimeout — время отображения (в миллисекундах)position — позиция на экране{
backgroundColor: '#333',
titleColor: '#fff',
messageColor: '#ccc',
icon: 'fa fa-check'
}
backgroundColor — цвет фонаtitleColor — цвет заголовкаmessageColor — цвет текстаicon — класс иконки{
timeout: 3000,
close: true,
progressBar: true,
pauseOnHover: true
}
close — отображение кнопки закрытияprogressBar — индикатор времениpauseOnHover — пауза при наведенииМетоды поддерживают функции обратного вызова, позволяющие реагировать на жизненный цикл уведомления.
iziToast.show({
title: 'Событие',
message: 'Пример',
onOpening: function(instance, toast) {
console.log('Открывается');
},
onClosing: function(instance, toast, closedBy) {
console.log('Закрывается');
}
});
Доступные колбэки:
onOpeningonOpenedonClosingonClosedПараметры:
instance — ссылка на iziToasttoast — DOM-элемент уведомленияclosedBy — причина закрытияВозможна передача HTML внутри сообщения:
iziToast.show({
title: 'HTML',
message: '<b>Жирный текст</b>'
});
Для повышения безопасности используется параметр:
{
message: 'Текст',
messageSize: 14,
maxWidth: 400
}
Добавление кнопок осуществляется через массив
buttons:
iziToast.show({
title: 'Подтверждение',
message: 'Продолжить?',
buttons: [
['<button>Да</button>', function (instance, toast) {
instance.hide({}, toast);
}],
['<button>Нет</button>', function (instance, toast) {
instance.hide({}, toast);
}]
]
});
Структура элемента массива:
[
HTML-кнопки,
обработчик клика,
фокус (необязательно)
]
Каждый вызов метода создает отдельный экземпляр уведомления.
Управление происходит через методы объекта iziToast.
iziToast.hide({}, toastElement);
или массово:
iziToast.destroy();
Настройки можно задать один раз через settings:
iziToast.settings({
timeout: 4000,
position: 'bottomLeft'
});
После этого все вызовы будут использовать эти параметры по умолчанию.
Локальные параметры всегда имеют приоритет над глобальными:
iziToast.settings({
timeout: 4000
});
iziToast.show({
message: 'Локальный таймаут',
timeout: 1000
});
Методы можно использовать в асинхронных сценариях:
fetch('/api')
.then(() => {
iziToast.success({
message: 'Данные загружены'
});
})
.catch(() => {
iziToast.error({
message: 'Ошибка загрузки'
});
});
Вызовы методов допускают комбинирование различных настроек:
iziToast.info({
title: 'Информация',
message: 'Комбинированный пример',
position: 'bottomCenter',
timeout: 7000,
progressBar: false,
closeOnClick: true
});
Возможна динамическая сборка параметров:
const config = {
title: 'Динамика',
message: 'Сформировано программно'
};
if (isError) {
config.backgroundColor = 'red';
}
iziToast.show(config);
Для повторного использования удобно создавать шаблоны:
const baseToast = {
position: 'topRight',
timeout: 3000
};
iziToast.success({
...baseToast,
message: 'Успешно'
});
Каждое уведомление добавляется в DOM автоматически. Элемент можно получить в колбэках и модифицировать:
iziToast.show({
message: 'DOM пример',
onOpened: function(instance, toast) {
toast.style.border = '2px solid red';
}
});
show, success, и т.д.)iziToast.show('Ошибка'); // некорректно
buttons: ['Кнопка'] // некорректно
iziToast.show({}); // уведомление без содержания
Возможны цепочки вызовов через события:
iziToast.show({
message: 'Первое',
onClosed: function() {
iziToast.success({
message: 'Второе'
});
}
});
Любой вызов метода в iziToast сводится к следующей логике:
iziToast.method({
// конфигурация
});
где: