Changes for page LiveTableServiceWorker
Last modified by bougault on 2022/03/22 17:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +Main.WebHome
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,16 +1,33 @@ 1 -self.addEventListener("install" , evt => { 2 - //evt.waitUntil(caches.open("main_cache").then(cache => cache.addAll(["/", "/something"]))); 3 - console.log(evt); 1 +$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 2 +$response.setContentType("text/javascript") 3 +if(navigator.serviceWorker) { 4 + const version = "0.1.0"; 4 4 5 - self.skipWaiting(); 6 -}); 6 + self.addEventListener("install" , event => { 7 + //self.skipWaiting(); 8 + }); 7 7 8 -self.addEventListener("activate" , evt => { 9 - console.log(evt); 10 - clients.claim(); 11 -}); 12 - 13 -self.addEventListener("fetch" , evt => { 14 - console.log(evt); 15 -}); 16 - 10 + self.addEventListener("activate" , event => { 11 + event.waitUntil(self.clients.claim()); 12 + }); 13 + /* 14 + self.addEventListener("fetch" , event => { 15 + const pathname = new URL(event.request.url).pathname; 16 + if(pathname === '/bin/get/XWiki/LiveTableResults') { 17 + event.respondWith(fetch(event.request).then(res => res.json()).then(json => { 18 + const headers = new Headers({'Content-Type': 'application/json'}); 19 + const jsonResults = json.rows.filter(row => row.doc_viewable === true); 20 + return new Response(JSON.stringify(jsonResults), {headers}); 21 + })); 22 + } 23 + }); 24 + */ 25 + self.addEventListener("fetch", (e) => { 26 + const pathname = new URL(event.request.url).pathname; 27 + console.log("sw", pathname); 28 + if(pathname === "/getMembershipRequests") { 29 + const res = new Response("custom response"); 30 + e.respondWith(res); 31 + } 32 + }) 33 +} - Parse content
-
... ... @@ -1,0 +1,1 @@ 1 +Yes - Use this extension
-
... ... @@ -1,0 +1,1 @@ 1 +onDemand