@vcmap/ui 5.0.0-rc.17 → 5.0.0-rc.20

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 (386) hide show
  1. package/README.md +6 -6
  2. package/build/build.js +2 -2
  3. package/build/buildCesium.js +3 -3
  4. package/build/buildHelpers.js +2 -1
  5. package/config/base.config.json +0 -4
  6. package/config/dev.config.json +35 -14
  7. package/config/www.config.json +752 -123
  8. package/dist/assets/cesium/Workers/ArcType-ce2e50ab.js +37 -0
  9. package/dist/assets/cesium/Workers/AttributeCompression-b646d393.js +716 -0
  10. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-ff186ccc.js +258 -0
  11. package/dist/assets/cesium/Workers/BoundingRectangle-be5924f4.js +369 -0
  12. package/dist/assets/cesium/Workers/BoxGeometry-12eeccaf.js +884 -0
  13. package/dist/assets/cesium/Workers/Check-666ab1a0.js +290 -0
  14. package/dist/assets/cesium/Workers/Color-a84038cb.js +2262 -0
  15. package/dist/assets/cesium/Workers/ComponentDatatype-f7b11d02.js +341 -0
  16. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-3272c1b3.js +132 -0
  17. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-0170e093.js +498 -0
  18. package/dist/assets/cesium/Workers/CylinderGeometry-7c5da648.js +467 -0
  19. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-372c07d8.js +63 -0
  20. package/dist/assets/cesium/Workers/EllipseGeometry-797d580e.js +1304 -0
  21. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-2939e1dc.js +366 -0
  22. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-8b50870f.js +443 -0
  23. package/dist/assets/cesium/Workers/EllipsoidGeodesic-98c62a56.js +520 -0
  24. package/dist/assets/cesium/Workers/EllipsoidGeometry-21c0e3a5.js +637 -0
  25. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-eff247c8.js +454 -0
  26. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-19756602.js +741 -0
  27. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-214683dc.js +373 -0
  28. package/dist/assets/cesium/Workers/EncodedCartesian3-81f70735.js +171 -0
  29. package/dist/assets/cesium/Workers/FrustumGeometry-ac42a6d9.js +2512 -0
  30. package/dist/assets/cesium/Workers/GeometryAttribute-7d6f1732.js +619 -0
  31. package/dist/assets/cesium/Workers/GeometryAttributes-f06a2792.js +91 -0
  32. package/dist/assets/cesium/Workers/GeometryInstance-451dc1cd.js +121 -0
  33. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-04332ce7.js +16 -0
  34. package/dist/assets/cesium/Workers/GeometryPipeline-ce4339ed.js +3690 -0
  35. package/dist/assets/cesium/Workers/IndexDatatype-a55ceaa1.js +200 -0
  36. package/dist/assets/cesium/Workers/IntersectionTests-f6e6bd8a.js +1836 -0
  37. package/dist/assets/cesium/Workers/Math-2dbd6b93.js +1330 -0
  38. package/dist/assets/cesium/Workers/Matrix2-13178034.js +7086 -0
  39. package/dist/assets/cesium/Workers/Matrix3-315394f6.js +4283 -0
  40. package/dist/assets/cesium/Workers/OrientedBoundingBox-04920dc7.js +1257 -0
  41. package/dist/assets/cesium/Workers/Plane-900aa728.js +309 -0
  42. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-a8680d96.js +1074 -0
  43. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +1345 -0
  44. package/dist/assets/cesium/Workers/PolylinePipeline-32f36d2a.js +573 -0
  45. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-a510d657.js +781 -0
  46. package/dist/assets/cesium/Workers/PrimitivePipeline-ba38434a.js +966 -0
  47. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-bdba697e.js +280 -0
  48. package/dist/assets/cesium/Workers/RuntimeError-06c93819.js +68 -0
  49. package/dist/assets/cesium/Workers/TerrainEncoding-833187da.js +1227 -0
  50. package/dist/assets/cesium/Workers/Transforms-40229881.js +14696 -0
  51. package/dist/assets/cesium/Workers/VertexFormat-6b480673.js +312 -0
  52. package/dist/assets/cesium/Workers/WallGeometryLibrary-919eed92.js +211 -0
  53. package/dist/assets/cesium/Workers/WebGLConstants-a8cc3e8c.js +620 -0
  54. package/dist/assets/cesium/Workers/WebMercatorProjection-13a90d41.js +151 -0
  55. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-c2038105.js +129 -0
  56. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +1336 -4
  57. package/dist/assets/cesium/Workers/combine-ca22a614.js +82 -0
  58. package/dist/assets/cesium/Workers/combineGeometry.js +17 -25
  59. package/dist/assets/cesium/Workers/createBoxGeometry.js +12 -25
  60. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +313 -25
  61. package/dist/assets/cesium/Workers/createCircleGeometry.js +213 -25
  62. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +160 -25
  63. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +586 -25
  64. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +236 -25
  65. package/dist/assets/cesium/Workers/createCorridorGeometry.js +1407 -25
  66. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +603 -25
  67. package/dist/assets/cesium/Workers/createCylinderGeometry.js +12 -25
  68. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +265 -25
  69. package/dist/assets/cesium/Workers/createEllipseGeometry.js +14 -25
  70. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +14 -25
  71. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +12 -25
  72. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +15 -25
  73. package/dist/assets/cesium/Workers/createFrustumGeometry.js +12 -25
  74. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +251 -25
  75. package/dist/assets/cesium/Workers/createGeometry.js +55 -25
  76. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +2134 -25
  77. package/dist/assets/cesium/Workers/createPlaneGeometry.js +250 -25
  78. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +115 -25
  79. package/dist/assets/cesium/Workers/createPolygonGeometry.js +1420 -25
  80. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +683 -25
  81. package/dist/assets/cesium/Workers/createPolylineGeometry.js +571 -25
  82. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +411 -25
  83. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +301 -25
  84. package/dist/assets/cesium/Workers/createRectangleGeometry.js +1476 -25
  85. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +535 -25
  86. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +458 -25
  87. package/dist/assets/cesium/Workers/createSphereGeometry.js +123 -25
  88. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +126 -25
  89. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +127 -25
  90. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +535 -25
  91. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +445 -25
  92. package/dist/assets/cesium/Workers/createVectorTilePoints.js +79 -25
  93. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +406 -25
  94. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +254 -25
  95. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +640 -25
  96. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2711 -27
  97. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +994 -25
  98. package/dist/assets/cesium/Workers/createWallGeometry.js +623 -25
  99. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +432 -25
  100. package/dist/assets/cesium/Workers/decodeDraco.js +381 -25
  101. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +3687 -25
  102. package/dist/assets/cesium/Workers/decodeI3S.js +1040 -0
  103. package/dist/assets/cesium/Workers/defaultValue-0a909f67.js +51 -0
  104. package/dist/assets/cesium/Workers/package.js +2 -2
  105. package/dist/assets/cesium/Workers/transcodeKTX2.js +1516 -25
  106. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +18 -2
  107. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1023 -25
  108. package/dist/assets/{cesium.41de56.js → cesium.adbd45.js} +112161 -108735
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.af84e3.js → core.60e74d.js} +1616 -1629
  111. package/dist/assets/core.f198cf.js +15993 -0
  112. package/dist/assets/core.js +1 -1
  113. package/dist/assets/{index.5b773cad.js → index.884a53ef.js} +1 -1
  114. package/dist/assets/{ol.5c7490.js → ol.c6ff35.js} +6992 -6972
  115. package/dist/assets/ol.dbd604.js +44299 -0
  116. package/dist/assets/ol.js +1 -1
  117. package/dist/assets/ui.bf504d.css +1 -0
  118. package/dist/assets/{ui.dffe32.js → ui.bf504d.js} +6171 -6821
  119. package/dist/assets/ui.js +1 -1
  120. package/dist/assets/{vue.25da17.js → vue.75b819.js} +0 -0
  121. package/dist/assets/vue.a831f1.js +4675 -0
  122. package/dist/assets/vue.js +2 -2
  123. package/dist/assets/{vuetify.e4ece7.css → vuetify.0d7360.css} +0 -0
  124. package/dist/assets/{vuetify.e4ece7.js → vuetify.0d7360.js} +1 -1
  125. package/dist/assets/vuetify.js +2 -2
  126. package/dist/index.html +1 -1
  127. package/index.js +2 -1
  128. package/lib/cesium.js +1 -1
  129. package/package.json +3 -4
  130. package/plugins/{simple-graph → @vcmap/simple-graph}/README.md +1 -1
  131. package/plugins/{simple-graph → @vcmap/simple-graph}/SimpleGraphComponent.vue +0 -0
  132. package/plugins/{simple-graph → @vcmap/simple-graph}/index.js +0 -0
  133. package/plugins/{simple-graph → @vcmap/simple-graph}/package.json +0 -0
  134. package/plugins/{simple-graph → @vcmap/simple-graph}/simpleGraphView.js +0 -0
  135. package/plugins/@vcmap-show-case/README.md +20 -0
  136. package/plugins/{buttonExamples/ButtonExamples.vue → @vcmap-show-case/buttons-example/ButtonsExample.vue} +19 -1
  137. package/plugins/@vcmap-show-case/buttons-example/README.md +4 -0
  138. package/plugins/{buttonExamples → @vcmap-show-case/buttons-example}/index.js +16 -8
  139. package/plugins/@vcmap-show-case/buttons-example/package.json +5 -0
  140. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Categories.vue +7 -6
  141. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Category.vue +4 -3
  142. package/plugins/@vcmap-show-case/category-tester/README.md +3 -0
  143. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/index.js +12 -4
  144. package/plugins/@vcmap-show-case/category-tester/package.json +5 -0
  145. package/plugins/@vcmap-show-case/config-editor/README.md +3 -0
  146. package/plugins/{test → @vcmap-show-case/config-editor}/editor.vue +0 -0
  147. package/plugins/@vcmap-show-case/config-editor/index.js +47 -0
  148. package/plugins/@vcmap-show-case/config-editor/package.json +5 -0
  149. package/plugins/@vcmap-show-case/context-menu-tester/README.md +3 -0
  150. package/plugins/@vcmap-show-case/context-menu-tester/index.js +33 -0
  151. package/plugins/@vcmap-show-case/context-menu-tester/package.json +5 -0
  152. package/plugins/{@vcmap/pluginExample/pluginExampleComponent.vue → @vcmap-show-case/form-inputs-example/FormInputsExample.vue} +14 -13
  153. package/plugins/@vcmap-show-case/form-inputs-example/README.md +4 -0
  154. package/plugins/@vcmap-show-case/form-inputs-example/config.json +5 -0
  155. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/exampleActions.js +1 -1
  156. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/index.js +23 -22
  157. package/plugins/@vcmap-show-case/form-inputs-example/package.json +5 -0
  158. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/validation.js +0 -0
  159. package/plugins/@vcmap-show-case/icons-example/README.md +5 -0
  160. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +51 -0
  161. package/plugins/@vcmap-show-case/icons-example/index.js +44 -0
  162. package/plugins/@vcmap-show-case/icons-example/package.json +5 -0
  163. package/plugins/{test/testList.vue → @vcmap-show-case/list-example/ListExample.vue} +1 -1
  164. package/plugins/@vcmap-show-case/list-example/README.md +3 -0
  165. package/plugins/@vcmap-show-case/list-example/index.js +44 -0
  166. package/plugins/@vcmap-show-case/list-example/package.json +5 -0
  167. package/plugins/@vcmap-show-case/notifier-tester/README.md +3 -0
  168. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/index.js +11 -6
  169. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/notifierTester.vue +0 -0
  170. package/plugins/@vcmap-show-case/notifier-tester/package.json +5 -0
  171. package/plugins/@vcmap-show-case/textfields-example/README.md +3 -0
  172. package/plugins/{example/mySuperComponent.vue → @vcmap-show-case/textfields-example/TextfieldsExample.vue} +1 -7
  173. package/plugins/{example → @vcmap-show-case/textfields-example}/index.js +58 -62
  174. package/plugins/@vcmap-show-case/textfields-example/package.json +5 -0
  175. package/plugins/@vcmap-show-case/window-tester/README.md +3 -0
  176. package/plugins/{test/windowManagerExample.vue → @vcmap-show-case/window-tester/WindowExample.vue} +36 -20
  177. package/plugins/{test → @vcmap-show-case/window-tester}/emptyComponent.vue +8 -3
  178. package/plugins/@vcmap-show-case/window-tester/index.js +62 -0
  179. package/plugins/{test → @vcmap-show-case/window-tester}/myCustomHeader.vue +0 -0
  180. package/plugins/@vcmap-show-case/window-tester/package.json +5 -0
  181. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +211 -0
  182. package/plugins/{test/vcsContent.vue → @vcmap-show-case/window-tester/windowExampleContent.vue} +1 -5
  183. package/plugins/@vcmap-show-case/wizard-example/README.md +3 -0
  184. package/plugins/{wizardExample → @vcmap-show-case/wizard-example}/index.js +12 -6
  185. package/plugins/@vcmap-show-case/wizard-example/package.json +5 -0
  186. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +95 -0
  187. package/plugins/package.json +2 -1
  188. package/src/actions/actionHelper.js +4 -4
  189. package/src/actions/stateRefAction.js +0 -10
  190. package/src/application/VcsApp.vue +42 -23
  191. package/src/application/VcsMap.vue +9 -0
  192. package/src/application/VcsNavbar.vue +1 -1
  193. package/src/components/buttons/VcsActionButtonList.vue +1 -0
  194. package/src/components/buttons/VcsButton.vue +14 -3
  195. package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
  196. package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
  197. package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
  198. package/src/{icons → components/icons}/+all.js +0 -0
  199. package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
  200. package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
  201. package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
  202. package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
  203. package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
  204. package/src/{icons → components/icons}/AngleIcon.vue +0 -0
  205. package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
  206. package/src/{icons → components/icons}/AxisIcon.vue +0 -0
  207. package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
  208. package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
  209. package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
  210. package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
  211. package/src/{icons → components/icons}/CircleIcon.vue +0 -0
  212. package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
  213. package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
  214. package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
  215. package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
  216. package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
  217. package/src/{icons → components/icons}/CommentIcon.vue +0 -0
  218. package/src/{icons → components/icons}/CompassIcon.vue +0 -0
  219. package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
  220. package/src/{icons → components/icons}/ConeIcon.vue +0 -0
  221. package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
  222. package/src/{icons → components/icons}/EditIcon.vue +0 -0
  223. package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
  224. package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
  225. package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
  226. package/src/{icons → components/icons}/ExportIcon.vue +0 -0
  227. package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
  228. package/src/{icons → components/icons}/EyeIcon.vue +0 -0
  229. package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
  230. package/src/{icons → components/icons}/FilterIcon.vue +0 -0
  231. package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
  232. package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
  233. package/src/{icons → components/icons}/GroundIcon.vue +0 -0
  234. package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
  235. package/src/{icons → components/icons}/HelpIcon.vue +0 -0
  236. package/src/{icons → components/icons}/HideIcon.vue +0 -0
  237. package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
  238. package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
  239. package/src/{icons → components/icons}/HouseIcon.vue +0 -0
  240. package/src/{icons → components/icons}/ImportIcon.vue +0 -0
  241. package/src/{icons → components/icons}/InfoIcon.vue +0 -0
  242. package/src/{icons → components/icons}/KebabIcon.vue +0 -0
  243. package/src/{icons → components/icons}/LabelIcon.vue +0 -0
  244. package/src/{icons → components/icons}/LayersIcon.vue +0 -0
  245. package/src/{icons → components/icons}/LegendIcon.vue +0 -0
  246. package/src/{icons → components/icons}/LineIcon.vue +0 -0
  247. package/src/{icons → components/icons}/LinkIcon.vue +0 -0
  248. package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
  249. package/src/{icons → components/icons}/MapIcon.vue +0 -0
  250. package/src/{icons → components/icons}/MenuIcon.vue +0 -0
  251. package/src/{icons → components/icons}/MinusIcon.vue +0 -0
  252. package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
  253. package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
  254. package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
  255. package/src/{icons → components/icons}/PdfIcon.vue +0 -0
  256. package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
  257. package/src/{icons → components/icons}/PenIcon.vue +0 -0
  258. package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
  259. package/src/{icons → components/icons}/PlusIcon.vue +0 -0
  260. package/src/{icons → components/icons}/PoiIcon.vue +0 -0
  261. package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
  262. package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
  263. package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
  264. package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
  265. package/src/{icons → components/icons}/QueryIcon.vue +0 -0
  266. package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
  267. package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
  268. package/src/{icons → components/icons}/RewindIcon.vue +0 -0
  269. package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
  270. package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
  271. package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
  272. package/src/{icons → components/icons}/SearchIcon.vue +0 -0
  273. package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
  274. package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
  275. package/src/{icons → components/icons}/ShareIcon.vue +0 -0
  276. package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
  277. package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
  278. package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
  279. package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
  280. package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
  281. package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
  282. package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
  283. package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
  284. package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
  285. package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
  286. package/src/{icons → components/icons}/TouchIcon.vue +0 -0
  287. package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
  288. package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
  289. package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
  290. package/src/{icons → components/icons}/UploadIcon.vue +0 -0
  291. package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
  292. package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
  293. package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
  294. package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
  295. package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
  296. package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
  297. package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
  298. package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
  299. package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
  300. package/src/{icons → components/icons}/WallIcon.vue +0 -0
  301. package/src/{icons → components/icons}/WandIcon.vue +0 -0
  302. package/src/components/lists/VcsActionList.vue +2 -0
  303. package/src/components/lists/VcsList.vue +21 -12
  304. package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
  305. package/src/components/notification/VcsTooltip.vue +1 -1
  306. package/src/contentTree/layerContentTreeItem.js +2 -2
  307. package/src/featureInfo/BalloonComponent.vue +2 -2
  308. package/src/featureInfo/abstractFeatureInfoView.js +1 -1
  309. package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
  310. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  311. package/src/featureInfo/balloonHelper.js +6 -6
  312. package/src/featureInfo/featureInfo.js +2 -2
  313. package/src/i18n/de.js +8 -8
  314. package/src/i18n/en.js +6 -6
  315. package/src/legend/legendHelper.js +8 -8
  316. package/src/legend/vcsLegend.vue +33 -5
  317. package/src/manager/toolbox/ToolboxManager.vue +1 -0
  318. package/src/manager/window/WindowComponent.vue +42 -4
  319. package/src/manager/window/WindowComponentHeader.vue +1 -1
  320. package/src/manager/window/windowHelper.js +7 -11
  321. package/src/manager/window/windowManager.js +15 -11
  322. package/src/navigation/mapNavCompass.vue +13 -7
  323. package/src/navigation/mapNavigation.vue +66 -4
  324. package/src/navigation/orientationToolsButton.vue +1 -1
  325. package/src/navigation/overviewMap.js +26 -10
  326. package/src/navigation/vcsCompass.vue +4 -73
  327. package/src/setup.js +1 -1
  328. package/src/vuePlugins/vuetify.js +1 -1
  329. package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
  330. package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
  331. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
  332. package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
  333. package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
  334. package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
  335. package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
  336. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
  337. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
  338. package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
  339. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
  340. package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
  341. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
  342. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
  343. package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
  344. package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
  345. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
  346. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
  347. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
  348. package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
  349. package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
  350. package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
  351. package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
  352. package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
  353. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
  354. package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
  355. package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
  356. package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
  357. package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
  358. package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
  359. package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
  360. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
  361. package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
  362. package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
  363. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
  364. package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
  365. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
  366. package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
  367. package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
  368. package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
  369. package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
  370. package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
  371. package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
  372. package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
  373. package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
  374. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
  375. package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
  376. package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
  377. package/dist/assets/cesium/Workers/package.json +0 -1
  378. package/dist/assets/ui.dffe32.css +0 -1
  379. package/plugins/@vcmap/pluginExample/config.json +0 -6
  380. package/plugins/@vcmap/pluginExample/package.json +0 -7
  381. package/plugins/categoryTest/ItemEditor.vue +0 -13
  382. package/plugins/test/allIconsComponent.vue +0 -50
  383. package/plugins/test/index.js +0 -207
  384. package/plugins/test/toolbox-data.js +0 -154
  385. package/plugins/wizardExample/wizardExample.vue +0 -77
  386. package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -52,6 +52,7 @@
