@vcmap/ui 5.0.0-rc.18 → 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 (379) 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 +4 -0
  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.2f992f.js → cesium.adbd45.js} +112161 -108735
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.cb0408.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.bccdf969.js → index.884a53ef.js} +1 -1
  114. package/dist/assets/{ol.5e3fd0.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.08c48f.js → ui.bf504d.js} +6121 -6785
  119. package/dist/assets/ui.js +1 -1
  120. package/dist/assets/{vue.228ead.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.0b5039.css → vuetify.0d7360.css} +0 -0
  124. package/dist/assets/{vuetify.0b5039.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} +1 -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/{test → @vcmap-show-case/window-tester}/toolbox-data.js +9 -9
  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 +1 -3
  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/components/buttons/VcsActionButtonList.vue +1 -0
  193. package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
  194. package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
  195. package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
  196. package/src/{icons → components/icons}/+all.js +0 -0
  197. package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
  198. package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
  199. package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
  200. package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
  201. package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
  202. package/src/{icons → components/icons}/AngleIcon.vue +0 -0
  203. package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
  204. package/src/{icons → components/icons}/AxisIcon.vue +0 -0
  205. package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
  206. package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
  207. package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
  208. package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
  209. package/src/{icons → components/icons}/CircleIcon.vue +0 -0
  210. package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
  211. package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
  212. package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
  213. package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
  214. package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
  215. package/src/{icons → components/icons}/CommentIcon.vue +0 -0
  216. package/src/{icons → components/icons}/CompassIcon.vue +0 -0
  217. package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
  218. package/src/{icons → components/icons}/ConeIcon.vue +0 -0
  219. package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
  220. package/src/{icons → components/icons}/EditIcon.vue +0 -0
  221. package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
  222. package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
  223. package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
  224. package/src/{icons → components/icons}/ExportIcon.vue +0 -0
  225. package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
  226. package/src/{icons → components/icons}/EyeIcon.vue +0 -0
  227. package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
  228. package/src/{icons → components/icons}/FilterIcon.vue +0 -0
  229. package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
  230. package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
  231. package/src/{icons → components/icons}/GroundIcon.vue +0 -0
  232. package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
  233. package/src/{icons → components/icons}/HelpIcon.vue +0 -0
  234. package/src/{icons → components/icons}/HideIcon.vue +0 -0
  235. package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
  236. package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
  237. package/src/{icons → components/icons}/HouseIcon.vue +0 -0
  238. package/src/{icons → components/icons}/ImportIcon.vue +0 -0
  239. package/src/{icons → components/icons}/InfoIcon.vue +0 -0
  240. package/src/{icons → components/icons}/KebabIcon.vue +0 -0
  241. package/src/{icons → components/icons}/LabelIcon.vue +0 -0
  242. package/src/{icons → components/icons}/LayersIcon.vue +0 -0
  243. package/src/{icons → components/icons}/LegendIcon.vue +0 -0
  244. package/src/{icons → components/icons}/LineIcon.vue +0 -0
  245. package/src/{icons → components/icons}/LinkIcon.vue +0 -0
  246. package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
  247. package/src/{icons → components/icons}/MapIcon.vue +0 -0
  248. package/src/{icons → components/icons}/MenuIcon.vue +0 -0
  249. package/src/{icons → components/icons}/MinusIcon.vue +0 -0
  250. package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
  251. package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
  252. package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
  253. package/src/{icons → components/icons}/PdfIcon.vue +0 -0
  254. package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
  255. package/src/{icons → components/icons}/PenIcon.vue +0 -0
  256. package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
  257. package/src/{icons → components/icons}/PlusIcon.vue +0 -0
  258. package/src/{icons → components/icons}/PoiIcon.vue +0 -0
  259. package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
  260. package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
  261. package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
  262. package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
  263. package/src/{icons → components/icons}/QueryIcon.vue +0 -0
  264. package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
  265. package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
  266. package/src/{icons → components/icons}/RewindIcon.vue +0 -0
  267. package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
  268. package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
  269. package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
  270. package/src/{icons → components/icons}/SearchIcon.vue +0 -0
  271. package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
  272. package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
  273. package/src/{icons → components/icons}/ShareIcon.vue +0 -0
  274. package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
  275. package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
  276. package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
  277. package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
  278. package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
  279. package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
  280. package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
  281. package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
  282. package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
  283. package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
  284. package/src/{icons → components/icons}/TouchIcon.vue +0 -0
  285. package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
  286. package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
  287. package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
  288. package/src/{icons → components/icons}/UploadIcon.vue +0 -0
  289. package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
  290. package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
  291. package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
  292. package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
  293. package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
  294. package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
  295. package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
  296. package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
  297. package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
  298. package/src/{icons → components/icons}/WallIcon.vue +0 -0
  299. package/src/{icons → components/icons}/WandIcon.vue +0 -0
  300. package/src/components/lists/VcsList.vue +21 -12
  301. package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
  302. package/src/components/notification/VcsTooltip.vue +1 -1
  303. package/src/featureInfo/abstractFeatureInfoView.js +1 -1
  304. package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
  305. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  306. package/src/featureInfo/balloonHelper.js +6 -6
  307. package/src/featureInfo/featureInfo.js +2 -2
  308. package/src/i18n/de.js +2 -6
  309. package/src/i18n/en.js +2 -6
  310. package/src/legend/legendHelper.js +4 -3
  311. package/src/legend/vcsLegend.vue +21 -2
  312. package/src/manager/window/WindowComponent.vue +42 -4
  313. package/src/manager/window/WindowComponentHeader.vue +1 -1
  314. package/src/manager/window/windowHelper.js +7 -11
  315. package/src/manager/window/windowManager.js +15 -11
  316. package/src/navigation/mapNavCompass.vue +13 -7
  317. package/src/navigation/mapNavigation.vue +66 -4
  318. package/src/navigation/orientationToolsButton.vue +1 -1
  319. package/src/navigation/overviewMap.js +26 -10
  320. package/src/navigation/vcsCompass.vue +4 -73
  321. package/src/setup.js +1 -1
  322. package/src/vuePlugins/vuetify.js +1 -1
  323. package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
  324. package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
  325. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
  326. package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
  327. package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
  328. package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
  329. package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
  330. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
  331. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
  332. package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
  333. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
  334. package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
  335. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
  336. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
  337. package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
  338. package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
  339. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
  340. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
  341. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
  342. package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
  343. package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
  344. package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
  345. package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
  346. package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
  347. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
  348. package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
  349. package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
  350. package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
  351. package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
  352. package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
  353. package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
  354. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
  355. package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
  356. package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
  357. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
  358. package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
  359. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
  360. package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
  361. package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
  362. package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
  363. package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
  364. package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
  365. package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
  366. package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
  367. package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
  368. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
  369. package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
  370. package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
  371. package/dist/assets/cesium/Workers/package.json +0 -1
  372. package/dist/assets/ui.08c48f.css +0 -1
  373. package/plugins/@vcmap/pluginExample/config.json +0 -6
  374. package/plugins/@vcmap/pluginExample/package.json +0 -7
  375. package/plugins/categoryTest/ItemEditor.vue +0 -13
  376. package/plugins/test/allIconsComponent.vue +0 -50
  377. package/plugins/test/index.js +0 -209
  378. package/plugins/wizardExample/wizardExample.vue +0 -77
  379. package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
