@vcmap/ui 5.0.0-rc.23 → 5.0.0-rc.25

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.
Files changed (479) hide show
  1. package/README.md +36 -18
  2. package/app.config.json +2 -4
  3. package/build/.eslintrc +3 -0
  4. package/build/build.js +302 -174
  5. package/build/buildCesium.js +32 -19
  6. package/build/buildHelpers.js +267 -94
  7. package/build/buildPreview.js +7 -4
  8. package/build/bundle.js +56 -0
  9. package/build/commonViteConfig.js +2 -4
  10. package/build/determineHost.js +17 -4
  11. package/build/generateOLLib.js +13 -16
  12. package/build/getPluginProxies.js +16 -3
  13. package/build/info/conf.json +21 -21
  14. package/build/info/publish.js +15 -4
  15. package/config/aerowest.config.json +16 -44
  16. package/config/base.config.json +100 -248
  17. package/config/codes.config.json +3 -1
  18. package/config/dev.config.json +34 -14
  19. package/config/graphFeatureInfo.config.json +55 -16
  20. package/config/projects.config.json +5 -2
  21. package/config/www.config.json +174 -333
  22. package/dist/assets/@mdi/font/LICENSE +20 -0
  23. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  24. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +3 -0
  25. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  26. package/dist/assets/cesium/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  27. package/dist/assets/cesium/Workers/{AttributeCompression-b646d393.js → AttributeCompression-f9f6c717.js} +24 -24
  28. package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-ff186ccc.js → AxisAlignedBoundingBox-4140c51f.js} +3 -3
  29. package/dist/assets/cesium/Workers/{BoundingRectangle-be5924f4.js → BoundingRectangle-c714b156.js} +18 -18
  30. package/dist/assets/cesium/Workers/{BoxGeometry-12eeccaf.js → BoxGeometry-6f3da43d.js} +9 -9
  31. package/dist/assets/cesium/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  32. package/dist/assets/cesium/Workers/{Color-a84038cb.js → Color-8a565ff2.js} +63 -63
  33. package/dist/assets/cesium/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  34. package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-3272c1b3.js → CoplanarPolygonGeometryLibrary-4b4d4096.js} +1 -1
  35. package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-0170e093.js → CorridorGeometryLibrary-7b94502b.js} +1 -1
  36. package/dist/assets/cesium/Workers/{CylinderGeometry-7c5da648.js → CylinderGeometry-ca070b87.js} +12 -12
  37. package/dist/assets/cesium/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
  38. package/dist/assets/cesium/Workers/{EllipseGeometry-797d580e.js → EllipseGeometry-122e51fa.js} +20 -20
  39. package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-2939e1dc.js → EllipseGeometryLibrary-4d326efc.js} +1 -1
  40. package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-8b50870f.js → EllipseOutlineGeometry-16cc2bd7.js} +15 -15
  41. package/dist/assets/cesium/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-5b3623dc.js} +6 -6
  42. package/dist/assets/cesium/Workers/{EllipsoidGeometry-21c0e3a5.js → EllipsoidGeometry-cb148ca2.js} +14 -14
  43. package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-eff247c8.js → EllipsoidOutlineGeometry-0fa10c79.js} +15 -15
  44. package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-ef872433.js} +9 -9
  45. package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-214683dc.js → EllipsoidTangentPlane-6dd1b7af.js} +1 -1
  46. package/dist/assets/cesium/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-57415c8a.js} +6 -6
  47. package/dist/assets/cesium/Workers/{FrustumGeometry-ac42a6d9.js → FrustumGeometry-ee73037c.js} +139 -111
  48. package/dist/assets/cesium/Workers/{GeometryAttribute-7d6f1732.js → GeometryAttribute-ff5b4fb1.js} +20 -20
  49. package/dist/assets/cesium/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  50. package/dist/assets/cesium/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-34d9e21e.js} +6 -6
  51. package/dist/assets/cesium/Workers/{GeometryPipeline-ce4339ed.js → GeometryPipeline-1f8fbf05.js} +22 -22
  52. package/dist/assets/cesium/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-2643aa47.js} +13 -13
  53. package/dist/assets/cesium/Workers/{IntersectionTests-f6e6bd8a.js → IntersectionTests-70d39ba9.js} +37 -37
  54. package/dist/assets/cesium/Workers/{Math-2dbd6b93.js → Math-0a2ac845.js} +149 -139
  55. package/dist/assets/cesium/Workers/{Matrix2-13178034.js → Matrix2-e1298525.js} +256 -256
  56. package/dist/assets/cesium/Workers/{Matrix3-315394f6.js → Matrix3-41c58dde.js} +150 -150
  57. package/dist/assets/cesium/Workers/{OrientedBoundingBox-04920dc7.js → OrientedBoundingBox-159cf1d6.js} +19 -17
  58. package/dist/assets/cesium/Workers/{Plane-900aa728.js → Plane-4c3d403b.js} +5 -5
  59. package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-a8680d96.js → PolygonGeometryLibrary-076a5d25.js} +6 -6
  60. package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +1344 -0
  61. package/dist/assets/cesium/Workers/{PolylinePipeline-32f36d2a.js → PolylinePipeline-639192e0.js} +16 -16
  62. package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-a510d657.js → PolylineVolumeGeometryLibrary-b73549fb.js} +7 -7
  63. package/dist/assets/cesium/Workers/{PrimitivePipeline-ba38434a.js → PrimitivePipeline-10ede1b6.js} +6 -6
  64. package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-bdba697e.js → RectangleGeometryLibrary-c35a7356.js} +1 -1
  65. package/dist/assets/cesium/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  66. package/dist/assets/cesium/Workers/{TerrainEncoding-833187da.js → TerrainEncoding-668d242f.js} +30 -30
  67. package/dist/assets/cesium/Workers/Transforms-a2a85221.js +14712 -0
  68. package/dist/assets/cesium/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  69. package/dist/assets/cesium/Workers/{WallGeometryLibrary-919eed92.js → WallGeometryLibrary-1938bf0d.js} +1 -1
  70. package/dist/assets/cesium/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  71. package/dist/assets/cesium/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-13ed1a6e.js} +6 -6
  72. package/dist/assets/cesium/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-d2061e85.js} +5 -5
  73. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +5 -5
  74. package/dist/assets/cesium/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  75. package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
  76. package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
  77. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +9 -9
  78. package/dist/assets/cesium/Workers/createCircleGeometry.js +13 -13
  79. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +11 -11
  81. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  82. package/dist/assets/cesium/Workers/createCorridorGeometry.js +14 -14
  83. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +12 -12
  84. package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
  85. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +13 -13
  86. package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
  87. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  88. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
  89. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  90. package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
  91. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +8 -8
  92. package/dist/assets/cesium/Workers/createGeometry.js +1 -1
  93. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +33 -33
  94. package/dist/assets/cesium/Workers/createPlaneGeometry.js +8 -8
  95. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +6 -6
  96. package/dist/assets/cesium/Workers/createPolygonGeometry.js +25 -25
  97. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +17 -17
  98. package/dist/assets/cesium/Workers/createPolylineGeometry.js +11 -11
  99. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +9 -9
  100. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  101. package/dist/assets/cesium/Workers/createRectangleGeometry.js +16 -16
  102. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +12 -12
  103. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +10 -10
  104. package/dist/assets/cesium/Workers/createSphereGeometry.js +11 -11
  105. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +12 -12
  106. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +2 -2
  107. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  108. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +8 -8
  109. package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -1
  110. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
  111. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -1
  112. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  113. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +27 -28
  114. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  115. package/dist/assets/cesium/Workers/createWallGeometry.js +14 -14
  116. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +14 -14
  117. package/dist/assets/cesium/Workers/decodeDraco.js +10 -2
  118. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  119. package/dist/assets/cesium/Workers/decodeI3S.js +1 -1
  120. package/dist/assets/cesium/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  121. package/dist/assets/cesium/Workers/package.js +1 -1
  122. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -26
  123. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  124. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  125. package/dist/assets/{cesium.166f91.js → cesium.1457fa.js} +155448 -127152
  126. package/dist/assets/cesium.js +1 -1
  127. package/dist/assets/core.47836f.js +19060 -0
  128. package/dist/assets/core.js +1 -1
  129. package/dist/assets/index-bb372634.js +1 -0
  130. package/dist/assets/{ol.d2cba3.js → ol.9e4d23.js} +28380 -13095
  131. package/dist/assets/ol.js +1 -1
  132. package/dist/assets/ui.6ed89d.css +5 -0
  133. package/dist/assets/ui.6ed89d.js +13461 -0
  134. package/dist/assets/ui.js +1 -1
  135. package/dist/assets/{vue.5d00e9.js → vue.7327e4.js} +834 -598
  136. package/dist/assets/vue.js +2 -2
  137. package/dist/assets/{vuetify.2f1432.css → vuetify.d2131d.css} +2 -2
  138. package/dist/assets/{vuetify.2f1432.js → vuetify.d2131d.js} +343 -103
  139. package/dist/assets/vuetify.js +2 -2
  140. package/dist/index.html +28 -7
  141. package/index.html +35 -7
  142. package/index.js +82 -17
  143. package/lib/cesium.js +1 -1
  144. package/lib/core.js +1 -1
  145. package/lib/olLib.js +19 -16
  146. package/lib/ui.js +1 -1
  147. package/lib/vue.js +2 -2
  148. package/lib/vuetify.js +2 -2
  149. package/package.json +29 -19
  150. package/plugins/.eslintrc +9 -0
  151. package/plugins/@vcmap/create-link/fallbackCreateLink.vue +13 -11
  152. package/plugins/@vcmap/create-link/index.js +15 -6
  153. package/plugins/@vcmap/project-selector/ModulesListComponent.vue +4 -8
  154. package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +5 -10
  155. package/plugins/@vcmap/project-selector/README.md +4 -2
  156. package/plugins/@vcmap/project-selector/config.json +13 -13
  157. package/plugins/@vcmap/project-selector/de.json +2 -2
  158. package/plugins/@vcmap/project-selector/en.json +2 -2
  159. package/plugins/@vcmap/project-selector/index.js +63 -28
  160. package/plugins/@vcmap/search-nominatim/LICENSE.md +5 -6
  161. package/plugins/@vcmap/search-nominatim/README.md +2 -1
  162. package/plugins/@vcmap/search-nominatim/config.json +1 -2
  163. package/plugins/@vcmap/search-nominatim/index.js +7 -4
  164. package/plugins/@vcmap/search-nominatim/nominatim.js +7 -2
  165. package/plugins/@vcmap/search-nominatim/package.json +2 -36
  166. package/plugins/@vcmap/simple-graph/README.md +29 -9
  167. package/plugins/@vcmap/simple-graph/SimpleGraphComponent.vue +2 -7
  168. package/plugins/@vcmap/simple-graph/index.js +2 -2
  169. package/plugins/@vcmap/simple-graph/simpleGraphView.js +3 -1
  170. package/plugins/@vcmap/theme-changer/README.md +5 -3
  171. package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +6 -10
  172. package/plugins/@vcmap/theme-changer/config.json +67 -67
  173. package/plugins/@vcmap/theme-changer/index.js +11 -5
  174. package/plugins/@vcmap-show-case/README.md +2 -1
  175. package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +87 -46
  176. package/plugins/@vcmap-show-case/buttons-example/index.js +10 -8
  177. package/plugins/@vcmap-show-case/category-tester/CategoriesExample.vue +135 -0
  178. package/plugins/@vcmap-show-case/category-tester/CollectionComponentOptions.vue +209 -0
  179. package/plugins/@vcmap-show-case/category-tester/index.js +28 -4
  180. package/plugins/@vcmap-show-case/collection-manager-example/CollectionManagerExample.vue +182 -0
  181. package/plugins/@vcmap-show-case/collection-manager-example/README.md +3 -0
  182. package/plugins/@vcmap-show-case/collection-manager-example/index.js +74 -0
  183. package/plugins/@vcmap-show-case/collection-manager-example/package.json +5 -0
  184. package/plugins/@vcmap-show-case/config-editor/{editor.vue → ConfigEditor.vue} +20 -24
  185. package/plugins/@vcmap-show-case/config-editor/index.js +13 -11
  186. package/plugins/@vcmap-show-case/context-menu-tester/index.js +18 -10
  187. package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +109 -121
  188. package/plugins/@vcmap-show-case/form-inputs-example/config.json +3 -3
  189. package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +14 -4
  190. package/plugins/@vcmap-show-case/form-inputs-example/index.js +41 -19
  191. package/plugins/@vcmap-show-case/form-inputs-example/validation.js +2 -1
  192. package/plugins/@vcmap-show-case/icons-example/README.md +1 -1
  193. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +10 -10
  194. package/plugins/@vcmap-show-case/icons-example/index.js +10 -8
  195. package/plugins/@vcmap-show-case/list-example/ListExample.vue +221 -103
  196. package/plugins/@vcmap-show-case/list-example/index.js +10 -8
  197. package/plugins/@vcmap-show-case/notifier-tester/index.js +9 -3
  198. package/plugins/@vcmap-show-case/notifier-tester/notifierTester.vue +15 -21
  199. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +21 -0
  200. package/plugins/@vcmap-show-case/switch-map-callback-example/SwitchMapCallback.js +47 -0
  201. package/plugins/@vcmap-show-case/switch-map-callback-example/config.json +3 -0
  202. package/plugins/@vcmap-show-case/switch-map-callback-example/index.js +34 -0
  203. package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +5 -0
  204. package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +22 -42
  205. package/plugins/@vcmap-show-case/table-example/index.js +10 -8
  206. package/plugins/@vcmap-show-case/textfields-example/TextfieldsExample.vue +7 -30
  207. package/plugins/@vcmap-show-case/textfields-example/index.js +10 -4
  208. package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +16 -13
  209. package/plugins/@vcmap-show-case/window-tester/emptyComponent.vue +4 -7
  210. package/plugins/@vcmap-show-case/window-tester/index.js +26 -20
  211. package/plugins/@vcmap-show-case/window-tester/myCustomHeader.vue +7 -3
  212. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +82 -5
  213. package/plugins/@vcmap-show-case/window-tester/windowExampleContent.vue +3 -7
  214. package/plugins/@vcmap-show-case/wizard-example/index.js +9 -3
  215. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +36 -38
  216. package/plugins/package.json +3 -1
  217. package/public/assets/@mdi/font/LICENSE +20 -0
  218. package/public/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  219. package/public/assets/@mdi/font/css/materialdesignicons.min.css +3 -0
  220. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  221. package/public/assets/favicon-128.png +0 -0
  222. package/public/assets/favicon-180.png +0 -0
  223. package/public/assets/favicon-192.png +0 -0
  224. package/public/assets/favicon-32.png +0 -0
  225. package/public/assets/logo-mobile.svg +9 -0
  226. package/public/assets/logo.svg +26 -0
  227. package/src/actions/actionHelper.js +49 -11
  228. package/src/actions/styleSelector.vue +20 -11
  229. package/src/application/VcsApp.vue +151 -85
  230. package/src/application/VcsAttributions.vue +25 -11
  231. package/src/application/VcsAttributionsFooter.vue +12 -10
  232. package/src/application/VcsMap.vue +9 -5
  233. package/src/application/VcsNavbar.vue +58 -36
  234. package/src/application/VcsSettings.vue +5 -12
  235. package/src/application/attributionsHelper.js +23 -11
  236. package/src/application/vcsAppWrapper.vue +1 -3
  237. package/src/callback/activateLayersCallback.js +54 -0
  238. package/src/callback/applyLayerStyleCallback.js +63 -0
  239. package/src/callback/deactivateLayersCallback.js +54 -0
  240. package/src/callback/goToViewpointCallback.js +54 -0
  241. package/src/callback/vcsCallback.js +66 -0
  242. package/src/components/buttons/VcsActionButtonList.vue +43 -22
  243. package/src/components/buttons/VcsButton.vue +50 -116
  244. package/src/components/buttons/VcsFormButton.vue +178 -0
  245. package/src/components/buttons/VcsToolButton.vue +161 -0
  246. package/src/components/form-inputs-controls/VcsCheckbox.vue +6 -7
  247. package/src/components/form-inputs-controls/VcsDatePicker.vue +66 -21
  248. package/src/components/form-inputs-controls/VcsFormSection.vue +11 -13
  249. package/src/components/form-inputs-controls/VcsLabel.vue +9 -10
  250. package/src/components/form-inputs-controls/VcsRadio.vue +44 -44
  251. package/src/components/form-inputs-controls/VcsSelect.vue +32 -15
  252. package/src/components/form-inputs-controls/VcsSlider.vue +72 -0
  253. package/src/components/form-inputs-controls/VcsTextArea.vue +21 -14
  254. package/src/components/form-inputs-controls/VcsTextField.vue +43 -18
  255. package/src/components/form-inputs-controls/VcsWizard.vue +79 -80
  256. package/src/components/form-inputs-controls/VcsWizardStep.vue +20 -21
  257. package/src/components/form-inputs-controls/composables.js +13 -8
  258. package/src/components/form-output/VcsFormattedNumber.vue +26 -26
  259. package/src/components/icons/+all.js +13 -5
  260. package/src/components/icons/2DAreaIcon.vue +62 -10
  261. package/src/components/icons/2DDistanceIcon.vue +14 -2
  262. package/src/components/icons/3DAreaIcon.vue +62 -10
  263. package/src/components/icons/3DDistanceIcon.vue +14 -2
  264. package/src/components/icons/3DHeightIcon.vue +14 -2
  265. package/src/components/icons/AngleIcon.vue +12 -3
  266. package/src/components/icons/AssociationsIcon.vue +6 -1
  267. package/src/components/icons/AxisIcon.vue +34 -5
  268. package/src/components/icons/BoundingBoxIcon.vue +31 -5
  269. package/src/components/icons/CheckboxCheckedIcon.vue +4 -1
  270. package/src/components/icons/CheckboxIcon.vue +1 -8
  271. package/src/components/icons/CheckboxIndeterminateIcon.vue +9 -2
  272. package/src/components/icons/CircleIcon.vue +24 -4
  273. package/src/components/icons/ClippingHorizontalIcon.vue +14 -2
  274. package/src/components/icons/ClippingIcon.vue +13 -2
  275. package/src/components/icons/ClippingVerticalIcon.vue +14 -2
  276. package/src/components/icons/ColorPickerIcon.vue +13 -2
  277. package/src/components/icons/ColorSwatchIcon.vue +7 -1
  278. package/src/components/icons/CommentIcon.vue +6 -1
  279. package/src/components/icons/CompassIcon.vue +21 -3
  280. package/src/components/icons/ComponentsIcon.vue +14 -2
  281. package/src/components/icons/ConeIcon.vue +26 -4
  282. package/src/components/icons/DimensionsHouseIcon.vue +7 -1
  283. package/src/components/icons/EditIcon.vue +13 -2
  284. package/src/components/icons/ElevationProfileIcon.vue +6 -1
  285. package/src/components/icons/ExportAreaIcon.vue +13 -2
  286. package/src/components/icons/ExportFlightIcon.vue +13 -2
  287. package/src/components/icons/ExportIcon.vue +14 -2
  288. package/src/components/icons/ExternalLinkIcon.vue +18 -3
  289. package/src/components/icons/EyeIcon.vue +12 -2
  290. package/src/components/icons/FastForwardIcon.vue +13 -2
  291. package/src/components/icons/FilterIcon.vue +13 -2
  292. package/src/components/icons/GlobalTerrainIcon.vue +12 -2
  293. package/src/components/icons/GlobeNatureIcon.vue +7 -1
  294. package/src/components/icons/GroundIcon.vue +12 -2
  295. package/src/components/icons/HealthCareIndustriesIcon.vue +6 -1
  296. package/src/components/icons/HelpIcon.vue +12 -2
  297. package/src/components/icons/HideIcon.vue +17 -3
  298. package/src/components/icons/HomePointIcon.vue +13 -3
  299. package/src/components/icons/HospitalsIcon.vue +6 -1
  300. package/src/components/icons/HouseIcon.vue +20 -3
  301. package/src/components/icons/ImportIcon.vue +21 -3
  302. package/src/components/icons/InfoIcon.vue +19 -3
  303. package/src/components/icons/KebabIcon.vue +12 -2
  304. package/src/components/icons/LabelIcon.vue +21 -3
  305. package/src/components/icons/LayersIcon.vue +12 -2
  306. package/src/components/icons/LegendIcon.vue +13 -3
  307. package/src/components/icons/LineIcon.vue +20 -3
  308. package/src/components/icons/LinkIcon.vue +13 -2
  309. package/src/components/icons/LogoutIcon.vue +13 -2
  310. package/src/components/icons/MapIcon.vue +14 -2
  311. package/src/components/icons/MenuIcon.vue +7 -1
  312. package/src/components/icons/MinusIcon.vue +14 -2
  313. package/src/components/icons/ObjectAttributeIcon.vue +13 -2
  314. package/src/components/icons/ObjectSelectIcon.vue +14 -2
  315. package/src/components/icons/ObliqueViewIcon.vue +11 -2
  316. package/src/components/icons/PdfIcon.vue +12 -2
  317. package/src/components/icons/PedestrianIcon.vue +13 -2
  318. package/src/components/icons/PenIcon.vue +13 -3
  319. package/src/components/icons/PlayCircleIcon.vue +20 -3
  320. package/src/components/icons/PlusIcon.vue +14 -3
  321. package/src/components/icons/PoiIcon.vue +17 -3
  322. package/src/components/icons/PointSelectIcon.vue +12 -2
  323. package/src/components/icons/PolygonIcon.vue +7 -1
  324. package/src/components/icons/PresentationModeIcon.vue +13 -2
  325. package/src/components/icons/ProgressIcon.vue +8 -6
  326. package/src/components/icons/QueryIcon.vue +31 -5
  327. package/src/components/icons/RectangleIcon.vue +24 -4
  328. package/src/components/icons/ReturnIcon.vue +13 -2
  329. package/src/components/icons/RewindIcon.vue +13 -2
  330. package/src/components/icons/RotateLeftIcon.vue +13 -2
  331. package/src/components/icons/RotateRightIcon.vue +13 -2
  332. package/src/components/icons/ScreenshotIcon.vue +52 -10
  333. package/src/components/icons/SearchIcon.vue +13 -3
  334. package/src/components/icons/ShadowIcon.vue +14 -3
  335. package/src/components/icons/ShapesIcon.vue +13 -3
  336. package/src/components/icons/ShareIcon.vue +17 -4
  337. package/src/components/icons/SimpleCircleFilledIcon.vue +14 -10
  338. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +6 -1
  339. package/src/components/icons/SimpleCircleOutlinedIcon.vue +14 -10
  340. package/src/components/icons/SkipNextIcon.vue +11 -2
  341. package/src/components/icons/SkipPreviousIcon.vue +17 -3
  342. package/src/components/icons/SplitViewIcon.vue +6 -1
  343. package/src/components/icons/TerrainBoxIcon.vue +12 -2
  344. package/src/components/icons/TextStyleIcon.vue +7 -1
  345. package/src/components/icons/ThreeDimensionsIcon.vue +13 -2
  346. package/src/components/icons/ToolsIcon.vue +12 -2
  347. package/src/components/icons/TouchIcon.vue +13 -2
  348. package/src/components/icons/TrashCanIcon.vue +13 -2
  349. package/src/components/icons/TriangleIcon.vue +6 -2
  350. package/src/components/icons/TwoDimensionsIcon.vue +14 -2
  351. package/src/components/icons/UploadIcon.vue +13 -2
  352. package/src/components/icons/UserProfileIcon.vue +13 -2
  353. package/src/components/icons/UserShareIcon.vue +12 -2
  354. package/src/components/icons/VideoRecorderIcon.vue +16 -3
  355. package/src/components/icons/ViewpointFlightIcon.vue +22 -4
  356. package/src/components/icons/ViewpointIcon.vue +22 -4
  357. package/src/components/icons/Viewshed360Icon.vue +14 -2
  358. package/src/components/icons/ViewshedConeIcon.vue +13 -2
  359. package/src/components/icons/ViewshedIcon.vue +14 -2
  360. package/src/components/icons/WalkingIcon.vue +13 -2
  361. package/src/components/icons/WallIcon.vue +19 -3
  362. package/src/components/icons/WandIcon.vue +129 -21
  363. package/src/components/imageElementInjector.vue +1 -3
  364. package/src/components/lists/VcsActionList.vue +21 -18
  365. package/src/components/lists/VcsList.vue +211 -100
  366. package/src/components/lists/VcsTreeview.vue +30 -26
  367. package/src/components/lists/VcsTreeviewLeaf.vue +23 -23
  368. package/src/components/lists/VcsTreeviewSearchbar.vue +19 -15
  369. package/src/components/notification/VcsBadge.vue +4 -6
  370. package/src/components/notification/VcsTooltip.vue +95 -94
  371. package/src/components/notification/validation.js +1 -1
  372. package/src/components/tables/VcsDataTable.vue +107 -97
  373. package/src/components/tables/VcsTable.vue +38 -30
  374. package/src/contentTree/LayerTree.vue +17 -12
  375. package/src/contentTree/contentTreeCollection.js +49 -23
  376. package/src/contentTree/contentTreeItem.js +58 -17
  377. package/src/contentTree/groupContentTreeItem.js +45 -22
  378. package/src/contentTree/layerContentTreeItem.js +40 -28
  379. package/src/contentTree/layerGroupContentTreeItem.js +51 -39
  380. package/src/contentTree/nodeContentTreeItem.js +18 -7
  381. package/src/contentTree/obliqueCollectionContentTreeItem.js +49 -20
  382. package/src/contentTree/subContentTreeItem.js +13 -4
  383. package/src/contentTree/vcsObjectContentTreeItem.js +24 -15
  384. package/src/contentTree/viewpointContentTreeItem.js +20 -6
  385. package/src/downloadHelper.js +4 -1
  386. package/src/featureInfo/AddressBalloonComponent.vue +11 -16
  387. package/src/featureInfo/BalloonComponent.vue +35 -27
  388. package/src/featureInfo/abstractFeatureInfoView.js +45 -14
  389. package/src/featureInfo/addressBalloonFeatureInfoView.js +19 -7
  390. package/src/featureInfo/balloonFeatureInfoView.js +22 -9
  391. package/src/featureInfo/balloonHelper.js +61 -42
  392. package/src/featureInfo/featureInfo.js +102 -73
  393. package/src/featureInfo/featureInfoInteraction.js +13 -7
  394. package/src/featureInfo/iframeFeatureInfoView.js +3 -1
  395. package/src/featureInfo/tableFeatureInfoView.js +15 -5
  396. package/src/i18n/de.js +5 -2
  397. package/src/i18n/en.js +5 -2
  398. package/src/i18n/i18nCollection.js +182 -155
  399. package/src/init.js +121 -121
  400. package/src/legend/legendHelper.js +11 -6
  401. package/src/legend/styleLegendItem.vue +18 -12
  402. package/src/legend/vcsLegend.vue +16 -18
  403. package/src/manager/buttonManager.js +21 -3
  404. package/src/manager/collectionManager/CollectionComponent.vue +142 -0
  405. package/src/manager/collectionManager/CollectionComponentList.vue +62 -0
  406. package/src/manager/collectionManager/CollectionComponentProvider.vue +38 -0
  407. package/src/manager/collectionManager/CollectionManager.vue +43 -0
  408. package/src/manager/collectionManager/categoryManager.js +83 -0
  409. package/src/manager/collectionManager/collectionComponent.js +453 -0
  410. package/src/manager/collectionManager/collectionManager.js +432 -0
  411. package/src/manager/contextMenu/contextMenuComponent.vue +2 -6
  412. package/src/manager/contextMenu/contextMenuInteraction.js +6 -1
  413. package/src/manager/contextMenu/contextMenuManager.js +37 -22
  414. package/src/manager/navbarManager.js +19 -11
  415. package/src/manager/toolbox/GroupToolboxComponent.vue +27 -28
  416. package/src/manager/toolbox/SelectToolboxComponent.vue +42 -44
  417. package/src/manager/toolbox/ToolboxManager.vue +22 -15
  418. package/src/manager/toolbox/toolboxManager.js +30 -12
  419. package/src/manager/window/WindowComponent.vue +18 -21
  420. package/src/manager/window/WindowComponentHeader.vue +34 -30
  421. package/src/manager/window/WindowManager.vue +33 -22
  422. package/src/manager/window/windowHelper.js +79 -23
  423. package/src/manager/window/windowManager.js +61 -32
  424. package/src/navigation/mapNavCompass.vue +17 -3
  425. package/src/navigation/mapNavigation.vue +93 -48
  426. package/src/navigation/obliqueRotation.vue +6 -8
  427. package/src/navigation/orientationToolsButton.vue +6 -9
  428. package/src/navigation/overviewMap.js +79 -42
  429. package/src/navigation/overviewMapClickedInteraction.js +6 -1
  430. package/src/navigation/tiltSlider.vue +6 -10
  431. package/src/navigation/vcsCompass.vue +1 -9
  432. package/src/navigation/vcsZoomButton.vue +16 -17
  433. package/src/notifier/notifier.js +22 -13
  434. package/src/notifier/notifierComponent.vue +21 -22
  435. package/src/pluginHelper.js +28 -9
  436. package/src/search/resultItem.vue +10 -16
  437. package/src/search/resultsComponent.vue +30 -24
  438. package/src/search/search.js +36 -19
  439. package/src/search/searchComponent.vue +27 -19
  440. package/src/setup.js +9 -9
  441. package/src/state.js +22 -6
  442. package/src/styles/_theming.scss +2 -2
  443. package/src/styles/_typography.scss +2 -3
  444. package/src/styles/main.scss +8 -0
  445. package/src/styles/shades.scss +4 -2
  446. package/src/styles/utils/_border.scss +1 -1
  447. package/src/styles/utils/_display.scss +1 -1
  448. package/src/styles/variables.scss +39 -34
  449. package/src/styles/vcsFont.scss +2 -22
  450. package/src/styles/vcsGrid.scss +9 -0
  451. package/src/uiConfig.js +3 -1
  452. package/src/vcsUiApp.js +227 -66
  453. package/src/vuePlugins/i18n.js +22 -23
  454. package/src/vuePlugins/vuetify.js +4 -1
  455. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
  456. package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
  457. package/dist/assets/core.9342a1.js +0 -18431
  458. package/dist/assets/index.fd041928.js +0 -1
  459. package/dist/assets/ui.c27597.css +0 -5
  460. package/dist/assets/ui.c27597.js +0 -17799
  461. package/plugins/@vcmap-show-case/category-tester/Categories.vue +0 -264
  462. package/plugins/@vcmap-show-case/category-tester/Category.vue +0 -144
  463. package/src/manager/categoryManager/CategoryComponent.vue +0 -124
  464. package/src/manager/categoryManager/CategoryComponentList.vue +0 -57
  465. package/src/manager/categoryManager/CategoryManager.vue +0 -48
  466. package/src/manager/categoryManager/categoryManager.js +0 -588
  467. package/start.js +0 -9
  468. /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
  469. /package/{src/assets/favicon-128.png → dist/assets/favicon-128.4c4ce5.png} +0 -0
  470. /package/{src/assets/favicon-180.png → dist/assets/favicon-180.5b99c0.png} +0 -0
  471. /package/{src/assets/favicon-192.png → dist/assets/favicon-192.0e205e.png} +0 -0
  472. /package/{src/assets/favicon-32.png → dist/assets/favicon-32.6b9add.png} +0 -0
  473. /package/dist/assets/{favicon.decf54cc.svg → favicon.d5ec97.svg} +0 -0
  474. /package/dist/assets/font/{TitilliumWeb-Regular.woff2 → TitilliumWeb-Regular.9ca076.woff2} +0 -0
  475. /package/{src/assets/logo-mobile.svg → dist/assets/logo-mobile.2d10a6.svg} +0 -0
  476. /package/{src/assets/logo.svg → dist/assets/logo.27089a.svg} +0 -0
  477. /package/{src → public}/assets/favicon.svg +0 -0
  478. /package/{src → public}/assets/font/OFL.txt +0 -0
  479. /package/{src → public}/assets/font/TitilliumWeb-Regular.woff2 +0 -0
