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
-
- Content
-
... ... @@ -1,17 +1,0 @@ 1 -{{velocity}} 2 -$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 3 -$response.setContentType("text/javascript") 4 -self.addEventListener("install" , evt => { 5 - console.log(evt); 6 -}); 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 - 17 -{{/velocity}}
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,21 +1,20 @@ 1 1 $response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 2 2 $response.setContentType("text/javascript") 3 3 self.addEventListener("install" , event => { 4 - console.log(event);4 + self.skipWaiting(); 5 5 }); 6 6 7 7 self.addEventListener("activate" , event => { 8 - console.log(event); 9 - clients.claim(); 8 + event.waitUntil(clients.claim()); 10 10 }); 11 11 12 -self.addEventListener("fetch" , (event)=> {13 - cons ole.log(event.request.url);14 - event.respondWith(async function() {15 - letresponse = awaitfetch(event.request);16 - letjson=awaitresponse.json();17 - letrows = json.rows.filter(row => row.doc_viewable === true);18 - console.log(rows);19 - return response;20 - })11 +self.addEventListener("fetch" , event => { 12 + const pathname = new URL(event.request.url).pathname; 13 + if(pathname === '/bin/get/XWiki/LiveTableResults') { 14 + event.respondWith(fetch(event.request).then(res => res.json()).then(json => { 15 + const headers = new Headers({'Content-Type': 'application/json'}); 16 + const jsonResults = json.rows.filter(row => row.doc_viewable === true); 17 + return new Response(JSON.stringify(jsonResults), {headers}); 18 + })); 19 + } 21 21 });