52
52
  * @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
53
53
  * @property {Function} callback - callback function is triggered when the button is clicked
54
54
  * @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
55
+ * @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
55
56
  */
56
57
 
57
58
  /**
@@ -64,6 +65,7 @@
64
65
  icon: [undefined, String],
65
66
  callback: Function,
66
67
  active: [undefined, Boolean],
68
+ background: [undefined, Boolean],
67
69
  };
68
70
 
69
71
  /**
@@ -31,16 +31,20 @@
31
31
  </v-icon>
32
32
  </v-list-item-action>
33
33
 
34
- <v-list-item-content
35
- :title="$t(tooltip || title)"
36
- >
34
+ <v-list-item-content>
37
35
  <v-icon v-if="icon">
38
36
  {{ icon }}
39
37
  </v-icon>
40
38
 
41
- <v-list-item-title>
42
- {{ $t(title) }}
43
- </v-list-item-title>
39
+ <VcsTooltip
40
+ :tooltip="tooltip || title"
41
+ >
42
+ <template #activator="{ on, attrs }">
43
+ <v-list-item-title v-bind="attrs" v-on="on">
44
+ {{ $t(title) }}
45
+ </v-list-item-title>
46
+ </template>
47
+ </VcsTooltip>
44
48
 
45
49
  <vcs-action-button-list
46
50
  v-if="actions?.length > 0"
@@ -85,7 +89,6 @@
85
89
  </v-list-item-action>
86
90
 
87
91
  <v-list-item-content
88
- :title="$t(item.tooltip || item.title)"
89
92
  :class="[selectable ? 'cursor-pointer' : '']"
90
93
  @click="select(item, $event)"
91
94
  >
@@ -93,9 +96,15 @@
93
96
  {{ item.icon }}
94
97
  </v-icon>
95
98
 
96
- <v-list-item-title>
97
- {{ $t(item.title) }}
98
- </v-list-item-title>
99
+ <VcsTooltip
100
+ :tooltip="item.tooltip || item.title"
101
+ >
102
+ <template #activator="{ on, attrs }">
103
+ <v-list-item-title v-bind="attrs" v-on="on">
104
+ {{ $t(item.title) }}
105
+ </v-list-item-title>
106
+ </template>
107
+ </VcsTooltip>
99
108
 
100
109
  <vcs-action-button-list
101
110
  v-if="item.actions?.length > 0"
@@ -122,6 +131,7 @@
122
131
  VListItemTitle,
123
132
  } from 'vuetify/lib';
124
133
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
134
+ import VcsTooltip from '../notification/VcsTooltip.vue';
125
135
  import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
126
136
 
127
137
  /**
@@ -165,6 +175,7 @@
165
175
  components: {
166
176
  VcsTreeviewSearchbar,
167
177
  VcsActionButtonList,
178
+ VcsTooltip,
168
179
  VList,
169
180
  VListItem,
170
181
  VListItemContent,
@@ -410,8 +421,6 @@
410
421
  .v-list{
411
422
  .v-list-item {
412
423
  padding: 4px 8px 4px 16px;
413
- display: grid;
414
- grid-template-columns: auto auto;
415
424
  &:after{
416
425
  display: none;
417
426
  }
@@ -5,7 +5,6 @@
5
5
  >
6
6
  <div
7
7
  class="position-relative col-8 pa-0 d-flex align-center vcs-treeview-leaf"
8
- :title="$t(item.tooltip || item.title)"
9
8
  >
10
9
  <span
11
10
  v-if="item.icon"
@@ -18,8 +17,19 @@
18
17
  />
19
18
  <ImageElementInjector :element="item.icon" v-else />
20
19
  </span>
21
- <span class="vcs-treeview-item-title">{{ $t(item.title) }}</span>
20
+ <VcsTooltip
21
+ :tooltip="item.tooltip || item.title"
22
+ >
23
+ <template #activator="{ on, attrs }">
24
+ <span
25
+ v-bind="attrs"
26
+ v-on="on"
27
+ class="vcs-treeview-item-title"
28
+ >{{ $t(item.title) }}</span>
29
+ </template>
30
+ </VcsTooltip>
22
31
  </div>
32
+
23
33
  <VcsActionButtonList
24
34
  v-if="item.actions.length > 0"
25
35
  :actions="item.actions"
@@ -44,6 +54,7 @@
44
54
  import { VIcon } from 'vuetify/lib';
45
55
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
46
56
  import ImageElementInjector from '../imageElementInjector.vue';
57
+ import VcsTooltip from '../notification/VcsTooltip.vue';
47
58
 
48
59
  /**
49
60
  * @description
@@ -53,6 +64,7 @@
53
64
  */