@@ -1,16 +1,19 @@
1
1
  import { Viewpoint } from '@vcmap/core';
2
2
  import { reactive } from 'vue';
3
3
  import { StateActionState } from '../actions/stateRefAction.js';
4
- import { createGoToViewpointAction, createModalAction } from '../actions/actionHelper.js';
4
+ import {
5
+ createGoToViewpointAction,
6
+ createModalAction,
7
+ } from '../actions/actionHelper.js';
5
8
  import component from '../actions/styleSelector.vue';
6
9
  import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
7
10
  import { vcsAppSymbol } from '../pluginHelper.js';
8
11
  import { contentTreeClassRegistry } from './contentTreeItem.js';
12
+ import { executeCallbacks } from '../callback/vcsCallback.js';
9
13
 
10
14
  /**
11
15
  * @typedef {ContentTreeItemOptions} LayerContentTreeItemOptions
12
16
  * @property {string} layerName
13
- * @property {Array<string>} layerNamesToDeactivate list of LayerNames which should be deactivated if the click activates the layer
14
17
  */
15
18
 
16
19
  /**
@@ -65,7 +68,9 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
65
68
  * @todo this has to be refactored, just so we can read the config as is
66
69
  * @returns {string}
67
70
  */
68
- static get className() { return 'LayerContentTreeItem'; }
71
+ static get className() {
72
+ return 'LayerContentTreeItem';
73
+ }
69
74
 
