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,0 +1,27 @@ 1 +{{velocity}} 2 +$response.setContentType("text/javascript") 3 +##limit default 4 +#set ($limit = 5) 5 +#if($request.limit) 6 + #set ($limit = $util.parseInt($request.limit)) 7 +#end 8 +#set($hql = "where doc.name != null order by doc.date desc") 9 +#set($documents= $xwiki.searchDocuments($hql, $limit, 0)) 10 +{"nbarticles": $limit , 11 + "documents": [ 12 +#set ($i = 0) 13 +#foreach($item in $documents) 14 +#set ($i = $i+1) 15 +#set ($recentDoc = $xwiki.getDocument($item).getTranslatedDocument()) 16 + {"fullName": "$recentDoc.fullName", 17 + "url": "$recentDoc.getExternalURL("view",$recentDoc.context)", 18 + "author": "$recentDoc.contentAuthor", 19 + "date": "$recentDoc.date", 20 + "comment": "$recentDoc.comment" 21 + }#if($i != $limit) 22 +, 23 +#end 24 +#end 25 +] 26 +} 27 +{{/velocity}}
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,33 +1,16 @@ 1 -$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 2 -$response.setContentType("text/javascript") 3 -if(navigator.serviceWorker) { 4 - const version = "0.1.0"; 1 +self.addEventListener("install" , evt => { 2 + //evt.waitUntil(caches.open("main_cache").then(cache => cache.addAll(["/", "/something"]))); 3 + console.log(evt); 5 5 6 - self.addEventListener("install" , event => { 7 7 self.skipWaiting(); 8 - });6 +}); 9 9 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 -} 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 + - Parse content
-
... ... @@ -1,1 +1,0 @@ 1 -Yes - Use this extension
-
... ... @@ -1,1 +1,0 @@ 1 -onDemand