2022-10-16 18:41:50 +02:00
|
|
|
|
2023-06-04 18:51:06 +02:00
|
|
|
const pwa_version = "03_numpy_grid_demo_202306041650"
|
2022-10-16 18:41:50 +02:00
|
|
|
const assets = ["./index.html",
|
|
|
|
"./main.py",
|
|
|
|
"./resources/bootstrap.css",
|
|
|
|
"./resources/bootstrap.js",
|
|
|
|
"./resources/pyscript.css",
|
|
|
|
"./resources/pyscript.js",
|
|
|
|
"./resources/pyscript.py",
|
2023-06-03 12:21:28 +02:00
|
|
|
"./resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl",
|
2022-10-16 18:41:50 +02:00
|
|
|
"./resources/pwa.js",
|
|
|
|
"./site.js",
|
|
|
|
]
|
|
|
|
self.addEventListener("install", installEvent => {
|
|
|
|
installEvent.waitUntil(
|
|
|
|
caches.open(pwa_version).then(cache => {
|
|
|
|
cache.addAll(assets).then(r => {
|
|
|
|
console.log("Cache assets downloaded");
|
|
|
|
}).catch(err => console.log("Error caching item", err))
|
|
|
|
console.log(`Cache ${pwa_version} opened.`);
|
|
|
|
}).catch(err => console.log("Error opening cache", err))
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
self.addEventListener('activate', e => {
|
|
|
|
console.log('Service Worker: Activated');
|
|
|
|
});
|
|
|
|
|
|
|
|
self.addEventListener('fetch', event => {
|
|
|
|
if (event.request.method != 'GET')
|
|
|
|
return;
|
|
|
|
event.respondWith((async () => {
|
|
|
|
const cachedResponse = await caches.match(event.request);
|
|
|
|
if (cachedResponse) {
|
|
|
|
return cachedResponse;
|
|
|
|
}
|
|
|
|
|
|
|
|
const response = await fetch(event.request);
|
|
|
|
|
|
|
|
if (!response || response.status !== 200 || response.type !== 'basic') {
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
|
|
|
|
const responseToCache = response.clone();
|
|
|
|
const cache = await caches.open(pwa_version)
|
|
|
|
await cache.put(event.request, response.clone());
|
|
|
|
|
|
|
|
return response;
|
|
|
|
})());
|
|
|
|
});
|
2023-06-04 18:51:06 +02:00
|
|
|
self.addEventListener('activate', (event) => {
|
|
|
|
event.waitUntil(
|
|
|
|
caches.keys().then((keyList) => {
|
|
|
|
return Promise.all(keyList.map((key) => {
|
|
|
|
if(key !== pwa_version) {
|
|
|
|
return caches.delete(key);
|
|
|
|
}
|
|
|
|
}));
|
|
|
|
})
|
|
|
|
);
|
|
|
|
});
|
2022-10-16 18:41:50 +02:00
|
|
|
|