54
65
  export default {
55
66
  components: {
67
+ VcsTooltip,
56
68
  VcsActionButtonList,
57
69
  VIcon,
58
70
  ImageElementInjector,
@@ -6,7 +6,7 @@
6
6
  :top="tooltipPosition === 'top'"
7
7
  :left="tooltipPosition === 'left'"
8
8
  :right="tooltipPosition === 'right'"
9
- :open-delay="$attrs.openDelay || 200"
9
+ transition="expand-x-transition"
10
10
  v-bind="{...$props, ...$attrs}"
11
11
  >
12
12
  <template #activator="{ on, attrs }">
@@ -139,7 +139,7 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
139
139
  * @private
140
140
  */
141
141
  _setLayerExtentAction() {
142
- const name = 'LayerExtentAction';
142
+ const name = 'content.layerExtentAction.name';
143
143
  this.removeAction(name);
144
144
  if (this._layer) {
145
145
  const { extent } = this._layer.toJSON();
@@ -147,7 +147,7 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
147
147
  const viewpoint = Viewpoint.createViewpointFromExtent(this._layer.extent);
148
148
  const action = createGoToViewpointAction(
149
149
  {
150
- name: 'LayerExtentAction',
150
+ name,
151
151
  title: 'content.layerExtentAction.title',
152
152
  },
153
153
  viewpoint,
@@ -40,9 +40,9 @@
40
40
  <v-list-item class="px-2">
41
41
  <v-list-item-content>
42
42
  <v-list-item-title>
43
- {{ name }}
43
+ {{ $t(name) }}
44
44
  </v-list-item-title>
45
- <v-list-item-subtitle>{{ value }}</v-list-item-subtitle>
45
+ <v-list-item-subtitle>{{ $t(value) }}</v-list-item-subtitle>
46
46
  </v-list-item-content>
47
47
  </v-list-item>
48
48
  </v-list>
@@ -235,7 +235,7 @@ class AbstractFeatureInfoView extends VcsObject {
235
235
  * Called by `getProperties()` to pass attributes as props object to the VueComponent of this view.
236
236
  * May be overwritten by classes extending AbstractFeatureInfoView.
237
237
  * It filters attributes of the feature by keys, performs value and key mapping, if provided.
238
- * @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/cesium").Cesium3DTileFeature|import("@vcmap/cesium").Cesium3DTilePointFeature} feature
238
+ * @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
239
239
  * @returns {Object}
240
240
  */
241
241
  getAttributes(feature) {
@@ -69,7 +69,7 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
69
69
 
70
70
  /**
71
71
  * derives address attributes from addressKeys
72
- * @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/cesium").Cesium3DTileFeature|import("@vcmap/cesium").Cesium3DTilePointFeature} feature
72
+ * @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
73
73
  * @returns {Object}
74
74
  */
75
75
  getAttributes(feature) {
@@ -1,6 +1,6 @@
1
1
  import { Feature } from 'ol';
2
2
  import { getCenter } from 'ol/extent.js';
3
- import { Cartographic, Entity, Math as CesiumMath } from '@vcmap/cesium';
3
+ import { Cartographic, Entity, Math as CesiumMath } from '@vcmap-cesium/engine';
4
4
  import { Projection } from '@vcmap/core';
5
5
  import { check } from '@vcsuite/check';
6
6
  import AbstractFeatureInfoView from './abstractFeatureInfoView.js';
@@ -1,4 +1,4 @@
1
- import { Cartesian2, Cartographic, SceneTransforms } from '@vcmap/cesium';
1
+ import { Cartesian2, Cartographic, SceneTransforms } from '@vcmap-cesium/engine';
2
2
  import { CesiumMap, ObliqueMap, OpenlayersMap, Projection, transformToImage } from '@vcmap/core';
3
3
  import { unByKey } from 'ol/Observable.js';
4
4
  import {
@@ -13,9 +13,9 @@ import {
13
13
  export const balloonOffset = { x: 55, y: 25 };
14
14
 
15
15
  /**
16
- * @param {import("@vcmap/cesium").Scene} scene
17
- * @param {import("@vcmap/cesium").Cartesian3} cartesian
18
- * @returns {undefined|import("@vcmap/cesium").Cartesian2}
16
+ * @param {import("@vcmap-cesium/engine").Scene} scene
17
+ * @param {import("@vcmap-cesium/engine").Cartesian3} cartesian
18
+ * @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
19
19
  */
20
20
  function getBalloonPositionCesium(scene, cartesian) {
21
21
  return SceneTransforms.wgs84ToWindowCoordinates(scene, cartesian);
@@ -24,7 +24,7 @@ function getBalloonPositionCesium(scene, cartesian) {
24
24
  /**
25
25
  * @param {import("@vcmap/core").OpenlayersMap} olMap
26
26
  * @param {import("ol/coordinate").Coordinate} position
27
- * @returns {undefined|import("@vcmap/cesium").Cartesian2}
27
+ * @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
28
28
  */
29
29
  function getBalloonPositionOL(olMap, position) {
30
30
  const pixel = olMap.getPixelFromCoordinate(position);
@@ -62,7 +62,7 @@ export async function getBalloonPosition(app, position) {
62
62
  * sets the windowPosition of a balloon
63
63
  * @param {WindowManager} windowManager
64
64
  * @param {string} id - windowId of balloon
65
- * @param {import("@vcmap/cesium").Cartesian2|undefined} windowPosition
65
+ * @param {import("@vcmap-cesium/engine").Cartesian2|undefined} windowPosition
66
66
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
67
67
  */
68
68
  export function setBalloonPosition(windowManager, id, windowPosition, target) {
@@ -22,7 +22,7 @@ import {
22
22
  Cesium3DTilePointFeature,
23
23
  Color,
24
24
  Entity,
25
- } from '@vcmap/cesium';
25
+ } from '@vcmap-cesium/engine';
26
26
  import { Feature } from 'ol';
27
27
  import { check, checkMaybe } from '@vcsuite/check';
28
28
 
@@ -36,7 +36,7 @@ import BalloonFeatureInfoView from './balloonFeatureInfoView.js';
36
36
  import { defaultPrimaryColor } from '../vuePlugins/vuetify.js';
37
37
  import { ToolboxType } from '../manager/toolbox/toolboxManager.js';
38
38
 
39
- /** @typedef {import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/cesium").Cesium3DTileFeature|import("@vcmap/cesium").Cesium3DTilePointFeature|import("@vcmap/cesium").Entity} FeatureType */
39
+ /** @typedef {import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature|import("@vcmap-cesium/engine").Entity} FeatureType */
40
40
 
41
41
  /**
42
42
  * @typedef {Object} FeatureInfoEvent
package/src/i18n/de.js CHANGED
@@ -8,6 +8,9 @@ const messages = {
8
8
  menu: {
9
9
  tooltip: 'Menü',
10
10
  },
11
+ share: {
12
+ tooltip: 'Den aktuellen Kartenausschnitt teilen.',
13
+ },
11
14
  },
12
15
  content: {
13
16
  title: 'Inhalte',
@@ -17,12 +20,6 @@ const messages = {
17
20
  infoAction: {
18
21
  title: 'Weitere Informationen',
19
22
  },
20
- stateAction: {
21
- titleInactive: 'Deaktiviert',
22
- titleActive: 'Aktiviert',
23
- titleIndeterminate: 'Unbestimmbar',
24
- titleLoading: 'Lädt...',
25
- },
26
23
  viewpointAction: {
27
24
  title: 'Springe zur Ansicht',
28
25
  },
@@ -30,7 +27,8 @@ const messages = {
30
27
  title: 'Öffne Stil Auswahl',
31
28
  },
32
29
  layerExtentAction: {
33
- title: 'Jump to layer extent',
30
+ name: 'Ebenenausdehnung',
31
+ title: 'Auf Ebenenausdehnung zoomen',
34
32
  },
35
33
  },
36
34
  navigation: {
@@ -38,8 +36,9 @@ const messages = {
38
36
  obliqueRightTooltip: 'Schrägluftbild nach rechts drehen',
39
37
  zoomInTooltip: 'Hineinzoomen',
40
38
  zoomOutTooltip: 'Herauszoomen',
41
- pitchTooltip: 'Kamera pitch: {0}°',
39
+ pitchTooltip: 'Kameraneigung: {0}°',
42
40
  overviewMapTooltip: 'Übersichtskarte',
41
+ homeButton: 'Springe zur Startansicht',
43
42
  },
44
43
  categoryManager: {
45
44
  title: 'Komponenten',
@@ -76,6 +75,7 @@ const messages = {
76
75
  legend: {
77
76
  title: 'Legende',
78
77
  tooltip: 'Legende',
78
+ empty: 'Aktuell sind keine Legendeneinträge verfügbar.',
79
79
  openInNew: 'In neuem Browser Tab öffnen',
80
80
  defaultLabelText: 'Text',
81
81
  },
package/src/i18n/en.js CHANGED
@@ -8,6 +8,9 @@ const messages = {
8
8
  menu: {
9
9
  tooltip: 'Menu',
10
10
  },
11
+ share: {
12
+ tooltip: 'Share current view of the map.',
13
+ },
11
14
  },
12
15
  content: {
13
16
  title: 'Content',
@@ -17,12 +20,6 @@ const messages = {
17
20
  infoAction: {
18
21
  title: 'Info',
19
22
  },
20
- stateAction: {
21
- titleInactive: 'Inactive',
22
- titleActive: 'Active',
23
- titleIndeterminate: 'Indetermine',
24
- titleLoading: 'Loading',
25
- },
26
23
  viewpointAction: {
27
24
  title: 'Go to viewpoint',
28
25
  },
@@ -30,6 +27,7 @@ const messages = {
30
27
  title: 'Open Style selector',
31
28
  },
32
29
  layerExtentAction: {
30
+ name: 'Layer extent',
33
31
  title: 'Jump to layer extent',
34
32
  },
35
33
  },
@@ -40,6 +38,7 @@ const messages = {
40
38
  zoomOutTooltip: 'Zoom out',
41
39
  pitchTooltip: 'Camera pitch: {0}°',
42
40
  overviewMapTooltip: 'Overview Map',
41
+ homeButton: 'Go to starting view',
43
42
  },
44
43
  categoryManager: {
45
44
  title: 'Components',
@@ -76,6 +75,7 @@ const messages = {
76
75
  legend: {
77
76
  title: 'Legend',
78
77
  tooltip: 'Legend',
78
+ empty: 'Currently there are no legend entries available.',
79
79
  openInNew: 'Open in new tab',
80
80
  defaultLabelText: 'Text',
81
81
  },
@@ -1,5 +1,5 @@
1
1
  import { getShapeFromOptions } from '@vcmap/core';
2
- import { ref } from 'vue';
2
+ import { shallowRef } from 'vue';
3
3
 
4
4
  /**
5
5
  * @enum {string}
@@ -106,6 +106,7 @@ export function getImageSrcFromShape(image) {
106
106
  * @typedef {Object} LegendEntry
107
107
  * @property {string} key
108
108
  * @property {string} title - layer or entry name
109
+ * @property {boolean} [open=true] - panel state of entry
109
110
  * @property {Array<LegendItem>} legend - legend properties
110
111
  * @property {Array<VcsAction>} actions - popout actions
111
112
  */
@@ -130,7 +131,7 @@ export function createLayerLegendEntry(key, title, legend) {
130
131
  });
131
132
  }
132
133
  });
133
- return { key, title, legend, actions };
134
+ return { key, title, legend, actions, open: true };
134
135
  }
135
136
 
136
137
  /**
@@ -142,7 +143,7 @@ export function getLegendEntries(app) {
142
143
  /**
143
144
  * @type {import("vue").Ref<Array<LegendEntry>>}>}
144
145
  */
145
- const entries = ref([]);
146
+ const entries = shallowRef([]);
146
147
  /**
147
148
  * @type {Object<string,function():void>}
148
149
  */
@@ -153,10 +154,8 @@ export function getLegendEntries(app) {
153
154
  */
154
155
  function removeEntryForLayer(layer) {
155
156
  const layerName = layer.name;
156
- const index = entries.value.findIndex(({ key }) => { return key === layerName; });
157
- if (index >= 0) {
158
- entries.value.splice(index, 1);
159
- }
157
+ // reassign to trigger update
158
+ entries.value = entries.value.filter(({ key }) => key !== layerName);
160
159
  if (styleChangedListener[layerName]) {
161
160
  styleChangedListener[layerName]();
162
161
  delete styleChangedListener[layerName];
@@ -176,7 +175,8 @@ export function getLegendEntries(app) {
176
175
  const legend = layer.style?.properties?.legend ?? layer.properties?.legend;
177
176
  if (legend) {
178
177
  const legendEntry = createLayerLegendEntry(key, title, legend);
179
- entries.value.push(legendEntry);
178
+ // use spread since push won't trigger updates. Put new entries at the start
179
+ entries.value = [legendEntry, ...entries.value];
180
180
  }
181
181
  if (layer.styleChanged) {
182
182
  styleChangedListener[layer.name] = layer.styleChanged.addEventListener(() => syncLayerLegendEntries(layer));
@@ -1,16 +1,18 @@
1
1
  <template>
2
2
  <v-card
3
3
  class="overflow-y-auto"
4
- max-height="500"
5
4
  >
6
5
  <v-expansion-panels
7
6
  accordion
8
7
  multiple
8
+ v-if="entries.length > 0"
9
+ v-model="panels"
9
10
  >
10
11
  <v-expansion-panel
11
12
  v-for="(entry,i) in entries"
12
13
  :key="i"
13
14
  class="pa-0 ma-0"
15
+ @change="entry.open = !entry.open"
14
16
  >
15
17
  <v-expansion-panel-header hide-actions>
16
18
  {{ $t(entry.title) }}
@@ -27,7 +29,13 @@
27
29
  <v-list dense>
28
30
  <div v-for="(item, idx) in entry.legend" :key="idx">
29
31
  <div v-if="item.type === LegendType.Image" class="mx-2">
30
- <v-img :src="$t(item.src)" max-width="287" class="mx-2" :title="item.tooltip" />
32
+ <img
33
+ :src="$t(item.src)"
34
+ max-width="287"
35
+ max-height="auto"
36
+ class="mx-2 legend-image"
37
+ :title="item.tooltip"
38
+ >
31
39
  </div>
32
40
  <div v-else-if="item.type === LegendType.Iframe" class="mx-2">
33
41
  <iframe
@@ -45,6 +53,9 @@
45
53
  </v-expansion-panel-content>
46
54
  </v-expansion-panel>
47
55
  </v-expansion-panels>
56
+ <v-sheet v-else class="ma-2">
57
+ {{ $t('legend.empty') }}
58
+ </v-sheet>
48
59
  </v-card>
49
60
  </template>
50
61
 
@@ -58,8 +69,9 @@
58
69
  VExpansionPanelContent,
59
70
  VIcon,
60
71
  VList,
61
- VImg,
72
+ VSheet,
62
73
  } from 'vuetify/lib';
74
+ import { computed } from 'vue';
63
75
  import { LegendType } from './legendHelper.js';
64
76
  import StyleLegendItem from './styleLegendItem.vue';
65
77
  import VcsTreeviewLeaf from '../components/lists/VcsTreeviewLeaf.vue';
@@ -67,6 +79,7 @@
67
79
  /**
68
80
  * @description A component rendering configured legend information for active layers.
69
81
  * @vue-prop {import("vue").Ref<Array<LegendEntry>>} entries - legend entries to be displayed
82
+ * @vue-computed {import("vue").ComputedRef<number[]>} panels - derives indices from entries array to define all panels as open
70
83
  */
71
84
  export default {
72
85
  name: 'VcsLegend',
@@ -80,7 +93,7 @@
80
93
  VExpansionPanelContent,
81
94
  VIcon,
82
95
  VList,
83
- VImg,
96
+ VSheet,
84
97
  },
85
98
  props: {
86
99
  entries: {
@@ -88,7 +101,7 @@
88
101
  required: true,
89
102
  },
90
103
  },
91
- setup() {
104
+ setup(props) {
92
105
  /**
93
106
  * adapts the iframe height on load
94
107
  * @param {string} id - iframe's html id
@@ -98,9 +111,19 @@
98
111
  iframe.style.height = `${iframe.contentWindow.document.documentElement.scrollHeight}px`;
99
112
  };
100
113
 
114
+ /**
115
+ * Sets all entry panels open
116
+ * @type {import("vue").ComputedRef<number[]>}
117
+ */
118
+ const panels = computed(() => {
119
+ return [...Array(props.entries.length).keys()]
120
+ .filter((p, idx) => !!props.entries[idx].open);
121
+ });
122
+
101
123
  return {
102
124
  LegendType,
103
125
  setIframeHeight,
126
+ panels,
104
127
  };
105
128
  },
106
129
  };
@@ -115,4 +138,9 @@
115
138
  max-width: 189px;
116
139
  }
117
140
  }
141
+ .legend-image {
142
+ max-width: 287px;
143
+ height: auto;
144
+ width: auto;
145
+ }
118
146
  </style>
@@ -28,6 +28,7 @@
28
28
  :tooltip="group.action.title"
29
29
  :icon="group.action.icon"
30
30
  :active="group.action.active"
31
+ :background="group.action.background"
31
32
  @click.stop="group.action.callback($event)"
32
33
  v-bind="{...$attrs}"
33
34
  large