-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserviceWorker.js
120 lines (108 loc) · 3.38 KB
/
serviceWorker.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
const version = "v0.8.7.4"
const serviceworkerobj = "shopsummary_" + version;
// console.log(serviceworkerobj);
// console.log('hello from service worker');
const assets = [
"/calculator.html",
"/emailSignup.html",
"/fallback.html",
"/forgotpassword.html",
"/paymentStatus.html",
"/phoneSignup.html",
"/pwreset.html",
"/qrgenerate.html",
"/savedata.html",
"/style/bootstrap.css",
"/style/calc.css",
"/style/default.css",
"/style/index.css",
"/style/paymentStatus.css",
"/style/style.css",
"/scripts/emailSignup.min.js",
"/scripts/firebase.min.js",
"/scripts/forgotpw.min.js",
"/scripts/installpwa.min.js",
"/scripts/main.min.js",
"/scripts/phoneSignup.min.js",
"/scripts/pwreset.min.js",
"/scripts/qrgenerator.min.js",
"/scripts/saveupi.min.js",
"/scripts/signout.js",
"/scripts/success.min.js",
"/scripts/txnprocessing.min.js",
"/scripts/themeswitch.min.js",
"/scripts/feedBackForm.min.js",
"scripts/welcomeMsg.min.js",
"/images/icons/16x16.png",
"/images/icons/32x32.png",
"/images/icons/48x48.png",
"/images/icons/64x64.png",
"/images/icons/72x72.png",
"/images/icons/96x96.png",
"/images/icons/128x128.png",
"/images/icons/144x144.png",
"/images/icons/168x168.png",
"/images/icons/192x192.png",
"/images/icons/256x256.png",
"/images/icons/512x512.png",
"/images/icons/1024x1024.png",
"/images/user.png",
"/images/icons/btn-logos/download-icon-64.png",
"/images/icons/btn-logos/google-icon-48.png",
"/images/icons/btn-logos/icons8-phone-64.png",
"/images/icons/social-media-logos/facebook-black-32.png",
"/images/icons/social-media-logos/github-black-32.png",
"/images/icons/social-media-logos/twitter-32.png",
"/images/icons/152px.png",
"/images/icons/180px.png",
"/images/icons/167px.png"
];
self.addEventListener('message', event => {
if (event.data.action === 'skipWaiting') {
self.skipWaiting();
}
});
//install event
self.addEventListener("install", installEvent => {
//console.log("install event");
//self.skipWaiting();
installEvent.waitUntil(
caches.open(serviceworkerobj)
.then(cache => {
cache.addAll(assets)
//console.log('caching assets')
}).catch(err => console.log(err))
);
});
// activate event
self.addEventListener('activate', evt => {
//console.log("activate event");
evt.waitUntil(
caches.keys().then(key => {
//console.log(keys);
//console.log('service worker activated');
return Promise.all(key
.filter(key => key !== serviceworkerobj)
.map(key => caches.delete(key))
);
}).then(() => {
return self.clients.claim();
})
);
self.clients.matchAll().then(clients => {
//console.log(version);
//console.log(clients);
clients.forEach(client => client.postMessage({ type: 'VERSION', version: version }));
});
});
//fetch event
self.addEventListener("fetch", fetchEvent => {
//console.log("fetchEvent");
fetchEvent.respondWith
(
caches.match(fetchEvent.request)
.then(res => {
return res || fetch(fetchEvent.request)
}).catch(() => caches.match("/fallback.html"))
);
});