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.

DriveParentCollab - HBP Wiki

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


Wiki source code of DriveParentCollab

Version 9.3 by bougault on 2022/01/06 16:28

Show last authors
1 {{html clean="false"}}
2
3 <label for="driveURL">Drive document url</label>
4 <input type="text" id="driveURL" placeholder="Put drive document url here" />
5 <button id="opencollab">Open Collab</button>
6 <script>
7 (function() {
8 window.addEventListener("DOMContentLoaded", function() {
9 const openCollabButton = document.getElementById("opencollab");
10 openCollabButton.addEventListener("click", findCollab);
11 });
12 function findCollab() {
13 const driveURL = document.getElementById("driveURL");
14 const driveId = getDriveId(driveURL.value);
15 if(driveId) {
16 console.log('Perform request with id:', driveId);
17 fetch(`/rest/v1/collabs?driveId=${driveId}`)
18 .then(res => res.json())
19 .then(json => {
20 console.log(json);
21 const { link } = json;
22 window.location.pathname = link;
23 })
24 }
25 }
26 function getDriveId(driveURL) {
27 const url = new URL(driveURL);
28 const re = /\/(library|lib)\/([^/]*)\/.*/;
29 const id = re.exec(url.pathname)[2];
30 return id;
31 }
32 })();
33
34 window.addEventListener("message", function(event) {
35 alert('XXXX', event);
36 })
37 </script>
38 {{/html}}