70
75
  /**
71
76
  * @param {LayerContentTreeItemOptions} options
@@ -81,14 +86,6 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
81
86
  */
82
87
  this._layerName = options.layerName;
83
88
 
84
- /**
85
- * @type {Array<string>}
86
- * @private
87
- */
88
- this._layerNamesToDeactivate = Array.isArray(options.layerNamesToDeactivate) ?
89
- options.layerNamesToDeactivate.slice() :
90
- [];
91
-
92
89
  /**
93
90
  * @type {Array<Function>}
94
91
  * @private
@@ -147,7 +144,9 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
147
144
  if (this._layer) {
148
145
  const { extent } = this._layer.toJSON();
149
146
  if (extent) {
150
- const viewpoint = Viewpoint.createViewpointFromExtent(this._layer.extent);
147
+ const viewpoint = Viewpoint.createViewpointFromExtent(
148
+ this._layer.extent,
149
+ );
151
150
  const action = createGoToViewpointAction(
152
151
  {
153
152
  name,
@@ -177,7 +176,9 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
177
176
  * @private
178
177
  */
179
178
  _clearListeners() {
180
- this._listeners.forEach((cb) => { cb(); });
179
+ this._listeners.forEach((cb) => {
180
+ cb();
181
+ });
181
182
  this._listeners.splice(0);
182
183
  }
