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

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 (417) 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 +184 -174
  5. package/build/buildCesium.js +32 -19
  6. package/build/buildHelpers.js +117 -48
  7. package/build/buildPreview.js +7 -4
  8. package/build/commonViteConfig.js +1 -3
  9. package/build/determineHost.js +17 -4
  10. package/build/generateOLLib.js +13 -16
  11. package/build/getPluginProxies.js +16 -3
  12. package/build/info/conf.json +21 -21
  13. package/build/info/publish.js +15 -4
  14. package/config/aerowest.config.json +16 -44
  15. package/config/base.config.json +71 -246
  16. package/config/codes.config.json +3 -1
  17. package/config/dev.config.json +5 -13
  18. package/config/graphFeatureInfo.config.json +55 -16
  19. package/config/projects.config.json +5 -2
  20. package/config/www.config.json +96 -297
  21. package/dist/assets/cesium/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  22. package/dist/assets/cesium/Workers/{AttributeCompression-b646d393.js → AttributeCompression-f9f6c717.js} +24 -24
  23. package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-ff186ccc.js → AxisAlignedBoundingBox-85d9e53a.js} +3 -3
  24. package/dist/assets/cesium/Workers/{BoundingRectangle-be5924f4.js → BoundingRectangle-1ee7eb47.js} +18 -18
  25. package/dist/assets/cesium/Workers/{BoxGeometry-12eeccaf.js → BoxGeometry-3b2be784.js} +9 -9
  26. package/dist/assets/cesium/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  27. package/dist/assets/cesium/Workers/{Color-a84038cb.js → Color-f107c84d.js} +59 -59
  28. package/dist/assets/cesium/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  29. package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-3272c1b3.js → CoplanarPolygonGeometryLibrary-78d71993.js} +1 -1
  30. package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-0170e093.js → CorridorGeometryLibrary-50d99b33.js} +1 -1
  31. package/dist/assets/cesium/Workers/{CylinderGeometry-7c5da648.js → CylinderGeometry-51b0d9bf.js} +12 -12
  32. package/dist/assets/cesium/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
  33. package/dist/assets/cesium/Workers/{EllipseGeometry-797d580e.js → EllipseGeometry-bcfb5d87.js} +20 -20
  34. package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-2939e1dc.js → EllipseGeometryLibrary-e94f8472.js} +1 -1
  35. package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-8b50870f.js → EllipseOutlineGeometry-28e3a1bb.js} +15 -15
  36. package/dist/assets/cesium/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-5b3623dc.js} +6 -6
  37. package/dist/assets/cesium/Workers/{EllipsoidGeometry-21c0e3a5.js → EllipsoidGeometry-b222fa63.js} +14 -14
  38. package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-eff247c8.js → EllipsoidOutlineGeometry-38a3fb5b.js} +15 -15
  39. package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-ef872433.js} +9 -9
  40. package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-214683dc.js → EllipsoidTangentPlane-8c89f28c.js} +1 -1
  41. package/dist/assets/cesium/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-57415c8a.js} +6 -6
  42. package/dist/assets/cesium/Workers/{FrustumGeometry-ac42a6d9.js → FrustumGeometry-bdd3a04d.js} +139 -111
  43. package/dist/assets/cesium/Workers/{GeometryAttribute-7d6f1732.js → GeometryAttribute-153115c5.js} +20 -20
  44. package/dist/assets/cesium/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  45. package/dist/assets/cesium/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-34d9e21e.js} +6 -6
  46. package/dist/assets/cesium/Workers/{GeometryPipeline-ce4339ed.js → GeometryPipeline-acb2399c.js} +22 -22
  47. package/dist/assets/cesium/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-2643aa47.js} +13 -13
  48. package/dist/assets/cesium/Workers/{IntersectionTests-f6e6bd8a.js → IntersectionTests-271e513e.js} +37 -37
  49. package/dist/assets/cesium/Workers/{Math-2dbd6b93.js → Math-0a2ac845.js} +149 -139
  50. package/dist/assets/cesium/Workers/{Matrix2-13178034.js → Matrix2-e1298525.js} +256 -256
  51. package/dist/assets/cesium/Workers/{Matrix3-315394f6.js → Matrix3-41c58dde.js} +150 -150
  52. package/dist/assets/cesium/Workers/{OrientedBoundingBox-04920dc7.js → OrientedBoundingBox-5e04e31f.js} +19 -17
  53. package/dist/assets/cesium/Workers/{Plane-900aa728.js → Plane-4c3d403b.js} +5 -5
  54. package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-a8680d96.js → PolygonGeometryLibrary-6762b65b.js} +6 -6
  55. package/dist/assets/cesium/Workers/PolygonPipeline-7dc7a431.js +1344 -0
  56. package/dist/assets/cesium/Workers/{PolylinePipeline-32f36d2a.js → PolylinePipeline-15fde655.js} +16 -16
  57. package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-a510d657.js → PolylineVolumeGeometryLibrary-ba7dfed5.js} +7 -7
  58. package/dist/assets/cesium/Workers/{PrimitivePipeline-ba38434a.js → PrimitivePipeline-68f0b9a2.js} +6 -6
  59. package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-bdba697e.js → RectangleGeometryLibrary-8eaf23da.js} +1 -1
  60. package/dist/assets/cesium/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  61. package/dist/assets/cesium/Workers/{TerrainEncoding-833187da.js → TerrainEncoding-eb8a645a.js} +30 -30
  62. package/dist/assets/cesium/Workers/Transforms-f6451f99.js +14698 -0
  63. package/dist/assets/cesium/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  64. package/dist/assets/cesium/Workers/{WallGeometryLibrary-919eed92.js → WallGeometryLibrary-feef3109.js} +1 -1
  65. package/dist/assets/cesium/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  66. package/dist/assets/cesium/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-13ed1a6e.js} +6 -6
  67. package/dist/assets/cesium/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-d2061e85.js} +5 -5
  68. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +5 -5
  69. package/dist/assets/cesium/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  70. package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
  71. package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
  72. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +9 -9
  73. package/dist/assets/cesium/Workers/createCircleGeometry.js +13 -13
  74. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +13 -13
  75. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +11 -11
  76. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  77. package/dist/assets/cesium/Workers/createCorridorGeometry.js +14 -14
  78. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +12 -12
  79. package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
  80. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +13 -13
  81. package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
  82. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  83. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
  84. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  85. package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
  86. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +8 -8
  87. package/dist/assets/cesium/Workers/createGeometry.js +1 -1
  88. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +33 -33
  89. package/dist/assets/cesium/Workers/createPlaneGeometry.js +8 -8
  90. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +6 -6
  91. package/dist/assets/cesium/Workers/createPolygonGeometry.js +25 -25
  92. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +17 -17
  93. package/dist/assets/cesium/Workers/createPolylineGeometry.js +11 -11
  94. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +9 -9
  95. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  96. package/dist/assets/cesium/Workers/createRectangleGeometry.js +16 -16
  97. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +12 -12
  98. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +10 -10
  99. package/dist/assets/cesium/Workers/createSphereGeometry.js +11 -11
  100. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +12 -12
  101. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +2 -2
  102. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  103. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +8 -8
  104. package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -1
  105. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
  106. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -1
  107. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  108. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +27 -28
  109. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  110. package/dist/assets/cesium/Workers/createWallGeometry.js +14 -14
  111. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +14 -14
  112. package/dist/assets/cesium/Workers/decodeDraco.js +10 -2
  113. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  114. package/dist/assets/cesium/Workers/decodeI3S.js +1 -1
  115. package/dist/assets/cesium/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  116. package/dist/assets/cesium/Workers/package.js +1 -1
  117. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -26
  118. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  119. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  120. package/dist/assets/{cesium.166f91.js → cesium.253914.js} +36578 -33768
  121. package/dist/assets/cesium.js +1 -1
  122. package/dist/assets/{core.9342a1.js → core.3a8205.js} +53 -58
  123. package/dist/assets/core.js +1 -1
  124. package/dist/assets/{index.fd041928.js → index.91ae2d55.js} +1 -1
  125. package/dist/assets/{ol.d2cba3.js → ol.1c946a.js} +5550 -5491
  126. package/dist/assets/ol.js +1 -1
  127. package/dist/assets/ui.0025be.css +5 -0
  128. package/dist/assets/{ui.c27597.js → ui.0025be.js} +5494 -4759
  129. package/dist/assets/ui.js +1 -1
  130. package/dist/assets/vue.js +2 -2
  131. package/dist/assets/{vuetify.2f1432.css → vuetify.6efa21.css} +2 -2
  132. package/dist/assets/{vuetify.2f1432.js → vuetify.6efa21.js} +1 -1
  133. package/dist/assets/vuetify.js +2 -2
  134. package/dist/index.html +27 -7
  135. package/index.html +26 -6
  136. package/index.js +65 -15
  137. package/lib/cesium.js +1 -1
  138. package/lib/core.js +1 -1
  139. package/lib/ui.js +1 -1
  140. package/lib/vue.js +2 -2
  141. package/lib/vuetify.js +2 -2
  142. package/package.json +18 -9
  143. package/plugins/.eslintrc +9 -0
  144. package/plugins/@vcmap/create-link/fallbackCreateLink.vue +13 -9
  145. package/plugins/@vcmap/create-link/index.js +15 -6
  146. package/plugins/@vcmap/project-selector/ModulesListComponent.vue +4 -8
  147. package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +5 -10
  148. package/plugins/@vcmap/project-selector/README.md +4 -2
  149. package/plugins/@vcmap/project-selector/config.json +13 -13
  150. package/plugins/@vcmap/project-selector/de.json +2 -2
  151. package/plugins/@vcmap/project-selector/en.json +2 -2
  152. package/plugins/@vcmap/project-selector/index.js +63 -28
  153. package/plugins/@vcmap/search-nominatim/LICENSE.md +5 -6
  154. package/plugins/@vcmap/search-nominatim/README.md +2 -1
  155. package/plugins/@vcmap/search-nominatim/config.json +1 -2
  156. package/plugins/@vcmap/search-nominatim/index.js +7 -4
  157. package/plugins/@vcmap/search-nominatim/nominatim.js +7 -2
  158. package/plugins/@vcmap/search-nominatim/package.json +2 -36
  159. package/plugins/@vcmap/simple-graph/README.md +29 -9
  160. package/plugins/@vcmap/simple-graph/SimpleGraphComponent.vue +2 -7
  161. package/plugins/@vcmap/simple-graph/index.js +1 -1
  162. package/plugins/@vcmap/simple-graph/simpleGraphView.js +3 -1
  163. package/plugins/@vcmap/theme-changer/README.md +5 -3
  164. package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +6 -10
  165. package/plugins/@vcmap/theme-changer/config.json +67 -67
  166. package/plugins/@vcmap/theme-changer/index.js +11 -5
  167. package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +76 -11
  168. package/plugins/@vcmap-show-case/buttons-example/index.js +10 -8
  169. package/plugins/@vcmap-show-case/category-tester/Categories.vue +143 -116
  170. package/plugins/@vcmap-show-case/category-tester/Category.vue +46 -26
  171. package/plugins/@vcmap-show-case/category-tester/index.js +9 -3
  172. package/plugins/@vcmap-show-case/config-editor/{editor.vue → ConfigEditor.vue} +20 -24
  173. package/plugins/@vcmap-show-case/config-editor/index.js +13 -11
  174. package/plugins/@vcmap-show-case/context-menu-tester/index.js +18 -10
  175. package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +89 -118
  176. package/plugins/@vcmap-show-case/form-inputs-example/config.json +3 -3
  177. package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +14 -4
  178. package/plugins/@vcmap-show-case/form-inputs-example/index.js +41 -19
  179. package/plugins/@vcmap-show-case/form-inputs-example/validation.js +2 -1
  180. package/plugins/@vcmap-show-case/icons-example/README.md +1 -1
  181. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +10 -10
  182. package/plugins/@vcmap-show-case/icons-example/index.js +10 -8
  183. package/plugins/@vcmap-show-case/list-example/ListExample.vue +221 -103
  184. package/plugins/@vcmap-show-case/list-example/index.js +10 -8
  185. package/plugins/@vcmap-show-case/notifier-tester/index.js +9 -3
  186. package/plugins/@vcmap-show-case/notifier-tester/notifierTester.vue +15 -21
  187. package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +22 -41
  188. package/plugins/@vcmap-show-case/table-example/index.js +10 -8
  189. package/plugins/@vcmap-show-case/textfields-example/TextfieldsExample.vue +7 -30
  190. package/plugins/@vcmap-show-case/textfields-example/index.js +10 -4
  191. package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +16 -13
  192. package/plugins/@vcmap-show-case/window-tester/emptyComponent.vue +4 -7
  193. package/plugins/@vcmap-show-case/window-tester/index.js +26 -20
  194. package/plugins/@vcmap-show-case/window-tester/myCustomHeader.vue +7 -3
  195. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +82 -5
  196. package/plugins/@vcmap-show-case/window-tester/windowExampleContent.vue +3 -7
  197. package/plugins/@vcmap-show-case/wizard-example/index.js +9 -3
  198. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +36 -38
  199. package/src/actions/actionHelper.js +49 -11
  200. package/src/actions/styleSelector.vue +20 -11
  201. package/src/application/VcsApp.vue +117 -80
  202. package/src/application/VcsAttributions.vue +8 -9
  203. package/src/application/VcsAttributionsFooter.vue +12 -9
  204. package/src/application/VcsMap.vue +9 -5
  205. package/src/application/VcsNavbar.vue +44 -27
  206. package/src/application/VcsSettings.vue +5 -12
  207. package/src/application/attributionsHelper.js +23 -11
  208. package/src/application/vcsAppWrapper.vue +1 -3
  209. package/src/components/buttons/VcsActionButtonList.vue +20 -17
  210. package/src/components/buttons/VcsButton.vue +19 -23
  211. package/src/components/buttons/VcsFormButton.vue +176 -0
  212. package/src/components/form-inputs-controls/VcsCheckbox.vue +6 -7
  213. package/src/components/form-inputs-controls/VcsDatePicker.vue +50 -19
  214. package/src/components/form-inputs-controls/VcsFormSection.vue +11 -12
  215. package/src/components/form-inputs-controls/VcsLabel.vue +9 -10
  216. package/src/components/form-inputs-controls/VcsRadio.vue +44 -44
  217. package/src/components/form-inputs-controls/VcsSelect.vue +16 -13
  218. package/src/components/form-inputs-controls/VcsTextArea.vue +21 -14
  219. package/src/components/form-inputs-controls/VcsTextField.vue +26 -12
  220. package/src/components/form-inputs-controls/VcsWizard.vue +78 -78
  221. package/src/components/form-inputs-controls/VcsWizardStep.vue +20 -20
  222. package/src/components/form-inputs-controls/composables.js +13 -8
  223. package/src/components/form-output/VcsFormattedNumber.vue +26 -26
  224. package/src/components/icons/+all.js +13 -5
  225. package/src/components/icons/2DAreaIcon.vue +62 -10
  226. package/src/components/icons/2DDistanceIcon.vue +14 -2
  227. package/src/components/icons/3DAreaIcon.vue +62 -10
  228. package/src/components/icons/3DDistanceIcon.vue +14 -2
  229. package/src/components/icons/3DHeightIcon.vue +14 -2
  230. package/src/components/icons/AngleIcon.vue +12 -3
  231. package/src/components/icons/AssociationsIcon.vue +6 -1
  232. package/src/components/icons/AxisIcon.vue +34 -5
  233. package/src/components/icons/BoundingBoxIcon.vue +31 -5
  234. package/src/components/icons/CheckboxCheckedIcon.vue +4 -1
  235. package/src/components/icons/CheckboxIcon.vue +1 -8
  236. package/src/components/icons/CheckboxIndeterminateIcon.vue +9 -2
  237. package/src/components/icons/CircleIcon.vue +24 -4
  238. package/src/components/icons/ClippingHorizontalIcon.vue +14 -2
  239. package/src/components/icons/ClippingIcon.vue +13 -2
  240. package/src/components/icons/ClippingVerticalIcon.vue +14 -2
  241. package/src/components/icons/ColorPickerIcon.vue +13 -2
  242. package/src/components/icons/ColorSwatchIcon.vue +7 -1
  243. package/src/components/icons/CommentIcon.vue +6 -1
  244. package/src/components/icons/CompassIcon.vue +21 -3
  245. package/src/components/icons/ComponentsIcon.vue +14 -2
  246. package/src/components/icons/ConeIcon.vue +26 -4
  247. package/src/components/icons/DimensionsHouseIcon.vue +7 -1
  248. package/src/components/icons/EditIcon.vue +13 -2
  249. package/src/components/icons/ElevationProfileIcon.vue +6 -1
  250. package/src/components/icons/ExportAreaIcon.vue +13 -2
  251. package/src/components/icons/ExportFlightIcon.vue +13 -2
  252. package/src/components/icons/ExportIcon.vue +14 -2
  253. package/src/components/icons/ExternalLinkIcon.vue +18 -3
  254. package/src/components/icons/EyeIcon.vue +12 -2
  255. package/src/components/icons/FastForwardIcon.vue +13 -2
  256. package/src/components/icons/FilterIcon.vue +13 -2
  257. package/src/components/icons/GlobalTerrainIcon.vue +12 -2
  258. package/src/components/icons/GlobeNatureIcon.vue +7 -1
  259. package/src/components/icons/GroundIcon.vue +12 -2
  260. package/src/components/icons/HealthCareIndustriesIcon.vue +6 -1
  261. package/src/components/icons/HelpIcon.vue +12 -2
  262. package/src/components/icons/HideIcon.vue +17 -3
  263. package/src/components/icons/HomePointIcon.vue +13 -3
  264. package/src/components/icons/HospitalsIcon.vue +6 -1
  265. package/src/components/icons/HouseIcon.vue +20 -3
  266. package/src/components/icons/ImportIcon.vue +21 -3
  267. package/src/components/icons/InfoIcon.vue +19 -3
  268. package/src/components/icons/KebabIcon.vue +12 -2
  269. package/src/components/icons/LabelIcon.vue +21 -3
  270. package/src/components/icons/LayersIcon.vue +12 -2
  271. package/src/components/icons/LegendIcon.vue +13 -3
  272. package/src/components/icons/LineIcon.vue +20 -3
  273. package/src/components/icons/LinkIcon.vue +13 -2
  274. package/src/components/icons/LogoutIcon.vue +13 -2
  275. package/src/components/icons/MapIcon.vue +14 -2
  276. package/src/components/icons/MenuIcon.vue +7 -1
  277. package/src/components/icons/MinusIcon.vue +14 -2
  278. package/src/components/icons/ObjectAttributeIcon.vue +13 -2
  279. package/src/components/icons/ObjectSelectIcon.vue +14 -2
  280. package/src/components/icons/ObliqueViewIcon.vue +11 -2
  281. package/src/components/icons/PdfIcon.vue +12 -2
  282. package/src/components/icons/PedestrianIcon.vue +13 -2
  283. package/src/components/icons/PenIcon.vue +13 -3
  284. package/src/components/icons/PlayCircleIcon.vue +20 -3
  285. package/src/components/icons/PlusIcon.vue +14 -3
  286. package/src/components/icons/PoiIcon.vue +17 -3
  287. package/src/components/icons/PointSelectIcon.vue +12 -2
  288. package/src/components/icons/PolygonIcon.vue +7 -1
  289. package/src/components/icons/PresentationModeIcon.vue +13 -2
  290. package/src/components/icons/ProgressIcon.vue +8 -6
  291. package/src/components/icons/QueryIcon.vue +31 -5
  292. package/src/components/icons/RectangleIcon.vue +24 -4
  293. package/src/components/icons/ReturnIcon.vue +13 -2
  294. package/src/components/icons/RewindIcon.vue +13 -2
  295. package/src/components/icons/RotateLeftIcon.vue +13 -2
  296. package/src/components/icons/RotateRightIcon.vue +13 -2
  297. package/src/components/icons/ScreenshotIcon.vue +52 -10
  298. package/src/components/icons/SearchIcon.vue +13 -3
  299. package/src/components/icons/ShadowIcon.vue +14 -3
  300. package/src/components/icons/ShapesIcon.vue +13 -3
  301. package/src/components/icons/ShareIcon.vue +17 -4
  302. package/src/components/icons/SimpleCircleFilledIcon.vue +14 -10
  303. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +6 -1
  304. package/src/components/icons/SimpleCircleOutlinedIcon.vue +14 -10
  305. package/src/components/icons/SkipNextIcon.vue +11 -2
  306. package/src/components/icons/SkipPreviousIcon.vue +17 -3
  307. package/src/components/icons/SplitViewIcon.vue +6 -1
  308. package/src/components/icons/TerrainBoxIcon.vue +12 -2
  309. package/src/components/icons/TextStyleIcon.vue +7 -1
  310. package/src/components/icons/ThreeDimensionsIcon.vue +13 -2
  311. package/src/components/icons/ToolsIcon.vue +12 -2
  312. package/src/components/icons/TouchIcon.vue +13 -2
  313. package/src/components/icons/TrashCanIcon.vue +13 -2
  314. package/src/components/icons/TriangleIcon.vue +6 -2
  315. package/src/components/icons/TwoDimensionsIcon.vue +14 -2
  316. package/src/components/icons/UploadIcon.vue +13 -2
  317. package/src/components/icons/UserProfileIcon.vue +13 -2
  318. package/src/components/icons/UserShareIcon.vue +12 -2
  319. package/src/components/icons/VideoRecorderIcon.vue +16 -3
  320. package/src/components/icons/ViewpointFlightIcon.vue +22 -4
  321. package/src/components/icons/ViewpointIcon.vue +22 -4
  322. package/src/components/icons/Viewshed360Icon.vue +14 -2
  323. package/src/components/icons/ViewshedConeIcon.vue +13 -2
  324. package/src/components/icons/ViewshedIcon.vue +14 -2
  325. package/src/components/icons/WalkingIcon.vue +13 -2
  326. package/src/components/icons/WallIcon.vue +19 -3
  327. package/src/components/icons/WandIcon.vue +129 -21
  328. package/src/components/imageElementInjector.vue +1 -3
  329. package/src/components/lists/VcsActionList.vue +21 -18
  330. package/src/components/lists/VcsList.vue +208 -98
  331. package/src/components/lists/VcsTreeview.vue +30 -26
  332. package/src/components/lists/VcsTreeviewLeaf.vue +23 -22
  333. package/src/components/lists/VcsTreeviewSearchbar.vue +19 -15
  334. package/src/components/notification/VcsBadge.vue +4 -6
  335. package/src/components/notification/VcsTooltip.vue +95 -94
  336. package/src/components/notification/validation.js +1 -1
  337. package/src/components/tables/VcsDataTable.vue +107 -95
  338. package/src/components/tables/VcsTable.vue +38 -30
  339. package/src/contentTree/LayerTree.vue +2 -3
  340. package/src/contentTree/contentTreeCollection.js +48 -22
  341. package/src/contentTree/contentTreeItem.js +36 -14
  342. package/src/contentTree/groupContentTreeItem.js +44 -22
  343. package/src/contentTree/layerContentTreeItem.js +42 -20
  344. package/src/contentTree/layerGroupContentTreeItem.js +53 -31
  345. package/src/contentTree/nodeContentTreeItem.js +18 -7
  346. package/src/contentTree/obliqueCollectionContentTreeItem.js +45 -20
  347. package/src/contentTree/subContentTreeItem.js +13 -4
  348. package/src/contentTree/vcsObjectContentTreeItem.js +24 -15
  349. package/src/contentTree/viewpointContentTreeItem.js +19 -6
  350. package/src/downloadHelper.js +4 -1
  351. package/src/featureInfo/AddressBalloonComponent.vue +11 -16
  352. package/src/featureInfo/BalloonComponent.vue +35 -26
  353. package/src/featureInfo/abstractFeatureInfoView.js +29 -13
  354. package/src/featureInfo/addressBalloonFeatureInfoView.js +19 -7
  355. package/src/featureInfo/balloonFeatureInfoView.js +22 -9
  356. package/src/featureInfo/balloonHelper.js +61 -42
  357. package/src/featureInfo/featureInfo.js +71 -31
  358. package/src/featureInfo/featureInfoInteraction.js +13 -7
  359. package/src/featureInfo/iframeFeatureInfoView.js +3 -1
  360. package/src/featureInfo/tableFeatureInfoView.js +15 -5
  361. package/src/i18n/i18nCollection.js +183 -155
  362. package/src/init.js +124 -121
  363. package/src/legend/legendHelper.js +11 -6
  364. package/src/legend/styleLegendItem.vue +18 -12
  365. package/src/legend/vcsLegend.vue +15 -17
  366. package/src/manager/buttonManager.js +6 -3
  367. package/src/manager/categoryManager/CategoryComponent.vue +52 -25
  368. package/src/manager/categoryManager/CategoryComponentList.vue +33 -8
  369. package/src/manager/categoryManager/CategoryManager.vue +4 -5
  370. package/src/manager/categoryManager/categoryManager.js +82 -37
  371. package/src/manager/contextMenu/contextMenuComponent.vue +2 -6
  372. package/src/manager/contextMenu/contextMenuInteraction.js +6 -1
  373. package/src/manager/contextMenu/contextMenuManager.js +37 -22
  374. package/src/manager/navbarManager.js +15 -8
  375. package/src/manager/toolbox/GroupToolboxComponent.vue +22 -21
  376. package/src/manager/toolbox/SelectToolboxComponent.vue +36 -35
  377. package/src/manager/toolbox/ToolboxManager.vue +18 -10
  378. package/src/manager/toolbox/toolboxManager.js +30 -12
  379. package/src/manager/window/WindowComponent.vue +18 -21
  380. package/src/manager/window/WindowComponentHeader.vue +34 -26
  381. package/src/manager/window/WindowManager.vue +33 -22
  382. package/src/manager/window/windowHelper.js +79 -23
  383. package/src/manager/window/windowManager.js +61 -32
  384. package/src/navigation/mapNavCompass.vue +17 -3
  385. package/src/navigation/mapNavigation.vue +59 -40
  386. package/src/navigation/obliqueRotation.vue +6 -8
  387. package/src/navigation/orientationToolsButton.vue +6 -9
  388. package/src/navigation/overviewMap.js +72 -41
  389. package/src/navigation/overviewMapClickedInteraction.js +6 -1
  390. package/src/navigation/tiltSlider.vue +6 -10
  391. package/src/navigation/vcsCompass.vue +1 -9
  392. package/src/navigation/vcsZoomButton.vue +16 -17
  393. package/src/notifier/notifier.js +22 -13
  394. package/src/notifier/notifierComponent.vue +21 -21
  395. package/src/pluginHelper.js +23 -9
  396. package/src/search/resultItem.vue +10 -15
  397. package/src/search/resultsComponent.vue +30 -24
  398. package/src/search/search.js +36 -19
  399. package/src/search/searchComponent.vue +20 -10
  400. package/src/setup.js +9 -9
  401. package/src/state.js +22 -6
  402. package/src/styles/_typography.scss +0 -1
  403. package/src/styles/shades.scss +4 -2
  404. package/src/styles/utils/_border.scss +1 -1
  405. package/src/styles/utils/_display.scss +1 -1
  406. package/src/styles/variables.scss +39 -34
  407. package/src/styles/vcsFont.scss +6 -5
  408. package/src/styles/vcsGrid.scss +9 -0
  409. package/src/uiConfig.js +3 -1
  410. package/src/vcsUiApp.js +156 -59
  411. package/src/vuePlugins/i18n.js +4 -4
  412. package/src/vuePlugins/vuetify.js +4 -0
  413. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
  414. package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
  415. package/dist/assets/ui.c27597.css +0 -5
  416. /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
  417. /package/dist/assets/{vue.5d00e9.js → vue.c1ece7.js} +0 -0
