opensciencelab-tours 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- opensciencelab_tours-0.2.2/CHANGELOG.md +43 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/PKG-INFO +1 -1
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/_version.py +1 -1
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/labextension/package.json +2 -2
- opensciencelab_tours-0.2.2/opensciencelab_tours/labextension/static/986.b0c25d03015d17386f0c.js +1 -0
- opensciencelab_tours-0.2.0/opensciencelab_tours/labextension/static/remoteEntry.11ca209ab66727102fdc.js → opensciencelab_tours-0.2.2/opensciencelab_tours/labextension/static/remoteEntry.2809c57403f0ee2ebe18.js +1 -1
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/package.json +1 -1
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/tour_helpers.ts +8 -4
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/tours.tsx +22 -3
- opensciencelab_tours-0.2.0/CHANGELOG.md +0 -9
- opensciencelab_tours-0.2.0/opensciencelab_tours/labextension/static/986.daa5df8c997759f47ec8.js +0 -1
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/.copier-answers.yml +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/.gitignore +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/.prettierignore +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/.yarnrc.yml +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/LICENSE +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/README.md +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/RELEASE.md +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/install.json +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/__init__.py +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/labextension/static/728.8d6537396f2936663ea8.js +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/labextension/static/style.js +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/opensciencelab_tours/labextension/static/third-party-licenses.json +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/pyproject.toml +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/setup.py +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/icons.ts +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/index.ts +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/osl_logo.svg +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/src/svg.d.ts +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/style/base.css +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/style/index.css +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/style/index.js +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/tsconfig.json +0 -0
- {opensciencelab_tours-0.2.0 → opensciencelab_tours-0.2.2}/yarn.lock +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
<!-- <START NEW CHANGELOG ENTRY> -->
|
|
4
|
+
|
|
5
|
+
## 0.2.2
|
|
6
|
+
|
|
7
|
+
([Full Changelog](https://github.com/ASFOpenSARlab/opensciencelab-tours/compare/v0.2.1...a424ac10430c926d97b189531f82e6b4d40e6cd3))
|
|
8
|
+
|
|
9
|
+
### Bugs fixed
|
|
10
|
+
|
|
11
|
+
- spotlight clicks for nbgitpuller step [#5](https://github.com/ASFOpenSARlab/opensciencelab-tours/pull/5) ([@segallagher](https://github.com/segallagher))
|
|
12
|
+
|
|
13
|
+
### Contributors to this release
|
|
14
|
+
|
|
15
|
+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
|
|
16
|
+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
|
|
17
|
+
|
|
18
|
+
([GitHub contributors page for this release](https://github.com/ASFOpenSARlab/opensciencelab-tours/graphs/contributors?from=2026-05-15&to=2026-05-16&type=c))
|
|
19
|
+
|
|
20
|
+
@segallagher ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fopensciencelab-tours+involves%3Asegallagher+updated%3A2026-05-15..2026-05-16&type=Issues))
|
|
21
|
+
|
|
22
|
+
<!-- <END NEW CHANGELOG ENTRY> -->
|
|
23
|
+
|
|
24
|
+
## 0.2.1
|
|
25
|
+
|
|
26
|
+
([Full Changelog](https://github.com/ASFOpenSARlab/opensciencelab-tours/compare/v0.2.0...f102a2a4263e4a3c98345792fdfb1574ef297944))
|
|
27
|
+
|
|
28
|
+
### Enhancements made
|
|
29
|
+
|
|
30
|
+
- sg/improve-tour-flow [#4](https://github.com/ASFOpenSARlab/opensciencelab-tours/pull/4) ([@segallagher](https://github.com/segallagher))
|
|
31
|
+
|
|
32
|
+
### Contributors to this release
|
|
33
|
+
|
|
34
|
+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
|
|
35
|
+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
|
|
36
|
+
|
|
37
|
+
([GitHub contributors page for this release](https://github.com/ASFOpenSARlab/opensciencelab-tours/graphs/contributors?from=2026-05-15&to=2026-05-15&type=c))
|
|
38
|
+
|
|
39
|
+
@segallagher ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fopensciencelab-tours+involves%3Asegallagher+updated%3A2026-05-15..2026-05-15&type=Issues))
|
|
40
|
+
|
|
41
|
+
## 0.2.0
|
|
42
|
+
|
|
43
|
+
No merged PRs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opensciencelab_tours
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Tours for OpenScienceLab
|
|
5
5
|
Project-URL: Homepage, https://github.com/ASFOpenSARlab/opensciencelab-tours
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/ASFOpenSARlab/opensciencelab-tours/issues
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opensciencelab-tours",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Tours for OpenScienceLab",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
"_build": {
|
|
107
|
-
"load": "static/remoteEntry.
|
|
107
|
+
"load": "static/remoteEntry.2809c57403f0ee2ebe18.js",
|
|
108
108
|
"extension": "./extension",
|
|
109
109
|
"style": "./style"
|
|
110
110
|
}
|
opensciencelab_tours-0.2.2/opensciencelab_tours/labextension/static/986.b0c25d03015d17386f0c.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkopensciencelab_tours=self.webpackChunkopensciencelab_tours||[]).push([[986],{986(e,t,o){o.r(t),o.d(t,{default:()=>r});var a=o(615),l=o(537);function n(e,t=5e3){return new Promise(o=>{const a=document.querySelector(e);if(a)return o(a);const l=new MutationObserver(()=>{const t=document.querySelector(e);t&&(l.disconnect(),o(t))});l.observe(document.body,{childList:!0,subtree:!0}),setTimeout(()=>{l.disconnect(),o(null)},t)})}var c=o(651);const s="opensciencelab-tours:intro";const r={id:"opensciencelab-tours:plugin",description:"Tours for OpenScienceLab",autoStart:!0,requires:[a.ITourManager],activate:async(e,t)=>{console.log("JupyterLab extension opensciencelab-tours is activated!");const{commands:o}=e;(function(e,t){const o=e.createTour({id:s,label:"OpenScienceLab Intro",hasHelpEntry:!0,icon:c.infoIcon,version:20260515});o?(o.addStep({content:"Welcome to OpenScienceLab",target:"#main",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"center",showProgress:!1}),o.addStep({content:"The JupyterLab top bar contains helpful menus, tools, and information for your OpenSARLab session.",target:"#jp-top-panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"The latest changes for your notebooks and other repositories can be pulled here.",target:"#nbgitpuller-jl-interface-update-btn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",spotlightClicks:!0,showProgress:!1,data:{clickBlocked:!0,clickTargetElement:".nbgitpuller-jl-interface-update-btn.jp-ToolbarButtonComponent",clickType:"click"}}),o.addStep({content:"This will continue downloading in the background as we continue the tour.",target:"#nbgitpuller-jl-interface-update-btn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"This shows how much storage space has been used on your server. If this reaches 100%, your server may become inoperable.",target:"#opensarlab-diskspace-widget",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can logout and shutdown your server here. Shutting down your server when not in use reduces OpenSARLab spending and allows us to support more users.",target:"#opensarlab-controlbtn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"This allows you to capture a GIF of your screen. Use this tool to record an issue when submitting a support request to the OpenScienceLab admin.",target:"#opensarlab-frontend-gitcap-btn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can find further documentation here.",target:"#opensarlab-doc-link-widget",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can navigate your Jupyter Notebooks through the file browser. Follow the navigation directions to continue the tour.",target:"#main",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"center",showProgress:!1,data:{nextCommand:"filebrowser:activate"}}),o.addStep({content:"This is your file browser. The next few steps will go over some of the folders present in your file system.",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0}),o.addStep({content:"Click here now to go to your home directory and continue the tour",target:'[data-path="/"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[data-icon="ui-components:folder"][width="16"]',clickType:"click"}}),o.addStep({content:"Double click here to open notebooks.",target:"[title^='Name: notebooks']",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:"[title^='Name: notebooks']",clickType:"dblclick"}}),o.addStep({content:"Here you can find assorted notebooks. Explore the folders to find available notebooks.",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!1}),o.addStep({content:"Go back to your home directory.",target:'[data-path="/"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[data-icon="ui-components:folder"][width="16"]',clickType:"click"}}),o.addStep({content:"There are cookbooks of data recipes located within the Data_Recipe_Jupyter_Books directory. Navigate to that directory.",target:"[title^='Name: Data_Recipe_Jupyter_Books']",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:"[title^='Name: Data_Recipe_Jupyter_Books']",clickType:"dblclick"}}),o.addStep({content:"Here you can find data recipe cookbooks, open a cookbook such as opensarlab_MintPy_Recipe_Book by double clicking on one before moving on to the next step",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:".jp-DirListing-item",clickType:"dblclick"}}),o.addStep({content:"You can explore a data recipe cookbook more easily using Jupyter-Book Table of Contents. Click here to explore.",target:'[title="Jupyter-Book Table of Contents"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[title="Jupyter-Book Table of Contents"]',clickType:"click"}}),o.addStep({content:'Here you can see the contents of the cookbook, you can click around to open the data recipes. Note that if you have not navigated to a Cookbook in the file browser, this will display an error stating that this is "Not a Jupyter-Book".',target:"[id='@jupyterlab-sidepanel/jb-toc'",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{nextCommand:"terminal:create-new"}}),o.addStep({content:"To delete a folder that is not empty, in a terminal run `rm -rf <Your Folder Path>`",target:".lm-Widget.jp-Terminal",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1,spotlightClicks:!0,data:{nextCommand:"helpmenu:open"}}),o.addStep({content:"You can replay this tour from the Help menu under 'OpenScienceLab Intro'",target:"#jp-mainmenu-help",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),function(e,t){e.stepChanged.connect((o,a)=>{var l;console.log(a);const c=a.step.data;switch(a.type){case"step:before":{(async()=>{await n(String(a.step.target),5e3)})();const o=document.querySelector('[aria-label="Next"][data-action="primary"]');if((null==c?void 0:c.clickBlocked)&&(null==c?void 0:c.clickTargetElement)){const s=document.querySelector(c.clickTargetElement);if(console.log("Opensciencelab-tours TARGET",s),!s)return;o&&(o.style.display="none");const r=async l=>{var s,i;if(!l.target.closest(c.clickTargetElement))return l.stopPropagation(),void l.preventDefault();document.removeEventListener(null!==(s=c.clickType)&&void 0!==s?s:"click",r,!0),c.nextCommand&&await t.execute(c.nextCommand);const d=null!==(i=e.steps[a.index+1])&&void 0!==i?i:null;if(d){const e=d.target;await n(String(e),5e3)}o.click()};document.addEventListener(null!==(l=c.clickType)&&void 0!==l?l:"click",r,!0)}else if(null==c?void 0:c.nextCommand){const l=async s=>{var r;if(s.target!==o)return;s.stopPropagation(),s.preventDefault(),document.removeEventListener("click",l,!0),await t.execute(c.nextCommand);const i=null!==(r=e.steps[a.index+1])&&void 0!==r?r:null;if(i){const e=i.target;console.log(e);const t=await n(String(e),5e3);console.log("found",t)}o.click()};document.addEventListener("click",l,!0)}break}}})}(o,t)):console.error(`Error initializing tour ${s}`)})(t,o),l.Notification.info("New to OpenScienceLab? Take a quick tour!",{autoClose:3e4,actions:[{label:"Start Tour",caption:"Launch the welcome tour",callback:()=>{e.commands.execute("jupyterlab-tour:launch",{id:s,force:!0})}},{label:"Dismiss",callback:()=>{}}]}),e.commands.execute("jupyterlab-tour:launch",{id:s,force:!1})}}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _JUPYTERLAB;(()=>{"use strict";var e,r,t,n,o,a,i,u,l,s,f,
|
|
1
|
+
var _JUPYTERLAB;(()=>{"use strict";var e,r,t,n,o,a,i,u,l,s,f,p,c,d,h,v,b,g,m,y={302(e,r,t){var n={"./index":()=>t.e(986).then(()=>()=>t(986)),"./extension":()=>t.e(986).then(()=>()=>t(986)),"./style":()=>t.e(728).then(()=>()=>t(728))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then(()=>{throw new Error('Module "'+e+'" does not exist in container.')}),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},w={};function S(e){var r=w[e];if(void 0!==r)return r.exports;var t=w[e]={id:e,exports:{}};return y[e](t,t.exports,S),t.exports}S.m=y,S.c=w,S.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return S.d(r,{a:r}),r},S.d=(e,r)=>{for(var t in r)S.o(r,t)&&!S.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce((r,t)=>(S.f[t](e,r),r),[])),S.u=e=>e+"."+{728:"8d6537396f2936663ea8",986:"b0c25d03015d17386f0c"}[e]+".js?v="+{728:"8d6537396f2936663ea8",986:"b0c25d03015d17386f0c"}[e],S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="opensciencelab-tours:",S.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,u;if(void 0!==o)for(var l=document.getElementsByTagName("script"),s=0;s<l.length;s++){var f=l[s];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+o){i=f;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",S.nc&&i.setAttribute("nonce",S.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var p=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(n)),r)return r(n)},c=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),u&&document.head.appendChild(i)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{S.S={};var e={},r={};S.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];S.o(S.S,t)||(S.S[t]={});var a=S.S[t],i="opensciencelab-tours",u=[];return"default"===t&&((e,r,t,n)=>{var o=a[e]=a[e]||{},u=o[r];(!u||!u.loaded&&(1!=!u.eager?n:i>u.from))&&(o[r]={get:()=>S.e(986).then(()=>()=>S(986)),from:i,eager:!1})})("opensciencelab-tours","0.2.2"),e[t]=u.length?Promise.all(u).then(()=>e[t]=1):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var r=S.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),t=e=>{var r=e=>e.split(".").map(e=>+e==e?+e:e),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],u=(typeof i)[0];if(a!=u)return"o"==a&&"n"==u||"s"==u||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(u=e[a]))[0]?"-":(n>0?".":"")+(n=2,u);return t}var i=[];for(a=1;a<e.length;a++){var u=e[a];i.push(0===u?"not("+l()+")":1===u?"("+l()+" || "+l()+")":2===u?i.pop()+" "+i.pop():o(u))}return l();function l(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,u=1,l=!0;;u++,i++){var s,f,p=u<e.length?(typeof e[u])[0]:"";if(i>=r.length||"o"==(f=(typeof(s=r[i]))[0]))return!l||("u"==p?u>n&&!o:""==p!=o);if("u"==f){if(!l||"u"!=p)return!1}else if(l)if(p==f)if(u<=n){if(s!=e[u])return!1}else{if(o?s>e[u]:s<e[u])return!1;s!=e[u]&&(l=!1)}else if("s"!=p&&"n"!=p){if(o||u<=n)return!1;l=!1,u--}else{if(u<=n||f<p!=o)return!1;l=!1}else"s"!=p&&"n"!=p&&(l=!1,u--)}}var c=[],d=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?d()|d():2==h?d()&d():h?a(h,r):!d())}return!!d()},i=(e,r)=>e&&S.o(e,r),u=e=>(e.loaded=1,e.get()),l=e=>Object.keys(e).reduce((r,t)=>(e[t].eager&&(r[t]=e[t]),r),{}),s=(e,r,t)=>{var o=t?l(e[r]):e[r];return Object.keys(o).reduce((e,r)=>!e||!o[e].loaded&&n(e,r)?r:e,0)},f=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",p=e=>{throw new Error(e)},c=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},d=(e,r,t)=>t?t():((e,r)=>p("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),h=(e=>function(r,t,n,o,a){var i=S.I(r);return i&&i.then&&!n?i.then(e.bind(e,r,S.S[r],t,!1,o,a)):e(r,S.S[r],t,n,o,a)})((e,r,t,n,o,l)=>{if(!i(r,t))return d(e,t,l);var p=s(r,t,n);return a(o,p)||c(f(r,t,p,o)),u(r[t][p])}),v={},b={537:()=>h("default","@jupyterlab/apputils",!1,[1,4,6,7]),615:()=>h("default","jupyterlab-tour",!1,[1,4,0,1]),651:()=>h("default","@jupyterlab/ui-components",!1,[1,4,5,7])},g={986:[537,615,651]},m={},S.f.consumes=(e,r)=>{S.o(g,e)&&g[e].forEach(e=>{if(S.o(v,e))return r.push(v[e]);if(!m[e]){var t=r=>{v[e]=0,S.m[e]=t=>{delete S.c[e],t.exports=r()}};m[e]=!0;var n=r=>{delete v[e],S.m[e]=t=>{throw delete S.c[e],r}};try{var o=b[e]();o.then?r.push(v[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}})},(()=>{var e={134:0};S.f.j=(r,t)=>{var n=S.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((t,o)=>n=e[r]=[t,o]);t.push(n[2]=o);var a=S.p+S.u(r),i=new Error;S.l(a,t=>{if(S.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}},"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,u]=t,l=0;if(a.some(r=>0!==e[r])){for(n in i)S.o(i,n)&&(S.m[n]=i[n]);u&&u(S)}for(r&&r(t);l<a.length;l++)o=a[l],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunkopensciencelab_tours=self.webpackChunkopensciencelab_tours||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),S.nc=void 0;var E=S(302);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB)["opensciencelab-tours"]=E})();
|
|
@@ -7,7 +7,9 @@ export function waitForElement(
|
|
|
7
7
|
): Promise<Element | null> {
|
|
8
8
|
return new Promise(resolve => {
|
|
9
9
|
const elem = document.querySelector(selector);
|
|
10
|
-
if (elem)
|
|
10
|
+
if (elem) {
|
|
11
|
+
return resolve(elem);
|
|
12
|
+
}
|
|
11
13
|
|
|
12
14
|
const observer = new MutationObserver(() => {
|
|
13
15
|
const el = document.querySelector(selector);
|
|
@@ -38,9 +40,8 @@ export function addTourNavigation(
|
|
|
38
40
|
|
|
39
41
|
// Handle step changing
|
|
40
42
|
switch (data.type) {
|
|
41
|
-
case 'step:before':
|
|
43
|
+
case 'step:before': {
|
|
42
44
|
// Wait for required elements
|
|
43
|
-
// const nextStep = tour.steps[data.index+1] ?? null;
|
|
44
45
|
(async () => {
|
|
45
46
|
await waitForElement(String(data.step.target), 5000);
|
|
46
47
|
})();
|
|
@@ -59,7 +60,9 @@ export function addTourNavigation(
|
|
|
59
60
|
// - clickType (Optional)
|
|
60
61
|
const target = document.querySelector(stepData.clickTargetElement);
|
|
61
62
|
console.log('Opensciencelab-tours TARGET', target);
|
|
62
|
-
if (!target)
|
|
63
|
+
if (!target) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
63
66
|
|
|
64
67
|
// Hide next button
|
|
65
68
|
if (nextBtn) {
|
|
@@ -139,6 +142,7 @@ export function addTourNavigation(
|
|
|
139
142
|
document.addEventListener('click', handler, true);
|
|
140
143
|
}
|
|
141
144
|
break;
|
|
145
|
+
}
|
|
142
146
|
}
|
|
143
147
|
});
|
|
144
148
|
}
|
|
@@ -57,6 +57,25 @@ export function createOpenScienceLabIntroTour(
|
|
|
57
57
|
disableOverlayClose: true,
|
|
58
58
|
locale: {},
|
|
59
59
|
placement: 'top',
|
|
60
|
+
spotlightClicks: true,
|
|
61
|
+
showProgress: false,
|
|
62
|
+
data: {
|
|
63
|
+
clickBlocked: true,
|
|
64
|
+
clickTargetElement:
|
|
65
|
+
'.nbgitpuller-jl-interface-update-btn.jp-ToolbarButtonComponent',
|
|
66
|
+
clickType: 'click'
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
tour.addStep({
|
|
71
|
+
content:
|
|
72
|
+
'This will continue downloading in the background as we continue the tour.',
|
|
73
|
+
target: '#nbgitpuller-jl-interface-update-btn',
|
|
74
|
+
disableBeacon: false,
|
|
75
|
+
disableOverlay: false,
|
|
76
|
+
disableOverlayClose: true,
|
|
77
|
+
locale: {},
|
|
78
|
+
placement: 'top',
|
|
60
79
|
showProgress: false
|
|
61
80
|
});
|
|
62
81
|
|
|
@@ -136,7 +155,8 @@ export function createOpenScienceLabIntroTour(
|
|
|
136
155
|
});
|
|
137
156
|
|
|
138
157
|
tour.addStep({
|
|
139
|
-
content:
|
|
158
|
+
content:
|
|
159
|
+
'Click here now to go to your home directory and continue the tour',
|
|
140
160
|
target: '[data-path="/"]',
|
|
141
161
|
disableBeacon: false,
|
|
142
162
|
disableOverlay: false,
|
|
@@ -183,7 +203,7 @@ export function createOpenScienceLabIntroTour(
|
|
|
183
203
|
});
|
|
184
204
|
|
|
185
205
|
tour.addStep({
|
|
186
|
-
content: 'Go back to your
|
|
206
|
+
content: 'Go back to your home directory.',
|
|
187
207
|
target: '[data-path="/"]',
|
|
188
208
|
disableBeacon: false,
|
|
189
209
|
disableOverlay: false,
|
|
@@ -272,7 +292,6 @@ export function createOpenScienceLabIntroTour(
|
|
|
272
292
|
tour.addStep({
|
|
273
293
|
content:
|
|
274
294
|
'To delete a folder that is not empty, in a terminal run `rm -rf <Your Folder Path>`',
|
|
275
|
-
// "target": "#main",
|
|
276
295
|
target: '.lm-Widget.jp-Terminal',
|
|
277
296
|
disableBeacon: false,
|
|
278
297
|
disableOverlay: false,
|
opensciencelab_tours-0.2.0/opensciencelab_tours/labextension/static/986.daa5df8c997759f47ec8.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkopensciencelab_tours=self.webpackChunkopensciencelab_tours||[]).push([[986],{986(e,t,o){o.r(t),o.d(t,{default:()=>c});var a=o(615),l=o(537);function n(e,t=5e3){return new Promise(o=>{const a=document.querySelector(e);if(a)return o(a);const l=new MutationObserver(()=>{const t=document.querySelector(e);t&&(l.disconnect(),o(t))});l.observe(document.body,{childList:!0,subtree:!0}),setTimeout(()=>{l.disconnect(),o(null)},t)})}var s=o(651);const r="opensciencelab-tours:intro";const c={id:"opensciencelab-tours:plugin",description:"Tours for OpenScienceLab",autoStart:!0,requires:[a.ITourManager],activate:async(e,t)=>{console.log("JupyterLab extension opensciencelab-tours is activated!");const{commands:o}=e;(function(e,t){const o=e.createTour({id:r,label:"OpenScienceLab Intro",hasHelpEntry:!0,icon:s.infoIcon,version:20260515});o?(o.addStep({content:"Welcome to OpenScienceLab",target:"#main",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"center",showProgress:!1}),o.addStep({content:"The JupyterLab top bar contains helpful menus, tools, and information for your OpenSARLab session.",target:"#jp-top-panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"The latest changes for your notebooks and other repositories can be pulled here.",target:"#nbgitpuller-jl-interface-update-btn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"This shows how much storage space has been used on your server. If this reaches 100%, your server may become inoperable.",target:"#opensarlab-diskspace-widget",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can logout and shutdown your server here. Shutting down your server when not in use reduces OpenSARLab spending and allows us to support more users.",target:"#opensarlab-controlbtn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"This allows you to capture a GIF of your screen. Use this tool to record an issue when submitting a support request to the OpenScienceLab admin.",target:"#opensarlab-frontend-gitcap-btn",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can find further documentation here.",target:"#opensarlab-doc-link-widget",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),o.addStep({content:"You can navigate your Jupyter Notebooks through the file browser. Follow the navigation directions to continue the tour.",target:"#main",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"center",showProgress:!1,data:{nextCommand:"filebrowser:activate"}}),o.addStep({content:"This is your file browser. The next few steps will go over some of the folders present in your file system.",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0}),o.addStep({content:"Click here to go to your root directory.",target:'[data-path="/"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[data-icon="ui-components:folder"][width="16"]',clickType:"click"}}),o.addStep({content:"Double click here to open notebooks.",target:"[title^='Name: notebooks']",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:"[title^='Name: notebooks']",clickType:"dblclick"}}),o.addStep({content:"Here you can find assorted notebooks. Explore the folders to find available notebooks.",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!1}),o.addStep({content:"Go back to your root directory.",target:'[data-path="/"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[data-icon="ui-components:folder"][width="16"]',clickType:"click"}}),o.addStep({content:"There are cookbooks of data recipes located within the Data_Recipe_Jupyter_Books directory. Navigate to that directory.",target:"[title^='Name: Data_Recipe_Jupyter_Books']",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:"[title^='Name: Data_Recipe_Jupyter_Books']",clickType:"dblclick"}}),o.addStep({content:"Here you can find data recipe cookbooks, open a cookbook such as opensarlab_MintPy_Recipe_Book by double clicking on one before moving on to the next step",target:".lm-Widget.lm-Panel.jp-FileBrowser-Panel",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:".jp-DirListing-item",clickType:"dblclick"}}),o.addStep({content:"You can explore a data recipe cookbook more easily using Jupyter-Book Table of Contents. Click here to explore.",target:'[title="Jupyter-Book Table of Contents"]',disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{clickBlocked:!0,clickTargetElement:'[title="Jupyter-Book Table of Contents"]',clickType:"click"}}),o.addStep({content:'Here you can see the contents of the cookbook, you can click around to open the data recipes. Note that if you have not navigated to a Cookbook in the file browser, this will display an error stating that this is "Not a Jupyter-Book".',target:"[id='@jupyterlab-sidepanel/jb-toc'",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"right",showProgress:!1,spotlightClicks:!0,data:{nextCommand:"terminal:create-new"}}),o.addStep({content:"To delete a folder that is not empty, in a terminal run `rm -rf <Your Folder Path>`",target:".lm-Widget.jp-Terminal",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1,spotlightClicks:!0,data:{nextCommand:"helpmenu:open"}}),o.addStep({content:"You can replay this tour from the Help menu under 'OpenScienceLab Intro'",target:"#jp-mainmenu-help",disableBeacon:!1,disableOverlay:!1,disableOverlayClose:!0,locale:{},placement:"top",showProgress:!1}),function(e,t){e.stepChanged.connect((o,a)=>{var l;console.log(a);const s=a.step.data;if("step:before"===a.type){(async()=>{await n(String(a.step.target),5e3)})();const o=document.querySelector('[aria-label="Next"][data-action="primary"]');if((null==s?void 0:s.clickBlocked)&&(null==s?void 0:s.clickTargetElement)){const r=document.querySelector(s.clickTargetElement);if(console.log("Opensciencelab-tours TARGET",r),!r)return;o&&(o.style.display="none");const c=async l=>{var r,i;if(!l.target.closest(s.clickTargetElement))return l.stopPropagation(),void l.preventDefault();document.removeEventListener(null!==(r=s.clickType)&&void 0!==r?r:"click",c,!0),s.nextCommand&&await t.execute(s.nextCommand);const d=null!==(i=e.steps[a.index+1])&&void 0!==i?i:null;if(d){const e=d.target;await n(String(e),5e3)}o.click()};document.addEventListener(null!==(l=s.clickType)&&void 0!==l?l:"click",c,!0)}else if(null==s?void 0:s.nextCommand){const l=async r=>{var c;if(r.target!==o)return;r.stopPropagation(),r.preventDefault(),document.removeEventListener("click",l,!0),await t.execute(s.nextCommand);const i=null!==(c=e.steps[a.index+1])&&void 0!==c?c:null;if(i){const e=i.target;console.log(e);const t=await n(String(e),5e3);console.log("found",t)}o.click()};document.addEventListener("click",l,!0)}}})}(o,t)):console.error(`Error initializing tour ${r}`)})(t,o),l.Notification.info("New to OpenScienceLab? Take a quick tour!",{autoClose:3e4,actions:[{label:"Start Tour",caption:"Launch the welcome tour",callback:()=>{e.commands.execute("jupyterlab-tour:launch",{id:r,force:!0})}},{label:"Dismiss",callback:()=>{}}]}),e.commands.execute("jupyterlab-tour:launch",{id:r,force:!1})}}}}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|