Merge pull request #2077 from hmhealey/plt1819

PLT-1819 Changed notification permission dialogue to only be shown once per page load
Этот коммит содержится в:
Joram Wilander
2016-02-05 07:38:01 -05:00
родитель b6f29fd128 5cc359a4ea
Коммит 8e79f12f3c

Просмотреть файл

@@ -142,16 +142,24 @@ export function getCookie(name) {
}
}
var requestedNotificationPermission = false;
export function notifyMe(title, body, channel) {
if ('Notification' in window && Notification.permission !== 'denied') {
Notification.requestPermission(function onRequestPermission(permission) {
if (!('Notification' in window)) {
return;
}
if (Notification.permission === 'granted' || (Notification.permission === 'default' && !requestedNotificationPermission)) {
requestedNotificationPermission = true;
Notification.requestPermission((permission) => {
if (Notification.permission !== permission) {
Notification.permission = permission;
}
if (permission === 'granted') {
var notification = new Notification(title, {body: body, tag: body, icon: '/static/images/icon50x50.png'});
notification.onclick = function onClick() {
var notification = new Notification(title, {body, tag: body, icon: '/static/images/icon50x50.png'});
notification.onclick = () => {
window.focus();
if (channel) {
switchChannel(channel);
@@ -159,7 +167,7 @@ export function notifyMe(title, body, channel) {
window.location.href = TeamStore.getCurrentTeamUrl() + '/channels/town-square';
}
};
setTimeout(function closeNotificationOnTimeout() {
setTimeout(() => {
notification.close();
}, 5000);
}