Failed to execute template. Cause: [Access denied when checking [script] access to [xwiki:Collaboratory.UX.HbpSkin.WebHome] for user [xwiki:XWiki.Admin]]. Click on this message for details.

LiveTableServiceWorker - HBP Wiki

IAM21 instance, do not create collab nor modify a team, your changes will be lost


Changes for page LiveTableServiceWorker

Last modified by bougault on 2022/03/22 17:19

From version 4.86
edited by bougault
on 2022/03/22 16:17
Change comment: There is no comment for this version
To version 4.27
edited by bougault
on 2022/03/21 14:00
Change comment: There is no comment for this version

Summary

Details

XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,33 +1,19 @@
1 1  $response.addHeader('Service-Worker-Allowed', '/bin/view/Membership')
2 2  $response.setContentType("text/javascript")
3 -if(navigator.serviceWorker) {
4 - const version = "0.1.0";
5 - /*
6 - self.addEventListener("install" , event => {
7 - //self.skipWaiting();
8 - });
3 +self.addEventListener("install" , event => {
4 +});
9 9  
10 - self.addEventListener("activate" , event => {
11 - event.waitUntil(self.clients.claim());
12 - });
6 +self.addEventListener("activate" , event => {
7 + clients.claim();
8 +});
13 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 -}
10 +self.addEventListener("fetch" , (event) => {
11 + console.log(event.request.url);
12 + event.respondWith( async function() {
13 + let response = await fetch(event.request);
14 + let json = await response.json();
15 + //let rows = json.rows.filter(row => row.doc_viewable === true);
16 + console.log(rows);
17 + return response;
18 + })
19 +});