@@ -49,11 +49,18 @@ export function applyValueMapping(attributes, mapping) {
49
49
  })
50
50
  .forEach((mappingKey) => {
51
51
  if (Object.hasOwn(attributes, mappingKey)) {
52
- attributes[mappingKey] = getMappedValue(mapping[mappingKey], attributes[mappingKey]);
52
+ attributes[mappingKey] = getMappedValue(
53
+ mapping[mappingKey],
54
+ attributes[mappingKey],
55
+ );
53
56
  } else {
54
57
  const mappingKeys = mappingKey.split('.');
55
58
  mappingKeys.reduce((obj, key, index) => {
56
- if (obj && Object.hasOwn(obj, key) && index === mappingKeys.length - 1) {
59
+ if (
60
+ obj &&
61
+ Object.hasOwn(obj, key) &&
62
+ index === mappingKeys.length - 1
63
+ ) {
57
64
  obj[key] = getMappedValue(mapping[mappingKey], obj[key]);
58
65
  }
59
66
  return obj?.[key];
@@ -109,7 +116,11 @@ export function applyKeyMapping(attributes, mapping) {
109
116
  } else {
110
117
  const mappingKeys = mappingKey.split('.');
111
118
  mappingKeys.reduce((obj, key, index) => {
112
- if (obj && Object.hasOwn(obj, key) && index === mappingKeys.length - 1) {
119
+ if (
120
+ obj &&
121
+ Object.hasOwn(obj, key) &&
122
+ index === mappingKeys.length - 1
123
+ ) {
113
124
  attributes[mapping[mappingKey]] = obj[key];
114
125
  delete obj[key];
115
126
  }
@@ -152,13 +163,12 @@ export function applyAttributeFilter(attributes, keys, result = {}) {
152
163
  }
153
164
  });
154
165
 
155
- Object.entries(nestedKeys)
156
- .forEach(([parent, pKs]) => {
157
- if (typeof attributes[parent] === 'object') {
158
- result[parent] = {};
159
- applyAttributeFilter(attributes[parent], pKs, result[parent]);
160
- }
161
- });
166
+ Object.entries(nestedKeys).forEach(([parent, pKs]) => {
167
+ if (typeof attributes[parent] === 'object') {
168
+ result[parent] = {};
169
+ applyAttributeFilter(attributes[parent], pKs, result[parent]);
170
+ }
171
+ });
162
172
  return result;
163
173
  }
164
174
 
@@ -173,7 +183,9 @@ class AbstractFeatureInfoView extends VcsObject {
173
183
  /**
174
184
  * @type {string}
175
185
  */
176
- static get className() { return 'AbstractFeatureInfoView'; }
186
+ static get className() {
187
+ return 'AbstractFeatureInfoView';
188
+ }
177
189
 
178
190
  /** @returns {FeatureInfoViewOptions} */
179
191
  static getDefaultOptions() {
@@ -221,14 +233,18 @@ class AbstractFeatureInfoView extends VcsObject {
221
233
  * @type {WindowComponentOptions|Object}
222
234
  * @readonly
223
235
  */
224
- get window() { return this._window; }
236
+ get window() {
237
+ return this._window;
238
+ }
225
239
 
226
240
  /**
227
241
  * component provided by a FeatureInfoView class, passed to featureInfo via `getWindowComponentOptions()`
228
242
  * @type {import("vue").Component|undefined}
229
243
  * @readonly
230
244
  */
231
- get component() { return this._component; }
245
+ get component() {
246
+ return this._component;
247
+ }
232
248
 
233
249
  /**
234
250
  * This method returns all relevant attributes for this view.
@@ -1,4 +1,6 @@
1
- import BalloonFeatureInfoView, { extractNestedKey } from './balloonFeatureInfoView.js';
1
+ import BalloonFeatureInfoView, {
2
+ extractNestedKey,
3
+ } from './balloonFeatureInfoView.js';
2
4
  import AddressBalloonComponent from './AddressBalloonComponent.vue';
3
5
 
4
6
  /**
@@ -20,7 +22,9 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
20
22
  /**
21
23
  * @type {string}
22
24
  */
23
- static get className() { return 'AddressBalloonFeatureInfoView'; }
25
+ static get className() {
26
+ return 'AddressBalloonFeatureInfoView';
27
+ }
24
28
 
25
29
  /** @returns {AddressBalloonFeatureInfoViewOptions} */
26
30
  static getDefaultOptions() {
@@ -44,15 +48,20 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
44
48
  /**
45
49
  * @type {string|null}
46
50
  */
47
- this.addressName = options.addressName !== undefined ? options.addressName : defaultOptions.addressName;
51
+ this.addressName =
52
+ options.addressName !== undefined
53
+ ? options.addressName
54
+ : defaultOptions.addressName;
48
55
  /**
49
56
  * @type {string|null}
50
57
  */
51
- this.street = options.street !== undefined ? options.street : defaultOptions.street;
58
+ this.street =
59
+ options.street !== undefined ? options.street : defaultOptions.street;
52
60
  /**
53
61
  * @type {string|null}
54
62
  */
55
- this.number = options.number !== undefined ? options.number : defaultOptions.number;
63
+ this.number =
64
+ options.number !== undefined ? options.number : defaultOptions.number;
56
65
  /**
57
66
  * @type {string|null}
58
67
  */
@@ -64,7 +73,8 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
64
73
  /**
65
74
  * @type {string|null}
66
75
  */
67
- this.country = options.country !== undefined ? options.country : defaultOptions.country;
76
+ this.country =
77
+ options.country !== undefined ? options.country : defaultOptions.country;
68
78
  }
69
79
 
70
80
  /**
@@ -83,7 +93,9 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
83
93
  }
84
94
  }
85
95
  };
86
- Object.keys(AddressBalloonFeatureInfoView.getDefaultOptions()).forEach(key => applyAddressKeys(key));
96
+ Object.keys(AddressBalloonFeatureInfoView.getDefaultOptions()).forEach(
97
+ (key) => applyAddressKeys(key),
98
+ );
87
99
  return obj;
88
100
  }
89
101
 
@@ -19,7 +19,7 @@ export function extractNestedKey(key, attrs, defaultValue = null) {
19
19
  check(attrs, Object);
20
20
 
21
21
  const keys = key.split('.');
22
- const derivedValue = keys.reduce((obj, prop) => (obj[prop] || {}), attrs);
22
+ const derivedValue = keys.reduce((obj, prop) => obj[prop] || {}, attrs);
23
23
  return typeof derivedValue === 'string' ? derivedValue : defaultValue;
24
24
  }
25
25
 
@@ -74,7 +74,9 @@ class BalloonFeatureInfoView extends AbstractFeatureInfoView {
74
74
  /**
75
75
  * @type {string}
76
76
  */
77
- static get className() { return 'BalloonFeatureInfoView'; }
77
+ static get className() {
78
+ return 'BalloonFeatureInfoView';
79
+ }
78
80
 
79
81
  /**
80
82
  * @param {BalloonFeatureInfoViewOptions} options
@@ -103,13 +105,24 @@ class BalloonFeatureInfoView extends AbstractFeatureInfoView {
103
105
  const properties = super.getProperties(featureInfo, layer);
104
106
  return {
105
107
  ...properties,
106
- position: featureInfo.position ?? getPositionFromFeature(featureInfo.feature),
107
- balloonTitle: this.balloonTitle != null ?
108
- extractNestedKey(this.balloonTitle, properties.attributes, this.balloonTitle) :
109
- properties.layerProperties.title,
110
- balloonSubtitle: this.balloonSubtitle != null ?
111
- extractNestedKey(this.balloonSubtitle, properties.attributes, this.balloonSubtitle) :
112
- properties.featureId,
108
+ position:
109
+ featureInfo.position ?? getPositionFromFeature(featureInfo.feature),
110
+ balloonTitle:
111
+ this.balloonTitle != null
112
+ ? extractNestedKey(
113
+ this.balloonTitle,
114
+ properties.attributes,
115
+ this.balloonTitle,
116
+ )
117
+ : properties.layerProperties.title,
118
+ balloonSubtitle:
119
+ this.balloonSubtitle != null
120
+ ? extractNestedKey(
121
+ this.balloonSubtitle,
122
+ properties.attributes,
123
+ this.balloonSubtitle,
124
+ )
125
+ : properties.featureId,
113
126
  };
114
127
  }
115
128
 
@@ -1,5 +1,15 @@
1
- import { Cartesian2, Cartographic, SceneTransforms } from '@vcmap-cesium/engine';
2
- import { CesiumMap, ObliqueMap, OpenlayersMap, Projection, transformToImage } from '@vcmap/core';
1
+ import {
2
+ Cartesian2,
3
+ Cartographic,
4
+ SceneTransforms,
5
+ } from '@vcmap-cesium/engine';
6
+ import {
7
+ CesiumMap,
8
+ ObliqueMap,
9
+ OpenlayersMap,
10
+ Projection,
11
+ transformToImage,
12
+ } from '@vcmap/core';
3
13
  import { unByKey } from 'ol/Observable.js';
4
14
  import {
5
15
  getWindowPositionOptionsFromMapEvent,
@@ -44,15 +54,14 @@ export async function getBalloonPosition(app, position) {
44
54
  const map = app.maps.activeMap;
45
55
  if (map instanceof CesiumMap) {
46
56
  const wgs84Position = Projection.mercatorToWgs84(position);
47
- const cartesian = Cartographic.toCartesian(Cartographic.fromDegrees(...wgs84Position));
57
+ const cartesian = Cartographic.toCartesian(
58
+ Cartographic.fromDegrees(...wgs84Position),
59
+ );
48
60
  return getBalloonPositionCesium(map.getScene(), cartesian);
49
61
  } else if (map instanceof OpenlayersMap) {
50
62
  return getBalloonPositionOL(map.olMap, position);
51
63
  } else if (map instanceof ObliqueMap) {
52
- const { coords } = await transformToImage(
53
- map.currentImage,
54
- position,
55
- );
64
+ const { coords } = await transformToImage(map.currentImage, position);
56
65
  return getBalloonPositionOL(map.olMap, coords);
57
66
  }
58
67
  return undefined;
@@ -72,7 +81,10 @@ export function setBalloonPosition(windowManager, id, windowPosition, target) {
72
81
  windowManager.setWindowPositionOptions(
73
82
  id,
74
83
  getWindowPositionOptionsFromMapEvent(
75
- new Cartesian2(windowPosition.x - balloonOffset.x, windowPosition.y - balloonOffset.y),
84
+ new Cartesian2(
85
+ windowPosition.x - balloonOffset.x,
86
+ windowPosition.y - balloonOffset.y,
87
+ ),
76
88
  target,
77
89
  WindowAlignment.BOTTOM_LEFT,
78
90
  ),
@@ -85,19 +97,25 @@ export function setBalloonPosition(windowManager, id, windowPosition, target) {
85
97
  * @param {import("ol/coordinate").Coordinate} clickedPosition - position in mercator
86
98
  * @returns {Promise<(() => void)>}
87
99
  */
88
- export async function setupBalloonPositionListener(vcsApp, windowId, clickedPosition) {
100
+ export async function setupBalloonPositionListener(
101
+ vcsApp,
102
+ windowId,
103
+ clickedPosition,
104
+ ) {
89
105
  const listeners = [];
90
106
 
91
107
  const destroy = () => {
92
- listeners.forEach(cb => cb());
108
+ listeners.forEach((cb) => cb());
93
109
  };
94
110
 
95
111
  const setup = async (app, id, position) => {
96
112
  destroy();
97
113
 
98
- listeners.push(app.maps.mapActivated.addEventListener(
99
- setup.bind(null, app, id, position),
100
- ));
114
+ listeners.push(
115
+ app.maps.mapActivated.addEventListener(
116
+ setup.bind(null, app, id, position),
117
+ ),
118
+ );
101
119
 
102
120
  const map = app.maps.activeMap;
103
121
  if (map instanceof CesiumMap) {
@@ -106,43 +124,44 @@ export async function setupBalloonPositionListener(vcsApp, windowId, clickedPosi
106
124
  position[2] = position3D[2];
107
125
  }
108
126
  const wgs84Position = Projection.mercatorToWgs84(position);
109
- const cartesian = Cartographic.toCartesian(Cartographic.fromDegrees(...wgs84Position));
110
- listeners.push(map.getScene().postRender.addEventListener((scene) => {
127
+ const cartesian = Cartographic.toCartesian(
128
+ Cartographic.fromDegrees(...wgs84Position),
129
+ );
130
+ listeners.push(
131
+ map.getScene().postRender.addEventListener((scene) => {
132
+ setBalloonPosition(
133
+ app.windowManager,
134
+ windowId,
135
+ getBalloonPositionCesium(scene, cartesian),
136
+ app.maps.target,
137
+ );
138
+ }),
139
+ );
140
+ } else if (map instanceof OpenlayersMap) {
141
+ const handler = () =>
111
142
  setBalloonPosition(
112
143
  app.windowManager,
113
144
  windowId,
114
- getBalloonPositionCesium(scene, cartesian),
145
+ getBalloonPositionOL(map.olMap, position),
115
146
  app.maps.target,
116
147
  );
117
- }));
118
- } else if (map instanceof OpenlayersMap) {
119
- const handler = () => setBalloonPosition(
120
- app.windowManager,
121
- windowId,
122
- getBalloonPositionOL(map.olMap, position),
123
- app.maps.target,
124
- );
125
- const key = map.olMap.on(
126
- 'postrender',
127
- handler,
128
- );
148
+ const key = map.olMap.on('postrender', handler);
129
149
  listeners.push(() => unByKey(key));
130
150
  } else if (map instanceof ObliqueMap) {
131
- const { coords } = await transformToImage(
132
- map.currentImage,
133
- position,
134
- );
135
- listeners.push(map.imageChanged.addEventListener(setup.bind(null, app, windowId, position)));
136
- const handler = () => setBalloonPosition(
137
- app.windowManager,
138
- windowId,
139
- getBalloonPositionOL(map.olMap, coords),
140
- app.maps.target,
141
- );
142
- const key = map.olMap.on(
143
- 'postrender',
144
- handler,
151
+ const { coords } = await transformToImage(map.currentImage, position);
152
+ listeners.push(
153
+ map.imageChanged.addEventListener(
154
+ setup.bind(null, app, windowId, position),
155
+ ),
145
156
  );
157
+ const handler = () =>
158
+ setBalloonPosition(
159
+ app.windowManager,
160
+ windowId,
161
+ getBalloonPositionOL(map.olMap, coords),
162
+ app.maps.target,
163
+ );
164
+ const key = map.olMap.on('postrender', handler);
146
165
  listeners.push(() => unByKey(key));
147
166
  }
148
167
  };
@@ -69,7 +69,9 @@ export function getHighlightStyle(feature, layer, defaultFillColor) {
69
69
  if (typeof style === 'function') {
70
70
  style = style(feature, 1);
71
71
  }
72
- style = style?.clone?.() ?? new VectorStyleItem(getDefaultVectorStyleItemOptions()).style;
72
+ style =
73
+ style?.clone?.() ??
74
+ new VectorStyleItem(getDefaultVectorStyleItemOptions()).style;
73
75
  if (style.getText()) {
74
76
  if (style.getText().getFill()) {
75
77
  style.getText().getFill().setColor(fillColor.toCssColorString());
@@ -102,10 +104,9 @@ export function createFeatureInfoSession(app) {
102
104
  /** @type {function():void} */
103
105
  let stop;
104
106
  const interaction = new FeatureInfoInteraction(app.featureInfo);
105
- const listener = eventHandler.addExclusiveInteraction(
106
- interaction,
107
- () => { stop?.(); },
108
- );
107
+ const listener = eventHandler.addExclusiveInteraction(interaction, () => {
108
+ stop?.();
109
+ });
109
110
  const currentFeatureInteractionEvent = eventHandler.featureInteraction.active;
110
111
  eventHandler.featureInteraction.setActive(EventType.CLICK);
111
112
 
@@ -213,14 +214,17 @@ class FeatureInfo {
213
214
  new Collection(),
214
215
  () => this._app.dynamicModuleId,
215
216
  null,
216
- config => getObjectFromClassRegistry(this._featureInfoClassRegistry, config),
217
+ (config) =>
218
+ getObjectFromClassRegistry(this._featureInfoClassRegistry, config),
217
219
  AbstractFeatureInfoView,
218
220
  );
219
221
  /**
220
222
  * @type {OverrideClassRegistry<AbstractFeatureInfoView>}
221
223
  * @private
222
224
  */
223
- this._featureInfoClassRegistry = new OverrideClassRegistry(featureInfoClassRegistry);
225
+ this._featureInfoClassRegistry = new OverrideClassRegistry(
226
+ featureInfoClassRegistry,
227
+ );
224
228
  /**
225
229
  * @type {function():void|null}
226
230
  * @private
@@ -252,11 +256,10 @@ class FeatureInfo {
252
256
  */
253
257
  this._listeners = [
254
258
  this._app.maps.mapActivated.addEventListener((map) => {
255
- if (
256
- this._windowId &&
257
- this._app.windowManager.has(this._windowId)
258
- ) {
259
- const { layerName } = this._app.windowManager.get(this._windowId).props;
259
+ if (this._windowId && this._app.windowManager.has(this._windowId)) {
260
+ const { layerName } = this._app.windowManager.get(
261
+ this._windowId,
262
+ ).props;
260
263
  const layer = this._app.layers.getByKey(layerName);
261
264
  if (layer && !layer.isSupported(map)) {
262
265
  this._app.windowManager.remove(this._windowId);
@@ -267,7 +270,8 @@ class FeatureInfo {
267
270
  if (
268
271
  this._windowId &&
269
272
  this._app.windowManager.has(this._windowId) &&
270
- this._app.windowManager.get(this._windowId).props.layerName === layer.name
273
+ this._app.windowManager.get(this._windowId).props.layerName ===
274
+ layer.name
271
275
  ) {
272
276
  this._app.windowManager.remove(this._windowId);
273
277
  }
@@ -301,31 +305,41 @@ class FeatureInfo {
301
305
  * @type {import("@vcmap/core").OverrideCollection<AbstractFeatureInfoView>}
302
306
  * @readonly
303
307
  */
304
- get collection() { return this._collection; }
308
+ get collection() {
309
+ return this._collection;
310
+ }
305
311
 
306
312
  /**
307
313
  * @type {OverrideClassRegistry<AbstractFeatureInfoView>}
308
314
  * @readonly
309
315
  */
310
- get classRegistry() { return this._featureInfoClassRegistry; }
316
+ get classRegistry() {
317
+ return this._featureInfoClassRegistry;
318
+ }
311
319
 
312
320
  /**
313
321
  * @type {VcsEvent<null|FeatureType>}
314
322
  * @readonly
315
323
  */
316
- get featureChanged() { return this._featureChanged; }
324
+ get featureChanged() {
325
+ return this._featureChanged;
326
+ }
317
327
 
318
328
  /**
319
329
  * @type {null|FeatureType}
320
330
  * @readonly
321
331
  */
322
- get selectedFeature() { return this._selectedFeature; }
332
+ get selectedFeature() {
333
+ return this._selectedFeature;
334
+ }
323
335
 
324
336
  /**
325
337
  * @type {null|string}
326
338
  * @readonly
327
339
  */
328
- get selectedFeatureId() { return this._selectedFeatureId; }
340
+ get selectedFeatureId() {
341
+ return this._selectedFeatureId;
342
+ }
329
343
 
330
344
  /**
331
345
  * The window id of the current features FeatureInfoView window
@@ -360,14 +374,18 @@ class FeatureInfo {
360
374
  const layer = this._app.layers.getByKey(feature[vcsLayerName]);
361
375
  const name = layer?.properties?.featureInfo;
362
376
  if (!name) {
363
- getLogger().debug(`No view has been configured for layer '${layer?.name}'.`);
377
+ getLogger().debug(
378
+ `No view has been configured for layer '${layer?.name}'.`,
379
+ );
364
380
  return null;
365
381
  }
366
382
  if (!this._collection.hasKey(name)) {
367
383
  getLogger().warning(`No view with name '${name}' has been registered.`);
368
384
  return null;
369
385
  }
370
- return /** @type {AbstractFeatureInfoView} */ this._collection.getByKey(name);
386
+ return /** @type {AbstractFeatureInfoView} */ this._collection.getByKey(
387
+ name,
388
+ );
371
389
  }
372
390
 
373
391
  /**
@@ -384,12 +402,18 @@ class FeatureInfo {
384
402
  * @returns {Promise<void>}
385
403
  */
386
404
  async selectFeature(feature, position, windowPosition, featureInfoView) {
387
- check(feature, [Feature, Entity, Cesium3DTileFeature, Cesium3DTilePointFeature]);
405
+ check(feature, [
406
+ Feature,
407
+ Entity,
408
+ Cesium3DTileFeature,
409
+ Cesium3DTilePointFeature,
410
+ ]);
388
411
  checkMaybe(position, [Number]);
389
412
  checkMaybe(windowPosition, [Number]);
390
413
  checkMaybe(featureInfoView, AbstractFeatureInfoView);
391
414
 
392
- const usedFeatureInfoView = feature[featureInfoViewSymbol] ??
415
+ const usedFeatureInfoView =
416
+ feature[featureInfoViewSymbol] ??
393
417
  featureInfoView ??
394
418
  this._getFeatureInfoViewForFeature(feature);
395
419
  const layer = this._app.layers.getByKey(feature[vcsLayerName]);
@@ -404,20 +428,24 @@ class FeatureInfo {
404
428
  [featureId]: getHighlightStyle(
405
429
  feature,
406
430
  layer,
407
- this._app.uiConfig.config.value.primaryColor ?? getDefaultPrimaryColor(),
431
+ this._app.uiConfig.config.value.primaryColor ??
432
+ getDefaultPrimaryColor(),
408
433
  ),
409
434
  });
410
- this._clearHighlightingCb = () => this._scratchLayer.featureVisibility.unHighlight([featureId]);
435
+ this._clearHighlightingCb = () =>
436
+ this._scratchLayer.featureVisibility.unHighlight([featureId]);
411
437
  } else if (layer.featureVisibility) {
412
438
  const featureId = feature.getId();
413
439
  layer.featureVisibility.highlight({
414
440
  [featureId]: getHighlightStyle(
415
441
  feature,
416
442
  layer,
417
- this._app.uiConfig.config.value.primaryColor ?? getDefaultPrimaryColor(),
443
+ this._app.uiConfig.config.value.primaryColor ??
444
+ getDefaultPrimaryColor(),
418
445
  ),
419
446
  });
420
- this._clearHighlightingCb = () => layer.featureVisibility.unHighlight([featureId]);
447
+ this._clearHighlightingCb = () =>
448
+ layer.featureVisibility.unHighlight([featureId]);
421
449
  }
422
450
  this._windowId = usedFeatureInfoView.className; // use className for a type based position caching
423
451
  this._app.windowManager.add(
@@ -481,7 +509,7 @@ class FeatureInfo {
481
509
  this._app.layers.remove(this._scratchLayer);
482
510
  this._scratchLayer.destroy();
483
511
  }
484
- this._listeners.forEach(cb => cb());
512
+ this._listeners.forEach((cb) => cb());
485
513
  this._listeners.splice(0);
486
514
  this._collection.destroy();
487
515
  this._featureInfoClassRegistry.destroy();
@@ -489,7 +517,19 @@ class FeatureInfo {
489
517
  }
490
518
 
491
519
  export default FeatureInfo;
492
- featureInfoClassRegistry.registerClass(TableFeatureInfoView.className, TableFeatureInfoView);
493
- featureInfoClassRegistry.registerClass(IframeFeatureInfoView.className, IframeFeatureInfoView);
494
- featureInfoClassRegistry.registerClass(BalloonFeatureInfoView.className, BalloonFeatureInfoView);
495
- featureInfoClassRegistry.registerClass(AddressBalloonFeatureInfoView.className, AddressBalloonFeatureInfoView);
520
+ featureInfoClassRegistry.registerClass(
521
+ TableFeatureInfoView.className,
522
+ TableFeatureInfoView,
523
+ );
524
+ featureInfoClassRegistry.registerClass(
525
+ IframeFeatureInfoView.className,
526
+ IframeFeatureInfoView,
527
+ );
528
+ featureInfoClassRegistry.registerClass(
529
+ BalloonFeatureInfoView.className,
530
+ BalloonFeatureInfoView,
531
+ );
532
+ featureInfoClassRegistry.registerClass(
533
+ AddressBalloonFeatureInfoView.className,
534
+ AddressBalloonFeatureInfoView,
535
+ );
@@ -1,4 +1,8 @@
1
- import { AbstractInteraction, EventType, ModificationKeyType } from '@vcmap/core';
1
+ import {
2
+ AbstractInteraction,
3
+ EventType,
4
+ ModificationKeyType,
5
+ } from '@vcmap/core';
2
6
 
3
7
  /**
4
8
  * @class
@@ -24,13 +28,15 @@ class FeatureInfoInteraction extends AbstractInteraction {
24
28
  */
25
29
  async pipe(event) {
26
30
  if (event.feature) {
27
- if (!this._featureInfo.selectedFeature || event.feature.getId() !== this._featureInfo.selectedFeatureId) {
31
+ if (
32
+ !this._featureInfo.selectedFeature ||
33
+ event.feature.getId() !== this._featureInfo.selectedFeatureId
34
+ ) {
28
35
  event.stopPropagation = true;
29
- await this._featureInfo.selectFeature(
30
- event.feature,
31
- event.position,
32
- [event.windowPosition.x, event.windowPosition.y],
33
- );
36
+ await this._featureInfo.selectFeature(event.feature, event.position, [
37
+ event.windowPosition.x,
38
+ event.windowPosition.y,
39
+ ]);
34
40
  }
35
41
  } else {
36
42
  await this._featureInfo.clear();
@@ -41,7 +41,9 @@ class IframeFeatureInfoView extends AbstractFeatureInfoView {
41
41
  /**
42
42
  * @type {string}
43
43
  */
44
- static get className() { return 'IframeFeatureInfoView'; }
44
+ static get className() {
45
+ return 'IframeFeatureInfoView';
46
+ }
45
47
 
46
48
  /**
47
49
  * @param {IframeFeatureInfoViewOptions} options
@@ -27,7 +27,9 @@ class TableFeatureInfoView extends AbstractFeatureInfoView {
27
27
  /**
28
28
  * @type {string}
29
29
  */
30
- static get className() { return 'TableFeatureInfoView'; }
30
+ static get className() {
31
+ return 'TableFeatureInfoView';
32
+ }
31
33
 
32
34
  /** @returns {TableFeatureInfoViewOptions} */
33
35
  static getDefaultOptions() {
@@ -47,13 +49,16 @@ class TableFeatureInfoView extends AbstractFeatureInfoView {
47
49
  /**
48
50
  * @type {number[]}
49
51
  */
50
- this.itemsPerPageArray = options.itemsPerPageArray || defaultOptions.itemsPerPageArray;
52
+ this.itemsPerPageArray =
53
+ options.itemsPerPageArray || defaultOptions.itemsPerPageArray;
51
54
 
52
55
  const itemsPerPage = options.itemsPerPage || defaultOptions.itemsPerPage;
53
56
  /**
54
57
  * @type {number}
55
58
  */
56
- this.itemsPerPage = this.itemsPerPageArray.includes(itemsPerPage) ? itemsPerPage : this.itemsPerPageArray[0];
59
+ this.itemsPerPage = this.itemsPerPageArray.includes(itemsPerPage)
60
+ ? itemsPerPage
61
+ : this.itemsPerPageArray[0];
57
62
  /**
58
63
  * @type {boolean}
59
64
  */
@@ -90,8 +95,13 @@ class TableFeatureInfoView extends AbstractFeatureInfoView {
90
95
  toJSON() {
91
96
  const config = super.toJSON();
92
97
  const defaultOptions = TableFeatureInfoView.getDefaultOptions();
93
- if (this.itemsPerPageArray.length !== defaultOptions.itemsPerPageArray.length ||
94
- this.itemsPerPageArray.some((e, idx) => e !== defaultOptions.itemsPerPageArray[idx])) {
98
+ if (
99
+ this.itemsPerPageArray.length !==
100
+ defaultOptions.itemsPerPageArray.length ||
101
+ this.itemsPerPageArray.some(
102
+ (e, idx) => e !== defaultOptions.itemsPerPageArray[idx],
103
+ )
104
+ ) {
95
105
  config.itemsPerPageArray = this.itemsPerPageArray;
96
106
  }
97
107
  if (this.itemsPerPage !== defaultOptions.itemsPerPage) {