PluginProbe ʕ •ᴥ•ʔ
Check & Log Email – Easy Email Testing & Mail logging / 2.0.16
Check & Log Email – Easy Email Testing & Mail logging v2.0.16
2.0.16 2.0.15 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 2.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.13.1 2.0.13.2 2.0.14 2.0.2 2.0.3 2.0.4 2.0.5 2.0.5.1 2.0.6 2.0.7 2.0.8 2.0.9 trunk 0.5.7 0.6.0 0.6.1 0.6.2 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.12.1 1.0.13 1.0.13.1 1.0.2 1.0.3
check-email / assets / js / admin / checkmail-sw.js
check-email / assets / js / admin Last commit date
chart.js 5 days ago check-mail-jsPdf.js 5 days ago check_mail_push.js 5 days ago check_mail_wizard.js 5 days ago check_mail_wizard.min.js 5 days ago checkemail.js 5 days ago checkemail.min.js 5 days ago checkmail-dashboard-chart.js 5 days ago checkmail-dashboard-chart.min.js 5 days ago checkmail-sw.js 5 days ago ck_mail-newsletter-script.js 5 days ago ck_mail-newsletter-script.min.js 5 days ago export-logs.js 5 days ago export-logs.min.js 5 days ago feedback.js 5 days ago feedback.min.js 5 days ago firebase-app.js 5 days ago firebase-messaging.js 5 days ago support-settings.js 5 days ago support-settings.min.js 5 days ago view-logs.js 5 days ago view-logs.min.js 5 days ago
checkmail-sw.js
95 lines
1
2
3 importScripts("https://www.gstatic.com/firebasejs/7.8.2/firebase-app.js");
4 importScripts("https://www.gstatic.com/firebasejs/7.8.2/firebase-analytics.js");
5 importScripts("https://www.gstatic.com/firebasejs/7.8.2/firebase-messaging.js");
6
7 const firebaseConfig = {
8 apiKey: "AIzaSyDhRbFy9m-NXZVkozYJwKdDYJuwsL6W_bw",
9 authDomain: "pushnotificationsio.firebaseapp.com",
10 projectId: "pushnotificationsio",
11 messagingSenderId: "788493704860",
12 appId: "1:788493704860:web:ba71fd692e7cc9651f5759"
13 };
14
15
16 if (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}
17 const messaging = firebase.messaging();
18 var messageCount = 0;
19 var unreadCount = 0;
20
21 messaging.setBackgroundMessageHandler(function(payload) {
22 const notificationTitle = payload.data.title;
23 const notificationOptions = {
24 body: payload.data.body,
25 icon: payload.data.icon,
26 image: payload.data.image,
27 vibrate: [100, 50, 100],
28 data: {
29 dateOfArrival: Date.now(),
30 primarykey: payload.data.currentCampaign,
31 url : payload.data.url
32 },
33 }
34 messageCount += 1;
35 setBadge(messageCount);
36
37 return self.registration.showNotification(notificationTitle, notificationOptions);
38 });
39
40
41 self.addEventListener("notificationclose", function(e) {
42 var notification = e.notification;
43 var primarykey = notification.data.primarykey;
44 messageCount -= 1;
45 unreadCount -= 1;
46 if(messageCount>0 && unreadCount > 0){
47 setBadge(messageCount);
48 }else{
49 clearBadge();
50 }
51 });
52
53 self.addEventListener("notificationclick", function(e) {
54 var notification = e.notification;
55 messageCount -= 1;
56 unreadCount -= 1;
57 notification.close();
58 });
59
60
61
62
63 function setBadge(...args) {
64 if (navigator.setAppBadge) {
65 navigator.setAppBadge(...args);
66 } else if (navigator.setExperimentalAppBadge) {
67 navigator.setExperimentalAppBadge(...args);
68 } else if (window.ExperimentalBadge) {
69 window.ExperimentalBadge.set(...args);
70 }
71 }
72
73 // Wrapper to support first and second origin trial
74 // See https://web.dev/badging-api/ for details.
75 function clearBadge() {
76 if (navigator.clearAppBadge) {
77 navigator.clearAppBadge();
78 } else if (navigator.clearExperimentalAppBadge) {
79 navigator.clearExperimentalAppBadge();
80 } else if (window.ExperimentalBadge) {
81 window.ExperimentalBadge.clear();
82 }
83 }
84
85 self.addEventListener("push", (event) => {
86 unreadCount += 1;
87 // Set or clear the badge.
88 if (navigator.setAppBadge) {
89 if (unreadCount && unreadCount > 0) {
90 navigator.setAppBadge(unreadCount);
91 } else {
92 navigator.clearAppBadge();
93 }
94 }
95 });