notebook 7.5.0a1__py3-none-any.whl → 7.5.0a2__py3-none-any.whl
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.
Potentially problematic release.
This version of notebook might be problematic. Click here for more details.
- notebook/_version.py +1 -1
- notebook/static/1468.38f64176ff236023d384.js +2180 -0
- notebook/static/1468.38f64176ff236023d384.js.map +1 -0
- notebook/static/1602.1f9163a55b87ec440fc5.js +2066 -0
- notebook/static/1602.1f9163a55b87ec440fc5.js.map +1 -0
- notebook/static/{1650.b00394ad3dc35053e693.js → 1650.b6a511d5a1f6220e2fa3.js} +4 -4
- notebook/static/{1650.b00394ad3dc35053e693.js.map → 1650.b6a511d5a1f6220e2fa3.js.map} +1 -1
- notebook/static/{1684.f349edb803bac0f91f0c.js → 1684.95aa82062c4eca59fdd8.js} +5 -5
- notebook/static/{1684.f349edb803bac0f91f0c.js.map → 1684.95aa82062c4eca59fdd8.js.map} +1 -1
- notebook/static/{4686.033cd721d82d6a834932.js → 1869.48ca2e23bddad3adfc1a.js} +2 -2
- notebook/static/{4686.033cd721d82d6a834932.js.map → 1869.48ca2e23bddad3adfc1a.js.map} +1 -1
- notebook/static/{2228.4d7324cc3d83ef51f620.js → 2228.e21c6943709bcbca9f11.js} +5 -5
- notebook/static/{2228.4d7324cc3d83ef51f620.js.map → 2228.e21c6943709bcbca9f11.js.map} +1 -1
- notebook/static/{3146.85e8d7d6490bc7809d61.js → 3146.f44bb02dabad5764acb1.js} +3 -3
- notebook/static/{3146.85e8d7d6490bc7809d61.js.map → 3146.f44bb02dabad5764acb1.js.map} +1 -1
- notebook/static/{3197.973b1a00d1862cd93aa3.js → 3197.faee11ea04d6005f556a.js} +5 -5
- notebook/static/{3197.973b1a00d1862cd93aa3.js.map → 3197.faee11ea04d6005f556a.js.map} +1 -1
- notebook/static/{3768.06d59da7841a953a73f9.js → 3768.a792a9cd73c0063eb1e6.js} +19 -19
- notebook/static/{7302.d917bedc72c836127fd8.js.map → 3768.a792a9cd73c0063eb1e6.js.map} +1 -1
- notebook/static/{4382.a6be960a392df98ece0a.js → 4382.b1c5a0c7667d0650c44b.js} +3 -3
- notebook/static/{4382.a6be960a392df98ece0a.js.map → 4382.b1c5a0c7667d0650c44b.js.map} +1 -1
- notebook/static/{4645.ea6bc9fd7e87785a9da6.js → 4645.7ddcfae735a32dab2a63.js} +5 -5
- notebook/static/{4645.ea6bc9fd7e87785a9da6.js.map → 4645.7ddcfae735a32dab2a63.js.map} +1 -1
- notebook/static/{4837.482580d2b358e43e70a5.js → 4837.3c7eba49f940fff29a91.js} +3 -3
- notebook/static/{4837.482580d2b358e43e70a5.js.map → 4837.3c7eba49f940fff29a91.js.map} +1 -1
- notebook/static/{5135.41f01f7766328bc84cf4.js → 5135.b48ecd90bfe174ac46cf.js} +12 -12
- notebook/static/5135.b48ecd90bfe174ac46cf.js.map +1 -0
- notebook/static/{5573.1ca7216a042fa1e46686.js → 5573.18819704a267d2675e93.js} +17 -17
- notebook/static/{5573.1ca7216a042fa1e46686.js.map → 5573.18819704a267d2675e93.js.map} +1 -1
- notebook/static/{5601.6d56403e3367766b9833.js → 5601.451696703c791262d61c.js} +5 -5
- notebook/static/{5601.6d56403e3367766b9833.js.map → 5601.451696703c791262d61c.js.map} +1 -1
- notebook/static/{6345.a3b34eb6fbdb77795446.js → 6345.418adfd3df1526bef29d.js} +5 -5
- notebook/static/{6345.a3b34eb6fbdb77795446.js.map → 6345.418adfd3df1526bef29d.js.map} +1 -1
- notebook/static/{8018.9d668662c823eb96a340.js → 6514.29684612c517058fce54.js} +2 -2
- notebook/static/{8018.9d668662c823eb96a340.js.map → 6514.29684612c517058fce54.js.map} +1 -1
- notebook/static/{7302.d917bedc72c836127fd8.js → 7302.49c1041fbaca659a1f06.js} +19 -19
- notebook/static/{3768.06d59da7841a953a73f9.js.map → 7302.49c1041fbaca659a1f06.js.map} +1 -1
- notebook/static/{7906.9861494266a56d27108d.js → 7906.548a8342ea988f1683a5.js} +3 -3
- notebook/static/{7906.9861494266a56d27108d.js.map → 7906.548a8342ea988f1683a5.js.map} +1 -1
- notebook/static/{8579.5f0f1dff5c472f6e109f.js → 8579.6d68bc32866d4eb0ba22.js} +13 -13
- notebook/static/{8579.5f0f1dff5c472f6e109f.js.map → 8579.6d68bc32866d4eb0ba22.js.map} +1 -1
- notebook/static/877.6e7f963fba9e130a70de.js +12 -0
- notebook/static/877.6e7f963fba9e130a70de.js.map +1 -0
- notebook/static/{8781.ef452884c28a92cd461a.js → 8781.06fab3c1d2b18cf2534a.js} +62 -62
- notebook/static/{8781.ef452884c28a92cd461a.js.map → 8781.06fab3c1d2b18cf2534a.js.map} +1 -1
- notebook/static/{8875.d5ac718df2dd327ea01c.js → 8875.daf6addb5886c25ad887.js} +4 -4
- notebook/static/{8875.d5ac718df2dd327ea01c.js.map → 8875.daf6addb5886c25ad887.js.map} +1 -1
- notebook/static/{9068.ffdecd947641745f1d04.js → 9068.558f62905a47813d65f6.js} +3 -3
- notebook/static/{9068.ffdecd947641745f1d04.js.map → 9068.558f62905a47813d65f6.js.map} +1 -1
- notebook/static/{9250.bdc1f9dad1231a7f6f62.js → 9250.a4dfe77db702bf7a316c.js} +2 -2
- notebook/static/{9250.bdc1f9dad1231a7f6f62.js.map → 9250.a4dfe77db702bf7a316c.js.map} +1 -1
- notebook/static/{9380.cc37e64444d30c28c8b7.js → 9380.4e3e3cfcb65c0bc07b6f.js} +5 -5
- notebook/static/{9380.cc37e64444d30c28c8b7.js.map → 9380.4e3e3cfcb65c0bc07b6f.js.map} +1 -1
- notebook/static/{9619.72d0af35a1e6e3c624d7.js → 9619.8568577b14d9b7dafc06.js} +6 -2182
- notebook/static/9619.8568577b14d9b7dafc06.js.map +1 -0
- notebook/static/main.162cdf5c87887fbae342.js +1206 -0
- notebook/static/main.162cdf5c87887fbae342.js.map +1 -0
- notebook/static/{notebook_core.37893bb05a49faa489fa.js → notebook_core.db352d5a5e6e5427718e.js} +1326 -965
- notebook/static/{notebook_core.37893bb05a49faa489fa.js.map → notebook_core.db352d5a5e6e5427718e.js.map} +1 -1
- notebook/static/third-party-licenses.json +111 -105
- notebook/templates/consoles.html +1 -1
- notebook/templates/edit.html +1 -1
- notebook/templates/error.html +1 -1
- notebook/templates/notebooks.html +1 -1
- notebook/templates/terminals.html +1 -1
- notebook/templates/tree.html +1 -1
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/package.json.orig +14 -14
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/documentsearch-extension/package.json.orig +4 -4
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/package.json.orig +6 -6
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/package.json.orig +9 -9
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/package.json.orig +15 -15
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/package.json +11 -11
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/package.json.orig +10 -10
- notebook-7.5.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.8c581a64e1c3fa57e146.js +1 -0
- notebook-7.5.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/72.de849eb23a96c949827b.js +1 -0
- notebook-7.5.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.d9792bb41a11ffa9f14c.js +1 -0
- notebook-7.5.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.4720490c302033257d7d.js +1 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/third-party-licenses.json +2 -2
- {notebook-7.5.0a1.dist-info → notebook-7.5.0a2.dist-info}/METADATA +2 -2
- {notebook-7.5.0a1.dist-info → notebook-7.5.0a2.dist-info}/RECORD +104 -98
- notebook/static/5135.41f01f7766328bc84cf4.js.map +0 -1
- notebook/static/9619.72d0af35a1e6e3c624d7.js.map +0 -1
- notebook/static/main.3d8274c6ccdd05c0f5b1.js +0 -1191
- notebook/static/main.3d8274c6ccdd05c0f5b1.js.map +0 -1
- notebook-7.5.0a1.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.86e4dcf4a87445c5d0c3.js +0 -1
- notebook-7.5.0a1.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/743.252a0fdc772394b5030e.js +0 -1
- notebook-7.5.0a1.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.92ec0e44385a6f5a58da.js +0 -1
- notebook-7.5.0a1.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.47eb4f1e4922cfb9a214.js +0 -1
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/etc/jupyter/jupyter_server_config.d/notebook.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/applications/jupyter-notebook.desktop +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/icons/hicolor/scalable/apps/notebook.svg +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/menus.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/pages.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/shell.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/title.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/top.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/zen.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/open.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/checkpoints.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/edit-notebook-metadata.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/full-width-notebook.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/kernel-logo.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/scroll-output.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/file-actions.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/widget.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/interface-switcher.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/launch-tree.json +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/93.eae3497dd223d842d198.js +0 -0
- {notebook-7.5.0a1.data → notebook-7.5.0a2.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/style.js +0 -0
- {notebook-7.5.0a1.dist-info → notebook-7.5.0a2.dist-info}/WHEEL +0 -0
- {notebook-7.5.0a1.dist-info → notebook-7.5.0a2.dist-info}/entry_points.txt +0 -0
- {notebook-7.5.0a1.dist-info → notebook-7.5.0a2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5573.1ca7216a042fa1e46686.js?v=1ca7216a042fa1e46686","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmD;AACI;AACJ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA,kCAAkC,4BAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,cAAc,sCAAe;AAC7B;AACA;AACA,IAAI,6BAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,sCAAmB,aAAa,2DAA2D,oBAAoB,IAAI,gBAAgB;AAC/I;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,uBAAuB;AACxD,eAAe,qBAAW,QAAQ,sCAAmB,kBAAkB,4CAA4C;AACnH;AACA,CAAC,4CAA4C;;;ACtE7C;AACA;AAC0F;AACnB;AACb;AACT;AACuC;AACzB;AACO;AACP;AACxB;AACE;AACI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yCAAgB,EAAE,qCAAW;AAC5C,eAAe,wCAAc,EAAE,gCAAsB;AACrD;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,mCAAmC,yBAAM,GAAG,MAAM;AAClD,4BAA4B,kBAAQ;AACpC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,kBAAI;AACnE;AACA;AACA;AACA;AACA,YAAY,kBAAI;AAChB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAS;AACxB,eAAe,qCAAW;AAC1B;AACA,gBAAgB,WAAW;AAC3B,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,iBAAiB;AACtF;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B;AACA,gBAAgB,WAAW;AAC3B,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA,4BAA4B,oBAAM,MAAM,wBAAU;AAClD;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B,eAAe,yBAAe,EAAE,8CAAgB,EAAE,qCAAW;AAC7D;AACA,mFAAmF,wCAAc;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc;AAC7B,eAAe,gCAAsB;AACrC;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yBAAM,GAAG,MAAM;AAClD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc,EAAE,qCAAW;AAC1C;AACA;AACA,2BAA2B,yBAAM;AACjC;AACA,wCAAwC,aAAa;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAI,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B,eAAe,8CAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc;AAC7B,eAAe,qCAAc;AAC7B;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA,oDAAoD,4BAA4B;AAChF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B;AACA;AACA,wBAAwB,wBAAU;AAClC,6BAA6B,oBAAM;AACnC,yBAAyB,oBAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc,EAAE,qCAAW;AAC1C;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA,2BAA2B,gBAAgB,UAAU,sBAAsB;AAC3E;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe,EAAE,qCAAW,EAAE,qCAAc;AAC3D;AACA,gBAAgB,kBAAkB;AAClC,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,+CAA+C,oCAAa;AAC5D,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/notebook-extension/lib/trusted.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/notebook-extension/lib/index.js"],"sourcesContent":["import { ReactWidget } from '@jupyterlab/apputils';\nimport { NotebookActions } from '@jupyterlab/notebook';\nimport React, { useEffect, useState } from 'react';\n/**\n * Check if a notebook is trusted\n * @param notebook The notebook to check\n * @returns true if the notebook is trusted, false otherwise\n */\nconst isTrusted = (notebook) => {\n const model = notebook.model;\n if (!model) {\n return false;\n }\n const cells = Array.from(model.cells);\n let total = 0;\n let trusted = 0;\n for (const currentCell of cells) {\n if (currentCell.type !== 'code') {\n continue;\n }\n total++;\n if (currentCell.trusted) {\n trusted++;\n }\n }\n return trusted === total;\n};\n/**\n * A React component to display the Trusted badge in the menu bar.\n * @param notebook The Notebook\n * @param translator The Translation service\n */\nconst TrustedButton = ({ notebook, translator, }) => {\n const trans = translator.load('notebook');\n const [trusted, setTrusted] = useState(isTrusted(notebook));\n const checkTrust = () => {\n const v = isTrusted(notebook);\n setTrusted(v);\n };\n const trust = async () => {\n await NotebookActions.trust(notebook, translator);\n checkTrust();\n };\n useEffect(() => {\n notebook.modelContentChanged.connect(checkTrust);\n notebook.activeCellChanged.connect(checkTrust);\n checkTrust();\n return () => {\n notebook.modelContentChanged.disconnect(checkTrust);\n notebook.activeCellChanged.disconnect(checkTrust);\n };\n });\n return (React.createElement(\"button\", { className: 'jp-NotebookTrustedStatus', style: !trusted ? { cursor: 'pointer' } : { cursor: 'help' }, onClick: () => !trusted && trust(), title: trusted\n ? trans.__('JavaScript enabled for notebook display')\n : trans.__('JavaScript disabled for notebook display') }, trusted ? trans.__('Trusted') : trans.__('Not Trusted')));\n};\n/**\n * A namespace for TrustedComponent static methods.\n */\nexport var TrustedComponent;\n(function (TrustedComponent) {\n /**\n * Create a new TrustedComponent\n *\n * @param notebook The notebook\n * @param translator The translator\n */\n TrustedComponent.create = ({ notebook, translator, }) => {\n return ReactWidget.create(React.createElement(TrustedButton, { notebook: notebook, translator: translator }));\n };\n})(TrustedComponent || (TrustedComponent = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { DOMUtils, IToolbarWidgetRegistry, ICommandPalette, } from '@jupyterlab/apputils';\nimport { PageConfig, Text, Time, URLExt } from '@jupyterlab/coreutils';\nimport { IDocumentManager } from '@jupyterlab/docmanager';\nimport { IMainMenu } from '@jupyterlab/mainmenu';\nimport { NotebookPanel, INotebookTracker, INotebookTools, } from '@jupyterlab/notebook';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { ITranslator, nullTranslator } from '@jupyterlab/translation';\nimport { INotebookShell } from '@jupyter-notebook/application';\nimport { Poll } from '@lumino/polling';\nimport { Widget } from '@lumino/widgets';\nimport { TrustedComponent } from './trusted';\n/**\n * The class for kernel status errors.\n */\nconst KERNEL_STATUS_ERROR_CLASS = 'jp-NotebookKernelStatus-error';\n/**\n * The class for kernel status warnings.\n */\nconst KERNEL_STATUS_WARN_CLASS = 'jp-NotebookKernelStatus-warn';\n/**\n * The class for kernel status infos.\n */\nconst KERNEL_STATUS_INFO_CLASS = 'jp-NotebookKernelStatus-info';\n/**\n * The class to fade out the kernel status.\n */\nconst KERNEL_STATUS_FADE_OUT_CLASS = 'jp-NotebookKernelStatus-fade';\n/**\n * The class for scrolled outputs\n */\nconst SCROLLED_OUTPUTS_CLASS = 'jp-mod-outputsScrolled';\n/**\n * The class for the full width notebook\n */\nconst FULL_WIDTH_NOTEBOOK_CLASS = 'jp-mod-fullwidth';\n/**\n * The command IDs used by the notebook plugins.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n /**\n * A command to open right sidebar for Editing Notebook Metadata\n */\n CommandIDs.openEditNotebookMetadata = 'notebook:edit-metadata';\n /**\n * A command to toggle full width of the notebook\n */\n CommandIDs.toggleFullWidth = 'notebook:toggle-full-width';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * A plugin for the checkpoint indicator\n */\nconst checkpoints = {\n id: '@jupyter-notebook/notebook-extension:checkpoints',\n description: 'A plugin for the checkpoint indicator.',\n autoStart: true,\n requires: [IDocumentManager, ITranslator],\n optional: [INotebookShell, IToolbarWidgetRegistry],\n activate: (app, docManager, translator, notebookShell, toolbarRegistry) => {\n const { shell } = app;\n const trans = translator.load('notebook');\n const node = document.createElement('div');\n if (toolbarRegistry) {\n toolbarRegistry.addFactory('TopBar', 'checkpoint', (toolbar) => {\n const widget = new Widget({ node });\n widget.id = DOMUtils.createDomID();\n widget.addClass('jp-NotebookCheckpoint');\n return widget;\n });\n }\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!current) {\n return;\n }\n const context = docManager.contextForWidget(current);\n context === null || context === void 0 ? void 0 : context.fileChanged.disconnect(onChange);\n context === null || context === void 0 ? void 0 : context.fileChanged.connect(onChange);\n const checkpoints = await (context === null || context === void 0 ? void 0 : context.listCheckpoints());\n if (!checkpoints || !checkpoints.length) {\n return;\n }\n const checkpoint = checkpoints[checkpoints.length - 1];\n node.textContent = trans.__('Last Checkpoint: %1', Time.formatHuman(new Date(checkpoint.last_modified)));\n };\n if (notebookShell) {\n notebookShell.currentChanged.connect(onChange);\n }\n new Poll({\n auto: true,\n factory: () => onChange(),\n frequency: {\n interval: 2000,\n backoff: false,\n },\n standby: 'when-hidden',\n });\n },\n};\n/**\n * Add a command to close the browser tab when clicking on \"Close and Shut Down\"\n */\nconst closeTab = {\n id: '@jupyter-notebook/notebook-extension:close-tab',\n description: 'Add a command to close the browser tab when clicking on \"Close and Shut Down\".',\n autoStart: true,\n requires: [IMainMenu],\n optional: [ITranslator],\n activate: (app, menu, translator) => {\n const { commands } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n const id = 'notebook:close-and-halt';\n commands.addCommand(id, {\n label: trans.__('Close and Shut Down Notebook'),\n execute: async () => {\n // Shut the kernel down, without confirmation\n await commands.execute('notebook:shutdown-kernel', { activate: false });\n window.close();\n },\n });\n menu.fileMenu.closeAndCleaners.add({\n id,\n // use a small rank to it takes precedence over the default\n // shut down action for the notebook\n rank: 0,\n });\n },\n};\n/**\n * Add a command to open the tree view from the notebook view\n */\nconst openTreeTab = {\n id: '@jupyter-notebook/notebook-extension:open-tree-tab',\n description: 'Add a command to open a browser tab on the tree view when clicking \"Open...\".',\n autoStart: true,\n optional: [ITranslator],\n activate: (app, translator) => {\n const { commands } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n const id = 'notebook:open-tree-tab';\n commands.addCommand(id, {\n label: trans.__('Open…'),\n execute: async () => {\n const url = URLExt.join(PageConfig.getBaseUrl(), 'tree');\n window.open(url);\n },\n });\n },\n};\n/**\n * A plugin to set the notebook to full width.\n */\nconst fullWidthNotebook = {\n id: '@jupyter-notebook/notebook-extension:full-width-notebook',\n description: 'A plugin to set the notebook to full width.',\n autoStart: true,\n requires: [INotebookTracker],\n optional: [ICommandPalette, ISettingRegistry, ITranslator],\n activate: (app, tracker, palette, settingRegistry, translator) => {\n const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('notebook');\n let fullWidth = false;\n const toggleFullWidth = () => {\n const current = tracker.currentWidget;\n fullWidth = !fullWidth;\n if (!current) {\n return;\n }\n const content = current;\n content.toggleClass(FULL_WIDTH_NOTEBOOK_CLASS, fullWidth);\n };\n let notebookSettings;\n if (settingRegistry) {\n const loadSettings = settingRegistry.load(fullWidthNotebook.id);\n const updateSettings = (settings) => {\n const newFullWidth = settings.get('fullWidthNotebook')\n .composite;\n if (newFullWidth !== fullWidth) {\n toggleFullWidth();\n }\n };\n Promise.all([loadSettings, app.restored])\n .then(([settings]) => {\n notebookSettings = settings;\n updateSettings(settings);\n settings.changed.connect((settings) => {\n updateSettings(settings);\n });\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n }\n app.commands.addCommand(CommandIDs.toggleFullWidth, {\n label: trans.__('Enable Full Width Notebook'),\n execute: () => {\n toggleFullWidth();\n if (notebookSettings) {\n notebookSettings.set('fullWidthNotebook', fullWidth);\n }\n },\n isEnabled: () => tracker.currentWidget !== null,\n isToggled: () => fullWidth,\n });\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFullWidth,\n category: 'Notebook Operations',\n });\n }\n },\n};\n/**\n * The kernel logo plugin.\n */\nconst kernelLogo = {\n id: '@jupyter-notebook/notebook-extension:kernel-logo',\n description: 'The kernel logo plugin.',\n autoStart: true,\n requires: [INotebookShell],\n optional: [IToolbarWidgetRegistry],\n activate: (app, shell, toolbarRegistry) => {\n const { serviceManager } = app;\n const node = document.createElement('div');\n const img = document.createElement('img');\n const onChange = async () => {\n var _a, _b, _c, _d, _e;\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n if (!node.hasChildNodes()) {\n node.appendChild(img);\n }\n await current.sessionContext.ready;\n current.sessionContext.kernelChanged.disconnect(onChange);\n current.sessionContext.kernelChanged.connect(onChange);\n const name = (_c = (_b = (_a = current.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '';\n const spec = (_e = (_d = serviceManager.kernelspecs) === null || _d === void 0 ? void 0 : _d.specs) === null || _e === void 0 ? void 0 : _e.kernelspecs[name];\n if (!spec) {\n node.childNodes[0].remove();\n return;\n }\n const kernelIconUrl = spec.resources['logo-64x64'];\n if (!kernelIconUrl) {\n node.childNodes[0].remove();\n return;\n }\n img.src = kernelIconUrl;\n img.title = spec.display_name;\n };\n if (toolbarRegistry) {\n toolbarRegistry.addFactory('TopBar', 'kernelLogo', (toolbar) => {\n const widget = new Widget({ node });\n widget.addClass('jp-NotebookKernelLogo');\n return widget;\n });\n }\n app.started.then(() => {\n shell.currentChanged.connect(onChange);\n });\n },\n};\n/**\n * A plugin to display the kernel status;\n */\nconst kernelStatus = {\n id: '@jupyter-notebook/notebook-extension:kernel-status',\n description: 'A plugin to display the kernel status.',\n autoStart: true,\n requires: [INotebookShell, ITranslator],\n activate: (app, shell, translator) => {\n const trans = translator.load('notebook');\n const widget = new Widget();\n widget.addClass('jp-NotebookKernelStatus');\n app.shell.add(widget, 'menu', { rank: 10010 });\n const removeClasses = () => {\n widget.removeClass(KERNEL_STATUS_ERROR_CLASS);\n widget.removeClass(KERNEL_STATUS_WARN_CLASS);\n widget.removeClass(KERNEL_STATUS_INFO_CLASS);\n widget.removeClass(KERNEL_STATUS_FADE_OUT_CLASS);\n };\n const onStatusChanged = (sessionContext) => {\n const status = sessionContext.kernelDisplayStatus;\n let text = `Kernel ${Text.titleCase(status)}`;\n removeClasses();\n switch (status) {\n case 'busy':\n case 'idle':\n text = '';\n widget.addClass(KERNEL_STATUS_FADE_OUT_CLASS);\n break;\n case 'dead':\n case 'terminating':\n widget.addClass(KERNEL_STATUS_ERROR_CLASS);\n break;\n case 'unknown':\n widget.addClass(KERNEL_STATUS_WARN_CLASS);\n break;\n default:\n widget.addClass(KERNEL_STATUS_INFO_CLASS);\n widget.addClass(KERNEL_STATUS_FADE_OUT_CLASS);\n break;\n }\n widget.node.textContent = trans.__(text);\n };\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n const sessionContext = current.sessionContext;\n sessionContext.statusChanged.connect(onStatusChanged);\n };\n shell.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin to enable scrolling for outputs by default.\n * Mimic the logic from the classic notebook, as found here:\n * https://github.com/jupyter/notebook/blob/a9a31c096eeffe1bff4e9164c6a0442e0e13cdb3/notebook/static/notebook/js/outputarea.js#L96-L120\n */\nconst scrollOutput = {\n id: '@jupyter-notebook/notebook-extension:scroll-output',\n description: 'A plugin to enable scrolling for outputs by default.',\n autoStart: true,\n requires: [INotebookTracker],\n optional: [ISettingRegistry],\n activate: async (app, tracker, settingRegistry) => {\n const autoScrollThreshold = 100;\n let autoScrollOutputs = true;\n // decide whether to scroll the output of the cell based on some heuristics\n const autoScroll = (cell) => {\n if (!autoScrollOutputs) {\n // bail if disabled via the settings\n cell.removeClass(SCROLLED_OUTPUTS_CLASS);\n return;\n }\n const { outputArea } = cell;\n // respect cells with an explicit scrolled state\n const scrolled = cell.model.getMetadata('scrolled');\n if (scrolled !== undefined) {\n return;\n }\n const { node } = outputArea;\n const height = node.scrollHeight;\n const fontSize = parseFloat(node.style.fontSize.replace('px', ''));\n const lineHeight = (fontSize || 14) * 1.3;\n // do not set via cell.outputScrolled = true, as this would\n // otherwise synchronize the scrolled state to the notebook metadata\n const scroll = height > lineHeight * autoScrollThreshold;\n cell.toggleClass(SCROLLED_OUTPUTS_CLASS, scroll);\n };\n const handlers = {};\n const setAutoScroll = (cell) => {\n if (cell.model.type === 'code') {\n const codeCell = cell;\n const id = codeCell.model.id;\n autoScroll(codeCell);\n if (handlers[id]) {\n codeCell.outputArea.model.changed.disconnect(handlers[id]);\n }\n handlers[id] = () => autoScroll(codeCell);\n codeCell.outputArea.model.changed.connect(handlers[id]);\n }\n };\n tracker.widgetAdded.connect((sender, notebook) => {\n var _a;\n // when the notebook widget is created, process all the cells\n notebook.sessionContext.ready.then(() => {\n notebook.content.widgets.forEach(setAutoScroll);\n });\n (_a = notebook.model) === null || _a === void 0 ? void 0 : _a.cells.changed.connect((sender, args) => {\n notebook.content.widgets.forEach(setAutoScroll);\n });\n });\n if (settingRegistry) {\n const loadSettings = settingRegistry.load(scrollOutput.id);\n const updateSettings = (settings) => {\n autoScrollOutputs = settings.get('autoScrollOutputs')\n .composite;\n };\n Promise.all([loadSettings, app.restored])\n .then(([settings]) => {\n updateSettings(settings);\n settings.changed.connect((settings) => {\n updateSettings(settings);\n });\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n }\n },\n};\n/**\n * A plugin to add the NotebookTools to the side panel;\n */\nconst notebookToolsWidget = {\n id: '@jupyter-notebook/notebook-extension:notebook-tools',\n description: 'A plugin to add the NotebookTools to the side panel.',\n autoStart: true,\n requires: [INotebookShell],\n optional: [INotebookTools],\n activate: (app, shell, notebookTools) => {\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n // Add the notebook tools in right area.\n if (notebookTools) {\n shell.add(notebookTools, 'right', { type: 'Property Inspector' });\n }\n };\n shell.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin to update the tab icon based on the kernel status.\n */\nconst tabIcon = {\n id: '@jupyter-notebook/notebook-extension:tab-icon',\n description: 'A plugin to update the tab icon based on the kernel status.',\n autoStart: true,\n requires: [INotebookTracker],\n activate: (app, tracker) => {\n // the favicons are provided by Jupyter Server\n const baseURL = PageConfig.getBaseUrl();\n const notebookIcon = URLExt.join(baseURL, 'static/favicons/favicon-notebook.ico');\n const busyIcon = URLExt.join(baseURL, 'static/favicons/favicon-busy-1.ico');\n const updateBrowserFavicon = (status) => {\n const link = document.querySelector(\"link[rel*='icon']\");\n switch (status) {\n case 'busy':\n link.href = busyIcon;\n break;\n case 'idle':\n link.href = notebookIcon;\n break;\n }\n };\n const onChange = async () => {\n const current = tracker.currentWidget;\n const sessionContext = current === null || current === void 0 ? void 0 : current.sessionContext;\n if (!sessionContext) {\n return;\n }\n sessionContext.statusChanged.connect(() => {\n const status = sessionContext.kernelDisplayStatus;\n updateBrowserFavicon(status);\n });\n };\n tracker.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin that adds a Trusted indicator to the menu area\n */\nconst trusted = {\n id: '@jupyter-notebook/notebook-extension:trusted',\n description: 'A plugin that adds a Trusted indicator to the menu area.',\n autoStart: true,\n requires: [INotebookShell, ITranslator],\n activate: (app, notebookShell, translator) => {\n const onChange = async () => {\n const current = notebookShell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n const notebook = current.content;\n await current.context.ready;\n const widget = TrustedComponent.create({ notebook, translator });\n notebookShell.add(widget, 'menu', {\n rank: 11000,\n });\n };\n notebookShell.currentChanged.connect(onChange);\n },\n};\n/**\n * Add a command to open right sidebar for Editing Notebook Metadata when clicking on \"Edit Notebook Metadata\" under Edit menu\n */\nconst editNotebookMetadata = {\n id: '@jupyter-notebook/notebook-extension:edit-notebook-metadata',\n description: 'Add a command to open right sidebar for Editing Notebook Metadata when clicking on \"Edit Notebook Metadata\" under Edit menu',\n autoStart: true,\n optional: [ICommandPalette, ITranslator, INotebookTools],\n activate: (app, palette, translator, notebookTools) => {\n const { commands, shell } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n commands.addCommand(CommandIDs.openEditNotebookMetadata, {\n label: trans.__('Edit Notebook Metadata'),\n execute: async () => {\n const command = 'application:toggle-panel';\n const args = {\n side: 'right',\n title: 'Show Notebook Tools',\n id: 'notebook-tools',\n };\n // Check if Show Notebook Tools (Right Sidebar) is open (expanded)\n if (!commands.isToggled(command, args)) {\n await commands.execute(command, args).then((_) => {\n // For expanding the 'Advanced Tools' section (default: collapsed)\n if (notebookTools) {\n const tools = (notebookTools === null || notebookTools === void 0 ? void 0 : notebookTools.layout).widgets;\n tools.forEach((tool) => {\n if (tool.widget.title.label === trans.__('Advanced Tools') &&\n tool.collapsed) {\n tool.toggle();\n }\n });\n }\n });\n }\n },\n isVisible: () => shell.currentWidget !== null &&\n shell.currentWidget instanceof NotebookPanel,\n });\n if (palette) {\n palette.addItem({\n command: CommandIDs.openEditNotebookMetadata,\n category: 'Notebook Operations',\n });\n }\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n checkpoints,\n closeTab,\n openTreeTab,\n editNotebookMetadata,\n fullWidthNotebook,\n kernelLogo,\n kernelStatus,\n notebookToolsWidget,\n scrollOutput,\n tabIcon,\n trusted,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"5573.18819704a267d2675e93.js?v=18819704a267d2675e93","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmD;AACI;AACJ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA,kCAAkC,4BAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,cAAc,sCAAe;AAC7B;AACA;AACA,IAAI,6BAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,sCAAmB,aAAa,2DAA2D,oBAAoB,IAAI,gBAAgB;AAC/I;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,uBAAuB;AACxD,eAAe,qBAAW,QAAQ,sCAAmB,kBAAkB,4CAA4C;AACnH;AACA,CAAC,4CAA4C;;;ACtE7C;AACA;AAC0F;AACnB;AACb;AACT;AACuC;AACzB;AACO;AACP;AACxB;AACE;AACI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yCAAgB,EAAE,qCAAW;AAC5C,eAAe,wCAAc,EAAE,gCAAsB;AACrD;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,mCAAmC,yBAAM,GAAG,MAAM;AAClD,4BAA4B,kBAAQ;AACpC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,kBAAI;AACnE;AACA;AACA;AACA;AACA,YAAY,kBAAI;AAChB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAS;AACxB,eAAe,qCAAW;AAC1B;AACA,gBAAgB,WAAW;AAC3B,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,iBAAiB;AACtF;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B;AACA,gBAAgB,WAAW;AAC3B,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA,4BAA4B,oBAAM,MAAM,wBAAU;AAClD;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B,eAAe,yBAAe,EAAE,8CAAgB,EAAE,qCAAW;AAC7D;AACA,mFAAmF,wCAAc;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc;AAC7B,eAAe,gCAAsB;AACrC;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yBAAM,GAAG,MAAM;AAClD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc,EAAE,qCAAW;AAC1C;AACA;AACA,2BAA2B,yBAAM;AACjC;AACA,wCAAwC,aAAa;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAI,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B,eAAe,8CAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc;AAC7B,eAAe,qCAAc;AAC7B;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA,oDAAoD,4BAA4B;AAChF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAgB;AAC/B;AACA;AACA,wBAAwB,wBAAU;AAClC,6BAA6B,oBAAM;AACnC,yBAAyB,oBAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wCAAc,EAAE,qCAAW;AAC1C;AACA;AACA;AACA,qCAAqC,oCAAa;AAClD;AACA;AACA;AACA;AACA,2BAA2B,gBAAgB,UAAU,sBAAsB;AAC3E;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe,EAAE,qCAAW,EAAE,qCAAc;AAC3D;AACA,gBAAgB,kBAAkB;AAClC,iFAAiF,wCAAc;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,+CAA+C,oCAAa;AAC5D,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/notebook-extension/lib/trusted.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/notebook-extension/lib/index.js"],"sourcesContent":["import { ReactWidget } from '@jupyterlab/apputils';\nimport { NotebookActions } from '@jupyterlab/notebook';\nimport React, { useEffect, useState } from 'react';\n/**\n * Check if a notebook is trusted\n * @param notebook The notebook to check\n * @returns true if the notebook is trusted, false otherwise\n */\nconst isTrusted = (notebook) => {\n const model = notebook.model;\n if (!model) {\n return false;\n }\n const cells = Array.from(model.cells);\n let total = 0;\n let trusted = 0;\n for (const currentCell of cells) {\n if (currentCell.type !== 'code') {\n continue;\n }\n total++;\n if (currentCell.trusted) {\n trusted++;\n }\n }\n return trusted === total;\n};\n/**\n * A React component to display the Trusted badge in the menu bar.\n * @param notebook The Notebook\n * @param translator The Translation service\n */\nconst TrustedButton = ({ notebook, translator, }) => {\n const trans = translator.load('notebook');\n const [trusted, setTrusted] = useState(isTrusted(notebook));\n const checkTrust = () => {\n const v = isTrusted(notebook);\n setTrusted(v);\n };\n const trust = async () => {\n await NotebookActions.trust(notebook, translator);\n checkTrust();\n };\n useEffect(() => {\n notebook.modelContentChanged.connect(checkTrust);\n notebook.activeCellChanged.connect(checkTrust);\n checkTrust();\n return () => {\n notebook.modelContentChanged.disconnect(checkTrust);\n notebook.activeCellChanged.disconnect(checkTrust);\n };\n });\n return (React.createElement(\"button\", { className: 'jp-NotebookTrustedStatus', style: !trusted ? { cursor: 'pointer' } : { cursor: 'help' }, onClick: () => !trusted && trust(), title: trusted\n ? trans.__('JavaScript enabled for notebook display')\n : trans.__('JavaScript disabled for notebook display') }, trusted ? trans.__('Trusted') : trans.__('Not Trusted')));\n};\n/**\n * A namespace for TrustedComponent static methods.\n */\nexport var TrustedComponent;\n(function (TrustedComponent) {\n /**\n * Create a new TrustedComponent\n *\n * @param notebook The notebook\n * @param translator The translator\n */\n TrustedComponent.create = ({ notebook, translator, }) => {\n return ReactWidget.create(React.createElement(TrustedButton, { notebook: notebook, translator: translator }));\n };\n})(TrustedComponent || (TrustedComponent = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { DOMUtils, IToolbarWidgetRegistry, ICommandPalette, } from '@jupyterlab/apputils';\nimport { PageConfig, Text, Time, URLExt } from '@jupyterlab/coreutils';\nimport { IDocumentManager } from '@jupyterlab/docmanager';\nimport { IMainMenu } from '@jupyterlab/mainmenu';\nimport { NotebookPanel, INotebookTracker, INotebookTools, } from '@jupyterlab/notebook';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { ITranslator, nullTranslator } from '@jupyterlab/translation';\nimport { INotebookShell } from '@jupyter-notebook/application';\nimport { Poll } from '@lumino/polling';\nimport { Widget } from '@lumino/widgets';\nimport { TrustedComponent } from './trusted';\n/**\n * The class for kernel status errors.\n */\nconst KERNEL_STATUS_ERROR_CLASS = 'jp-NotebookKernelStatus-error';\n/**\n * The class for kernel status warnings.\n */\nconst KERNEL_STATUS_WARN_CLASS = 'jp-NotebookKernelStatus-warn';\n/**\n * The class for kernel status infos.\n */\nconst KERNEL_STATUS_INFO_CLASS = 'jp-NotebookKernelStatus-info';\n/**\n * The class to fade out the kernel status.\n */\nconst KERNEL_STATUS_FADE_OUT_CLASS = 'jp-NotebookKernelStatus-fade';\n/**\n * The class for scrolled outputs\n */\nconst SCROLLED_OUTPUTS_CLASS = 'jp-mod-outputsScrolled';\n/**\n * The class for the full width notebook\n */\nconst FULL_WIDTH_NOTEBOOK_CLASS = 'jp-mod-fullwidth';\n/**\n * The command IDs used by the notebook plugins.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n /**\n * A command to open right sidebar for Editing Notebook Metadata\n */\n CommandIDs.openEditNotebookMetadata = 'notebook:edit-metadata';\n /**\n * A command to toggle full width of the notebook\n */\n CommandIDs.toggleFullWidth = 'notebook:toggle-full-width';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * A plugin for the checkpoint indicator\n */\nconst checkpoints = {\n id: '@jupyter-notebook/notebook-extension:checkpoints',\n description: 'A plugin for the checkpoint indicator.',\n autoStart: true,\n requires: [IDocumentManager, ITranslator],\n optional: [INotebookShell, IToolbarWidgetRegistry],\n activate: (app, docManager, translator, notebookShell, toolbarRegistry) => {\n const { shell } = app;\n const trans = translator.load('notebook');\n const node = document.createElement('div');\n if (toolbarRegistry) {\n toolbarRegistry.addFactory('TopBar', 'checkpoint', (toolbar) => {\n const widget = new Widget({ node });\n widget.id = DOMUtils.createDomID();\n widget.addClass('jp-NotebookCheckpoint');\n return widget;\n });\n }\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!current) {\n return;\n }\n const context = docManager.contextForWidget(current);\n context === null || context === void 0 ? void 0 : context.fileChanged.disconnect(onChange);\n context === null || context === void 0 ? void 0 : context.fileChanged.connect(onChange);\n const checkpoints = await (context === null || context === void 0 ? void 0 : context.listCheckpoints());\n if (!checkpoints || !checkpoints.length) {\n return;\n }\n const checkpoint = checkpoints[checkpoints.length - 1];\n node.textContent = trans.__('Last Checkpoint: %1', Time.formatHuman(new Date(checkpoint.last_modified)));\n };\n if (notebookShell) {\n notebookShell.currentChanged.connect(onChange);\n }\n new Poll({\n auto: true,\n factory: () => onChange(),\n frequency: {\n interval: 2000,\n backoff: false,\n },\n standby: 'when-hidden',\n });\n },\n};\n/**\n * Add a command to close the browser tab when clicking on \"Close and Shut Down\"\n */\nconst closeTab = {\n id: '@jupyter-notebook/notebook-extension:close-tab',\n description: 'Add a command to close the browser tab when clicking on \"Close and Shut Down\".',\n autoStart: true,\n requires: [IMainMenu],\n optional: [ITranslator],\n activate: (app, menu, translator) => {\n const { commands } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n const id = 'notebook:close-and-halt';\n commands.addCommand(id, {\n label: trans.__('Close and Shut Down Notebook'),\n execute: async () => {\n // Shut the kernel down, without confirmation\n await commands.execute('notebook:shutdown-kernel', { activate: false });\n window.close();\n },\n });\n menu.fileMenu.closeAndCleaners.add({\n id,\n // use a small rank to it takes precedence over the default\n // shut down action for the notebook\n rank: 0,\n });\n },\n};\n/**\n * Add a command to open the tree view from the notebook view\n */\nconst openTreeTab = {\n id: '@jupyter-notebook/notebook-extension:open-tree-tab',\n description: 'Add a command to open a browser tab on the tree view when clicking \"Open...\".',\n autoStart: true,\n optional: [ITranslator],\n activate: (app, translator) => {\n const { commands } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n const id = 'notebook:open-tree-tab';\n commands.addCommand(id, {\n label: trans.__('Open…'),\n execute: async () => {\n const url = URLExt.join(PageConfig.getBaseUrl(), 'tree');\n window.open(url);\n },\n });\n },\n};\n/**\n * A plugin to set the notebook to full width.\n */\nconst fullWidthNotebook = {\n id: '@jupyter-notebook/notebook-extension:full-width-notebook',\n description: 'A plugin to set the notebook to full width.',\n autoStart: true,\n requires: [INotebookTracker],\n optional: [ICommandPalette, ISettingRegistry, ITranslator],\n activate: (app, tracker, palette, settingRegistry, translator) => {\n const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('notebook');\n let fullWidth = false;\n const toggleFullWidth = () => {\n const current = tracker.currentWidget;\n fullWidth = !fullWidth;\n if (!current) {\n return;\n }\n const content = current;\n content.toggleClass(FULL_WIDTH_NOTEBOOK_CLASS, fullWidth);\n };\n let notebookSettings;\n if (settingRegistry) {\n const loadSettings = settingRegistry.load(fullWidthNotebook.id);\n const updateSettings = (settings) => {\n const newFullWidth = settings.get('fullWidthNotebook')\n .composite;\n if (newFullWidth !== fullWidth) {\n toggleFullWidth();\n }\n };\n Promise.all([loadSettings, app.restored])\n .then(([settings]) => {\n notebookSettings = settings;\n updateSettings(settings);\n settings.changed.connect((settings) => {\n updateSettings(settings);\n });\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n }\n app.commands.addCommand(CommandIDs.toggleFullWidth, {\n label: trans.__('Enable Full Width Notebook'),\n execute: () => {\n toggleFullWidth();\n if (notebookSettings) {\n notebookSettings.set('fullWidthNotebook', fullWidth);\n }\n },\n isEnabled: () => tracker.currentWidget !== null,\n isToggled: () => fullWidth,\n });\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFullWidth,\n category: 'Notebook Operations',\n });\n }\n },\n};\n/**\n * The kernel logo plugin.\n */\nconst kernelLogo = {\n id: '@jupyter-notebook/notebook-extension:kernel-logo',\n description: 'The kernel logo plugin.',\n autoStart: true,\n requires: [INotebookShell],\n optional: [IToolbarWidgetRegistry],\n activate: (app, shell, toolbarRegistry) => {\n const { serviceManager } = app;\n const node = document.createElement('div');\n const img = document.createElement('img');\n const onChange = async () => {\n var _a, _b, _c, _d, _e;\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n if (!node.hasChildNodes()) {\n node.appendChild(img);\n }\n await current.sessionContext.ready;\n current.sessionContext.kernelChanged.disconnect(onChange);\n current.sessionContext.kernelChanged.connect(onChange);\n const name = (_c = (_b = (_a = current.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '';\n const spec = (_e = (_d = serviceManager.kernelspecs) === null || _d === void 0 ? void 0 : _d.specs) === null || _e === void 0 ? void 0 : _e.kernelspecs[name];\n if (!spec) {\n node.childNodes[0].remove();\n return;\n }\n const kernelIconUrl = spec.resources['logo-64x64'];\n if (!kernelIconUrl) {\n node.childNodes[0].remove();\n return;\n }\n img.src = kernelIconUrl;\n img.title = spec.display_name;\n };\n if (toolbarRegistry) {\n toolbarRegistry.addFactory('TopBar', 'kernelLogo', (toolbar) => {\n const widget = new Widget({ node });\n widget.addClass('jp-NotebookKernelLogo');\n return widget;\n });\n }\n app.started.then(() => {\n shell.currentChanged.connect(onChange);\n });\n },\n};\n/**\n * A plugin to display the kernel status;\n */\nconst kernelStatus = {\n id: '@jupyter-notebook/notebook-extension:kernel-status',\n description: 'A plugin to display the kernel status.',\n autoStart: true,\n requires: [INotebookShell, ITranslator],\n activate: (app, shell, translator) => {\n const trans = translator.load('notebook');\n const widget = new Widget();\n widget.addClass('jp-NotebookKernelStatus');\n app.shell.add(widget, 'menu', { rank: 10010 });\n const removeClasses = () => {\n widget.removeClass(KERNEL_STATUS_ERROR_CLASS);\n widget.removeClass(KERNEL_STATUS_WARN_CLASS);\n widget.removeClass(KERNEL_STATUS_INFO_CLASS);\n widget.removeClass(KERNEL_STATUS_FADE_OUT_CLASS);\n };\n const onStatusChanged = (sessionContext) => {\n const status = sessionContext.kernelDisplayStatus;\n let text = `Kernel ${Text.titleCase(status)}`;\n removeClasses();\n switch (status) {\n case 'busy':\n case 'idle':\n text = '';\n widget.addClass(KERNEL_STATUS_FADE_OUT_CLASS);\n break;\n case 'dead':\n case 'terminating':\n widget.addClass(KERNEL_STATUS_ERROR_CLASS);\n break;\n case 'unknown':\n widget.addClass(KERNEL_STATUS_WARN_CLASS);\n break;\n default:\n widget.addClass(KERNEL_STATUS_INFO_CLASS);\n widget.addClass(KERNEL_STATUS_FADE_OUT_CLASS);\n break;\n }\n widget.node.textContent = trans.__(text);\n };\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n const sessionContext = current.sessionContext;\n sessionContext.statusChanged.connect(onStatusChanged);\n };\n shell.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin to enable scrolling for outputs by default.\n * Mimic the logic from the classic notebook, as found here:\n * https://github.com/jupyter/notebook/blob/a9a31c096eeffe1bff4e9164c6a0442e0e13cdb3/notebook/static/notebook/js/outputarea.js#L96-L120\n */\nconst scrollOutput = {\n id: '@jupyter-notebook/notebook-extension:scroll-output',\n description: 'A plugin to enable scrolling for outputs by default.',\n autoStart: true,\n requires: [INotebookTracker],\n optional: [ISettingRegistry],\n activate: async (app, tracker, settingRegistry) => {\n const autoScrollThreshold = 100;\n let autoScrollOutputs = true;\n // decide whether to scroll the output of the cell based on some heuristics\n const autoScroll = (cell) => {\n if (!autoScrollOutputs) {\n // bail if disabled via the settings\n cell.removeClass(SCROLLED_OUTPUTS_CLASS);\n return;\n }\n const { outputArea } = cell;\n // respect cells with an explicit scrolled state\n const scrolled = cell.model.getMetadata('scrolled');\n if (scrolled !== undefined) {\n return;\n }\n const { node } = outputArea;\n const height = node.scrollHeight;\n const fontSize = parseFloat(node.style.fontSize.replace('px', ''));\n const lineHeight = (fontSize || 14) * 1.3;\n // do not set via cell.outputScrolled = true, as this would\n // otherwise synchronize the scrolled state to the notebook metadata\n const scroll = height > lineHeight * autoScrollThreshold;\n cell.toggleClass(SCROLLED_OUTPUTS_CLASS, scroll);\n };\n const handlers = {};\n const setAutoScroll = (cell) => {\n if (cell.model.type === 'code') {\n const codeCell = cell;\n const id = codeCell.model.id;\n autoScroll(codeCell);\n if (handlers[id]) {\n codeCell.outputArea.model.changed.disconnect(handlers[id]);\n }\n handlers[id] = () => autoScroll(codeCell);\n codeCell.outputArea.model.changed.connect(handlers[id]);\n }\n };\n tracker.widgetAdded.connect((sender, notebook) => {\n var _a;\n // when the notebook widget is created, process all the cells\n notebook.sessionContext.ready.then(() => {\n notebook.content.widgets.forEach(setAutoScroll);\n });\n (_a = notebook.model) === null || _a === void 0 ? void 0 : _a.cells.changed.connect((sender, args) => {\n notebook.content.widgets.forEach(setAutoScroll);\n });\n });\n if (settingRegistry) {\n const loadSettings = settingRegistry.load(scrollOutput.id);\n const updateSettings = (settings) => {\n autoScrollOutputs = settings.get('autoScrollOutputs')\n .composite;\n };\n Promise.all([loadSettings, app.restored])\n .then(([settings]) => {\n updateSettings(settings);\n settings.changed.connect((settings) => {\n updateSettings(settings);\n });\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n }\n },\n};\n/**\n * A plugin to add the NotebookTools to the side panel;\n */\nconst notebookToolsWidget = {\n id: '@jupyter-notebook/notebook-extension:notebook-tools',\n description: 'A plugin to add the NotebookTools to the side panel.',\n autoStart: true,\n requires: [INotebookShell],\n optional: [INotebookTools],\n activate: (app, shell, notebookTools) => {\n const onChange = async () => {\n const current = shell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n // Add the notebook tools in right area.\n if (notebookTools) {\n shell.add(notebookTools, 'right', { type: 'Property Inspector' });\n }\n };\n shell.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin to update the tab icon based on the kernel status.\n */\nconst tabIcon = {\n id: '@jupyter-notebook/notebook-extension:tab-icon',\n description: 'A plugin to update the tab icon based on the kernel status.',\n autoStart: true,\n requires: [INotebookTracker],\n activate: (app, tracker) => {\n // the favicons are provided by Jupyter Server\n const baseURL = PageConfig.getBaseUrl();\n const notebookIcon = URLExt.join(baseURL, 'static/favicons/favicon-notebook.ico');\n const busyIcon = URLExt.join(baseURL, 'static/favicons/favicon-busy-1.ico');\n const updateBrowserFavicon = (status) => {\n const link = document.querySelector(\"link[rel*='icon']\");\n switch (status) {\n case 'busy':\n link.href = busyIcon;\n break;\n case 'idle':\n link.href = notebookIcon;\n break;\n }\n };\n const onChange = async () => {\n const current = tracker.currentWidget;\n const sessionContext = current === null || current === void 0 ? void 0 : current.sessionContext;\n if (!sessionContext) {\n return;\n }\n sessionContext.statusChanged.connect(() => {\n const status = sessionContext.kernelDisplayStatus;\n updateBrowserFavicon(status);\n });\n };\n tracker.currentChanged.connect(onChange);\n },\n};\n/**\n * A plugin that adds a Trusted indicator to the menu area\n */\nconst trusted = {\n id: '@jupyter-notebook/notebook-extension:trusted',\n description: 'A plugin that adds a Trusted indicator to the menu area.',\n autoStart: true,\n requires: [INotebookShell, ITranslator],\n activate: (app, notebookShell, translator) => {\n const onChange = async () => {\n const current = notebookShell.currentWidget;\n if (!(current instanceof NotebookPanel)) {\n return;\n }\n const notebook = current.content;\n await current.context.ready;\n const widget = TrustedComponent.create({ notebook, translator });\n notebookShell.add(widget, 'menu', {\n rank: 11000,\n });\n };\n notebookShell.currentChanged.connect(onChange);\n },\n};\n/**\n * Add a command to open right sidebar for Editing Notebook Metadata when clicking on \"Edit Notebook Metadata\" under Edit menu\n */\nconst editNotebookMetadata = {\n id: '@jupyter-notebook/notebook-extension:edit-notebook-metadata',\n description: 'Add a command to open right sidebar for Editing Notebook Metadata when clicking on \"Edit Notebook Metadata\" under Edit menu',\n autoStart: true,\n optional: [ICommandPalette, ITranslator, INotebookTools],\n activate: (app, palette, translator, notebookTools) => {\n const { commands, shell } = app;\n translator = translator !== null && translator !== void 0 ? translator : nullTranslator;\n const trans = translator.load('notebook');\n commands.addCommand(CommandIDs.openEditNotebookMetadata, {\n label: trans.__('Edit Notebook Metadata'),\n execute: async () => {\n const command = 'application:toggle-panel';\n const args = {\n side: 'right',\n title: 'Show Notebook Tools',\n id: 'notebook-tools',\n };\n // Check if Show Notebook Tools (Right Sidebar) is open (expanded)\n if (!commands.isToggled(command, args)) {\n await commands.execute(command, args).then((_) => {\n // For expanding the 'Advanced Tools' section (default: collapsed)\n if (notebookTools) {\n const tools = (notebookTools === null || notebookTools === void 0 ? void 0 : notebookTools.layout).widgets;\n tools.forEach((tool) => {\n if (tool.widget.title.label === trans.__('Advanced Tools') &&\n tool.collapsed) {\n tool.toggle();\n }\n });\n }\n });\n }\n },\n isVisible: () => shell.currentWidget !== null &&\n shell.currentWidget instanceof NotebookPanel,\n });\n if (palette) {\n palette.addItem({\n command: CommandIDs.openEditNotebookMetadata,\n category: 'Notebook Operations',\n });\n }\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n checkpoints,\n closeTab,\n openTreeTab,\n editNotebookMetadata,\n fullWidthNotebook,\n kernelLogo,\n kernelStatus,\n notebookToolsWidget,\n scrollOutput,\n tabIcon,\n trusted,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
@@ -8,13 +8,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88281);
|
|
12
12
|
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
|
-
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13
|
+
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45895);
|
|
14
14
|
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);
|
|
15
|
-
/* harmony import */ var _jupyterlab_terminal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
15
|
+
/* harmony import */ var _jupyterlab_terminal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71128);
|
|
16
16
|
/* harmony import */ var _jupyterlab_terminal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_terminal__WEBPACK_IMPORTED_MODULE_2__);
|
|
17
|
-
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
17
|
+
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3540);
|
|
18
18
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__);
|
|
19
19
|
/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(56114);
|
|
20
20
|
/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__);
|
|
@@ -96,4 +96,4 @@ const plugins = [opener, redirect];
|
|
|
96
96
|
/***/ })
|
|
97
97
|
|
|
98
98
|
}]);
|
|
99
|
-
//# sourceMappingURL=5601.
|
|
99
|
+
//# sourceMappingURL=5601.451696703c791262d61c.js.map?v=451696703c791262d61c
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5601.
|
|
1
|
+
{"version":3,"file":"5601.451696703c791262d61c.js?v=451696703c791262d61c","mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmD;AACQ;AACH;AACwC;AACvD;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAO,EAAE,kEAAgB;AACxC;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,oDAAoD,MAAM;AAC1D,aAAa;AACb,SAAS;AACT,0BAA0B,mCAAmC;AAC7D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kEAAgB;AAC/B,eAAe,8EAAmB;AAClC;AACA;AACA,wBAAwB,6DAAU;AAClC,2GAA2G,oFAAyB;AACpI;AACA,2BAA2B,uDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAM;AAC9B;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/terminal-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { IRouter, } from '@jupyterlab/application';\nimport { PageConfig, URLExt } from '@jupyterlab/coreutils';\nimport { ITerminalTracker } from '@jupyterlab/terminal';\nimport { INotebookPathOpener, defaultNotebookPathOpener, } from '@jupyter-notebook/application';\nimport { find } from '@lumino/algorithm';\n/**\n * A plugin to open terminals in a new tab\n */\nconst opener = {\n id: '@jupyter-notebook/terminal-extension:opener',\n description: 'A plugin to open terminals in a new tab.',\n requires: [IRouter, ITerminalTracker],\n autoStart: true,\n activate: (app, router, tracker) => {\n const { commands } = app;\n const terminalPattern = new RegExp('/terminals/(.*)');\n const command = 'router:terminal';\n commands.addCommand(command, {\n execute: (args) => {\n const parsed = args;\n const matches = parsed.path.match(terminalPattern);\n if (!matches) {\n return;\n }\n const [, name] = matches;\n if (!name) {\n return;\n }\n tracker.widgetAdded.connect((send, terminal) => {\n terminal.content.setOption('closeOnExit', false);\n });\n commands.execute('terminal:open', { name });\n },\n });\n router.register({ command, pattern: terminalPattern });\n },\n};\n/**\n * Open terminals in a new tab.\n */\nconst redirect = {\n id: '@jupyter-notebook/terminal-extension:redirect',\n description: 'Open terminals in a new tab.',\n requires: [ITerminalTracker],\n optional: [INotebookPathOpener],\n autoStart: true,\n activate: (app, tracker, notebookPathOpener) => {\n const baseUrl = PageConfig.getBaseUrl();\n const opener = notebookPathOpener !== null && notebookPathOpener !== void 0 ? notebookPathOpener : defaultNotebookPathOpener;\n tracker.widgetAdded.connect((send, terminal) => {\n const widget = find(app.shell.widgets('main'), (w) => w.id === terminal.id);\n if (widget) {\n // bail if the terminal is already added to the main area\n return;\n }\n const name = terminal.content.session.name;\n opener.open({\n prefix: URLExt.join(baseUrl, 'terminals'),\n path: name,\n target: '_blank',\n });\n // dispose the widget since it is not used on this page\n terminal.dispose();\n });\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [opener, redirect];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
@@ -8,13 +8,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88281);
|
|
12
12
|
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
|
-
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13
|
+
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39076);
|
|
14
14
|
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__);
|
|
15
|
-
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
15
|
+
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45895);
|
|
16
16
|
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);
|
|
17
|
-
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
17
|
+
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3540);
|
|
18
18
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_3__);
|
|
19
19
|
/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(56114);
|
|
20
20
|
/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__);
|
|
@@ -95,4 +95,4 @@ const plugins = [opener, redirect];
|
|
|
95
95
|
/***/ })
|
|
96
96
|
|
|
97
97
|
}]);
|
|
98
|
-
//# sourceMappingURL=6345.
|
|
98
|
+
//# sourceMappingURL=6345.418adfd3df1526bef29d.js.map?v=418adfd3df1526bef29d
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"6345.
|
|
1
|
+
{"version":3,"file":"6345.418adfd3df1526bef29d.js?v=418adfd3df1526bef29d","mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmD;AACG;AACK;AACqC;AACvD;AACzC;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAO;AACtB;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,MAAM;AAC3D,aAAa;AACb,SAAS;AACT,0BAA0B,kCAAkC;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gEAAe;AAC9B,eAAe,8EAAmB;AAClC;AACA;AACA;AACA,wBAAwB,6DAAU;AAClC,2GAA2G,oFAAyB;AACpI;AACA,oBAAoB,iBAAiB;AACrC;AACA,2BAA2B,uDAAI;AAC/B;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAM;AAC9B;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/console-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { IRouter, } from '@jupyterlab/application';\nimport { IConsoleTracker } from '@jupyterlab/console';\nimport { PageConfig, URLExt } from '@jupyterlab/coreutils';\nimport { INotebookPathOpener, defaultNotebookPathOpener, } from '@jupyter-notebook/application';\nimport { find } from '@lumino/algorithm';\n/**\n * A plugin to open consoles in a new tab\n */\nconst opener = {\n id: '@jupyter-notebook/console-extension:opener',\n requires: [IRouter],\n autoStart: true,\n description: 'A plugin to open consoles in a new tab',\n activate: (app, router) => {\n const { commands } = app;\n const consolePattern = new RegExp('/consoles/(.*)');\n const command = 'router:console';\n commands.addCommand(command, {\n execute: (args) => {\n const parsed = args;\n const matches = parsed.path.match(consolePattern);\n if (!matches) {\n return;\n }\n const [, match] = matches;\n if (!match) {\n return;\n }\n const path = decodeURIComponent(match);\n commands.execute('console:create', { path });\n },\n });\n router.register({ command, pattern: consolePattern });\n },\n};\n/**\n * Open consoles in a new tab.\n */\nconst redirect = {\n id: '@jupyter-notebook/console-extension:redirect',\n requires: [IConsoleTracker],\n optional: [INotebookPathOpener],\n autoStart: true,\n description: 'Open consoles in a new tab',\n activate: (app, tracker, notebookPathOpener) => {\n const baseUrl = PageConfig.getBaseUrl();\n const opener = notebookPathOpener !== null && notebookPathOpener !== void 0 ? notebookPathOpener : defaultNotebookPathOpener;\n tracker.widgetAdded.connect(async (send, console) => {\n const { sessionContext } = console;\n await sessionContext.ready;\n const widget = find(app.shell.widgets('main'), (w) => w.id === console.id);\n if (widget) {\n // bail if the console is already added to the main area\n return;\n }\n opener.open({\n prefix: URLExt.join(baseUrl, 'consoles'),\n path: sessionContext.path,\n target: '_blank',\n });\n // the widget is not needed anymore\n console.dispose();\n });\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [opener, redirect];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[
|
|
1
|
+
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[6514],{
|
|
2
2
|
|
|
3
3
|
/***/ 8872:
|
|
4
4
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
@@ -222,4 +222,4 @@ module.exports = escape;
|
|
|
222
222
|
/***/ })
|
|
223
223
|
|
|
224
224
|
}]);
|
|
225
|
-
//# sourceMappingURL=
|
|
225
|
+
//# sourceMappingURL=6514.29684612c517058fce54.js.map?v=29684612c517058fce54
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"6514.29684612c517058fce54.js?v=29684612c517058fce54","mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,aAAa;AACb,aAAa;AACb;;AAEA;AACA,wBAAwB,qBAAM,gBAAgB,qBAAM,IAAI,qBAAM,sBAAsB,qBAAM;;AAE1F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/lodash.escape/index.js"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"'`]/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/** Used to map characters to HTML entities. */\nvar htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nvar escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', \"'\", and \"\\`\" in `string` to\n * their corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * Backticks are escaped because in IE < 9, they can break out of\n * attribute values or HTML comments. See [#59](https://html5sec.org/#59),\n * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and\n * [#133](https://html5sec.org/#133) of the\n * [HTML5 Security Cheatsheet](https://html5sec.org/) for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n}\n\nmodule.exports = escape;\n"],"names":[],"sourceRoot":""}
|
|
@@ -12,26 +12,26 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ lib)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/apputils@~4.6.0-alpha.
|
|
16
|
-
var index_js_ = __webpack_require__(
|
|
17
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.5.0-alpha.
|
|
18
|
-
var lib_index_js_ = __webpack_require__(
|
|
19
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/filebrowser@~4.5.0-alpha.
|
|
20
|
-
var filebrowser_lib_index_js_ = __webpack_require__(
|
|
21
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingregistry@~4.5.0-alpha.
|
|
22
|
-
var settingregistry_lib_index_js_ = __webpack_require__(
|
|
23
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/running@^4.5.0-alpha.
|
|
24
|
-
var running_lib_index_js_ = __webpack_require__(
|
|
25
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingeditor@~4.5.0-alpha.
|
|
26
|
-
var settingeditor_lib_index_js_ = __webpack_require__(
|
|
27
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.5.0-alpha.
|
|
28
|
-
var translation_lib_index_js_ = __webpack_require__(
|
|
29
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.5.0-alpha.
|
|
30
|
-
var ui_components_lib_index_js_ = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/apputils@~4.6.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/apputils/lib/index.js)
|
|
16
|
+
var index_js_ = __webpack_require__(69011);
|
|
17
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/coreutils/lib/index.js)
|
|
18
|
+
var lib_index_js_ = __webpack_require__(45895);
|
|
19
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/filebrowser@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/filebrowser/lib/index.js)
|
|
20
|
+
var filebrowser_lib_index_js_ = __webpack_require__(21608);
|
|
21
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingregistry@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/settingregistry/lib/index.js)
|
|
22
|
+
var settingregistry_lib_index_js_ = __webpack_require__(9049);
|
|
23
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/running@^4.5.0-alpha.3 (strict) (fallback: ../node_modules/@jupyterlab/running/lib/index.js)
|
|
24
|
+
var running_lib_index_js_ = __webpack_require__(90937);
|
|
25
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingeditor@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/settingeditor/lib/index.js)
|
|
26
|
+
var settingeditor_lib_index_js_ = __webpack_require__(55673);
|
|
27
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/translation/lib/index.js)
|
|
28
|
+
var translation_lib_index_js_ = __webpack_require__(21786);
|
|
29
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
|
|
30
|
+
var ui_components_lib_index_js_ = __webpack_require__(69866);
|
|
31
31
|
// EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.7.1 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
|
|
32
32
|
var index_es6_js_ = __webpack_require__(60920);
|
|
33
|
-
// EXTERNAL MODULE: consume shared module (default) @jupyter-notebook/tree@~7.5.0-alpha.
|
|
34
|
-
var tree_lib_index_js_ = __webpack_require__(
|
|
33
|
+
// EXTERNAL MODULE: consume shared module (default) @jupyter-notebook/tree@~7.5.0-alpha.2 (singleton) (fallback: ../packages/tree/lib/index.js)
|
|
34
|
+
var tree_lib_index_js_ = __webpack_require__(66438);
|
|
35
35
|
// EXTERNAL MODULE: consume shared module (default) react@~18.2.0 (singleton) (fallback: ../node_modules/react/index.js)
|
|
36
36
|
var react_index_js_ = __webpack_require__(78156);
|
|
37
37
|
var react_index_js_default = /*#__PURE__*/__webpack_require__.n(react_index_js_);
|
|
@@ -423,4 +423,4 @@ const plugins = [
|
|
|
423
423
|
/***/ })
|
|
424
424
|
|
|
425
425
|
}]);
|
|
426
|
-
//# sourceMappingURL=7302.
|
|
426
|
+
//# sourceMappingURL=7302.49c1041fbaca659a1f06.js.map?v=49c1041fbaca659a1f06
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3768.06d59da7841a953a73f9.js?v=06d59da7841a953a73f9","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmF;AACzD;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAyC;AACzD;AACA;AACA,4BAA4B,qBAAW,QAAQ,sCAAmB,UAAU,oBAAoB;AAChG;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAW,QAAQ,sCAAmB,CAAC,uCAA6B,IAAI,oDAAoD,OAAO,WAAW,eAAe,mBAAmB;AAC3M,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACkH;AAC/D;AAC2C;AAC/B;AACgB;AACe;AACxC;AAC8B;AACpC;AAC2B;AACxB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B,eAAe,gCAAsB;AACrC;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,4BAA4B,qBAAO;AACnC,4BAA4B,kBAAI,GAAG,UAAU;AAC7C;AACA,6BAA6B,yCAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAoC;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,qBAAO;AAC3C;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB,EAAE,gCAAsB,EAAE,qCAAW;AACvE;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,gBAAgB,mBAAmB;AACnC,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB;AAClC,eAAe,8CAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB;AAC/B;AACA,gBAAgB,aAAa,EAAE,wBAAU;AACzC;AACA,iCAAiC,wBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAa,EAAE,6CAAmB;AACjD;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6CAAmB;AAC3B,QAAQ,qCAAW;AACnB,QAAQ,8CAAgB;AACxB,QAAQ,gCAAsB;AAC9B,QAAQ,6CAAmB;AAC3B;AACA;AACA,QAAQ,6CAAuB;AAC/B,QAAQ,iDAAqB;AAC7B,QAAQ,qDAAyB;AACjC;AACA;AACA,cAAc,gCAAa;AAC3B;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA,6BAA6B,sCAAU;AACvC;AACA;AACA;AACA,sFAAsF,kCAAQ;AAC9F;AACA;AACA;AACA,SAAS;AACT,QAAQ,wBAAU,UAAU,kCAAoB;AAChD;AACA,gCAAgC,qCAAe;AAC/C;AACA;AACA,iCAAiC,uCAAW;AAC5C;AACA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/fileactions.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { CommandToolbarButtonComponent, ReactWidget, } from '@jupyterlab/apputils';\nimport React from 'react';\nexport class FilesActionButtons {\n /**\n * The constructor of FilesActionButtons.\n * @param options\n */\n constructor(options) {\n /**\n * Triggered when the selection change in file browser.\n */\n this._onSelectionChanged = () => {\n var _a, _b, _c, _d, _e, _f;\n const selectedItems = Array.from(this._browser.selectedItems());\n const selection = selectedItems.length > 0;\n const oneFolder = selectedItems.some((item) => item.type === 'directory');\n (_a = this._widgets.get('placeholder')) === null || _a === void 0 ? void 0 : _a.setHidden(selection);\n (_b = this._widgets.get('delete')) === null || _b === void 0 ? void 0 : _b.setHidden(!selection);\n (_c = this._widgets.get('duplicate')) === null || _c === void 0 ? void 0 : _c.setHidden(!selection || oneFolder);\n (_d = this._widgets.get('download')) === null || _d === void 0 ? void 0 : _d.setHidden(!selection || oneFolder);\n (_e = this._widgets.get('open')) === null || _e === void 0 ? void 0 : _e.setHidden(!selection || oneFolder);\n (_f = this._widgets.get('rename')) === null || _f === void 0 ? void 0 : _f.setHidden(selectedItems.length !== 1);\n };\n this._widgets = new Map();\n this._browser = options.browser;\n const { commands, selectionChanged, translator } = options;\n const trans = translator.load('notebook');\n // Placeholder, when no file is selected.\n const placeholder = ReactWidget.create(React.createElement(\"div\", { key: 'placeholder' }, trans.__('Select items to perform actions on them.')));\n placeholder.id = 'fileAction-placeholder';\n this._widgets.set('placeholder', placeholder);\n // The action buttons.\n const actions = ['open', 'download', 'rename', 'duplicate', 'delete'];\n actions.forEach((action) => {\n const widget = ReactWidget.create(React.createElement(CommandToolbarButtonComponent, { key: action, commands: commands, id: `filebrowser:${action}`, args: { toolbar: true }, icon: undefined }));\n widget.id = `fileAction-${action}`;\n widget.addClass('jp-ToolbarButton');\n widget.addClass('jp-FileAction');\n this._widgets.set(action, widget);\n });\n selectionChanged.connect(this._onSelectionChanged, this);\n this._onSelectionChanged();\n }\n /**\n * Return an iterator with all the action widgets.\n */\n get widgets() {\n return this._widgets.values();\n }\n}\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { ICommandPalette, IToolbarWidgetRegistry, createToolbarFactory, setToolbar, } from '@jupyterlab/apputils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Uploader, IDefaultFileBrowser, IFileBrowserFactory, } from '@jupyterlab/filebrowser';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running';\nimport { IJSONSettingEditorTracker, ISettingEditorTracker, } from '@jupyterlab/settingeditor';\nimport { ITranslator } from '@jupyterlab/translation';\nimport { caretDownIcon, folderIcon, runningIcon, } from '@jupyterlab/ui-components';\nimport { Menu, MenuBar } from '@lumino/widgets';\nimport { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';\nimport { FilesActionButtons } from './fileactions';\n/**\n * The file browser factory.\n */\nconst FILE_BROWSER_FACTORY = 'FileBrowser';\n/**\n * The file browser plugin id.\n */\nconst FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';\n/**\n * The namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n // The command to activate the filebrowser widget in tree view.\n CommandIDs.activate = 'filebrowser:activate';\n // Activate the file filter in the file browser\n CommandIDs.toggleFileFilter = 'filebrowser:toggle-file-filter';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Plugin to add extra commands to the file browser to create\n * new notebooks, files, consoles and terminals\n */\nconst createNew = {\n id: '@jupyter-notebook/tree-extension:new',\n description: 'Plugin to add extra commands to the file browser to create new notebooks, files, consoles and terminals.',\n requires: [ITranslator],\n optional: [IToolbarWidgetRegistry],\n autoStart: true,\n activate: (app, translator, toolbarRegistry) => {\n var _a;\n const { commands, serviceManager } = app;\n const trans = translator.load('notebook');\n const overflowOptions = {\n overflowMenuOptions: { isVisible: false },\n };\n const menubar = new MenuBar(overflowOptions);\n const newMenu = new Menu({ commands });\n newMenu.title.label = trans.__('New');\n newMenu.title.icon = caretDownIcon;\n menubar.addMenu(newMenu);\n const populateNewMenu = () => {\n var _a, _b;\n // create an entry per kernel spec for creating a new notebook\n const specs = (_b = (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs;\n for (const name in specs) {\n newMenu.addItem({\n args: { kernelName: name, isLauncher: true },\n command: 'notebook:create-new',\n });\n }\n const baseCommands = [\n 'terminal:create-new',\n 'console:create',\n 'filebrowser:create-new-file',\n 'filebrowser:create-new-directory',\n ];\n baseCommands.forEach((command) => {\n newMenu.addItem({ command });\n });\n };\n (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specsChanged.connect(() => {\n newMenu.clearItems();\n populateNewMenu();\n });\n populateNewMenu();\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'new-dropdown', (browser) => {\n const menubar = new MenuBar(overflowOptions);\n menubar.addMenu(newMenu);\n menubar.addClass('jp-DropdownMenu');\n return menubar;\n });\n }\n },\n};\n/**\n * A plugin to add file browser actions to the file browser toolbar.\n */\nconst fileActions = {\n id: '@jupyter-notebook/tree-extension:file-actions',\n description: 'A plugin to add file browser actions to the file browser toolbar.',\n autoStart: true,\n requires: [IDefaultFileBrowser, IToolbarWidgetRegistry, ITranslator],\n activate: (app, browser, toolbarRegistry, translator) => {\n // Create a toolbar item that adds buttons to the file browser toolbar\n // to perform actions on the files\n const { commands } = app;\n const { selectionChanged } = browser;\n const fileActions = new FilesActionButtons({\n commands,\n browser,\n selectionChanged,\n translator,\n });\n for (const widget of fileActions.widgets) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, widget.id, () => widget);\n }\n },\n};\n/**\n * A plugin to set the default file browser settings.\n */\nconst fileBrowserSettings = {\n id: '@jupyter-notebook/tree-extension:settings',\n description: 'Set up the default file browser settings',\n requires: [IDefaultFileBrowser],\n optional: [ISettingRegistry],\n autoStart: true,\n activate: (app, browser, settingRegistry) => {\n // Default config for notebook.\n // This is a different set of defaults than JupyterLab.\n const defaultFileBrowserConfig = {\n navigateToCurrentDirectory: false,\n singleClickNavigation: true,\n showLastModifiedColumn: true,\n showFileSizeColumn: true,\n showHiddenFiles: false,\n showFileCheckboxes: true,\n sortNotebooksFirst: true,\n showFullPath: false,\n };\n // Apply defaults on plugin activation\n let key;\n for (key in defaultFileBrowserConfig) {\n browser[key] = defaultFileBrowserConfig[key];\n }\n if (settingRegistry) {\n void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then((settings) => {\n function onSettingsChanged(settings) {\n let key;\n for (key in defaultFileBrowserConfig) {\n const value = settings.get(key).user;\n // only set the setting if it is defined by the user\n if (value !== undefined) {\n browser[key] = value;\n }\n }\n }\n settings.changed.connect(onSettingsChanged);\n onSettingsChanged(settings);\n });\n }\n },\n};\n/**\n * A plugin to add the file filter toggle command to the palette\n */\nconst fileFilterCommand = {\n id: '@jupyter-notebook/tree-extension:file-filter-command',\n description: 'A plugin to add file filter command to the palette.',\n autoStart: true,\n optional: [ICommandPalette],\n activate: (app, palette) => {\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFileFilter,\n category: 'File Browser',\n });\n }\n },\n};\n/**\n * Plugin to load the default plugins that are loaded on all the Notebook pages\n * (tree, edit, view, etc.) so they are visible in the settings editor.\n */\nconst loadPlugins = {\n id: '@jupyter-notebook/tree-extension:load-plugins',\n description: 'Plugin to load the default plugins that are loaded on all the Notebook pages (tree, edit, view, etc.) so they are visible in the settings editor.',\n autoStart: true,\n requires: [ISettingRegistry],\n activate(app, settingRegistry) {\n const { isDisabled } = PageConfig.Extension;\n const connector = settingRegistry.connector;\n const allPluginsOption = PageConfig.getOption('allPlugins');\n if (!allPluginsOption) {\n return;\n }\n // build the list of plugins shipped by default on the all the notebook pages\n // this avoid explicitly loading `'all'` plugins such as the ones used\n // in JupyterLab only\n const allPlugins = JSON.parse(allPluginsOption);\n const pluginsSet = new Set();\n Object.keys(allPlugins).forEach((key) => {\n const extensionsAndPlugins = allPlugins[key];\n Object.keys(extensionsAndPlugins).forEach((plugin) => {\n const value = extensionsAndPlugins[plugin];\n if (typeof value === 'boolean' && value) {\n pluginsSet.add(plugin);\n }\n else if (Array.isArray(value)) {\n value.forEach((v) => {\n pluginsSet.add(v);\n });\n }\n });\n });\n app.restored.then(async () => {\n const plugins = await connector.list('all');\n plugins.ids.forEach(async (id) => {\n const [extension] = id.split(':');\n // load the plugin if it is built-in the notebook application explicitly\n // either included as an extension or as a plugin directly\n const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);\n if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {\n return;\n }\n try {\n await settingRegistry.load(id);\n }\n catch (error) {\n console.warn(`Settings failed to load for (${id})`, error);\n }\n });\n });\n },\n};\n/**\n * A plugin to add file browser commands for the tree view.\n */\nconst openFileBrowser = {\n id: '@jupyter-notebook/tree-extension:open-file-browser',\n description: 'A plugin to add file browser commands for the tree view.',\n requires: [INotebookTree, IDefaultFileBrowser],\n autoStart: true,\n activate: (app, notebookTree, browser) => {\n const { commands } = app;\n commands.addCommand(CommandIDs.activate, {\n execute: () => {\n notebookTree.currentWidget = browser;\n },\n });\n },\n};\n/**\n * A plugin to add the file browser widget to an INotebookShell\n */\nconst notebookTreeWidget = {\n id: '@jupyter-notebook/tree-extension:widget',\n description: 'A plugin to add the file browser widget to an INotebookShell.',\n requires: [\n IDefaultFileBrowser,\n ITranslator,\n ISettingRegistry,\n IToolbarWidgetRegistry,\n IFileBrowserFactory,\n ],\n optional: [\n IRunningSessionManagers,\n ISettingEditorTracker,\n IJSONSettingEditorTracker,\n ],\n autoStart: true,\n provides: INotebookTree,\n activate: (app, browser, translator, settingRegistry, toolbarRegistry, factory, manager, settingEditorTracker, jsonSettingEditorTracker) => {\n const nbTreeWidget = new NotebookTreeWidget();\n const trans = translator.load('notebook');\n browser.title.label = trans.__('Files');\n browser.node.setAttribute('role', 'region');\n browser.node.setAttribute('aria-label', trans.__('File Browser Section'));\n browser.title.icon = folderIcon;\n nbTreeWidget.addWidget(browser);\n nbTreeWidget.tabBar.addTab(browser.title);\n nbTreeWidget.tabsMovable = false;\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({\n model: browser.model,\n translator,\n label: trans.__('Upload'),\n }));\n setToolbar(browser, createToolbarFactory(toolbarRegistry, settingRegistry, FILE_BROWSER_FACTORY, notebookTreeWidget.id, translator));\n if (manager) {\n const running = new RunningSessions(manager, translator);\n running.id = 'jp-running-sessions-tree';\n running.title.label = trans.__('Running');\n running.title.icon = runningIcon;\n nbTreeWidget.addWidget(running);\n nbTreeWidget.tabBar.addTab(running.title);\n }\n app.shell.add(nbTreeWidget, 'main', { rank: 100 });\n // add a separate tab for each setting editor\n [settingEditorTracker, jsonSettingEditorTracker].forEach((editorTracker) => {\n if (editorTracker) {\n editorTracker.widgetAdded.connect((_, editor) => {\n nbTreeWidget.addWidget(editor);\n nbTreeWidget.tabBar.addTab(editor.title);\n nbTreeWidget.currentWidget = editor;\n });\n }\n });\n const { tracker } = factory;\n // TODO: remove\n // Workaround to force the focus on the default file browser\n // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info\n const setCurrentToDefaultBrower = () => {\n tracker['_pool'].current = browser;\n };\n tracker.widgetAdded.connect((sender, widget) => {\n setCurrentToDefaultBrower();\n });\n setCurrentToDefaultBrower();\n return nbTreeWidget;\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n createNew,\n fileActions,\n fileBrowserSettings,\n fileFilterCommand,\n loadPlugins,\n openFileBrowser,\n notebookTreeWidget,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"7302.49c1041fbaca659a1f06.js?v=49c1041fbaca659a1f06","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmF;AACzD;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAyC;AACzD;AACA;AACA,4BAA4B,qBAAW,QAAQ,sCAAmB,UAAU,oBAAoB;AAChG;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAW,QAAQ,sCAAmB,CAAC,uCAA6B,IAAI,oDAAoD,OAAO,WAAW,eAAe,mBAAmB;AAC3M,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACkH;AAC/D;AAC2C;AAC/B;AACgB;AACe;AACxC;AAC8B;AACpC;AAC2B;AACxB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B,eAAe,gCAAsB;AACrC;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,4BAA4B,qBAAO;AACnC,4BAA4B,kBAAI,GAAG,UAAU;AAC7C;AACA,6BAA6B,yCAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAoC;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,qBAAO;AAC3C;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB,EAAE,gCAAsB,EAAE,qCAAW;AACvE;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,gBAAgB,mBAAmB;AACnC,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB;AAClC,eAAe,8CAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB;AAC/B;AACA,gBAAgB,aAAa,EAAE,wBAAU;AACzC;AACA,iCAAiC,wBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAa,EAAE,6CAAmB;AACjD;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6CAAmB;AAC3B,QAAQ,qCAAW;AACnB,QAAQ,8CAAgB;AACxB,QAAQ,gCAAsB;AAC9B,QAAQ,6CAAmB;AAC3B;AACA;AACA,QAAQ,6CAAuB;AAC/B,QAAQ,iDAAqB;AAC7B,QAAQ,qDAAyB;AACjC;AACA;AACA,cAAc,gCAAa;AAC3B;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA,6BAA6B,sCAAU;AACvC;AACA;AACA;AACA,sFAAsF,kCAAQ;AAC9F;AACA;AACA;AACA,SAAS;AACT,QAAQ,wBAAU,UAAU,kCAAoB;AAChD;AACA,gCAAgC,qCAAe;AAC/C;AACA;AACA,iCAAiC,uCAAW;AAC5C;AACA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/fileactions.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { CommandToolbarButtonComponent, ReactWidget, } from '@jupyterlab/apputils';\nimport React from 'react';\nexport class FilesActionButtons {\n /**\n * The constructor of FilesActionButtons.\n * @param options\n */\n constructor(options) {\n /**\n * Triggered when the selection change in file browser.\n */\n this._onSelectionChanged = () => {\n var _a, _b, _c, _d, _e, _f;\n const selectedItems = Array.from(this._browser.selectedItems());\n const selection = selectedItems.length > 0;\n const oneFolder = selectedItems.some((item) => item.type === 'directory');\n (_a = this._widgets.get('placeholder')) === null || _a === void 0 ? void 0 : _a.setHidden(selection);\n (_b = this._widgets.get('delete')) === null || _b === void 0 ? void 0 : _b.setHidden(!selection);\n (_c = this._widgets.get('duplicate')) === null || _c === void 0 ? void 0 : _c.setHidden(!selection || oneFolder);\n (_d = this._widgets.get('download')) === null || _d === void 0 ? void 0 : _d.setHidden(!selection || oneFolder);\n (_e = this._widgets.get('open')) === null || _e === void 0 ? void 0 : _e.setHidden(!selection || oneFolder);\n (_f = this._widgets.get('rename')) === null || _f === void 0 ? void 0 : _f.setHidden(selectedItems.length !== 1);\n };\n this._widgets = new Map();\n this._browser = options.browser;\n const { commands, selectionChanged, translator } = options;\n const trans = translator.load('notebook');\n // Placeholder, when no file is selected.\n const placeholder = ReactWidget.create(React.createElement(\"div\", { key: 'placeholder' }, trans.__('Select items to perform actions on them.')));\n placeholder.id = 'fileAction-placeholder';\n this._widgets.set('placeholder', placeholder);\n // The action buttons.\n const actions = ['open', 'download', 'rename', 'duplicate', 'delete'];\n actions.forEach((action) => {\n const widget = ReactWidget.create(React.createElement(CommandToolbarButtonComponent, { key: action, commands: commands, id: `filebrowser:${action}`, args: { toolbar: true }, icon: undefined }));\n widget.id = `fileAction-${action}`;\n widget.addClass('jp-ToolbarButton');\n widget.addClass('jp-FileAction');\n this._widgets.set(action, widget);\n });\n selectionChanged.connect(this._onSelectionChanged, this);\n this._onSelectionChanged();\n }\n /**\n * Return an iterator with all the action widgets.\n */\n get widgets() {\n return this._widgets.values();\n }\n}\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { ICommandPalette, IToolbarWidgetRegistry, createToolbarFactory, setToolbar, } from '@jupyterlab/apputils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Uploader, IDefaultFileBrowser, IFileBrowserFactory, } from '@jupyterlab/filebrowser';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running';\nimport { IJSONSettingEditorTracker, ISettingEditorTracker, } from '@jupyterlab/settingeditor';\nimport { ITranslator } from '@jupyterlab/translation';\nimport { caretDownIcon, folderIcon, runningIcon, } from '@jupyterlab/ui-components';\nimport { Menu, MenuBar } from '@lumino/widgets';\nimport { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';\nimport { FilesActionButtons } from './fileactions';\n/**\n * The file browser factory.\n */\nconst FILE_BROWSER_FACTORY = 'FileBrowser';\n/**\n * The file browser plugin id.\n */\nconst FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';\n/**\n * The namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n // The command to activate the filebrowser widget in tree view.\n CommandIDs.activate = 'filebrowser:activate';\n // Activate the file filter in the file browser\n CommandIDs.toggleFileFilter = 'filebrowser:toggle-file-filter';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Plugin to add extra commands to the file browser to create\n * new notebooks, files, consoles and terminals\n */\nconst createNew = {\n id: '@jupyter-notebook/tree-extension:new',\n description: 'Plugin to add extra commands to the file browser to create new notebooks, files, consoles and terminals.',\n requires: [ITranslator],\n optional: [IToolbarWidgetRegistry],\n autoStart: true,\n activate: (app, translator, toolbarRegistry) => {\n var _a;\n const { commands, serviceManager } = app;\n const trans = translator.load('notebook');\n const overflowOptions = {\n overflowMenuOptions: { isVisible: false },\n };\n const menubar = new MenuBar(overflowOptions);\n const newMenu = new Menu({ commands });\n newMenu.title.label = trans.__('New');\n newMenu.title.icon = caretDownIcon;\n menubar.addMenu(newMenu);\n const populateNewMenu = () => {\n var _a, _b;\n // create an entry per kernel spec for creating a new notebook\n const specs = (_b = (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs;\n for (const name in specs) {\n newMenu.addItem({\n args: { kernelName: name, isLauncher: true },\n command: 'notebook:create-new',\n });\n }\n const baseCommands = [\n 'terminal:create-new',\n 'console:create',\n 'filebrowser:create-new-file',\n 'filebrowser:create-new-directory',\n ];\n baseCommands.forEach((command) => {\n newMenu.addItem({ command });\n });\n };\n (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specsChanged.connect(() => {\n newMenu.clearItems();\n populateNewMenu();\n });\n populateNewMenu();\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'new-dropdown', (browser) => {\n const menubar = new MenuBar(overflowOptions);\n menubar.addMenu(newMenu);\n menubar.addClass('jp-DropdownMenu');\n return menubar;\n });\n }\n },\n};\n/**\n * A plugin to add file browser actions to the file browser toolbar.\n */\nconst fileActions = {\n id: '@jupyter-notebook/tree-extension:file-actions',\n description: 'A plugin to add file browser actions to the file browser toolbar.',\n autoStart: true,\n requires: [IDefaultFileBrowser, IToolbarWidgetRegistry, ITranslator],\n activate: (app, browser, toolbarRegistry, translator) => {\n // Create a toolbar item that adds buttons to the file browser toolbar\n // to perform actions on the files\n const { commands } = app;\n const { selectionChanged } = browser;\n const fileActions = new FilesActionButtons({\n commands,\n browser,\n selectionChanged,\n translator,\n });\n for (const widget of fileActions.widgets) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, widget.id, () => widget);\n }\n },\n};\n/**\n * A plugin to set the default file browser settings.\n */\nconst fileBrowserSettings = {\n id: '@jupyter-notebook/tree-extension:settings',\n description: 'Set up the default file browser settings',\n requires: [IDefaultFileBrowser],\n optional: [ISettingRegistry],\n autoStart: true,\n activate: (app, browser, settingRegistry) => {\n // Default config for notebook.\n // This is a different set of defaults than JupyterLab.\n const defaultFileBrowserConfig = {\n navigateToCurrentDirectory: false,\n singleClickNavigation: true,\n showLastModifiedColumn: true,\n showFileSizeColumn: true,\n showHiddenFiles: false,\n showFileCheckboxes: true,\n sortNotebooksFirst: true,\n showFullPath: false,\n };\n // Apply defaults on plugin activation\n let key;\n for (key in defaultFileBrowserConfig) {\n browser[key] = defaultFileBrowserConfig[key];\n }\n if (settingRegistry) {\n void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then((settings) => {\n function onSettingsChanged(settings) {\n let key;\n for (key in defaultFileBrowserConfig) {\n const value = settings.get(key).user;\n // only set the setting if it is defined by the user\n if (value !== undefined) {\n browser[key] = value;\n }\n }\n }\n settings.changed.connect(onSettingsChanged);\n onSettingsChanged(settings);\n });\n }\n },\n};\n/**\n * A plugin to add the file filter toggle command to the palette\n */\nconst fileFilterCommand = {\n id: '@jupyter-notebook/tree-extension:file-filter-command',\n description: 'A plugin to add file filter command to the palette.',\n autoStart: true,\n optional: [ICommandPalette],\n activate: (app, palette) => {\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFileFilter,\n category: 'File Browser',\n });\n }\n },\n};\n/**\n * Plugin to load the default plugins that are loaded on all the Notebook pages\n * (tree, edit, view, etc.) so they are visible in the settings editor.\n */\nconst loadPlugins = {\n id: '@jupyter-notebook/tree-extension:load-plugins',\n description: 'Plugin to load the default plugins that are loaded on all the Notebook pages (tree, edit, view, etc.) so they are visible in the settings editor.',\n autoStart: true,\n requires: [ISettingRegistry],\n activate(app, settingRegistry) {\n const { isDisabled } = PageConfig.Extension;\n const connector = settingRegistry.connector;\n const allPluginsOption = PageConfig.getOption('allPlugins');\n if (!allPluginsOption) {\n return;\n }\n // build the list of plugins shipped by default on the all the notebook pages\n // this avoid explicitly loading `'all'` plugins such as the ones used\n // in JupyterLab only\n const allPlugins = JSON.parse(allPluginsOption);\n const pluginsSet = new Set();\n Object.keys(allPlugins).forEach((key) => {\n const extensionsAndPlugins = allPlugins[key];\n Object.keys(extensionsAndPlugins).forEach((plugin) => {\n const value = extensionsAndPlugins[plugin];\n if (typeof value === 'boolean' && value) {\n pluginsSet.add(plugin);\n }\n else if (Array.isArray(value)) {\n value.forEach((v) => {\n pluginsSet.add(v);\n });\n }\n });\n });\n app.restored.then(async () => {\n const plugins = await connector.list('all');\n plugins.ids.forEach(async (id) => {\n const [extension] = id.split(':');\n // load the plugin if it is built-in the notebook application explicitly\n // either included as an extension or as a plugin directly\n const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);\n if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {\n return;\n }\n try {\n await settingRegistry.load(id);\n }\n catch (error) {\n console.warn(`Settings failed to load for (${id})`, error);\n }\n });\n });\n },\n};\n/**\n * A plugin to add file browser commands for the tree view.\n */\nconst openFileBrowser = {\n id: '@jupyter-notebook/tree-extension:open-file-browser',\n description: 'A plugin to add file browser commands for the tree view.',\n requires: [INotebookTree, IDefaultFileBrowser],\n autoStart: true,\n activate: (app, notebookTree, browser) => {\n const { commands } = app;\n commands.addCommand(CommandIDs.activate, {\n execute: () => {\n notebookTree.currentWidget = browser;\n },\n });\n },\n};\n/**\n * A plugin to add the file browser widget to an INotebookShell\n */\nconst notebookTreeWidget = {\n id: '@jupyter-notebook/tree-extension:widget',\n description: 'A plugin to add the file browser widget to an INotebookShell.',\n requires: [\n IDefaultFileBrowser,\n ITranslator,\n ISettingRegistry,\n IToolbarWidgetRegistry,\n IFileBrowserFactory,\n ],\n optional: [\n IRunningSessionManagers,\n ISettingEditorTracker,\n IJSONSettingEditorTracker,\n ],\n autoStart: true,\n provides: INotebookTree,\n activate: (app, browser, translator, settingRegistry, toolbarRegistry, factory, manager, settingEditorTracker, jsonSettingEditorTracker) => {\n const nbTreeWidget = new NotebookTreeWidget();\n const trans = translator.load('notebook');\n browser.title.label = trans.__('Files');\n browser.node.setAttribute('role', 'region');\n browser.node.setAttribute('aria-label', trans.__('File Browser Section'));\n browser.title.icon = folderIcon;\n nbTreeWidget.addWidget(browser);\n nbTreeWidget.tabBar.addTab(browser.title);\n nbTreeWidget.tabsMovable = false;\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({\n model: browser.model,\n translator,\n label: trans.__('Upload'),\n }));\n setToolbar(browser, createToolbarFactory(toolbarRegistry, settingRegistry, FILE_BROWSER_FACTORY, notebookTreeWidget.id, translator));\n if (manager) {\n const running = new RunningSessions(manager, translator);\n running.id = 'jp-running-sessions-tree';\n running.title.label = trans.__('Running');\n running.title.icon = runningIcon;\n nbTreeWidget.addWidget(running);\n nbTreeWidget.tabBar.addTab(running.title);\n }\n app.shell.add(nbTreeWidget, 'main', { rank: 100 });\n // add a separate tab for each setting editor\n [settingEditorTracker, jsonSettingEditorTracker].forEach((editorTracker) => {\n if (editorTracker) {\n editorTracker.widgetAdded.connect((_, editor) => {\n nbTreeWidget.addWidget(editor);\n nbTreeWidget.tabBar.addTab(editor.title);\n nbTreeWidget.currentWidget = editor;\n });\n }\n });\n const { tracker } = factory;\n // TODO: remove\n // Workaround to force the focus on the default file browser\n // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info\n const setCurrentToDefaultBrower = () => {\n tracker['_pool'].current = browser;\n };\n tracker.widgetAdded.connect((sender, widget) => {\n setCurrentToDefaultBrower();\n });\n setCurrentToDefaultBrower();\n return nbTreeWidget;\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n createNew,\n fileActions,\n fileBrowserSettings,\n fileFilterCommand,\n loadPlugins,\n openFileBrowser,\n notebookTreeWidget,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
@@ -8,9 +8,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51043);
|
|
12
12
|
/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
|
-
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13
|
+
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3540);
|
|
14
14
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__);
|
|
15
15
|
|
|
16
16
|
|
|
@@ -61,4 +61,4 @@ const plugins = [notebookShellWidgetListener];
|
|
|
61
61
|
/***/ })
|
|
62
62
|
|
|
63
63
|
}]);
|
|
64
|
-
//# sourceMappingURL=7906.
|
|
64
|
+
//# sourceMappingURL=7906.548a8342ea988f1683a5.js.map?v=548a8342ea988f1683a5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"7906.
|
|
1
|
+
{"version":3,"file":"7906.548a8342ea988f1683a5.js?v=548a8342ea988f1683a5","mappings":";;;;;;;;;;;;;;AAAqE;AACN;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yEAAc,EAAE,+EAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/documentsearch-extension/lib/index.js"],"sourcesContent":["import { ISearchProviderRegistry } from '@jupyterlab/documentsearch';\nimport { INotebookShell } from '@jupyter-notebook/application';\nconst SEARCHABLE_CLASS = 'jp-mod-searchable';\n/**\n * A plugin to add document search functionalities.\n */\nconst notebookShellWidgetListener = {\n id: '@jupyter-notebook/documentsearch-extension:notebookShellWidgetListener',\n requires: [INotebookShell, ISearchProviderRegistry],\n autoStart: true,\n description: 'A plugin to add document search functionalities',\n activate: (app, notebookShell, registry) => {\n // If a given widget is searchable, apply the searchable class.\n // If it's not searchable, remove the class.\n const transformWidgetSearchability = (widget) => {\n if (!widget) {\n return;\n }\n if (registry.hasProvider(widget)) {\n widget.addClass(SEARCHABLE_CLASS);\n }\n else {\n widget.removeClass(SEARCHABLE_CLASS);\n }\n };\n // Update searchability of the active widget when the registry\n // changes, in case a provider for the current widget was added\n // or removed\n registry.changed.connect(() => transformWidgetSearchability(notebookShell.currentWidget));\n // Apply the searchable class only to the active widget if it is actually\n // searchable. Remove the searchable class from a widget when it's\n // no longer active.\n notebookShell.currentChanged.connect((_, args) => {\n if (notebookShell.currentWidget) {\n transformWidgetSearchability(notebookShell.currentWidget);\n }\n });\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [notebookShellWidgetListener];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
|
|
@@ -8,29 +8,29 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8
8
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9
9
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
10
10
|
/* harmony export */ });
|
|
11
|
-
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
11
|
+
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88281);
|
|
12
12
|
/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
|
-
/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
13
|
+
/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69011);
|
|
14
14
|
/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);
|
|
15
|
-
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
15
|
+
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39076);
|
|
16
16
|
/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_2__);
|
|
17
|
-
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
17
|
+
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45895);
|
|
18
18
|
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_3__);
|
|
19
|
-
/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
19
|
+
/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(59004);
|
|
20
20
|
/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_4__);
|
|
21
|
-
/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
21
|
+
/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9880);
|
|
22
22
|
/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_5__);
|
|
23
|
-
/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
23
|
+
/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93458);
|
|
24
24
|
/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_6__);
|
|
25
|
-
/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
25
|
+
/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12515);
|
|
26
26
|
/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_7__);
|
|
27
|
-
/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
|
|
27
|
+
/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9049);
|
|
28
28
|
/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_8__);
|
|
29
|
-
/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
|
|
29
|
+
/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(21786);
|
|
30
30
|
/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_9__);
|
|
31
|
-
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
|
|
31
|
+
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3540);
|
|
32
32
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_10__);
|
|
33
|
-
/* harmony import */ var _jupyter_notebook_ui_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
|
|
33
|
+
/* harmony import */ var _jupyter_notebook_ui_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90078);
|
|
34
34
|
/* harmony import */ var _jupyter_notebook_ui_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_ui_components__WEBPACK_IMPORTED_MODULE_11__);
|
|
35
35
|
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5406);
|
|
36
36
|
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_12__);
|
|
@@ -1003,4 +1003,4 @@ const plugins = [
|
|
|
1003
1003
|
/***/ })
|
|
1004
1004
|
|
|
1005
1005
|
}]);
|
|
1006
|
-
//# sourceMappingURL=8579.
|
|
1006
|
+
//# sourceMappingURL=8579.6d68bc32866d4eb0ba22.js.map?v=6d68bc32866d4eb0ba22
|