Skip to content

Notifications

Загальне

Модуль нотифікацій імплементує весь функціонал, пов'язаний з системними:

  • Browser notifications API
  • Sound (ringing call, new chat message, etc)
  • Counter in tab title нотифікаціями користувача про події.

Підтримує синхронізацію роботи в декількох табах одночасно.

Важливо! Не плутати з ui-нотифікаціями, які забезпечує wt-notification.vue i wt-notifications-bar.vue.

Store Action Інтерфейс

Модуль забезпечує користувача такими Store Actions для користування:

  • INITIALIZE: (context)

Ініціалізує модуль, підписки, broadcastChannel, etc. Треба викликати перед початком використання. Бажано на ініціалізації всього апплікейшена.

  • DESTROY: (context)

Видаляє інстанс, робить cleanup. Треба викликати перед виключенням сторінки window.addEventListener('beforeunload') щоб все працювало корректно. В противному випадку, якщо відкрито декілька таб, звук не "перейде" з новішої на старішу при закритті нової.

  • PLAY_SOUND: (context, { action, sound })

Пілікаємо певний звук: це може бути новий меседж, рінгінг дзвінка, етс. Action- основний параметр наразі підтримує: - ChatActions.UserInvite - ChatActions.Message - ChatActions.Close - CallActions.Ringing із дефолтними для них звуками. Якщо необхідно обробити не зазначений вище кейс, або додати свій звук - можна передати sound параметром. sound може бути файлом, або instanceof Audio.

  • STOP_SOUND: (context)

Зупинити програвання поточного звуку.

Увага! Не зупиняє дзвінок!

  • SEND_NOTIFICATION: ( context, { locale, text = i18n.t(locale), icon = notificationIcon, interval = NOTIFICATION_VISIBLE_INTERVAL, } )

Відправити Desktop Notification. interval - інтервал перед пропаданням нотифікейшена.

  • INCREMENT_UNREAD_COUNT: (context) Збільшити каунтер у tab title. Ресетається каунтер автоматично, при кліку по цій табі.