@@ -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
@@ -20,12 +20,6 @@ const messages = {
20
20
  infoAction: {
21
21
  title: 'Weitere Informationen',
22
22
  },
23
- stateAction: {
24
- titleInactive: 'Deaktiviert',
25
- titleActive: 'Aktiviert',
26
- titleIndeterminate: 'Unbestimmbar',
27
- titleLoading: 'Lädt...',
28
- },
29
23
  viewpointAction: {
30
24
  title: 'Springe zur Ansicht',
31
25
  },
@@ -44,6 +38,7 @@ const messages = {
44
38
  zoomOutTooltip: 'Herauszoomen',
45
39
  pitchTooltip: 'Kameraneigung: {0}°',
46
40
  overviewMapTooltip: 'Übersichtskarte',
41
+ homeButton: 'Springe zur Startansicht',
47
42
  },
48
43
  categoryManager: {
49
44
  title: 'Komponenten',
@@ -80,6 +75,7 @@ const messages = {
80
75
  legend: {
81
76
  title: 'Legende',
82
77
  tooltip: 'Legende',
78
+ empty: 'Aktuell sind keine Legendeneinträge verfügbar.',
83
79
  openInNew: 'In neuem Browser Tab öffnen',
84
80
  defaultLabelText: 'Text',
85
81
  },
package/src/i18n/en.js CHANGED
@@ -20,12 +20,6 @@ const messages = {
20
20
  infoAction: {
21
21
  title: 'Info',
22
22
  },
23
- stateAction: {
24
- titleInactive: 'Inactive',
25
- titleActive: 'Active',
26
- titleIndeterminate: 'Indetermine',
27
- titleLoading: 'Loading',
28
- },
29
23
  viewpointAction: {
30
24
  title: 'Go to viewpoint',
31
25
  },
@@ -44,6 +38,7 @@ const messages = {
44
38
  zoomOutTooltip: 'Zoom out',
45
39
  pitchTooltip: 'Camera pitch: {0}°',
46
40
  overviewMapTooltip: 'Overview Map',
41
+ homeButton: 'Go to starting view',
47
42
  },
48
43
  categoryManager: {
49
44
  title: 'Components',
@@ -80,6 +75,7 @@ const messages = {
80
75
  legend: {
81
76
  title: 'Legend',
82
77
  tooltip: 'Legend',
78
+ empty: 'Currently there are no legend entries available.',
83
79
  openInNew: 'Open in new tab',
84
80
  defaultLabelText: 'Text',
85
81
  },
@@ -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
  /**
@@ -174,8 +175,8 @@ export function getLegendEntries(app) {
174
175
  const legend = layer.style?.properties?.legend ?? layer.properties?.legend;
175
176
  if (legend) {
176
177
  const legendEntry = createLayerLegendEntry(key, title, legend);
177
- // use spread since push won't trigger updates
178
- entries.value = [...entries.value, legendEntry];
178
+ // use spread since push won't trigger updates. Put new entries at the start
179
+ entries.value = [legendEntry, ...entries.value];
179
180
  }
180
181
  if (layer.styleChanged) {
181
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) }}
@@ -51,6 +53,9 @@
51
53
  </v-expansion-panel-content>
52
54
  </v-expansion-panel>
53
55
  </v-expansion-panels>
56
+ <v-sheet v-else class="ma-2">
57
+ {{ $t('legend.empty') }}
58
+ </v-sheet>
54
59
  </v-card>
55
60
  </template>
56
61
 
@@ -64,7 +69,9 @@
64
69
  VExpansionPanelContent,
65
70
  VIcon,
66
71
  VList,
72
+ VSheet,
67
73
  } from 'vuetify/lib';
74
+ import { computed } from 'vue';
68
75
  import { LegendType } from './legendHelper.js';
69
76
  import StyleLegendItem from './styleLegendItem.vue';
70
77
  import VcsTreeviewLeaf from '../components/lists/VcsTreeviewLeaf.vue';
@@ -72,6 +79,7 @@
72
79
  /**
73
80
  * @description A component rendering configured legend information for active layers.
74
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
75
83
  */
76
84
  export default {
77
85
  name: 'VcsLegend',
@@ -85,6 +93,7 @@
85
93
  VExpansionPanelContent,
86
94
  VIcon,
87
95
  VList,
96
+ VSheet,
88
97
  },
89
98
  props: {
90
99
  entries: {
@@ -92,7 +101,7 @@
92
101
  required: true,
93
102
  },
94
103
  },
95
- setup() {
104
+ setup(props) {
96
105
  /**
97
106
  * adapts the iframe height on load
98
107
  * @param {string} id - iframe's html id
@@ -102,9 +111,19 @@
102
111
  iframe.style.height = `${iframe.contentWindow.document.documentElement.scrollHeight}px`;
103
112
  };
104
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
+
105
123
  return {
106
124
  LegendType,
107
125
  setIframeHeight,
126
+ panels,
108
127
  };
109
128
  },
110
129
  };
@@ -5,14 +5,18 @@
5
5
  @click="clicked"
6
6
  @dragstart="dragStart"
7
7
  @dragend="dragEnd"
8
- :draggable="isDynamic"
8
+ :draggable="isDraggable"
9
9
  :class="{
10
10
  'rounded': !isDocked,
11
- 'marginToTop': isDocked
11
+ 'marginToTop': isDocked,
12
+ 'rounded-br': isDynamicLeft,
13
+ 'rounded-bl': isDynamicRight,
12
14
  }"
13
15
  >
14
16
  <div
15
17
  v-if="!windowState.hideHeader"
18
+ @mousedown="mousedown"
19
+ @mouseup="isDraggable = false"
16
20
  class="pa-2"
17
21
  :class="{
18
22
  'cursor-grab': isDynamic,
@@ -23,7 +27,7 @@
23
27
  </div>
24
28
  <v-divider />
25
29
  <div
26
- class="overflow-x-hidden"
30
+ class="overflow-x-hidden mb-1"
27
31
  >
28
32
  <slot />
29
33
  </div>
@@ -40,7 +44,7 @@
40
44
 
41
45
  <script>
42
46
  import {
43
- computed, inject, provide,
47
+ computed, inject, provide, ref,
44
48
  } from 'vue';
45
49
  import { VDivider, VSheet } from 'vuetify/lib';
46
50
  import { WindowSlot } from './windowManager.js';
@@ -86,12 +90,30 @@
86
90
 
87
91
  const isDynamic = computed(() => props.slotWindow !== WindowSlot.STATIC);
88
92
  const isDocked = computed(() => props.slotWindow !== WindowSlot.DETACHED);
93
+ const isDockedLeft = computed(() => {
94
+ return props.slotWindow === WindowSlot.STATIC || props.slotWindow === WindowSlot.DYNAMIC_LEFT;
95
+ });
96
+ const isDockedRight = computed(() => props.slotWindow === WindowSlot.DYNAMIC_RIGHT);
97
+ const isDraggable = ref(false);
89
98
  /**
90
99
  * @param {PointerEvent} e
91
100
  */
92
101
  const clicked = (e) => {
93
102
  emit('click', e);
94
103
  };
104
+ /**
105
+ * Sets window as draggable on mousedown on header.
106
+ * Stops bubbling of header action buttons.
107
+ * @param {MouseEvent} e
108
+ */
109
+ const mousedown = (e) => {
110
+ if (e.target.closest('button')) {
111
+ e.preventDefault();
112
+ e.stopPropagation();
113
+ return;
114
+ }
115
+ isDraggable.value = isDynamic.value;
116
+ };
95
117
  /**
96
118
  * @type {DragEvent}
97
119
  */
@@ -100,7 +122,16 @@
100
122
  * @param {DragEvent} e
101
123
  */
102
124
  const dragStart = (e) => {
125
+ if (!isDraggable.value) {
126
+ e.preventDefault();
127
+ e.stopPropagation();
128
+ }
103
129
  startEvent = e;
130
+ // set mouse cursor to move
131
+ e.dataTransfer.effectAllowed = 'move';
132
+ const preventDefaultDragover = dragOverEvent => dragOverEvent.preventDefault();
133
+ e.target.parentElement.ondragover = preventDefaultDragover;
134
+ app.maps.target.ondragover = preventDefaultDragover;
104
135
  };
105
136
  /**
106
137
  * @param {DragEvent} endEvent
@@ -112,14 +143,21 @@
112
143
  };
113
144
  emit('moved', movement);
114
145
  startEvent = null;
146
+ isDraggable.value = false;
147
+ endEvent.target.parentElement.ondragover = null;
148
+ app.maps.target.ondragover = null;
115
149
  };
116
150
 
117
151
  return {
118
152
  isDynamic,
119
153
  isDocked,
154
+ isDynamicLeft: isDockedLeft,
155
+ isDynamicRight: isDockedRight,
156
+ isDraggable,
120
157
  clicked,
121
158
  dragStart,
122
159
  dragEnd,
160
+ mousedown,
123
161
  };
124
162
  },
125
163
  };
@@ -18,7 +18,7 @@
18
18
  <template v-if="windowState.headerActions?.length > 0">
19
19
  <VcsActionButtonList
20
20
  :actions="windowState.headerActions"
21
- :overflow-count="windowState.headerActionsOverflowCount ?? 3"
21
+ :overflow-count="windowState.headerActionsOverflow ?? 3"
22
22
  small
23
23
  />
24
24
  <v-divider
@@ -70,7 +70,7 @@ export function getWindowPositionOptions(x, y, target, alignment = WindowAlignme
70
70
 
71
71
  /**
72
72
  * Get window position options based on a pixel in the map
73
- * @param {import("@vcmap/cesium").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
73
+ * @param {import("@vcmap-cesium/engine").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
74
74
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
75
75
  * @param {WindowAlignment} [alignment]
76
76
  * @returns {WindowPositionOptions}
@@ -121,7 +121,7 @@ export function getFittedWindowPositionOptions(x, y, width, height, target) {
121
121
  /**
122
122
  * Fits a window aligned top left, so it fits into currently active map. This will change the alignment to be bottom or right depending
123
123
  * on if the window would not fit into active map element.
124
- * @param {import("@vcmap/cesium").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
124
+ * @param {import("@vcmap-cesium/engine").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
125
125
  * @param {number} width
126
126
  * @param {number} height
127
127
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
@@ -251,15 +251,6 @@ export function moveWindow(id, translation, windowManager, targetSize) {
251
251
  if (windowPositionOptions.right !== undefined) {
252
252
  windowPositionOptions.right -= translation.dx;
253
253
  }
254
- // clear size restrictions
255
- if (position.maxHeight === WindowPositions.TOP_RIGHT.maxHeight &&
256
- slot.value === WindowSlot.DYNAMIC_RIGHT) {
257
- windowPositionOptions.maxHeight = 'unset';
258
- }
259
- if (position.maxWidth === WindowPositions.TOP_LEFT.maxWidth &&
260
- slot.value === WindowSlot.DYNAMIC_LEFT) {
261
- windowPositionOptions.maxWidth = 'unset';
262
- }
263
254
  const updatedPosition = updateWindowPosition(position, windowPositionOptions, targetSize);
264
255
  windowManager.setWindowPositionOptions(id, updatedPosition);
265
256
  }
@@ -320,6 +311,11 @@ export function clipToTargetSize(windowPositionOptions, targetSize) {
320
311
  if (windowPositionOptions.maxHeight !== undefined) {
321
312
  clippedPosition.maxHeight = Math.min(windowPositionOptions.maxHeight, targetHeight);
322
313
  }
314
+ // max width of a top left 2 window (active static window)
315
+ const topLeft2 = posToNumber(WindowPositions.TOP_LEFT2.left, 'left', targetSize);
316
+ if (clippedPosition.left === topLeft2) {
317
+ clippedPosition.maxWidth = Math.min(clippedPosition.maxWidth - topLeft2, targetWidth);
318
+ }
323
319
 
324
320
  return clippedPosition;
325
321
  }
@@ -62,16 +62,14 @@ export const WindowPositions = {
62
62
  TOP_LEFT: {
63
63
  left: '0px',
64
64
  top: '0px',
65
- maxWidth: '320px',
66
65
  },
67
66
  TOP_LEFT2: {
68
- left: '320px',
67
+ left: '322px', // 2px space
69
68
  top: '0px',
70
69
  },
71
70
  TOP_RIGHT: {
72
71
  right: '0px',
73
72
  top: '0px',
74
- maxHeight: '70%',
75
73
  },
76
74
  DETACHED: {
77
75
  left: '200px',
@@ -120,7 +118,7 @@ export function isSlotPosition(windowPosition) {
120
118
  * @property {string} [headerTitle]
121
119
  * @property {string} [headerIcon]
122
120
  * @property {Array<VcsAction>} [headerActions]
123
- * @property {number} [headerActionsOverflowCount]
121
+ * @property {number} [headerActionsOverflow]
124
122
  * @property {string} [infoUrl] An optional url referencing help or further information on the window's content.
125
123
  * @property {boolean} [dockable] Auto derived from hidePin, current slot, current position and initial position.
126
124
  * @property {Object<string, string>} [styles] Can be used to add additional styles to the root WindowComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
@@ -206,7 +204,7 @@ export function windowPositionFromOptions(windowPositionOptions, windowPosition
206
204
  /**
207
205
  * Sets a position on a component. Updates dockable state.
208
206
  * @param {WindowComponent} windowComponent
209
- * @param {WindowComponentOptions} windowPositionOptions
207
+ * @param {WindowPositionOptions} windowPositionOptions
210
208
  */
211
209
  function setWindowPosition(windowComponent, windowPositionOptions) {
212
210
  const windowPosition = windowPositionFromOptions(windowPositionOptions, windowComponent.position);
@@ -309,9 +307,15 @@ class WindowManager {
309
307
  const staticWindow = this._findWindowBySlot(WindowSlot.STATIC);
310
308
  const dynamicWindowLeft = this._findWindowBySlot(WindowSlot.DYNAMIC_LEFT);
311
309
  if (staticWindow && dynamicWindowLeft) {
312
- this.setWindowPositionOptions(dynamicWindowLeft.id, WindowPositions.TOP_LEFT2);
310
+ this.setWindowPositionOptions(
311
+ dynamicWindowLeft.id,
312
+ { ...dynamicWindowLeft.position, ...WindowPositions.TOP_LEFT2 },
313
+ );
313
314
  } else if (!staticWindow && dynamicWindowLeft) {
314
- this.setWindowPositionOptions(dynamicWindowLeft.id, WindowPositions.TOP_LEFT);
315
+ this.setWindowPositionOptions(
316
+ dynamicWindowLeft.id,
317
+ { ...dynamicWindowLeft.position, ...WindowPositions.TOP_LEFT },
318
+ );
315
319
  }
316
320
  }
317
321
  }
@@ -333,18 +337,18 @@ class WindowManager {
333
337
  */
334
338
  _getPositionOptionsForSlot(slot, position) {
335
339
  if (slot === WindowSlot.STATIC) {
336
- return WindowPositions.TOP_LEFT;
340
+ return { ...WindowPositions.TOP_LEFT, maxWidth: '320px' };
337
341
  }
338
342
  if (slot === WindowSlot.DYNAMIC_LEFT) {
339
343
  const windowAtStatic = this._findWindowBySlot(WindowSlot.STATIC);
340
344
  if (windowAtStatic) {
341
- return WindowPositions.TOP_LEFT2;
345
+ return { ...position, ...WindowPositions.TOP_LEFT2 };
342
346
  } else {
343
- return WindowPositions.TOP_LEFT;
347
+ return { ...position, ...WindowPositions.TOP_LEFT };
344
348
  }
345
349
  }
346
350
  if (slot === WindowSlot.DYNAMIC_RIGHT) {
347
- return WindowPositions.TOP_RIGHT;
351
+ return { ...position, ...WindowPositions.TOP_RIGHT };
348
352
  }
349
353
  return position || WindowPositions.DETACHED;
350
354
  }
@@ -8,7 +8,7 @@
8
8
  d="M4,0,8,13H0Z"
9
9
  transform="translate(1)"
10
10
  fill="currentColor"
11
- @click="emit(0)"
11
+ @click="emit($event, 0)"
12
12
  />
13
13
  <path
14
14
  :class="canEmit ? 'cursor-pointer' : ''"
@@ -17,7 +17,7 @@
17
17
  d="M4,0,8,13H0Z"
18
18
  transform="translate(9 58) rotate(180)"
19
19
  fill="rgba(88,88,88,0.51)"
20
- @click="emit(180)"
20
+ @click="emit($event, 180)"
21
21
  />
22
22
  </g>
23
23
  <g id="Group_1653" data-name="Group 1653" transform="translate(0 33) rotate(-90)">
@@ -27,7 +27,7 @@
27
27
  data-name="Polygon 14"
28
28
  d="M4,0,8,13H0Z"
29
29
  fill="rgba(88,88,88,0.51)"
30
- @click="emit(270)"
30
+ @click="emit($event, 270)"
31
31
  />
32
32
  <path
33
33
  :class="canEmit ? 'cursor-pointer' : ''"
@@ -36,7 +36,7 @@
36
36
  d="M4,0,8,13H0Z"
37
37
  transform="translate(8 58) rotate(180)"
38
38
  fill="rgba(88,88,88,0.51)"
39
- @click="emit(90)"
39
+ @click="emit($event, 90)"
40
40
  />
41
41
  </g>
42
42
  <g id="Group_1672" data-name="Group 1672" transform="translate(1)" v-if="!hideTicks">
@@ -143,19 +143,25 @@
143
143
  },
144
144
  },
145
145
  methods: {
146
- emit(event) {
146
+ emit(event, dir) {
147
147
  if (this.canEmit) {
148
- this.$emit('direction-click', event);
148
+ event.preventDefault();
149
+ event.stopPropagation();
150
+ this.$emit('direction-click', dir);
149
151
  }
150
152
  },
151
153
  },
152
154
  };
153
155
  </script>
154
156
 
155
- <style scoped>
157
+ <style lang="scss" scoped>
156
158
  svg {
157
159
  width: 85%;
158
160
  height: 85%;
159
161
  margin: 7.5%;
160
162
  }
163
+
164
+ svg path:hover {
165
+ fill: var(--v-base-lighten5) !important;
166
+ }
161
167
  </style>