183
184
 
@@ -198,36 +199,45 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
198
199
 
199
200
  if (!this._layer) {
200
201
  this.visible = false;
201
- this._listeners.push(this._app.layers.added.addEventListener(resetHandler));
202
+ this._listeners.push(
203
+ this._app.layers.added.addEventListener(resetHandler),
204
+ );
202
205
  } else {
203
206
  this.visible = this._layer.isSupported(this._app.maps.activeMap);
204
207
  this.state = getStateFromLayer(this._layer);
205
208
  this._setLayerExtentAction();
206
209
  this.setPropertiesFromObject(this._layer);
207
210
 
208
- this._listeners.push(this._app.layers.removed.addEventListener(resetHandler));
209
- this._listeners.push(this._app.layers.added.addEventListener(resetHandler));
211
+ this._listeners.push(
212
+ this._app.layers.removed.addEventListener(resetHandler),
213
+ );
214
+ this._listeners.push(
215
+ this._app.layers.added.addEventListener(resetHandler),
216
+ );
210
217
 
211
- this._listeners.push(this._layer.stateChanged.addEventListener(() => {
212
- this.state = getStateFromLayer(this._layer);
213
- }));
218
+ this._listeners.push(
219
+ this._layer.stateChanged.addEventListener(() => {
220
+ this.state = getStateFromLayer(this._layer);
221
+ }),
222
+ );
214
223
 
215
- this._listeners.push(this._app.maps.mapActivated.addEventListener(() => {
216
- this.visible = this._layer.isSupported(this._app.maps.activeMap);
217
- }));
224
+ this._listeners.push(
225
+ this._app.maps.mapActivated.addEventListener(() => {
226
+ this.visible = this._layer.isSupported(this._app.maps.activeMap);
227
+ }),
228
+ );
218
229
  }
