Add Timeout to automatically close Notifications

This commit is contained in:
RobinLinus 2019-03-13 00:08:37 +01:00
parent 819697d697
commit 82de30525b
2 changed files with 12 additions and 5 deletions

View file

@ -361,19 +361,26 @@ class Notifications {
});
}
_notify(message, body) {
_notify(message, body, closeTimeout = 10000) {
const config = {
body: body,
icon: '/images/logo_transparent_128x128.png',
}
let notification;
try {
return new Notification(message, config);
notification = new Notification(message, config);
} catch (e) {
// android doesn't support "new Notification" if service worker is installed
// Android doesn't support "new Notification" if service worker is installed
if (!serviceWorker || !serviceWorker.showNotification) return;
return serviceWorker.showNotification(message, config);
notification = serviceWorker.showNotification(message, config);
}
// Notification is persistent on Android. We have to close it manually
if(closeTimeout){
setTimeout( _ => notification.close(), closeTimeout);
}
return notification;
}
_messageNotification(message) {