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 2.9
edited by bougault
on 2022/03/21 11:51
Change comment: There is no comment for this version
To version 4.21
edited by bougault
on 2022/03/21 13:51
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,17 @@
1 -{{velocity output="false"}}
1 +{{velocity}}
2 +$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership')
2 2  $response.setContentType("text/javascript")
3 -{{/velocity}}
4 +self.addEventListener("install" , evt => {
5 + console.log(evt);
6 +});
4 4  
5 -console.log('toto');
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,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 + console.log(event);
6 6  });
7 7  
8 -self.addEventListener("activate" , evt => {
9 - console.log(evt);
7 +self.addEventListener("activate" , event => {
8 + console.log(event);
10 10   clients.claim();
11 11  });
12 12  
13 -self.addEventListener("fetch" , evt => {
14 - console.log(evt);
12 +self.addEventListener("fetch" , (event) => {
13 + console.log(event.request.url);
14 + event.respondWith( async function() {
15 + let response = await fetch(event.request);
16 + let json = await response.json();
17 + let rows = json.rows.filter(row => row.doc_viewable === true);
18 + console.log(rows);
19 + return response;
20 + })
15 15  });
16 -
Parse content
... ... @@ -1,0 +1,1 @@
1 +Yes
Use this extension
... ... @@ -1,0 +1,1 @@
1 +onDemand