Эмиттер событий
ToastQueue — класс, стоящий за каждым ToastContext — предоставляет подписываемые события для интеграции с аналитикой (Sentry, Amplitude и т. д.). Все слушатели возвращают функцию отписки.
import { getOrCreateGlobalContext } from 'vue-toast-kit'
const queue = getOrCreateGlobalContext().queueМетоды
onAdd(fn)
(fn: (item: ToastItem) => void) => () => void
Подписаться на события добавления тоста.
onDismiss(fn)
(fn: (id: string) => void) => () => void
Подписаться на события закрытия тоста.
onUpdate(fn)
(fn: (id: string, partial: Partial<ToastOptions>) => void) => () => void
Подписаться на события обновления тоста.
Пример
import { getOrCreateGlobalContext } from 'vue-toast-kit'
const queue = getOrCreateGlobalContext().queue
const off = queue.onAdd((item) => {
analytics.track('toast_shown', { type: item.options.type, message: item.message })
})
queue.onDismiss((id) => {
analytics.track('toast_dismissed', { id })
})
queue.onUpdate((id, partial) => {
analytics.track('toast_updated', { id, ...partial })
})
// Отписка, когда закончили:
off()
ToastQueueэкспортируется из корня пакета именно для таких случаев — полный набор её методов см. в Справочнике API (add/remove/update/dismiss/dismissAll/isActive/pauseAll/resumeAll/setMaxVisible/toggleGroupExpand/isGroupExpanded/destroy, плюс реактивные массивыactiveиpending) —onAdd/onDismiss/onUpdateявляются единственными её событиями.