jupytergis-qgis 0.10.0__tar.gz → 0.11.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/PKG-INFO +4 -3
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/_version.py +1 -1
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/labextension/package.json +6 -6
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/labextension/schemas/@jupytergis/jupytergis-qgis/package.json.orig +5 -5
- jupytergis_qgis-0.11.1/jupytergis_qgis/labextension/static/234.289502f2f5fca279c845.js +1 -0
- jupytergis_qgis-0.11.1/jupytergis_qgis/labextension/static/4.58e727bd5f18ac6d1689.js +1 -0
- jupytergis_qgis-0.11.1/jupytergis_qgis/labextension/static/432.8b7eadb127851128d478.js +1 -0
- jupytergis_qgis-0.11.1/jupytergis_qgis/labextension/static/remoteEntry.826b1f7429aad46d6213.js +1 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/labextension/static/third-party-licenses.json +1 -1
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/qgis_loader.py +1 -1
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/plugins.js +9 -6
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/package.json +5 -5
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/pyproject.toml +5 -4
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/src/modelfactory.ts +1 -3
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/src/plugins.ts +21 -15
- jupytergis_qgis-0.11.1/tsconfig.tsbuildinfo +1 -0
- jupytergis_qgis-0.10.0/jupytergis_qgis/labextension/static/234.0e83af2f2f78ca5704f8.js +0 -1
- jupytergis_qgis-0.10.0/jupytergis_qgis/labextension/static/4.cf816cacf6cd5f401b08.js +0 -1
- jupytergis_qgis-0.10.0/jupytergis_qgis/labextension/static/432.2f6bd92ee5f330f2ca8e.js +0 -1
- jupytergis_qgis-0.10.0/jupytergis_qgis/labextension/static/remoteEntry.85cd3dff34adad9d2f95.js +0 -1
- jupytergis_qgis-0.10.0/tsconfig.tsbuildinfo +0 -1
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/.gitignore +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/.prettierignore +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/LICENSE +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/README.md +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/install.json +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupyter-config/server-config/jupytergis_qgis.json +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/__init__.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/handlers.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/labextension/schemas/@jupytergis/jupytergis-qgis/qgisplugin.json +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/labextension/static/style.js +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/qgis_ydoc.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/tests/__init__.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/tests/files/project0.qgs +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/jupytergis_qgis/tests/test_qgis.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/index.d.ts +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/index.js +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/modelfactory.d.ts +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/modelfactory.js +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/lib/plugins.d.ts +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/schema/qgisplugin.json +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/scripts/bump-version.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/setup.py +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/src/index.ts +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/style/base.css +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/style/index.css +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/style/index.js +0 -0
- {jupytergis_qgis-0.10.0 → jupytergis_qgis-0.11.1}/tsconfig.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jupytergis_qgis
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Dynamic: Keywords
|
|
5
5
|
Summary: JupyterGIS QGIS extension.
|
|
6
6
|
Project-URL: Homepage, https://github.com/geojupyter/jupytergis
|
|
@@ -45,11 +45,12 @@ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
|
|
|
45
45
|
Classifier: License :: OSI Approved :: BSD License
|
|
46
46
|
Classifier: Programming Language :: Python
|
|
47
47
|
Classifier: Programming Language :: Python :: 3
|
|
48
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
49
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
50
48
|
Classifier: Programming Language :: Python :: 3.10
|
|
51
49
|
Classifier: Programming Language :: Python :: 3.11
|
|
52
50
|
Classifier: Programming Language :: Python :: 3.12
|
|
51
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
52
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
53
|
+
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
53
54
|
Requires-Python: >=3.10
|
|
54
55
|
Requires-Dist: jupyter-server<3,>=2.0.1
|
|
55
56
|
Requires-Dist: jupyter-ydoc<4,>=2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-qgis",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "JupyterGIS QGIS extension.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"watch:labextension": "jupyter labextension watch ."
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@jupyter/collaborative-drive": "^
|
|
57
|
-
"@jupytergis/base": "^0.
|
|
58
|
-
"@jupytergis/jupytergis-core": "^0.
|
|
59
|
-
"@jupytergis/schema": "^0.
|
|
56
|
+
"@jupyter/collaborative-drive": "^4.1.2",
|
|
57
|
+
"@jupytergis/base": "^0.11.1",
|
|
58
|
+
"@jupytergis/jupytergis-core": "^0.11.1",
|
|
59
|
+
"@jupytergis/schema": "^0.11.1",
|
|
60
60
|
"@jupyterlab/application": "^4.3.0",
|
|
61
61
|
"@jupyterlab/apputils": "^4.3.0",
|
|
62
62
|
"@jupyterlab/coreutils": "^6.3.0",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"_build": {
|
|
124
|
-
"load": "static/remoteEntry.
|
|
124
|
+
"load": "static/remoteEntry.826b1f7429aad46d6213.js",
|
|
125
125
|
"extension": "./extension",
|
|
126
126
|
"style": "./style"
|
|
127
127
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-qgis",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "JupyterGIS QGIS extension.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"watch:labextension": "jupyter labextension watch ."
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@jupyter/collaborative-drive": "^
|
|
57
|
-
"@jupytergis/base": "^0.
|
|
58
|
-
"@jupytergis/jupytergis-core": "^0.
|
|
59
|
-
"@jupytergis/schema": "^0.
|
|
56
|
+
"@jupyter/collaborative-drive": "^4.1.2",
|
|
57
|
+
"@jupytergis/base": "^0.11.1",
|
|
58
|
+
"@jupytergis/jupytergis-core": "^0.11.1",
|
|
59
|
+
"@jupytergis/schema": "^0.11.1",
|
|
60
60
|
"@jupyterlab/application": "^4.3.0",
|
|
61
61
|
"@jupyterlab/apputils": "^4.3.0",
|
|
62
62
|
"@jupyterlab/coreutils": "^6.3.0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_qgis=self.webpackChunk_jupytergis_jupytergis_qgis||[]).push([[234],{234(e,o,r){r.r(o),r.d(o,{ICollaborativeContentProvider:()=>n,IGlobalAwareness:()=>s});var t=r(262);const n=new t.Token("@jupyter/collaboration-extension:ICollaborativeContentProvider"),s=new t.Token("@jupyter/collaboration:IGlobalAwareness")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_qgis=self.webpackChunk_jupytergis_jupytergis_qgis||[]).push([[4],{4(e,t,o){o.r(t),o.d(t,{default:()=>f});var r,n=o(911),a=o(640),i=o(95),s=o(906),l=o(827),d=o(690),c=o(805),g=o(292),m=o(118),y=o(907),p=o(223),u=o(707),h=o(247);class G{constructor(e){this.collaborative=void 0===document.querySelectorAll("[data-jupyter-lite-root]")[0],this._disposed=!1,this._annotationModel=e.annotationModel}get name(){throw"Not implemented"}get contentType(){throw"Not implemented"}get fileFormat(){return"base64"}get isDisposed(){return this._disposed}dispose(){this._disposed=!0}preferredLanguage(e){return""}createNew(e){return new s.JupyterGISModel({sharedModel:e.sharedModel,languagePreference:e.languagePreference,annotationModel:this._annotationModel,settingRegistry:this._settingRegistry})}}class S extends G{get name(){return"jupytergis-qgzmodel"}get contentType(){return"QGZ"}}class I extends G{get name(){return"jupytergis-qgsmodel"}get contentType(){return"QGS"}}!function(e){e.exportQgis="jupytergis:export"}(r||(r={}));const f=[{id:"@jupytergis/jupytergis-qgis:qgisplugin",requires:[s.IJupyterGISDocTracker,l.IThemeManager,y.IDefaultDrive,s.IJGISExternalCommandRegistryToken,c.ConsolePanel.IContentFactory,d.IEditorServices,m.IRenderMimeRegistry,c.IConsoleTracker,s.IAnnotationToken,p.ISettingRegistry,s.IJGISFormSchemaRegistryToken,u.IStateDB],optional:[l.ICommandPalette,n.ICollaborativeContentProvider],autoStart:!0,activate:async(e,t,o,n,d,c,m,y,p,u,G,f,w,Q,T)=>{const x=await(0,a.requestAPI)("jupytergis_qgis/backend-check",{method:"POST",body:JSON.stringify({})}),{installed:j}=x,v=()=>(j||(0,l.showErrorMessage)("QGIS is not installed","QGIS is required to open QGIS files"),j),M=new i.JupyterGISDocumentWidgetFactory({name:"JupyterGIS QGS Factory",modelName:"jupytergis-qgsmodel",fileTypes:["QGS"],defaultFor:["QGS"],tracker:t,commands:e.commands,externalCommandRegistry:d,backendCheck:v,manager:e.serviceManager,contentFactory:c,rendermime:y,mimeTypeService:m.mimeTypeService,consoleTracker:p,formSchemaRegistry:f,state:w,annotationModel:u}),b=new i.JupyterGISDocumentWidgetFactory({name:"JupyterGIS QGZ Factory",modelName:"jupytergis-qgzmodel",fileTypes:["QGZ"],defaultFor:["QGZ"],tracker:t,commands:e.commands,externalCommandRegistry:d,backendCheck:v,manager:e.serviceManager,contentFactory:c,rendermime:y,mimeTypeService:m.mimeTypeService,consoleTracker:p,formSchemaRegistry:f,state:w,annotationModel:u});e.docRegistry.addWidgetFactory(M),e.docRegistry.addWidgetFactory(b),e.docRegistry.addModelFactory(new I({annotationModel:u,settingRegistry:G})),e.docRegistry.addModelFactory(new S({annotationModel:u,settingRegistry:G})),e.docRegistry.addFileType({name:"QGS",displayName:"QGS",mimeTypes:["application/octet-stream"],extensions:[".qgs",".QGS"],fileFormat:"base64",contentType:"QGS",icon:a.logoMiniIcon}),e.docRegistry.addFileType({name:"QGZ",displayName:"QGZ",mimeTypes:["application/octet-stream"],extensions:[".qgz",".QGZ"],fileFormat:"base64",contentType:"QGZ",icon:a.logoMiniIconQGZ});const F=()=>new s.JupyterGISDoc;T&&(T.sharedModelFactory.registerDocumentFactory("QGS",F),T.sharedModelFactory.registerDocumentFactory("QGZ",F));const C=(r,n)=>{n.title.icon=a.logoMiniIconQGZ,n.context.pathChanged.connect(()=>{t.save(n)}),o.themeChanged.connect((e,t)=>n.model.themeChanged.emit(t)),t.add(n),e.shell.activateById("jupytergis::leftControlPanel"),e.shell.activateById("jupytergis::rightControlPanel")};M.widgetCreated.connect(C),b.widgetCreated.connect(C),j&&(e.commands.addCommand(r.exportQgis,{label:"Export To QGZ",isEnabled:()=>!!t.currentWidget&&t.currentWidget.model.sharedModel.editable,execute:async e=>{var o,r;const i=".jGIS",s=".qgz",d=null===(o=t.currentWidget)||void 0===o?void 0:o.model.sharedModel;if(!d)return;const c=t.currentWidget.model.filePath;let m=null!==(r=e.filepath)&&void 0!==r?r:null;if(m||(m=(await l.InputDialog.getText({label:"File name",placeholder:g.PathExt.basename(c,i),title:"Export the project to QGZ file"})).value),null===m)return;m?m.endsWith(s)||(m=`${m}${s}`):m=`${g.PathExt.basename(c,i)}${s}`;let y=g.PathExt.dirname(c);y.includes(":")&&(y=y.split(":")[1]);const p=g.PathExt.join(y,m),u={layers:d.layers,sources:d.sources,layerTree:d.layerTree.slice().reverse(),options:d.options};let G=!0;if(await n.get(p,{content:!1}).catch(()=>{G=!1}),G&&!(await(0,l.showDialog)({title:"Export the project to QGZ file",body:`The file ${m} already exists.\nDo you want to overwrite it ?`})).button.accept)return;const S=await(0,a.requestAPI)("jupytergis_qgis/export",{method:"POST",body:JSON.stringify({path:p,virtual_file:u})});if(S.exported){if(S.logs.warnings.length){const e=document.createElement("pre");e.textContent=`${m} has been exported with warnings\n - ${S.logs.warnings.join("\n - ")}`;const t=new h.Widget({node:e});await(0,l.showDialog)({title:"Export the project to QGZ file",body:t,buttons:[l.Dialog.okButton()]})}}else(0,l.showErrorMessage)("Export the project to QGZ file",S.logs.errors.length?S.logs.errors.join("\n"):"Unknown error")}}),Q&&Q.addItem({command:r.exportQgis,category:"JupyterGIS"})),console.debug("@jupytergis/jupytergis-qgis:qgisplugin is activated!")}}]}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_qgis=self.webpackChunk_jupytergis_jupytergis_qgis||[]).push([[432],{51(e){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},128(e){var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},296(e,t,n){n.d(t,{A:()=>s});var r=n(758),o=n.n(r),a=n(935),i=n.n(a)()(o());i.push([e.id,"",""]);const s=i},432(e,t,n){var r=n(591),o=n.n(r),a=n(740),i=n.n(a),s=n(128),c=n.n(s),u=n(855),p=n.n(u),l=n(51),f=n.n(l),d=n(656),v=n.n(d),h=n(296),m={};m.styleTagTransform=v(),m.setAttributes=p(),m.insert=c().bind(null,"head"),m.domAPI=i(),m.insertStyleElement=f(),o()(h.A,m),h.A&&h.A.locals&&h.A.locals},591(e){var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var a={},i=[],s=0;s<e.length;s++){var c=e[s],u=r.base?c[0]+r.base:c[0],p=a[u]||0,l="".concat(u," ").concat(p);a[u]=p+1;var f=n(l),d={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==f)t[f].references++,t[f].updater(d);else{var v=o(d,r);r.byIndex=s,t.splice(s,0,{identifier:l,updater:v,references:1})}i.push(l)}return i}function o(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var a=r(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var s=n(a[i]);t[s].references--}for(var c=r(e,o),u=0;u<a.length;u++){var p=n(a[u]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}a=c}}},656(e){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},740(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},758(e){e.exports=function(e){return e[1]}},855(e,t,n){e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},935(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,r,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(i[c]=!0)}for(var u=0;u<e.length;u++){var p=[].concat(e[u]);r&&i[p[0]]||(void 0!==a&&(void 0===p[5]||(p[1]="@layer".concat(p[5].length>0?" ".concat(p[5]):""," {").concat(p[1],"}")),p[5]=a),n&&(p[2]?(p[1]="@media ".concat(p[2]," {").concat(p[1],"}"),p[2]=n):p[2]=n),o&&(p[4]?(p[1]="@supports (".concat(p[4],") {").concat(p[1],"}"),p[4]=o):p[4]="".concat(o)),t.push(p))}},t}}}]);
|
jupytergis_qgis-0.11.1/jupytergis_qgis/labextension/static/remoteEntry.826b1f7429aad46d6213.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _JUPYTERLAB;(()=>{"use strict";var e,r,t,n,o,i,a,u,s,l,d,f,p,c,h,v,g,y,b,m,j,w,S,E={7(e,r,t){var n={"./index":()=>t.e(4).then(()=>()=>t(4)),"./extension":()=>t.e(4).then(()=>()=>t(4)),"./style":()=>t.e(432).then(()=>()=>t(432))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then(()=>{throw new Error('Module "'+e+'" does not exist in container.')}),t.R=void 0,r),i=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>i})}},k={};function P(e){var r=k[e];if(void 0!==r)return r.exports;var t=k[e]={id:e,exports:{}};return E[e](t,t.exports,P),t.exports}P.m=E,P.c=k,P.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return P.d(r,{a:r}),r},P.d=(e,r)=>{for(var t in r)P.o(r,t)&&!P.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},P.f={},P.e=e=>Promise.all(Object.keys(P.f).reduce((r,t)=>(P.f[t](e,r),r),[])),P.u=e=>e+"."+{4:"58e727bd5f18ac6d1689",234:"289502f2f5fca279c845",432:"8b7eadb127851128d478"}[e]+".js?v="+{4:"58e727bd5f18ac6d1689",234:"289502f2f5fca279c845",432:"8b7eadb127851128d478"}[e],P.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),P.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@jupytergis/jupytergis-qgis:",P.l=(t,n,o,i)=>{if(e[t])e[t].push(n);else{var a,u;if(void 0!==o)for(var s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var d=s[l];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==r+o){a=d;break}}a||(u=!0,(a=document.createElement("script")).charset="utf-8",P.nc&&a.setAttribute("nonce",P.nc),a.setAttribute("data-webpack",r+o),a.src=t),e[t]=[n];var f=(r,n)=>{a.onerror=a.onload=null,clearTimeout(p);var o=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach(e=>e(n)),r)return r(n)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload),u&&document.head.appendChild(a)}},P.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{P.S={};var e={},r={};P.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];P.o(P.S,t)||(P.S[t]={});var i=P.S[t],a="@jupytergis/jupytergis-qgis",u=(e,r,t,n)=>{var o=i[e]=i[e]||{},u=o[r];(!u||!u.loaded&&(!n!=!u.eager?n:a>u.from))&&(o[r]={get:t,from:a,eager:!!n})},s=[];return"default"===t&&(u("@jupyter/collaborative-drive","4.2.0",()=>P.e(234).then(()=>()=>P(234))),u("@jupytergis/jupytergis-qgis","0.11.1",()=>P.e(4).then(()=>()=>P(4)))),e[t]=s.length?Promise.all(s).then(()=>e[t]=1):1}}})(),(()=>{var e;P.g.importScripts&&(e=P.g.location+"");var r=P.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),P.p=e})(),t=e=>{var r=e=>e.split(".").map(e=>+e==e?+e:e),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],i=(typeof o)[0];if(n>=r.length)return"u"==i;var a=r[n],u=(typeof a)[0];if(i!=u)return"o"==i&&"n"==u||"s"==u||"u"==i;if("o"!=i&&"u"!=i&&o!=a)return o<a;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,i=1;i<e.length;i++)n--,t+="u"==(typeof(u=e[i]))[0]?"-":(n>0?".":"")+(n=2,u);return t}var a=[];for(i=1;i<e.length;i++){var u=e[i];a.push(0===u?"not("+s()+")":1===u?"("+s()+" || "+s()+")":2===u?a.pop()+" "+a.pop():o(u))}return s();function s(){return a.pop().replace(/^\((.+)\)$/,"$1")}},i=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var a=0,u=1,s=!0;;u++,a++){var l,d,f=u<e.length?(typeof e[u])[0]:"";if(a>=r.length||"o"==(d=(typeof(l=r[a]))[0]))return!s||("u"==f?u>n&&!o:""==f!=o);if("u"==d){if(!s||"u"!=f)return!1}else if(s)if(f==d)if(u<=n){if(l!=e[u])return!1}else{if(o?l>e[u]:l<e[u])return!1;l!=e[u]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||u<=n)return!1;s=!1,u--}else{if(u<=n||d<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,u--)}}var p=[],c=p.pop.bind(p);for(a=1;a<e.length;a++){var h=e[a];p.push(1==h?c()|c():2==h?c()&c():h?i(h,r):!c())}return!!c()},a=(e,r)=>e&&P.o(e,r),u=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce((r,t)=>(e[t].eager&&(r[t]=e[t]),r),{}),l=(e,r,t,o)=>{var a=o?s(e[r]):e[r];return(r=Object.keys(a).reduce((e,r)=>!i(t,r)||e&&!n(e,r)?e:r,0))&&a[r]},d=(e,r,t)=>{var o=t?s(e[r]):e[r];return Object.keys(o).reduce((e,r)=>!e||!o[e].loaded&&n(e,r)?r:e,0)},f=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",p=(e,r,t,n,i)=>{var a=e[t];return"No satisfying version ("+o(n)+")"+(i?" for eager consumption":"")+" of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(a).map(e=>e+" from "+a[e].from).join(", ")},c=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},g=(e,r,t)=>t?t():((e,r)=>c("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),y=(v=e=>function(r,t,n,o,i){var a=P.I(r);return a&&a.then&&!n?a.then(e.bind(e,r,P.S[r],t,!1,o,i)):e(r,P.S[r],t,n,o,i)})((e,r,t,n,o,i)=>{if(!a(r,t))return g(e,t,i);var s=l(r,t,o,n);return s?u(s):i?i():void c(p(r,e,t,o,n))}),b=v((e,r,t,n,o,s)=>{if(!a(r,t))return g(e,t,s);var l=d(r,t,n);return i(o,l)||h(f(r,t,l,o)),u(r[t][l])}),m={},j={95:()=>b("default","@jupytergis/jupytergis-core",!1,[2,0,11,1]),118:()=>b("default","@jupyterlab/rendermime",!1,[1,4,5,1]),223:()=>b("default","@jupyterlab/settingregistry",!1,[1,4,5,1]),247:()=>b("default","@lumino/widgets",!1,[1,2,3,1,,"alpha",1]),292:()=>b("default","@jupyterlab/coreutils",!1,[1,6,5,1]),640:()=>b("default","@jupytergis/base",!1,[2,0,11,1]),690:()=>b("default","@jupyterlab/codeeditor",!1,[1,4,5,1]),707:()=>b("default","@jupyterlab/statedb",!1,[1,4,5,1]),805:()=>b("default","@jupyterlab/console",!1,[1,4,5,1]),827:()=>b("default","@jupyterlab/apputils",!1,[1,4,6,1]),906:()=>b("default","@jupytergis/schema",!1,[2,0,11,1]),907:()=>b("default","@jupyterlab/services",!1,[1,7,5,1]),911:()=>y("default","@jupyter/collaborative-drive",!1,[1,4,1,2],()=>P.e(234).then(()=>()=>P(234))),262:()=>b("default","@lumino/coreutils",!1,[1,2,0,0])},w={4:[95,118,223,247,292,640,690,707,805,827,906,907,911],234:[262]},S={},P.f.consumes=(e,r)=>{P.o(w,e)&&w[e].forEach(e=>{if(P.o(m,e))return r.push(m[e]);if(!S[e]){var t=r=>{m[e]=0,P.m[e]=t=>{delete P.c[e],t.exports=r()}};S[e]=!0;var n=r=>{delete m[e],P.m[e]=t=>{throw delete P.c[e],r}};try{var o=j[e]();o.then?r.push(m[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}})},(()=>{var e={617:0};P.f.j=(r,t)=>{var n=P.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((t,o)=>n=e[r]=[t,o]);t.push(n[2]=o);var i=P.p+P.u(r),a=new Error;P.l(i,t=>{if(P.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;a.message="Loading chunk "+r+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}},"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[i,a,u]=t,s=0;if(i.some(r=>0!==e[r])){for(n in a)P.o(a,n)&&(P.m[n]=a[n]);u&&u(P)}for(r&&r(t);s<i.length;s++)o=i[s],P.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunk_jupytergis_jupytergis_qgis=self.webpackChunk_jupytergis_jupytergis_qgis||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),P.nc=void 0;var _=P(7);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB)["@jupytergis/jupytergis-qgis"]=_})();
|
|
@@ -916,7 +916,7 @@ def jgis_layer_to_qgis(
|
|
|
916
916
|
# check logical operator to choose discrete or exact
|
|
917
917
|
op = layer_colors[3][0]
|
|
918
918
|
|
|
919
|
-
# skip the last value in both cases,
|
|
919
|
+
# skip the last value in both cases, that's the fallback and not used by qgis
|
|
920
920
|
if op == "<=":
|
|
921
921
|
# skip the second to last pair because that needs special handling
|
|
922
922
|
color_ramp_shader.setColorRampType(QgsColorRampShader.Discrete)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICollaborativeContentProvider } from '@jupyter/collaborative-drive';
|
|
2
2
|
import { logoMiniIcon, logoMiniIconQGZ, requestAPI, } from '@jupytergis/base';
|
|
3
3
|
import { JupyterGISDocumentWidgetFactory } from '@jupytergis/jupytergis-core';
|
|
4
4
|
import { IJGISExternalCommandRegistryToken, JupyterGISDoc, IJupyterGISDocTracker, IAnnotationToken, IJGISFormSchemaRegistryToken, } from '@jupytergis/schema';
|
|
@@ -7,6 +7,7 @@ import { IEditorServices } from '@jupyterlab/codeeditor';
|
|
|
7
7
|
import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
|
|
8
8
|
import { PathExt } from '@jupyterlab/coreutils';
|
|
9
9
|
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
10
|
+
import { IDefaultDrive, } from '@jupyterlab/services';
|
|
10
11
|
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
11
12
|
import { IStateDB } from '@jupyterlab/statedb';
|
|
12
13
|
import { Widget } from '@lumino/widgets';
|
|
@@ -18,7 +19,7 @@ var CommandIDs;
|
|
|
18
19
|
(function (CommandIDs) {
|
|
19
20
|
CommandIDs.exportQgis = 'jupytergis:export';
|
|
20
21
|
})(CommandIDs || (CommandIDs = {}));
|
|
21
|
-
const activate = async (app, tracker, themeManager, drive, externalCommandRegistry, contentFactory, editorServices, rendermime, consoleTracker, annotationModel, settingRegistry, formSchemaRegistry, state, commandPalette) => {
|
|
22
|
+
const activate = async (app, tracker, themeManager, drive, externalCommandRegistry, contentFactory, editorServices, rendermime, consoleTracker, annotationModel, settingRegistry, formSchemaRegistry, state, commandPalette, collaborativeContentProvider) => {
|
|
22
23
|
const fcCheck = await requestAPI('jupytergis_qgis/backend-check', {
|
|
23
24
|
method: 'POST',
|
|
24
25
|
body: JSON.stringify({}),
|
|
@@ -94,8 +95,10 @@ const activate = async (app, tracker, themeManager, drive, externalCommandRegist
|
|
|
94
95
|
const QGISSharedModelFactory = () => {
|
|
95
96
|
return new JupyterGISDoc();
|
|
96
97
|
};
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
if (collaborativeContentProvider) {
|
|
99
|
+
collaborativeContentProvider.sharedModelFactory.registerDocumentFactory('QGS', QGISSharedModelFactory);
|
|
100
|
+
collaborativeContentProvider.sharedModelFactory.registerDocumentFactory('QGZ', QGISSharedModelFactory);
|
|
101
|
+
}
|
|
99
102
|
const widgetCreatedCallback = (sender, widget) => {
|
|
100
103
|
widget.title.icon = logoMiniIconQGZ;
|
|
101
104
|
// Notify the instance tracker if restore data needs to update.
|
|
@@ -215,7 +218,7 @@ export const qgisplugin = {
|
|
|
215
218
|
requires: [
|
|
216
219
|
IJupyterGISDocTracker,
|
|
217
220
|
IThemeManager,
|
|
218
|
-
|
|
221
|
+
IDefaultDrive,
|
|
219
222
|
IJGISExternalCommandRegistryToken,
|
|
220
223
|
ConsolePanel.IContentFactory,
|
|
221
224
|
IEditorServices,
|
|
@@ -226,7 +229,7 @@ export const qgisplugin = {
|
|
|
226
229
|
IJGISFormSchemaRegistryToken,
|
|
227
230
|
IStateDB,
|
|
228
231
|
],
|
|
229
|
-
optional: [ICommandPalette],
|
|
232
|
+
optional: [ICommandPalette, ICollaborativeContentProvider],
|
|
230
233
|
autoStart: true,
|
|
231
234
|
activate,
|
|
232
235
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-qgis",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "JupyterGIS QGIS extension.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"watch:labextension": "jupyter labextension watch ."
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@jupyter/collaborative-drive": "^
|
|
57
|
-
"@jupytergis/base": "^0.
|
|
58
|
-
"@jupytergis/jupytergis-core": "^0.
|
|
59
|
-
"@jupytergis/schema": "^0.
|
|
56
|
+
"@jupyter/collaborative-drive": "^4.1.2",
|
|
57
|
+
"@jupytergis/base": "^0.11.1",
|
|
58
|
+
"@jupytergis/jupytergis-core": "^0.11.1",
|
|
59
|
+
"@jupytergis/schema": "^0.11.1",
|
|
60
60
|
"@jupyterlab/application": "^4.3.0",
|
|
61
61
|
"@jupyterlab/apputils": "^4.3.0",
|
|
62
62
|
"@jupyterlab/coreutils": "^6.3.0",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
build-backend = "hatchling.build"
|
|
3
3
|
requires = [
|
|
4
4
|
"hatchling>=1.5.0",
|
|
5
|
-
"jupyterlab>=4.
|
|
5
|
+
"jupyterlab>=4.5.1",
|
|
6
6
|
"hatch-nodejs-version>=0.3.2",
|
|
7
7
|
]
|
|
8
8
|
|
|
@@ -13,14 +13,15 @@ classifiers = [
|
|
|
13
13
|
"Framework :: Jupyter :: JupyterLab :: 4",
|
|
14
14
|
"Framework :: Jupyter :: JupyterLab :: Extensions",
|
|
15
15
|
"Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt",
|
|
16
|
+
"Topic :: Scientific/Engineering :: GIS",
|
|
16
17
|
"License :: OSI Approved :: BSD License",
|
|
17
18
|
"Programming Language :: Python",
|
|
18
19
|
"Programming Language :: Python :: 3",
|
|
19
|
-
"Programming Language :: Python :: 3.8",
|
|
20
|
-
"Programming Language :: Python :: 3.9",
|
|
21
20
|
"Programming Language :: Python :: 3.10",
|
|
22
21
|
"Programming Language :: Python :: 3.11",
|
|
23
22
|
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Programming Language :: Python :: 3.13",
|
|
24
|
+
"Programming Language :: Python :: 3.14",
|
|
24
25
|
]
|
|
25
26
|
dependencies = [
|
|
26
27
|
"jupyter_server>=2.0.1,<3",
|
|
@@ -78,7 +79,7 @@ version_cmd = "hatch version"
|
|
|
78
79
|
|
|
79
80
|
[tool.jupyter-releaser.hooks]
|
|
80
81
|
before-build-npm = [
|
|
81
|
-
"python -m pip install 'jupyterlab>=4.
|
|
82
|
+
"python -m pip install 'jupyterlab>=4.5.1'",
|
|
82
83
|
"jlpm",
|
|
83
84
|
"jlpm build:prod",
|
|
84
85
|
]
|
|
@@ -10,9 +10,7 @@ import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
|
10
10
|
/**
|
|
11
11
|
* A Model factory to create new instances of JupyterGISModel.
|
|
12
12
|
*/
|
|
13
|
-
export class JupyterGISModelFactoryBase
|
|
14
|
-
implements DocumentRegistry.IModelFactory<JupyterGISModel>
|
|
15
|
-
{
|
|
13
|
+
export class JupyterGISModelFactoryBase implements DocumentRegistry.IModelFactory<JupyterGISModel> {
|
|
16
14
|
constructor(options: JupyterGISModelFactoryBase.IOptions) {
|
|
17
15
|
this._annotationModel = options.annotationModel;
|
|
18
16
|
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ICollaborativeDrive,
|
|
3
|
-
SharedDocumentFactory,
|
|
4
|
-
} from '@jupyter/collaborative-drive';
|
|
1
|
+
import { ICollaborativeContentProvider } from '@jupyter/collaborative-drive';
|
|
5
2
|
import {
|
|
6
3
|
JupyterGISDocumentWidget,
|
|
7
4
|
logoMiniIcon,
|
|
@@ -37,6 +34,11 @@ import { IEditorServices } from '@jupyterlab/codeeditor';
|
|
|
37
34
|
import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
|
|
38
35
|
import { PathExt } from '@jupyterlab/coreutils';
|
|
39
36
|
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
37
|
+
import {
|
|
38
|
+
Contents,
|
|
39
|
+
IDefaultDrive,
|
|
40
|
+
SharedDocumentFactory,
|
|
41
|
+
} from '@jupyterlab/services';
|
|
40
42
|
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
41
43
|
import { IStateDB } from '@jupyterlab/statedb';
|
|
42
44
|
import { Widget } from '@lumino/widgets';
|
|
@@ -75,7 +77,7 @@ const activate = async (
|
|
|
75
77
|
app: JupyterFrontEnd,
|
|
76
78
|
tracker: WidgetTracker<IJupyterGISWidget>,
|
|
77
79
|
themeManager: IThemeManager,
|
|
78
|
-
drive:
|
|
80
|
+
drive: Contents.IDrive,
|
|
79
81
|
externalCommandRegistry: IJGISExternalCommandRegistry,
|
|
80
82
|
contentFactory: ConsolePanel.IContentFactory,
|
|
81
83
|
editorServices: IEditorServices,
|
|
@@ -86,6 +88,7 @@ const activate = async (
|
|
|
86
88
|
formSchemaRegistry: IJGISFormSchemaRegistry,
|
|
87
89
|
state: IStateDB,
|
|
88
90
|
commandPalette: ICommandPalette | null,
|
|
91
|
+
collaborativeContentProvider: ICollaborativeContentProvider | null,
|
|
89
92
|
): Promise<void> => {
|
|
90
93
|
const fcCheck = await requestAPI<{ installed: boolean }>(
|
|
91
94
|
'jupytergis_qgis/backend-check',
|
|
@@ -175,14 +178,17 @@ const activate = async (
|
|
|
175
178
|
const QGISSharedModelFactory: SharedDocumentFactory = () => {
|
|
176
179
|
return new JupyterGISDoc();
|
|
177
180
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
181
|
+
|
|
182
|
+
if (collaborativeContentProvider) {
|
|
183
|
+
collaborativeContentProvider.sharedModelFactory.registerDocumentFactory(
|
|
184
|
+
'QGS',
|
|
185
|
+
QGISSharedModelFactory,
|
|
186
|
+
);
|
|
187
|
+
collaborativeContentProvider.sharedModelFactory.registerDocumentFactory(
|
|
188
|
+
'QGZ',
|
|
189
|
+
QGISSharedModelFactory,
|
|
190
|
+
);
|
|
191
|
+
}
|
|
186
192
|
|
|
187
193
|
const widgetCreatedCallback = (
|
|
188
194
|
sender: any,
|
|
@@ -323,7 +329,7 @@ export const qgisplugin: JupyterFrontEndPlugin<void> = {
|
|
|
323
329
|
requires: [
|
|
324
330
|
IJupyterGISDocTracker,
|
|
325
331
|
IThemeManager,
|
|
326
|
-
|
|
332
|
+
IDefaultDrive,
|
|
327
333
|
IJGISExternalCommandRegistryToken,
|
|
328
334
|
ConsolePanel.IContentFactory,
|
|
329
335
|
IEditorServices,
|
|
@@ -334,7 +340,7 @@ export const qgisplugin: JupyterFrontEndPlugin<void> = {
|
|
|
334
340
|
IJGISFormSchemaRegistryToken,
|
|
335
341
|
IStateDB,
|
|
336
342
|
],
|
|
337
|
-
optional: [ICommandPalette],
|
|
343
|
+
optional: [ICommandPalette, ICollaborativeContentProvider],
|
|
338
344
|
autoStart: true,
|
|
339
345
|
activate,
|
|
340
346
|
};
|