jupytergis-core 0.4.4__tar.gz → 0.5.0__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_core-0.4.4 → jupytergis_core-0.5.0}/.gitignore +1 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/PKG-INFO +1 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/_version.py +1 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/jgis_ydoc.py +13 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/package.json +7 -5
- jupytergis_core-0.5.0/jupytergis_core/labextension/schemas/@jupytergis/jupytergis-core/jupytergis-settings.json +13 -0
- jupytergis_core-0.5.0/jupytergis_core/labextension/schemas/@jupytergis/jupytergis-core/package.json.orig +123 -0
- jupytergis_core-0.5.0/jupytergis_core/labextension/static/377.2ba30d7a93a2a2819b1b.js +1 -0
- jupytergis_core-0.4.4/jupytergis_core/labextension/static/729.324a42416a3ebbd3b351.js → jupytergis_core-0.5.0/jupytergis_core/labextension/static/729.2540a8113c71e8eb28ef.js +2 -2
- jupytergis_core-0.5.0/jupytergis_core/labextension/static/893.0bf9ee057c7e4666c364.js +1 -0
- jupytergis_core-0.5.0/jupytergis_core/labextension/static/991.13deb14ad0c10be40859.js +1 -0
- jupytergis_core-0.5.0/jupytergis_core/labextension/static/remoteEntry.6e9db18c72727800e9ea.js +1 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/third-party-licenses.json +6 -6
- jupytergis_core-0.5.0/jupytergis_core/schema/__init__.py +24 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/export/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/export/exportGeojson.py +18 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/export/exportGeotiff.py +28 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/geojson.py +502 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/geojsonsource.py +20 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/processing/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/processing/buffer.py +23 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/processing/dissolve.py +24 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/jgis.py +136 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/heatmapLayer.py +30 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/hillshadeLayer.py +19 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/imageLayer.py +19 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/rasterlayer.py +19 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/vectorTileLayer.py +30 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/vectorlayer.py +64 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/layers/webGlLayer.py +57 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/__init__.py +3 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/geoTiffSource.py +27 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/imageSource.py +29 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/rasterDemSource.py +23 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/rastersource.py +36 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/shapefileSource.py +31 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/vectortilesource.py +27 -0
- jupytergis_core-0.5.0/jupytergis_core/schema/interfaces/project/sources/videoSource.py +30 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/jgisplugin/modelfactory.d.ts +3 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/jgisplugin/modelfactory.js +4 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/jgisplugin/plugins.js +19 -35
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/package.json +6 -4
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/pyproject.toml +5 -1
- jupytergis_core-0.5.0/schema/jupytergis-settings.json +13 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/jgisplugin/modelfactory.ts +7 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/jgisplugin/plugins.ts +23 -44
- jupytergis_core-0.5.0/tsconfig.tsbuildinfo +1 -0
- jupytergis_core-0.4.4/jupytergis_core/labextension/static/31.e9cd0d7591d75f6758de.js +0 -1
- jupytergis_core-0.4.4/jupytergis_core/labextension/static/713.32aef4e64952eb9ee4ea.js +0 -1
- jupytergis_core-0.4.4/jupytergis_core/labextension/static/991.2b2f966775f1e2f4e94e.js +0 -1
- jupytergis_core-0.4.4/jupytergis_core/labextension/static/remoteEntry.92b9caad6441d1ab3223.js +0 -1
- jupytergis_core-0.4.4/tsconfig.tsbuildinfo +0 -1
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/LICENSE +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/README.md +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupyter-config/server-config/jupytergis_core.json +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/__init__.py +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/handler.py +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/026680ab0cd1523edc87.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/02ff7d503bbd90b21fc4.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/062a9554f6b4caac9713.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/064f37cecb8130ad66e8.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/08da2741746ddab81d04.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/0c6a0352b82839119f95.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/13c485bb93f5567f02fd.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/1474207a6b3ca1001e78.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/14b98240613d5256c621.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/154.0d16fbe1d1182d138b2c.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/1b97ea0f2b3af717cffa.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/1d440270da19a2f22fee.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/1ed164e010f3c0306d15.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/2218dfba22fc2b08e948.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/234.2f0fc49f516ad354aa18.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/27.aea9e291ba3dd16790fb.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/27.aea9e291ba3dd16790fb.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/2ab791b60c4058e664f8.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/2b24b6a745c11511f055.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/2d676bc0a01c2cd2fccb.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/2f02309ea499725612ea.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/32c7a73662cceb5bb1d7.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/350eec4ce9ae4bc10bca.wasm +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/363ca7c5f78deb6fd033.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/376.58a6410b7089dea5b0d5.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/3ae0bf244442de7efc35.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/3d48be10ffea86eb15de.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/407.da5d00862f4879fe3c9c.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/415edc3fa381260cf31e.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/42cbddf5e883673bc4e2.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/432.df2bee6966bdd5a48317.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/472.b2ea9ebc35d5ad4e1fcc.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/527ef171d5df15dc7da5.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/542.477a73b8682de0e8d45e.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/552.3f267df0d8b2c9ef2c40.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/555.be80e60305924af2e139.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/5bb02252f243f8c7494f.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/5d181edc3c046e1454a1.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/5f32ad48aefe00e51312.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/618.86523276f857e0a3362e.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/6e4f6b4d0dfca3bd4450.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/71d436fb44627b6bfbd7.png +0 -0
- /jupytergis_core-0.4.4/jupytergis_core/labextension/static/729.324a42416a3ebbd3b351.js.LICENSE.txt → /jupytergis_core-0.5.0/jupytergis_core/labextension/static/729.2540a8113c71e8eb28ef.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/7b225dc2d37cd3582156.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/803.8b9c4e2f8bed9130b6d0.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/803.8b9c4e2f8bed9130b6d0.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/843ab141e62516b9df5c.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/8814e17f6b110e8f3e42.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/88b2ae0d29edb684eae5.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/971a42d174dd17b9451a.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/a3c609f5bff95a7a53be.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/a86d626c9ed2e222d190.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/a9e286b0c0264a9fc737.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/ab309078b494f850430a.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/b15e3989b7b90b5a8d9d.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/b36717fbb06f21d53b01.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/ba4b6e82fe5a816c40a5.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/bb2b310570da7a3587e9.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/be92bcf7bb99753b4b3d.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/c2ffa011d7f52a0ddf45.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/d83457b1b925c1718f6d.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/e473e1e9f20af114bbb4.data +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/f2617180c6907263a7ff.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/fe99a6dbf5a71d308989.png +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/jupytergis_core/labextension/static/style.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/externalcommand.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/externalcommand.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/factory.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/factory.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/index.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/index.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/jgisplugin/plugins.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/layerBrowserRegistry.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/layerBrowserRegistry.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/plugin.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/plugin.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/schemaregistry.d.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/lib/schemaregistry.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/scripts/bump-version.py +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/setup.py +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/externalcommand.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/factory.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/index.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/layerBrowserRegistry.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/plugin.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/src/schemaregistry.ts +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/style/base.css +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/style/index.css +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/style/index.js +0 -0
- {jupytergis_core-0.4.4 → jupytergis_core-0.5.0}/tsconfig.json +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import json
|
|
2
2
|
from typing import Any, Callable
|
|
3
3
|
from functools import partial
|
|
4
|
+
from packaging.version import Version
|
|
4
5
|
|
|
5
6
|
from pycrdt import Array, Map
|
|
6
7
|
from jupyter_ydoc.ybasedoc import YBaseDoc
|
|
8
|
+
from .schema import SCHEMA_VERSION
|
|
7
9
|
|
|
8
10
|
|
|
9
11
|
class YJGIS(YBaseDoc):
|
|
@@ -16,7 +18,7 @@ class YJGIS(YBaseDoc):
|
|
|
16
18
|
self._ydoc["metadata"] = self._ymetadata = Map()
|
|
17
19
|
|
|
18
20
|
def version(self) -> str:
|
|
19
|
-
return
|
|
21
|
+
return SCHEMA_VERSION
|
|
20
22
|
|
|
21
23
|
def get(self) -> str:
|
|
22
24
|
"""
|
|
@@ -31,6 +33,7 @@ class YJGIS(YBaseDoc):
|
|
|
31
33
|
layers_tree = self._ylayerTree.to_py()
|
|
32
34
|
return json.dumps(
|
|
33
35
|
dict(
|
|
36
|
+
schemaVersion=SCHEMA_VERSION,
|
|
34
37
|
layers=layers,
|
|
35
38
|
sources=sources,
|
|
36
39
|
options=options,
|
|
@@ -49,6 +52,15 @@ class YJGIS(YBaseDoc):
|
|
|
49
52
|
"""
|
|
50
53
|
valueDict = json.loads(value)
|
|
51
54
|
|
|
55
|
+
# Assuming file version 0.5.0 if the version is not specified
|
|
56
|
+
file_version = (
|
|
57
|
+
Version(valueDict["schemaVersion"])
|
|
58
|
+
if "schemaVersion" in valueDict
|
|
59
|
+
else Version("0.5.0")
|
|
60
|
+
)
|
|
61
|
+
if file_version > Version(SCHEMA_VERSION):
|
|
62
|
+
raise ValueError(f"Cannot load file version {file_version}")
|
|
63
|
+
|
|
52
64
|
with self._ydoc.transaction():
|
|
53
65
|
self._ylayers.clear()
|
|
54
66
|
self._ylayers.update(valueDict.get("layers", {}))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "JupyterGIS core extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"author": "JupyterGIS contributors",
|
|
16
16
|
"files": [
|
|
17
17
|
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
18
|
-
"style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
|
|
18
|
+
"style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
|
|
19
|
+
"schema/**/*.{json,js,ts}"
|
|
19
20
|
],
|
|
20
21
|
"main": "lib/index.js",
|
|
21
22
|
"types": "lib/index.d.ts",
|
|
@@ -53,8 +54,8 @@
|
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
56
|
"@jupyter/collaborative-drive": "^3.0.0",
|
|
56
|
-
"@jupytergis/base": "^0.
|
|
57
|
-
"@jupytergis/schema": "^0.
|
|
57
|
+
"@jupytergis/base": "^0.5.0",
|
|
58
|
+
"@jupytergis/schema": "^0.5.0",
|
|
58
59
|
"@jupyterlab/application": "^4.3.0",
|
|
59
60
|
"@jupyterlab/apputils": "^4.3.0",
|
|
60
61
|
"@jupyterlab/docregistry": "^4.3.0",
|
|
@@ -91,6 +92,7 @@
|
|
|
91
92
|
"access": "public"
|
|
92
93
|
},
|
|
93
94
|
"jupyterlab": {
|
|
95
|
+
"schemaDir": "schema",
|
|
94
96
|
"discovery": {
|
|
95
97
|
"server": {
|
|
96
98
|
"managers": [
|
|
@@ -118,7 +120,7 @@
|
|
|
118
120
|
}
|
|
119
121
|
},
|
|
120
122
|
"_build": {
|
|
121
|
-
"load": "static/remoteEntry.
|
|
123
|
+
"load": "static/remoteEntry.6e9db18c72727800e9ea.js",
|
|
122
124
|
"extension": "./extension",
|
|
123
125
|
"style": "./style"
|
|
124
126
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "JupyterGIS Settings",
|
|
3
|
+
"description": "Settings for the JupyterGIS extension.",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"proxyUrl": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"title": "Proxy URL",
|
|
9
|
+
"description": "The proxy URL to use for external requests.",
|
|
10
|
+
"default": "https://corsproxy.io"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jupytergis/jupytergis-core",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "JupyterGIS core extension",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"jupyter",
|
|
7
|
+
"jupyterlab",
|
|
8
|
+
"jupyterlab-extension"
|
|
9
|
+
],
|
|
10
|
+
"homepage": "https://github.com/geojupyter/jupytergis",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/geojupyter/jupytergis/issues"
|
|
13
|
+
},
|
|
14
|
+
"license": "BSD-3-Clause",
|
|
15
|
+
"author": "JupyterGIS contributors",
|
|
16
|
+
"files": [
|
|
17
|
+
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
18
|
+
"style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
|
|
19
|
+
"schema/**/*.{json,js,ts}"
|
|
20
|
+
],
|
|
21
|
+
"main": "lib/index.js",
|
|
22
|
+
"types": "lib/index.d.ts",
|
|
23
|
+
"style": "style/index.css",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/geojupyter/jupytergis.git"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
30
|
+
"build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
|
|
31
|
+
"build:labextension": "jupyter labextension build .",
|
|
32
|
+
"build:labextension:dev": "jupyter labextension build --development True .",
|
|
33
|
+
"build:lib": "tsc --sourceMap",
|
|
34
|
+
"build:lib:prod": "tsc",
|
|
35
|
+
"build:dev": "jlpm run build",
|
|
36
|
+
"clean": "jlpm clean:lib",
|
|
37
|
+
"clean:lib": "rimraf lib tsconfig.tsbuildinfo",
|
|
38
|
+
"clean:lintcache": "rimraf .eslintcache .stylelintcache",
|
|
39
|
+
"clean:labextension": "rimraf jupytergis_core/labextension jupytergis_core/_version.py",
|
|
40
|
+
"clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
|
|
41
|
+
"eslint": "jlpm eslint:check --fix",
|
|
42
|
+
"eslint:check": "eslint . --cache --ext .ts,.tsx",
|
|
43
|
+
"install:extension": "jlpm build",
|
|
44
|
+
"lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
|
|
45
|
+
"lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
|
|
46
|
+
"prettier": "jlpm prettier:base --write",
|
|
47
|
+
"prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
|
|
48
|
+
"prettier:check": "jlpm prettier:base --check",
|
|
49
|
+
"stylelint": "jlpm stylelint:check --fix",
|
|
50
|
+
"stylelint:check": "stylelint --cache \"style/**/*.css\"",
|
|
51
|
+
"watch": "run-p watch:src watch:labextension",
|
|
52
|
+
"watch:src": "tsc -w --sourceMap",
|
|
53
|
+
"watch:labextension": "jupyter labextension watch ."
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@jupyter/collaborative-drive": "^3.0.0",
|
|
57
|
+
"@jupytergis/base": "^0.5.0",
|
|
58
|
+
"@jupytergis/schema": "^0.5.0",
|
|
59
|
+
"@jupyterlab/application": "^4.3.0",
|
|
60
|
+
"@jupyterlab/apputils": "^4.3.0",
|
|
61
|
+
"@jupyterlab/docregistry": "^4.3.0",
|
|
62
|
+
"@jupyterlab/filebrowser": "^4.3.0",
|
|
63
|
+
"@jupyterlab/launcher": "^4.3.0",
|
|
64
|
+
"@jupyterlab/mainmenu": "^4.3.0",
|
|
65
|
+
"@jupyterlab/services": "^7.3.0",
|
|
66
|
+
"@jupyterlab/translation": "^4.3.0",
|
|
67
|
+
"@jupyterlab/ui-components": "^4.3.0",
|
|
68
|
+
"@lumino/commands": "^2.0.0",
|
|
69
|
+
"util": "^0.12.5"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@jupyterlab/builder": "^4.3.0",
|
|
73
|
+
"@types/json-schema": "^7.0.11",
|
|
74
|
+
"@types/react": "^18.0.26",
|
|
75
|
+
"@types/react-addons-linked-state-mixin": "^0.14.22",
|
|
76
|
+
"copy-webpack-plugin": "^10.0.0",
|
|
77
|
+
"css-loader": "^6.7.1",
|
|
78
|
+
"mkdirp": "^1.0.3",
|
|
79
|
+
"npm-run-all": "^4.1.5",
|
|
80
|
+
"rimraf": "^3.0.2",
|
|
81
|
+
"style-loader": "^3.3.1",
|
|
82
|
+
"typescript": "^5",
|
|
83
|
+
"webpack": "^5.76.3",
|
|
84
|
+
"yjs": "^13.5.0"
|
|
85
|
+
},
|
|
86
|
+
"sideEffects": [
|
|
87
|
+
"style/*.css",
|
|
88
|
+
"style/index.js"
|
|
89
|
+
],
|
|
90
|
+
"styleModule": "style/index.js",
|
|
91
|
+
"publishConfig": {
|
|
92
|
+
"access": "public"
|
|
93
|
+
},
|
|
94
|
+
"jupyterlab": {
|
|
95
|
+
"schemaDir": "schema",
|
|
96
|
+
"discovery": {
|
|
97
|
+
"server": {
|
|
98
|
+
"managers": [
|
|
99
|
+
"pip"
|
|
100
|
+
],
|
|
101
|
+
"base": {
|
|
102
|
+
"name": "jupytergis_core"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"extension": true,
|
|
107
|
+
"outputDir": "jupytergis_core/labextension",
|
|
108
|
+
"sharedPackages": {
|
|
109
|
+
"@jupytergis/base": {
|
|
110
|
+
"singleton": true,
|
|
111
|
+
"bundled": true
|
|
112
|
+
},
|
|
113
|
+
"@jupytergis/schema": {
|
|
114
|
+
"singleton": true,
|
|
115
|
+
"bundled": true
|
|
116
|
+
},
|
|
117
|
+
"@jupyter/docprovider": {
|
|
118
|
+
"singleton": true,
|
|
119
|
+
"bundled": false
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[377],{6377:(e,t,r)=>{r.r(t),r.d(t,{IAnnotationToken:()=>m,IJGISExternalCommandRegistryToken:()=>p,IJGISFormSchemaRegistryToken:()=>c,IJGISLayerBrowserRegistryToken:()=>_,IJupyterGISDocTracker:()=>y,JupyterGISDoc:()=>d,JupyterGISModel:()=>u,SCHEMA_VERSION:()=>h});var s=r(74602),a=r(26803),i=r.n(a),o=r(28e3),n=r(67262);const h="0.5.0";class d extends o.YDocument{constructor(){super(),this.editable=!0,this._optionsObserver=e=>{this._optionsChanged.emit(e.keys)},this._metaObserver=e=>{this._metadataChanged.emit(e.keys)},this._optionsChanged=new s.Signal(this),this._layersChanged=new s.Signal(this),this._layerTreeChanged=new s.Signal(this),this._sourcesChanged=new s.Signal(this),this._metadataChanged=new s.Signal(this),this._options=this.ydoc.getMap("options"),this._layers=this.ydoc.getMap("layers"),this._layerTree=this.ydoc.getArray("layerTree"),this._sources=this.ydoc.getMap("sources"),this._metadata=this.ydoc.getMap("metadata"),this.undoManager.addToScope(this._layers),this.undoManager.addToScope(this._sources),this.undoManager.addToScope(this._layerTree),this._layers.observeDeep(this._layersObserver.bind(this)),this._layerTree.observe(this._layerTreeObserver.bind(this)),this._sources.observeDeep(this._sourcesObserver.bind(this)),this._options.observe(this._optionsObserver.bind(this)),this._metadata.observe(this._metaObserver.bind(this))}getSource(){const e=this._layers.toJSON(),t=this._layerTree.toJSON(),r=this._options.toJSON();return{layers:e,layerTree:t,sources:this._sources.toJSON(),options:r,metadata:this._metadata.toJSON()}}setSource(e){e&&("string"==typeof e&&(e=JSON.parse(e)),this.transact((()=>{var t,r,s,a,i;const o=null!==(t=e.layers)&&void 0!==t?t:{};Object.entries(o).forEach((([e,t])=>this._layers.set(e,t))),(null!==(r=e.layerTree)&&void 0!==r?r:[]).forEach((e=>{this._layerTree.push([e])}));const n=null!==(s=e.options)&&void 0!==s?s:{};Object.entries(n).forEach((([e,t])=>this._options.set(e,t)));const h=null!==(a=e.sources)&&void 0!==a?a:{};Object.entries(h).forEach((([e,t])=>this._sources.set(e,t)));const d=null!==(i=e.metadata)&&void 0!==i?i:{};Object.entries(d).forEach((([e,t])=>this._metadata.set(e,t)))})))}dispose(){super.dispose()}get version(){return h}get layers(){return n.JSONExt.deepCopy(this._layers.toJSON())}set layers(e){this.transact((()=>{for(const[t,r]of Object.entries(e))this._layers.set(t,r)}))}set sources(e){this.transact((()=>{for(const[t,r]of Object.entries(e))this._sources.set(t,r)}))}get sources(){return n.JSONExt.deepCopy(this._sources.toJSON())}get layerTree(){return n.JSONExt.deepCopy(this._layerTree.toJSON())}set layerTree(e){this.transact((()=>{this._layerTree.delete(0,this._layerTree.length),this._layerTree.push(e)}))}getLayer(e){if(this._layers.has(e))return n.JSONExt.deepCopy(this._layers.get(e))}getLayerSource(e){if(this._sources.has(e))return n.JSONExt.deepCopy(this._sources.get(e))}set options(e){this.transact((()=>{for(const[t,r]of Object.entries(e))this._options.set(t,r)}))}get options(){return n.JSONExt.deepCopy(this._options.toJSON())}get layersChanged(){return this._layersChanged}get layerTreeChanged(){return this._layerTreeChanged}get sourcesChanged(){return this._sourcesChanged}get optionsChanged(){return this._optionsChanged}layerExists(e){return Boolean(this._getLayerAsYMap(e))}removeLayer(e){this.transact((()=>{this._layers.delete(e)}))}addLayer(e,t){this.transact((()=>{this._layers.set(e,t)}))}updateLayer(e,t){this.transact((()=>{this._layers.set(e,t)}))}addLayerTreeItem(e,t){this.transact((()=>{this._layerTree.insert(e,[t])}))}updateLayerTreeItem(e,t){this.transact((()=>{this._layerTree.delete(e),t&&this._layerTree.insert(e,[t])}))}getObject(e){const t=this.getLayer(e);if(t)return t;return this.getLayerSource(e)||void 0}updateObjectParameters(e,t){const r=this.getLayer(e);r&&(r.parameters=Object.assign(Object.assign({},r.parameters),t),this.updateLayer(e,r));const s=this.getLayerSource(e);s&&(s.parameters=Object.assign(Object.assign({},s.parameters),t),this.updateSource(e,s))}sourceExists(e){return Boolean(this._getSourceAsYMap(e))}removeSource(e){this.transact((()=>{this._sources.delete(e)}))}addSource(e,t){this.transact((()=>{this._sources.set(e,t)}))}updateSource(e,t){this.transact((()=>this._sources.set(e,t)))}getOption(e){const t=this._options.get(e);if(t)return n.JSONExt.deepCopy(t)}setOption(e,t){this.transact((()=>{this._options.set(e,t)}))}getMetadata(e){return this._metadata.get(e)}setMetadata(e,t){this.transact((()=>{this._metadata.set(e,t)}))}removeMetadata(e){this._metadata.has(e)&&this._metadata.delete(e)}get metadata(){return n.JSONExt.deepCopy(this._metadata.toJSON())}set metadata(e){this.transact((()=>{for(const[t,r]of Object.entries(e))this._metadata.set(t,r)}))}get metadataChanged(){return this._metadataChanged}static create(){return new d}_getLayerAsYMap(e){if(this._layers.has(e))return this._layers.get(e)}_getSourceAsYMap(e){if(this._sources.has(e))return this._sources.get(e)}_layersObserver(e){const t=[];let r=!1;e.forEach((e=>{e.keys.forEach(((s,a)=>{r||(r=!0),t.push({id:a,oldValue:s.oldValue,newValue:n.JSONExt.deepCopy(e.target.toJSON()[a])})}))})),r=0===t.length||r,r&&this._layersChanged.emit({layerChange:t})}_layerTreeObserver(e){const t=e.delta;this._layerTreeChanged.emit({layerTreeChange:t})}_sourcesObserver(e){const t=[];let r=!1;e.forEach((e=>{e.keys.forEach(((s,a)=>{r||(r=!0),t.push({id:a,newValue:n.JSONExt.deepCopy(e.target.toJSON()[a])})}))})),r=0===t.length||r,r&&this._sourcesChanged.emit({sourceChange:t})}}const l=JSON.parse('{"type":"object","title":"IJGISContent","required":["layers","sources"],"additionalProperties":false,"properties":{"schemaVersion":{"type":"string","default":"0.5.0"},"layers":{"$ref":"#/definitions/jGISLayers"},"sources":{"$ref":"#/definitions/jGISSources"},"layerTree":{"$ref":"#/definitions/jGISLayerTree"},"options":{"$ref":"#/definitions/jGISOptions"},"metadata":{"type":"object","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}},"definitions":{"layerType":{"type":"string","enum":["RasterLayer","VectorLayer","VectorTileLayer","HillshadeLayer","WebGlLayer","ImageLayer","HeatmapLayer"]},"sourceType":{"type":"string","enum":["RasterSource","VectorTileSource","GeoJSONSource","RasterDemSource","VideoSource","ImageSource","ShapefileSource","GeoTiffSource"]},"jGISLayer":{"title":"IJGISLayer","type":"object","additionalProperties":false,"required":["name","type","visible"],"properties":{"name":{"type":"string"},"type":{"$ref":"#/definitions/layerType"},"visible":{"type":"boolean","default":true},"parameters":{"type":"object"},"filters":{"$ref":"#/definitions/jGISFilter"}}},"jGISSource":{"title":"IJGISSource","type":"object","additionalProperties":false,"required":["name","type"],"properties":{"name":{"type":"string"},"type":{"$ref":"#/definitions/sourceType"},"parameters":{"type":"object"}}},"jGISLayerGroup":{"title":"IJGISLayerGroup","type":"object","additionalProperties":false,"required":["name","layers"],"properties":{"name":{"type":"string"},"layers":{"type":"array","default":[],"items":{"$ref":"#/definitions/jGISLayerItem"}},"visible":{"type":"boolean","default":true},"parameters":{"type":"object"}}},"jGISLayerItem":{"title":"IJGISLayerItem","oneOf":[{"type":"string"},{"$ref":"#/definitions/jGISLayerGroup"}]},"jGISLayers":{"title":"IJGISLayers","type":"object","default":{},"additionalProperties":{"$ref":"#/definitions/jGISLayer"}},"jGISSources":{"title":"IJGISSources","type":"object","default":{},"additionalProperties":{"$ref":"#/definitions/jGISSource"}},"jGISLayerTree":{"title":"IJGISLayerTree","type":"array","default":[],"items":{"$ref":"#/definitions/jGISLayerItem"}},"jGISOptions":{"title":"IJGISOptions","type":"object","default":{},"required":[],"additionalProperties":false,"properties":{"latitude":{"type":"number","default":0},"longitude":{"type":"number","default":0},"zoom":{"type":"number","default":0},"bearing":{"type":"number","default":0},"pitch":{"type":"number","default":0},"extent":{"type":"array","default":null,"items":{"type":"number"}},"projection":{"type":"string","default":"EPSG:3857"},"useExtent":{"type":"boolean","default":false}}},"jGISFilterItem":{"title":"IJGISFilterItem","type":"object","default":{},"required":["operator","feature","value"],"additionalProperties":false,"properties":{"operator":{"type":"string","enum":["==","!=",">","<",">=","<=","between"],"default":"=="},"feature":{"type":"string","default":""},"value":{"type":["string","number"]},"betweenMin":{"type":["number"]},"betweenMax":{"type":["number"]}}},"jGISFilter":{"title":"IJGISFilter","type":"object","required":["logicalOp","appliedFilters"],"additionalProperties":false,"properties":{"logicalOp":{"type":"string","default":"all"},"appliedFilters":{"type":"array","default":[],"items":{"$ref":"#/definitions/jGISFilterItem"}}}}}}');class u{constructor(e){this._onSharedModelChanged=(e,t)=>{var r;t&&(null===(r=null==t?void 0:t.objectChange)||void 0===r?void 0:r.length)&&(this._contentChanged.emit(void 0),this.dirty=!0)},this.collaborative=void 0===document.querySelectorAll("[data-jupyter-lite-root]")[0],this.flyToGeometrySignal=new s.Signal(this),this.highlightFeatureSignal=new s.Signal(this),this._onClientStateChanged=e=>{const t=this.sharedModel.awareness.getStates();this._clientStateChanged.emit(t),(e.added.length||e.removed.length)&&this._userChanged.emit(this.users)},this.addFeatureAsMs=(e,t)=>{this.addFeatureAsMsSignal.emit(JSON.stringify({id:e,selectedFeature:t}))},this.triggerLayerUpdate=(e,t)=>{this.updateLayerSignal.emit(JSON.stringify({layerId:e,layer:t}))},this.defaultKernelName="",this.defaultKernelLanguage="",this._dirty=!1,this._readOnly=!1,this._isDisposed=!1,this._userChanged=new s.Signal(this),this._disposed=new s.Signal(this),this._contentChanged=new s.Signal(this),this._stateChanged=new s.Signal(this),this._themeChanged=new s.Signal(this),this._clientStateChanged=new s.Signal(this),this._sharedMetadataChanged=new s.Signal(this),this._zoomToPositionSignal=new s.Signal(this),this._addFeatureAsMsSignal=new s.Signal(this),this._updateLayerSignal=new s.Signal(this),this._isIdentifying=!1,this._isTemporalControllerActive=!1,this._geolocationChanged=new s.Signal(this);const{annotationModel:t,sharedModel:r,settingRegistry:a}=e;r?this._sharedModel=r:(this._sharedModel=d.create(),this._sharedModel.changed.connect(this._onSharedModelChanged)),this.sharedModel.awareness.on("change",this._onClientStateChanged),this._sharedModel.metadataChanged.connect(this._metadataChangedHandler,this),this.annotationModel=t,this.settingRegistry=a}async initSettings(){if(this.settingRegistry){const e=await this.settingRegistry.load("@jupytergis/jupytergis-core:jupytergis-settings");this._settings=e.composite,e.changed.connect((()=>{this._settings=e.composite,console.log("JupyterGIS Settings updated:",this._settings)}))}}getSettings(){return this._settings}get sharedModel(){return this._sharedModel}get isDisposed(){return this._isDisposed}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get themeChanged(){return this._themeChanged}get currentUserId(){var e;return null===(e=this.sharedModel)||void 0===e?void 0:e.awareness.clientID}get users(){var e;this._usersMap=null===(e=this._sharedModel)||void 0===e?void 0:e.awareness.getStates();const t=[];return this._usersMap&&this._usersMap.forEach(((e,r)=>{t.push({userId:r,userData:e.user})})),t}get userChanged(){return this._userChanged}get dirty(){return this._dirty}set dirty(e){this._dirty=e}get readOnly(){return this._readOnly}set readOnly(e){this._readOnly=e}get localState(){return this.sharedModel.awareness.getLocalState()}get clientStateChanged(){return this._clientStateChanged}get sharedOptionsChanged(){return this.sharedModel.optionsChanged}get sharedLayersChanged(){return this.sharedModel.layersChanged}get sharedLayerTreeChanged(){return this.sharedModel.layerTreeChanged}get sharedSourcesChanged(){return this.sharedModel.sourcesChanged}get disposed(){return this._disposed}get sharedMetadataChanged(){return this._sharedMetadataChanged}get zoomToPositionSignal(){return this._zoomToPositionSignal}set isIdentifying(e){this._isIdentifying=e}get isIdentifying(){return this._isIdentifying}set isTemporalControllerActive(e){this._isTemporalControllerActive=e}get isTemporalControllerActive(){return this._isTemporalControllerActive}centerOnPosition(e){this._zoomToPositionSignal.emit(e)}_metadataChangedHandler(e,t){this._sharedMetadataChanged.emit(t)}addMetadata(e,t){this.sharedModel.setMetadata(e,t)}removeMetadata(e){this.sharedModel.removeMetadata(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._sharedModel.dispose(),this._disposed.emit(),s.Signal.clearData(this))}toString(){return JSON.stringify(this.getContent(),null,2)}fromString(e){const t=JSON.parse(e),r=(new(i())).compile(l);if(!r(t)){let e="JupyterGIS format errors:\n";for(const t of r.errors||[])e=`${e}- ${t.instancePath} ${t.message}\n`;console.warn(e)}this.sharedModel.transact((()=>{var e,r,s,a,i;this.sharedModel.sources=null!==(e=t.sources)&&void 0!==e?e:{},this.sharedModel.layers=null!==(r=t.layers)&&void 0!==r?r:{},this.sharedModel.layerTree=null!==(s=t.layerTree)&&void 0!==s?s:[],this.sharedModel.options=null!==(a=t.options)&&void 0!==a?a:{latitude:0,longitude:0,zoom:0,bearing:0,pitch:0,projection:"EPSG:3857"},this.sharedModel.metadata=null!==(i=t.metadata)&&void 0!==i?i:{}})),this.dirty=!0}toJSON(){return JSON.parse(this.toString())}fromJSON(e){}initialize(){}getWorker(){return u.worker}getContent(){return{sources:this.sharedModel.sources,layers:this.sharedModel.layers,layerTree:this.sharedModel.layerTree,options:this.sharedModel.options,metadata:this.sharedModel.metadata}}get contentsManager(){return this._contentsManager}set contentsManager(e){this._contentsManager=e}get filePath(){return this._filePath}set filePath(e){this._filePath=e}getLayers(){return this.sharedModel.layers}getSources(){return this.sharedModel.sources}getLayerTree(){return this.sharedModel.layerTree}getLayer(e){return this.sharedModel.getLayer(e)}getSource(e){return this.sharedModel.getLayerSource(e)}getSourcesByType(e){const t={};for(const r of Object.keys(this.getSources()||{})){const s=this.getSource(r);(null==s?void 0:s.type)===e&&(t[r]=s.name)}return t}getLayersBySource(e){const t=[];return Object.entries(this.getLayers()||{}).forEach((([r,s])=>{var a;(null===(a=s.parameters)||void 0===a?void 0:a.source)===e&&t.push(r)})),t}addGroup(e,t,r){if(g.findItemPath(this.getLayerTree(),e).length)return void console.warn(`The group "${t}" already exist in the layer tree`);const s={name:e,layers:[]};this._addLayerTreeItem(s,t,r)}addLayer(e,t,r,s){this.getLayer(e)||this.sharedModel.addLayer(e,t),this._addLayerTreeItem(e,r,s)}removeLayer(e){var t;const r=this._sharedModel.getLayer(e),s=null===(t=null==r?void 0:r.parameters)||void 0===t?void 0:t.source;this._removeLayerTreeLayer(this.getLayerTree(),e),this.sharedModel.removeLayer(e),this.sharedModel.removeSource(s)}setOptions(e){this._sharedModel.options=e}getOptions(){return this._sharedModel.options}syncViewport(e,t){this.sharedModel.awareness.setLocalStateField("viewportState",{value:e,emitter:t})}syncPointer(e,t){this.sharedModel.awareness.setLocalStateField("pointer",{value:e,emitter:t})}syncSelected(e,t){this.sharedModel.awareness.setLocalStateField("selected",{value:e,emitter:t})}syncIdentifiedFeatures(e,t){this.sharedModel.awareness.setLocalStateField("identifiedFeatures",{value:e,emitter:t})}setUserToFollow(e){this._sharedModel&&this._sharedModel.awareness.setLocalStateField("remoteUser",e)}getClientId(){return this.sharedModel.awareness.clientID}_addLayerTreeItem(e,t,r){if(t){const s=this._getLayerTreeInfo(t);s&&(s.workingGroup.layers.splice(null!=r?r:s.workingGroup.layers.length,0,e),this._sharedModel.updateLayerTreeItem(s.mainGroupIndex,s.mainGroup))}else this.sharedModel.addLayerTreeItem(null!=r?r:this.getLayerTree().length,e)}moveItemsToGroup(e,t,r){const s=this.getLayerTree();for(const a of e)if(this.getLayer(a))this._removeLayerTreeLayer(s,a),this._addLayerTreeItem(a,t,r);else{const e=this._getLayerTreeInfo(a);if(void 0===e)continue;const i=Object.assign({},e.workingGroup);this._removeLayerTreeGroup(s,a),this._addLayerTreeItem(i,t,r)}}moveItemRelatedTo(e,t,r){var s;const a=this.getLayerTree();let i;if(this.getLayer(e))this._removeLayerTreeLayer(a,e),i=e;else{const t=this._getLayerTreeInfo(e);if(void 0===t)return;i=Object.assign({},t.workingGroup),this._removeLayerTreeGroup(a,e)}const o=g.findItemPath(a,t),n=(null!==(s=o.pop())&&void 0!==s?s:0)+(r?1:0);let h="",d=o.shift();if(void 0!==d){let e=a[d];for(;o.length&&(d=o.shift(),void 0!==d);)e=e.layers[d];h=e.name}this._addLayerTreeItem(i,h,n)}addNewLayerGroup(e,t){const r=this.getLayerTree();for(const t in e)this._removeLayerTreeLayer(r,t);this._addLayerTreeItem(t)}_removeLayerTreeLayer(e,t){this._removeLayerTreeItem(e,t,!0),this.sharedModel.layerTree=e}_removeLayerTreeGroup(e,t){this._removeLayerTreeItem(e,t,!1),this.sharedModel.layerTree=e}_removeLayerTreeItem(e,t,r){for(let s=0;s<e.length;s++){const a=e[s];(r?"string"==typeof a&&a===t:"string"!=typeof a&&a.name===t)?(e.splice(s,1),s--):"string"!=typeof a&&"layers"in a&&this._removeLayerTreeItem(a.layers,t,r)}}renameLayerGroup(e,t){const r=this._getLayerTreeInfo(e);r?(r.workingGroup.name=t,this._sharedModel.updateLayerTreeItem(r.mainGroupIndex,r.mainGroup)):console.log("Something went wrong when renaming layer")}removeLayerGroup(e){const t=this.getLayerTree(),r=this._getLayerTreeInfo(e),s=function e(t,r){const s=[];for(const a of t)if("string"==typeof a)s.push(a);else if(a.name!==r){const t=e(a.layers,r);s.push(Object.assign(Object.assign({},a),{layers:t}))}return s}(t,e);r&&this._sharedModel.updateLayerTreeItem(r.mainGroupIndex,s[r.mainGroupIndex])}toggleIdentify(){this._isIdentifying=!this._isIdentifying}toggleTemporalController(){this._isTemporalControllerActive=!this._isTemporalControllerActive,this.sharedModel.awareness.setLocalStateField("isTemporalControllerActive",this._isTemporalControllerActive)}_getLayerTreeInfo(e){const t=this.getLayerTree(),r=g.findItemPath(t,e);if(!r.length)return void console.warn(`The group "${e}" does not exist in the layer tree`);const s=r.shift();if(void 0===s)return;const a=t[s];let i=a;for(;r.length;){const e=r.shift();if(void 0===e)break;i=i.layers[e]}return{mainGroup:a,workingGroup:i,mainGroupIndex:s}}get addFeatureAsMsSignal(){return this._addFeatureAsMsSignal}get updateLayerSignal(){return this._updateLayerSignal}get geolocation(){return this._geolocation}set geolocation(e){this._geolocation=e,this.geolocationChanged.emit(this.geolocation)}get geolocationChanged(){return this._geolocationChanged}}var g;!function(e){e.getOrderedLayerIds=function(e){return g.layerTreeRecursion(e.sharedModel.layerTree)}}(u||(u={})),function(e){e.layerTreeRecursion=function e(t,r=[]){for(const s of t)"string"==typeof s?r.push(s):r.push(...e(s.layers));return r},e.findItemPath=function e(t,r,s=[]){for(let a=0;a<t.length;a++){const i=t[a];if("string"==typeof i){if(i===r){const e=[...s];return e.push(a),e}}else{const t=[...s];if(t.push(a),i.name===r)return t;const o=e(i.layers,r,t);if(o.length>t.length)return o}}return s}}(g||(g={}));const y=new n.Token("jupyterGISDocTracker"),c=new n.Token("jupytergisFormSchemaRegistry"),p=new n.Token("jupytergisExternalCommandRegistry"),_=new n.Token("jupytergisExternalCommandRegistry"),m=new n.Token("jupytergisAnnotationModel")}}]);
|