219
230
  }
220
231
 
221
232
  async clicked() {
233
+ await super.clicked();
222
234
  if (this._layer) {
223
235
  if (this.state === StateActionState.INACTIVE) {
224
236
  await this._layer.activate();
225
- this._layerNamesToDeactivate
226
- .map(n => this._app.layers.getByKey(n))
227
- .filter(l => l)
228
- .forEach(l => l.deactivate());
237
+ executeCallbacks(this._app, this._onActivate);
229
238
  } else {
230
239
  this._layer.deactivate();
240
+ executeCallbacks(this._app, this._onDeactivate);
231
241
  }
232
242
  }
233
243
  }
@@ -238,7 +248,6 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
238
248
  toJSON() {
239
249
  const config = super.toJSON();
240
250
  config.layerName = this._layerName;
241
- config.layerNamesToDeactivate = this._layerNamesToDeactivate.slice();
242
251
  return config;
243
252
  }
244
253
 
@@ -249,4 +258,7 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
249
258
  }
250
259
 
251
260
  export default LayerContentTreeItem;
252
- contentTreeClassRegistry.registerClass(LayerContentTreeItem.className, LayerContentTreeItem);
261
+ contentTreeClassRegistry.registerClass(
262
+ LayerContentTreeItem.className,
263
+ LayerContentTreeItem,
264
+ );
@@ -1,11 +1,16 @@
1
- import ContentTreeItem, { contentTreeClassRegistry } from './contentTreeItem.js';
2
- import { getStateFromLayer, setViewpointAction } from './layerContentTreeItem.js';
1
+ import ContentTreeItem, {
2
+ contentTreeClassRegistry,
3
+ } from './contentTreeItem.js';
4
+ import {
5
+ getStateFromLayer,
6
+ setViewpointAction,
7
+ } from './layerContentTreeItem.js';
3
8
  import { StateActionState } from '../actions/stateRefAction.js';
