/* eslint-disable no-unused-vars */ /* eslint-disable no-undef */ /* eslint-disable no-restricted-globals */ // const regex = /{{\s*([^}]+)\s*}}/g; // var _pushVaribales = ""; // function interpolate(messageData) { // return function interpolate(o) { // return messageData.replace(regex, function (a, b) { // var r = o[b]; // return typeof r === 'string' || typeof r === 'number' ? r : a; // }); // } // } // function createTemplateMessage(messageData) { // if (Object.keys(_pushVaribales).length > 0 ) { // var message = interpolate(messageData)(_pushVaribales); // return message; // } else { // return messageData; // } // } // function displayNotification(event) { // var messageJson = event.data.text(); // messageJson = JSON.parse(messageJson); // var title = messageJson.title ? messageJson.title : "New message"; // var imageUrl = messageJson.iconUrl ? messageJson.iconUrl : "images/icon.png"; // // var tagJson = messageJson.payload; // // var tag = tagJson.tag ? tagJson.tag : ""; // var bodyAlert = messageJson.alert ? messageJson.alert : "Example message" // var payloadData = messageJson.payload ? messageJson.payload : "Example message" // let messageTemp; // if ((messageTemp = regex.exec(bodyAlert)) !== null) { // bodyAlert = createTemplateMessage(bodyAlert); // } // self.registration.showNotification(title, { // body: bodyAlert, // icon: imageUrl, // data: payloadData, // // tag: tag // }); // return Promise.resolve(); // } // function triggerSeenEvent(strMsg) { // send_message_to_all_clients("msgEventSeen:" + strMsg); // } // function triggerOpenEvent(strMsg) { // send_message_to_all_clients("msgEventOpen:" + strMsg); // } // function onPushNotificationReceived(event) { // if (event.data) { // } // event.waitUntil(displayNotification(event).then(() => triggerSeenEvent(event.data.text()))); // }; // self.addEventListener('push', onPushNotificationReceived); // function send_message_to_client(client, msg) { // return new Promise(function (resolve, reject) { // var msg_chan = new MessageChannel(); // msg_chan.port1.onmessage = function (event) { // if (event.data.error) { // reject(event.data.error); // } else { // resolve(event.data); // } // }; // client.postMessage(msg, [msg_chan.port2]); // }); // } // function send_message_to_all_clients(msg) { // clients.matchAll().then(clients => { // clients.forEach(client => { // send_message_to_client(client, msg); // }) // }); // } // self.addEventListener('install', function (event) { // self.skipWaiting(); // //event.postMessage("SW Says 'Hello back!'"); // }); // self.addEventListener('message', function (event) { // replyPort = event.ports[0]; // _pushVaribales = event.data; // }); // self.addEventListener('activate', function (event) { // event.waitUntil(self.clients.claim()); // }); // self.addEventListener('notificationclick', function (event) { // let nidjson = event.notification.data; // event.notification.close(); // event.waitUntil(triggerOpenEvent(nidjson)); // }); // self.addEventListener('pushsubscriptionchange', function () { // send_message_to_all_clients("updateRegistration:"); // });