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,5 +1,0 @@ 1 -{{velocity output="false"}} 2 -$response.setContentType("text/javascript") 3 -{{/velocity}} 4 - 5 -console.log('toto');
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,16 +1,21 @@ 1 -self.addEventListener("install" , evt => { 2 - //evt.waitUntil(caches.open("main_cache").then(cache => cache.addAll(["/", "/something"]))); 3 - console.log(evt); 4 - 5 - self.skipWaiting(); 1 +$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 2 +$response.setContentType("text/javascript") 3 +self.addEventListener("install" , event => { 4 + self.skipWaiting(); 6 6 }); 7 7 8 -self.addEventListener("activate" , evt => { 9 - console.log(evt); 10 - clients.claim(); 7 +self.addEventListener("activate" , event => { 8 + event.waitUntil(self.clients.claim()); 11 11 }); 12 12 13 -self.addEventListener("fetch" , evt => { 14 - console.log(evt); 11 +self.addEventListener("fetch" , event => { 12 + const pathname = new URL(event.request.url).pathname; 13 + if(pathname === '/getMembershipRequests') { 14 + const req = fetch('/bin/get/XWiki/LiveTableResults?outputSyntax=plain&transprefix=membershiprequest.livetable.&classname=Collaboratory.Apps.Membership.MembershipRequest.Code.MembershipRequestClass&collist=doc.title%2Ctarget%2Cusername%2Cstatus%2Cdoc.date&queryFilters=currentlanguage%2Chidden&offset=1&limit=15&reqNo=1&sort=doc.date&dir=desc'); 15 + event.respondWith(req.then(res => res.json()).then(json => { 16 + const headers = new Headers({'Content-Type': 'application/json'}); 17 + const jsonResults = json.rows.filter(row => row.doc_viewable === true); 18 + return new Response(JSON.stringify(jsonResults), {headers}); 19 + })); 20 + } 15 15 }); 16 - - Parse content
-
... ... @@ -1,0 +1,1 @@ 1 +Yes - Use this extension
-
... ... @@ -1,0 +1,1 @@ 1 +onDemand