9
+ import { executeCallbacks } from '../callback/vcsCallback.js';
4
10
 
5
11
  /**
6
12
  * @typedef {ContentTreeItemOptions} LayerGroupContentTreeItemOptions
7
13
  * @property {Array<string>} layerNames list of LayerNames which should be activated on click
8
- * @property {Array<string>} layerNamesToDeactivate list of LayerNames which should be deactivated on click if the click activates the layer in layerNames
9
14
  * @property {string} [defaultViewpoint] - the name of an optional default viewpoint
10
15
  */
11
16
 
@@ -14,16 +19,16 @@ import { StateActionState } from '../actions/stateRefAction.js';
14
19
  * @returns {StateActionState}
15
20
  */
16
21
  function getStateFromLayers(layers) {
17
- const states = layers.map(l => getStateFromLayer(l));
18
- if (states.some(s => s === StateActionState.LOADING)) {
22
+ const states = layers.map((l) => getStateFromLayer(l));
23
+ if (states.some((s) => s === StateActionState.LOADING)) {
19
24
  return StateActionState.LOADING;
20
25
  }
21
26
 
22
- if (states.every(s => s === StateActionState.INACTIVE)) {
27
+ if (states.every((s) => s === StateActionState.INACTIVE)) {
23
28
  return StateActionState.INACTIVE;
24
29
  }
25
30
 
26
- if (states.every(s => s === StateActionState.ACTIVE)) {
31
+ if (states.every((s) => s === StateActionState.ACTIVE)) {
27
32
  return StateActionState.ACTIVE;
28
33
  }
29
34
  return StateActionState.INDETERMINATE;
@@ -39,7 +44,9 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
39
44
  * @readonly
40
45
  * @type {string}
41
46
  */
42
- static get className() { return 'LayerGroupContentTreeItem'; }
47
+ static get className() {
48
+ return 'LayerGroupContentTreeItem';
49
+ }
43
50
 
44
51
  /**
45
52
  * @param {LayerGroupContentTreeItemOptions} options
@@ -52,17 +59,9 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
52
59
  * @type {Array<string>}
53
60
  * @private
54
61
  */
55
- this._layerNames = Array.isArray(options.layerNames) ?
56
- options.layerNames.slice() :
57
- [];
58
-
59
- /**
60
- * @type {Array<string>}
61
- * @private
62
- */
63
- this._layerNamesToDeactivate = Array.isArray(options.layerNamesToDeactivate) ?
64
- options.layerNamesToDeactivate.slice() :
65
- [];
62
+ this._layerNames = Array.isArray(options.layerNames)
63
+ ? options.layerNames.slice()
64
+ : [];
66
65
 
67
66
  /**
68
67
  * @type {Array<function():void>}
@@ -85,15 +84,17 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
85
84
  */
86
85
  get _layers() {
87
86
  return this._layerNames
88
- .map(n => this._app.layers.getByKey(n))
89
- .filter(l => l);
87
+ .map((n) => this._app.layers.getByKey(n))
88
+ .filter((l) => l);
90
89
  }
91
90
 
92
91
  /**
93
92
  * @private
94
93
  */
95
94
  _clearListeners() {
96
- this._listeners.forEach((cb) => { cb(); });
95
+ this._listeners.forEach((cb) => {
96
+ cb();
97
+ });
97
98
  this._listeners.splice(0);
98
99
  }
99
100
 
@@ -113,38 +114,47 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
113
114
  };
114
115
  const layers = this._layers;
115
116
 
116
- this.visible = layers.some(l => l.isSupported(this._app.maps.activeMap));
117
+ this.visible = layers.some((l) => l.isSupported(this._app.maps.activeMap));
117
118
  this.state = getStateFromLayers(layers);
118
119
  setViewpointAction(this, this._app, this._defaultViewpoint);
119
120
 
120
- this._listeners.push(this._app.layers.removed.addEventListener(resetHandler));
121
+ this._listeners.push(
122
+ this._app.layers.removed.addEventListener(resetHandler),
123
+ );
121
124
  this._listeners.push(this._app.layers.added.addEventListener(resetHandler));
122
125
 
123
126
  layers.forEach((layer) => {
124
- this._listeners.push(layer.stateChanged.addEventListener(() => {
125
- this.state = getStateFromLayers(layers);
126
- }));
127
+ this._listeners.push(
128
+ layer.stateChanged.addEventListener(() => {
129
+ this.state = getStateFromLayers(layers);
130
+ }),
131
+ );
127
132
  });
128
133
 
129
- this._listeners.push(this._app.maps.mapActivated.addEventListener(() => {
130
- this.visible = !!layers.find(l => l.isSupported(this._app.maps.activeMap));
131
- }));
134
+ this._listeners.push(
135
+ this._app.maps.mapActivated.addEventListener(() => {
136
+ this.visible = !!layers.find((l) =>
137
+ l.isSupported(this._app.maps.activeMap),
138
+ );
139
+ }),
140
+ );
132
141
  }
133
142
 
134
143
  /**
135
144
  * @returns {Promise<void>}
136
145
  */
137
146
  async clicked() {
147
+ await super.clicked();
138
148
  const layers = this._layers;
139
- const activate = layers.some(l => !(l.active || l.loading));
149
+ const activate = layers.some((l) => !(l.active || l.loading));
140
150
  if (activate) {
141
- await Promise.all(layers.map(l => l.activate()));
142
- this._layerNamesToDeactivate
143
- .map(n => this._app.layers.getByKey(n))
144
- .filter(l => l)
145
- .forEach(l => l.deactivate());
151
+ await Promise.all(layers.map((l) => l.activate()));
152
+ executeCallbacks(this._app, this._onActivate);
146
153
  } else {
147
- layers.forEach((l) => { l.deactivate(); });
154
+ layers.forEach((l) => {
155
+ l.deactivate();
156
+ });
157
+ executeCallbacks(this._app, this._onDeactivate);
148
158
  }
149
159
  }
150
160
 
@@ -154,7 +164,6 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
154
164
  toJSON() {
155
165
  const config = super.toJSON();
156
166
  config.layerNames = this._layerNames.slice();
157
- config.layerNamesToDeactivate = this._layerNamesToDeactivate.slice();
158
167
  if (this._defaultViewpoint) {
159
168
  config.defaultViewpoint = this._defaultViewpoint;
160
169
  }
@@ -171,4 +180,7 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
171
180
  }
172
181
 
173
182
  export default LayerGroupContentTreeItem;
174
- contentTreeClassRegistry.registerClass(LayerGroupContentTreeItem.className, LayerGroupContentTreeItem);
183
+ contentTreeClassRegistry.registerClass(
184
+ LayerGroupContentTreeItem.className,
185
+ LayerGroupContentTreeItem,
186
+ );
@@ -1,5 +1,7 @@
1
1
  import { watch } from 'vue';
2
- import ContentTreeItem, { contentTreeClassRegistry } from './contentTreeItem.js';
2
+ import ContentTreeItem, {
3
+ contentTreeClassRegistry,
4
+ } from './contentTreeItem.js';
3
5
 
4
6
  /**
5
7
  * A group item which has _no click handler_
@@ -10,7 +12,9 @@ class NodeContentTreeItem extends ContentTreeItem {
10
12
  /**
11
13
  * @returns {string}
12
14
  */
13
- static get className() { return 'NodeContentTreeItem'; }
15
+ static get className() {
16
+ return 'NodeContentTreeItem';
17
+ }
14
18
 
15
19
  /**
16
20
  * @param {ContentTreeItemOptions} options
@@ -21,10 +25,14 @@ class NodeContentTreeItem extends ContentTreeItem {
21
25
 
22
26
  this.clickable = false;
23
27
 
24
- this._childWatcher = watch(this._children, () => {
25
- const children = this._children.value;
26
- this.visible = children.some(c => c.visible);
27
- }, { deep: true });
28
+ this._childWatcher = watch(
29
+ this._children,
30
+ () => {
31
+ const children = this._children.value;
32
+ this.visible = children.some((c) => c.visible);
33
+ },
34
+ { deep: true },
35
+ );
28
36
  }
29
37
 
30
38
  destroy() {
@@ -34,4 +42,7 @@ class NodeContentTreeItem extends ContentTreeItem {
34
42
  }
35
43
 
36
44
  export default NodeContentTreeItem;
37
- contentTreeClassRegistry.registerClass(NodeContentTreeItem.className, NodeContentTreeItem);
45
+ contentTreeClassRegistry.registerClass(
46
+ NodeContentTreeItem.className,
47
+ NodeContentTreeItem,
48
+ );
@@ -3,6 +3,7 @@ import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
3
3
  import { setViewpointAction } from './layerContentTreeItem.js';
4
4
  import { StateActionState } from '../actions/stateRefAction.js';
5
5
  import { contentTreeClassRegistry } from './contentTreeItem.js';
6
+ import { executeCallbacks } from '../callback/vcsCallback.js';
6
7
 
7
8
  /**
8
9
  * @typedef {ContentTreeItemOptions} ObliqueCollectionContentTreeItemOptions
@@ -27,7 +28,9 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
27
28
  /**
28
29
  * @type {string}
29
30
  */
30
- static get className() { return 'ObliqueCollectionContentTreeItem'; }
31
+ static get className() {
32
+ return 'ObliqueCollectionContentTreeItem';
33
+ }
31
34
 
32
35
  /**
33
36
  * @param {ObliqueCollectionContentTreeItemOptions} options
@@ -73,7 +76,9 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
73
76
  * @private
74
77
  */
75
78
  _clearListeners() {
76
- this._listeners.forEach((cb) => { cb(); });
79
+ this._listeners.forEach((cb) => {
80
+ cb();
81
+ });
77
82
  this._listeners.splice(0);
78
83
  }
79
84
 
@@ -95,43 +100,64 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
95
100
 
96
101
  if (!this._collection) {
97
102
  this.visible = false;
98
- this._listeners.push(this._app.obliqueCollections.added.addEventListener(resetCallback));
103
+ this._listeners.push(
104
+ this._app.obliqueCollections.added.addEventListener(resetCallback),
105
+ );
99
106
  } else {
100
107
  const map = this._app.maps.activeMap;
101
108
  if (map instanceof ObliqueMap) {
102
109
  this.visible = true;
103
- this.state = map.collection === this._collection ?
104
- StateActionState.ACTIVE :
105
- StateActionState.INACTIVE;
106
- this._listeners.push(map.collectionChanged.addEventListener(() => {
107
- this.state = map.collection === this._collection ?
108
- StateActionState.ACTIVE :
109
- StateActionState.INACTIVE;
110
- }));
110
+ this.state =
111
+ map.collection === this._collection
112
+ ? StateActionState.ACTIVE
113
+ : StateActionState.INACTIVE;
114
+ this._listeners.push(
115
+ map.collectionChanged.addEventListener(() => {
116
+ this.state =
117
+ map.collection === this._collection
118
+ ? StateActionState.ACTIVE
119
+ : StateActionState.INACTIVE;
120
+ }),
121
+ );
111
122
  } else {
112
123
  this.visible = false;
113
124
  }
114
125
 
115
126
  this.setPropertiesFromObject(this._collection);
116
- this._listeners.push(this._app.maps.mapActivated.addEventListener(() => {
117
- this._setup();
118
- }));
119
-
120
- this._listeners.push(this._app.obliqueCollections.removed.addEventListener(resetCallback));
121
- this._listeners.push(this._app.obliqueCollections.added.addEventListener(resetCallback));
127
+ this._listeners.push(
128
+ this._app.maps.mapActivated.addEventListener(() => {
129
+ this._setup();
130
+ }),
131
+ );
132
+
133
+ this._listeners.push(
134
+ this._app.obliqueCollections.removed.addEventListener(resetCallback),
135
+ );
136
+ this._listeners.push(
137
+ this._app.obliqueCollections.added.addEventListener(resetCallback),
138
+ );
122
139
  }
123
140
  }
124
141
 
125
142
  async clicked() {
126
- if (this.visible && this._collection && this._app.maps.activeMap instanceof ObliqueMap) {
127
- const map = /** @type {import("@vcmap/core").Oblique} */ (this._app.maps.activeMap);
143
+ await super.clicked();
144
+ if (
145
+ this.visible &&
146
+ this._collection &&
147
+ this._app.maps.activeMap instanceof ObliqueMap
148
+ ) {
149
+ const map = /** @type {import("@vcmap/core").Oblique} */ (
150
+ this._app.maps.activeMap
151
+ );
128
152
  const vp = await map.getViewpoint();
129
153
  if (this.state === StateActionState.INACTIVE) {
130
154
  this.state = StateActionState.LOADING;
131
155
  await map.setCollection(this._collection, vp);
156
+ executeCallbacks(this._app, this._onActivate);
132
157
  } else if (this.state === StateActionState.ACTIVE) {
133
158
  this.state = StateActionState.INACTIVE;
134
159
  await map.setCollection(defaultCollection, vp);
160
+ executeCallbacks(this._app, this._onDeactivate);
135
161
  }
136
162
  }
137
163
  }
@@ -152,4 +178,7 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
152
178
  }
153
179
 
154
180
  export default ObliqueCollectionContentTreeItem;
155
- contentTreeClassRegistry.registerClass(ObliqueCollectionContentTreeItem.className, ObliqueCollectionContentTreeItem);
181
+ contentTreeClassRegistry.registerClass(
182
+ ObliqueCollectionContentTreeItem.className,
183
+ ObliqueCollectionContentTreeItem,
184
+ );
@@ -1,4 +1,6 @@
1
- import ContentTreeItem, { contentTreeClassRegistry } from './contentTreeItem.js';
1
+ import ContentTreeItem, {
2
+ contentTreeClassRegistry,
3
+ } from './contentTreeItem.js';
2
4
 
3
5
  /**
4
6
  * @type {symbol}
@@ -13,7 +15,9 @@ export const subTreeSymbol = Symbol('SubTree');
13
15
  * @extends {ContentTreeItem}
14
16
  */
15
17
  class SubContentTreeItem extends ContentTreeItem {
16
- static get className() { return 'SubContentTreeItem'; }
18
+ static get className() {
19
+ return 'SubContentTreeItem';
20
+ }
17
21
 
18
22
  /**
19
23
  * @param {ContentTreeItemOptions} options
@@ -23,7 +27,9 @@ class SubContentTreeItem extends ContentTreeItem {
23
27
  super(options, app);
24
28
 
25
29
  if (!this.name || this.name.split('.').length > 1) {
26
- throw new Error(`Sub trees may only be defined on top level. Tree ${this.name} is nested or undefined`);
30
+ throw new Error(
31
+ `Sub trees may only be defined on top level. Tree ${this.name} is nested or undefined`,
32
+ );
27
33
  }
28
34
  this.clickable = false;
29
35
  }
@@ -39,4 +45,7 @@ class SubContentTreeItem extends ContentTreeItem {
39
45
  }
40
46
 
41
47
  export default SubContentTreeItem;
42
- contentTreeClassRegistry.registerClass(SubContentTreeItem.className, SubContentTreeItem);
48
+ contentTreeClassRegistry.registerClass(
49
+ SubContentTreeItem.className,
50
+ SubContentTreeItem,
51
+ );
@@ -1,4 +1,6 @@
1
- import ContentTreeItem, { contentTreeClassRegistry } from './contentTreeItem.js';
1
+ import ContentTreeItem, {
2
+ contentTreeClassRegistry,
3
+ } from './contentTreeItem.js';
2
4
 
3
5
  /**
4
6
  * @typedef {Object} VcsObjectContentTreeItemProperties
@@ -21,7 +23,9 @@ class VcsObjectContentTreeItem extends ContentTreeItem {
21
23
  * @type {string}
22
24
  * @readonly
23
25
  */
24
- static get className() { return 'VcsObjectContentTreeItem'; }
26
+ static get className() {
27
+ return 'VcsObjectContentTreeItem';
28
+ }
25
29
 
26
30
  /**
27
31
  * @param {ContentTreeItemOptions} options
@@ -71,12 +75,11 @@ class VcsObjectContentTreeItem extends ContentTreeItem {
71
75
  setPropertiesFromObject(object) {
72
76
  this._currentObjectProperties = object.properties;
73
77
  const mergedProperties = { ...this._currentObjectProperties };
74
- Object.entries(this._ownProperties)
75
- .forEach(([key, value]) => {
76
- if (value !== undefined) {
77
- mergedProperties[key] = value;
78
- }
79
- });
78
+ Object.entries(this._ownProperties).forEach(([key, value]) => {
79
+ if (value !== undefined) {
80
+ mergedProperties[key] = value;
81
+ }
82
+ });
80
83
  this._setProperties(mergedProperties);
81
84
  }
82
85
 
@@ -85,16 +88,22 @@ class VcsObjectContentTreeItem extends ContentTreeItem {
85
88
  */
86
89
  toJSON() {
87
90
  const config = super.toJSON();
88
- Object.entries(this._currentObjectProperties)
89
- .forEach(([key, value]) => {
90
- if (config[key] && config[key] === value && this._ownProperties[key] !== value) {
91
- delete config[key];
92
- }
93
- });
91
+ Object.entries(this._currentObjectProperties).forEach(([key, value]) => {
92
+ if (
93
+ config[key] &&
94
+ config[key] === value &&
95
+ this._ownProperties[key] !== value
96
+ ) {
97
+ delete config[key];
98
+ }
99
+ });
94
100
 
95
101
  return config;
96
102
  }
97
103
  }
98
104
 
99
- contentTreeClassRegistry.registerClass(VcsObjectContentTreeItem.className, VcsObjectContentTreeItem);
105
+ contentTreeClassRegistry.registerClass(
106
+ VcsObjectContentTreeItem.className,
107
+ VcsObjectContentTreeItem,
108
+ );
100
109
  export default VcsObjectContentTreeItem;
@@ -12,7 +12,9 @@ import { contentTreeClassRegistry } from './contentTreeItem.js';
12
12
  * @class
13
13
  */
14
14
  class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
15
- static get className() { return 'ViewpointContentTreeItem'; }
15
+ static get className() {
16
+ return 'ViewpointContentTreeItem';
17
+ }
16
18
 
17
19
  /**
18
20
  * @param {ViewpointContentTreeItemOptions} options
@@ -48,7 +50,9 @@ class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
48
50
  * @private
49
51
  */
50
52
  _clearListeners() {
51
- this._listeners.forEach((cb) => { cb(); });
53
+ this._listeners.forEach((cb) => {
54
+ cb();
55
+ });
52
56
  this._listeners.splice(0);
53
57
  }
54
58
 
@@ -69,16 +73,23 @@ class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
69
73
 
70
74
  if (!this.viewpoint) {
71
75
  this.visible = false;
72
- this._listeners.push(this._app.viewpoints.added.addEventListener(resetCallback));
76
+ this._listeners.push(
77
+ this._app.viewpoints.added.addEventListener(resetCallback),
78
+ );
73
79
  } else {
74
80
  this.visible = true;
75
81
  this.setPropertiesFromObject(this.viewpoint);
76
- this._listeners.push(this._app.viewpoints.added.addEventListener(resetCallback));
77
- this._listeners.push(this._app.viewpoints.removed.addEventListener(resetCallback));
82
+ this._listeners.push(
83
+ this._app.viewpoints.added.addEventListener(resetCallback),
84
+ );
85
+ this._listeners.push(
86
+ this._app.viewpoints.removed.addEventListener(resetCallback),
87
+ );
78
88
  }
79
89
  }
80
90
 
81
91
  async clicked() {
92
+ await super.clicked();
82
93
  if (this._app.maps.activeMap && this.viewpoint) {
83
94
  await this._app.maps.activeMap.gotoViewpoint(this.viewpoint);
84
95
  }
@@ -104,4 +115,7 @@ class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
104
115
  }
105
116
 
106
117
  export default ViewpointContentTreeItem;
107
- contentTreeClassRegistry.registerClass(ViewpointContentTreeItem.className, ViewpointContentTreeItem);
118
+ contentTreeClassRegistry.registerClass(
119
+ ViewpointContentTreeItem.className,
120
+ ViewpointContentTreeItem,
121
+ );
@@ -33,7 +33,10 @@ export function downloadBlob(blob, fileName) {
33
33
  * @param {string} fileName
34
34
  */
35
35
  export function downloadText(text, fileName) {
36
- downloadURI(`data:text/plain;charset=utf-8,${encodeURIComponent(text)}`, fileName);
36
+ downloadURI(
37
+ `data:text/plain;charset=utf-8,${encodeURIComponent(text)}`,
38
+ fileName,
39
+ );
37
40
  }
38
41
 
39
42
  /**