@vcmap/ui 6.0.0-rc.5 → 6.0.0-rc.7

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 (282) hide show
  1. package/build/buildTypes.js +9 -5
  2. package/config/base.config.json +8 -8
  3. package/config/dev.config.json +4 -0
  4. package/config/projects.config.json +2 -1
  5. package/config/theming.config.json +68 -0
  6. package/config/www.config.json +31 -30
  7. package/dist/assets/cesium/Workers/{chunk-LUYI3XCB.js → chunk-2LOWCAMW.js} +13 -13
  8. package/dist/assets/cesium/Workers/{chunk-V7WJDCPA.js → chunk-2PTKXHJB.js} +10 -10
  9. package/dist/assets/cesium/Workers/{chunk-YFVI4SQI.js → chunk-3HQMMUPU.js} +1 -1
  10. package/dist/assets/cesium/Workers/{chunk-XGI4FRXF.js → chunk-3IFRSGEY.js} +9 -9
  11. package/dist/assets/cesium/Workers/{chunk-4RJH3H6D.js → chunk-44QAAS4P.js} +7 -7
  12. package/dist/assets/cesium/Workers/{chunk-4EW3HFFI.js → chunk-56EDBCGT.js} +10 -10
  13. package/dist/assets/cesium/Workers/{chunk-PRKEY4QK.js → chunk-57H6I3SV.js} +5 -5
  14. package/dist/assets/cesium/Workers/{chunk-X67EJ6X6.js → chunk-6SQMLVGV.js} +54 -7
  15. package/dist/assets/cesium/Workers/{chunk-RRLGJV3Q.js → chunk-7YIOHQWH.js} +13 -13
  16. package/dist/assets/cesium/Workers/{chunk-G6346EDR.js → chunk-7ZZ5LMZY.js} +16 -15
  17. package/dist/assets/cesium/Workers/{chunk-YFYPR4MW.js → chunk-BVKITG4N.js} +7 -7
  18. package/dist/assets/cesium/Workers/{chunk-N5MIFVXJ.js → chunk-C3EQ27WF.js} +6 -6
  19. package/dist/assets/cesium/Workers/{chunk-TLGODPEV.js → chunk-C4WPMOKT.js} +6 -5
  20. package/dist/assets/cesium/Workers/{chunk-DTACCQDR.js → chunk-EDLRS3AW.js} +6 -6
  21. package/dist/assets/cesium/Workers/{chunk-EVU2UNBD.js → chunk-EJVGYGLF.js} +7 -7
  22. package/dist/assets/cesium/Workers/{chunk-FYYT5EVH.js → chunk-FFLMY4TE.js} +5 -5
  23. package/dist/assets/cesium/Workers/{chunk-5OUTANXX.js → chunk-GBT7MJ6X.js} +1 -1
  24. package/dist/assets/cesium/Workers/{chunk-3DRPXHZ4.js → chunk-HJMNR3GC.js} +11 -11
  25. package/dist/assets/cesium/Workers/{chunk-IALQGTA2.js → chunk-HP5XLODI.js} +6 -6
  26. package/dist/assets/cesium/Workers/{chunk-DR7LK6PG.js → chunk-IBRIWOCM.js} +13 -13
  27. package/dist/assets/cesium/Workers/{chunk-WMVCLETM.js → chunk-IZGUQO6Q.js} +13 -13
  28. package/dist/assets/cesium/Workers/{chunk-T6TZXGG5.js → chunk-IZJ42N4W.js} +17 -17
  29. package/dist/assets/cesium/Workers/{chunk-FZDKIUDT.js → chunk-JBSKHTNX.js} +4 -4
  30. package/dist/assets/cesium/Workers/{chunk-S4VTLNAJ.js → chunk-JISPSEF3.js} +4 -4
  31. package/dist/assets/cesium/Workers/{chunk-KNMGSIIN.js → chunk-JSQJDZI4.js} +6 -6
  32. package/dist/assets/cesium/Workers/{chunk-LMTN7R7M.js → chunk-JXVLNVXC.js} +7 -7
  33. package/dist/assets/cesium/Workers/{chunk-A5C2A5O5.js → chunk-KHZNBFOH.js} +7 -7
  34. package/dist/assets/cesium/Workers/{chunk-PIOKSAZH.js → chunk-L5GODJAR.js} +14 -14
  35. package/dist/assets/cesium/Workers/{chunk-Q7PM4W34.js → chunk-LJ2JQHJT.js} +12 -7
  36. package/dist/assets/cesium/Workers/{chunk-D6PDWQXW.js → chunk-LLAF3CPH.js} +2 -2
  37. package/dist/assets/cesium/Workers/{chunk-H7PSTL64.js → chunk-M24KHENR.js} +2 -2
  38. package/dist/assets/cesium/Workers/{chunk-I67V66MN.js → chunk-NDDI2LWR.js} +6 -6
  39. package/dist/assets/cesium/Workers/{chunk-FSXNF76Y.js → chunk-NGZJIN5Z.js} +4 -4
  40. package/dist/assets/cesium/Workers/{chunk-UMX265HW.js → chunk-O72GZTSE.js} +2 -2
  41. package/dist/assets/cesium/Workers/{chunk-WOA6WSHH.js → chunk-OPP2SKMA.js} +12 -12
  42. package/dist/assets/cesium/Workers/{chunk-VD6G7UPU.js → chunk-P6TRGU3S.js} +2 -2
  43. package/dist/assets/cesium/Workers/{chunk-QLC66ZRL.js → chunk-QN6TBED4.js} +11 -11
  44. package/dist/assets/cesium/Workers/{chunk-O7OUBDMZ.js → chunk-QQOZO7KO.js} +7 -7
  45. package/dist/assets/cesium/Workers/{chunk-AGTH5JMJ.js → chunk-RJM36CNY.js} +6 -6
  46. package/dist/assets/cesium/Workers/{chunk-UC566ISB.js → chunk-RTJKHZWU.js} +6 -6
  47. package/dist/assets/cesium/Workers/{chunk-L4XQPD6P.js → chunk-TI3TRKIC.js} +423 -448
  48. package/dist/assets/cesium/Workers/{chunk-3GI7DWF7.js → chunk-TK5IIG2F.js} +4 -4
  49. package/dist/assets/cesium/Workers/{chunk-6DH5PLFD.js → chunk-U5HSOKPQ.js} +1 -1
  50. package/dist/assets/cesium/Workers/{chunk-BPY4HDAK.js → chunk-WGDFYAGC.js} +4 -4
  51. package/dist/assets/cesium/Workers/{chunk-SJC5PRDX.js → chunk-X7IQYYHF.js} +2 -2
  52. package/dist/assets/cesium/Workers/{chunk-4OX4RYLB.js → chunk-XIUSRWL6.js} +9 -5
  53. package/dist/assets/cesium/Workers/{chunk-S2UEXF6T.js → chunk-XWOUPGUF.js} +1 -1
  54. package/dist/assets/cesium/Workers/{chunk-F7IEM66T.js → chunk-YCDZX5LS.js} +1 -1
  55. package/dist/assets/cesium/Workers/{chunk-AVFIYUKX.js → chunk-YK3QIKY7.js} +9 -9
  56. package/dist/assets/cesium/Workers/{chunk-BAJAVGUF.js → chunk-YSIJTJ7N.js} +5 -5
  57. package/dist/assets/cesium/Workers/{chunk-6DXIYFX3.js → chunk-Z2QP3CXW.js} +2 -2
  58. package/dist/assets/cesium/Workers/{chunk-P24I5VUS.js → chunk-ZVUUPJEM.js} +17 -17
  59. package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
  60. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
  61. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
  62. package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
  63. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
  64. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
  65. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  66. package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
  67. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
  68. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
  69. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
  70. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
  71. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
  72. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
  73. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
  74. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
  75. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
  76. package/dist/assets/cesium/Workers/createGeometry.js +22 -22
  77. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
  78. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
  79. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
  81. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
  82. package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
  83. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
  84. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  85. package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
  86. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
  87. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
  88. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
  89. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
  90. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  91. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
  92. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
  93. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  94. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
  95. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
  96. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  97. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +24 -20
  98. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  99. package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
  100. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
  101. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  102. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  103. package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
  104. package/dist/assets/cesium/Workers/transcodeKTX2.js +19 -18
  105. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  106. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  107. package/dist/assets/{cesium-126f111a.js → cesium-2afc3568.js} +136600 -136700
  108. package/dist/assets/cesium.js +1 -1
  109. package/dist/assets/{core-1c8b8674.js → core-3fd82bc2.js} +8384 -7554
  110. package/dist/assets/core.js +1 -1
  111. package/dist/assets/{ol-27f9b3f3.js → ol-edf7bfb3.js} +2246 -2248
  112. package/dist/assets/ol.js +1 -1
  113. package/dist/assets/ui-c6eb55a5.css +1 -0
  114. package/dist/assets/{ui-7214428e.js → ui-c6eb55a5.js} +8687 -8464
  115. package/dist/assets/ui.js +1 -1
  116. package/dist/assets/vue.js +1 -1
  117. package/dist/assets/{vuetify-88a2fabe.css → vuetify-c3b6c9b3.css} +1 -1
  118. package/dist/assets/{vuetify-88a2fabe.js → vuetify-c3b6c9b3.js} +2375 -2369
  119. package/dist/assets/vuetify.js +1 -1
  120. package/index.d.ts +22 -10
  121. package/index.js +9 -3
  122. package/package.json +4 -4
  123. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  124. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  125. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  126. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  127. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  128. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  129. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -2
  130. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
  131. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -1
  132. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  133. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  134. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  135. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  136. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  137. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  138. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  139. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +61 -70
  140. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  141. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  142. package/plugins/package.json +5 -1
  143. package/src/actions/StyleSelector.vue +35 -19
  144. package/src/actions/StyleSelector.vue.d.ts +5 -5
  145. package/src/actions/actionHelper.d.ts +4 -11
  146. package/src/actions/actionHelper.js +2 -5
  147. package/src/actions/listActions.d.ts +2 -2
  148. package/src/application/VcsApp.vue +20 -26
  149. package/src/application/VcsApp.vue.d.ts +5 -1
  150. package/src/application/VcsAttributionsFooter.vue +20 -11
  151. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  152. package/src/application/VcsContainer.vue +2 -2
  153. package/src/application/VcsContainer.vue.d.ts +5 -1
  154. package/src/application/VcsNavbar.vue +9 -1
  155. package/src/application/VcsNavbar.vue.d.ts +1 -0
  156. package/src/application/VcsSplashScreen.vue +11 -2
  157. package/src/application/VcsTextPageFooter.vue +4 -4
  158. package/src/application/attributionsHelper.d.ts +20 -22
  159. package/src/application/attributionsHelper.js +4 -4
  160. package/src/callback/vcsCallback.d.ts +2 -2
  161. package/src/callback/vcsCallback.js +1 -1
  162. package/src/components/buttons/VcsActionButtonList.vue +2 -3
  163. package/src/components/buttons/VcsButton.vue +2 -4
  164. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  165. package/src/components/buttons/VcsFormButton.vue +4 -4
  166. package/src/components/buttons/VcsToolButton.vue +4 -2
  167. package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
  168. package/src/components/composables.d.ts +5 -0
  169. package/src/components/composables.js +79 -9
  170. package/src/components/extent/VcsExtent.vue +10 -6
  171. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  172. package/src/components/flight/VcsFlightComponent.vue +13 -13
  173. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  174. package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
  175. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
  176. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
  177. package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
  178. package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
  179. package/src/components/form-inputs-controls/VcsLabel.vue +32 -9
  180. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +2 -0
  181. package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
  182. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  183. package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
  184. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
  185. package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
  186. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
  187. package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
  188. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
  189. package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
  190. package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
  191. package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
  192. package/src/components/form-output/VcsFormattedNumber.vue +1 -1
  193. package/src/components/import/VcsImportComponent.vue +7 -4
  194. package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
  195. package/src/components/lists/VcsActionList.vue +2 -6
  196. package/src/components/lists/VcsListItemComponent.vue +20 -10
  197. package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
  198. package/src/components/lists/VcsTreeview.vue +75 -11
  199. package/src/components/lists/VcsTreeview.vue.d.ts +12 -0
  200. package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
  201. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  202. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  203. package/src/components/modelHelper.d.ts +10 -8
  204. package/src/components/modelHelper.js +8 -6
  205. package/src/components/notification/VcsHelp.vue +6 -7
  206. package/src/components/notification/VcsHelp.vue.d.ts +0 -9
  207. package/src/components/plugins/AbstractConfigEditor.vue +1 -22
  208. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  209. package/src/components/section/VcsExpansionPanel.vue +9 -3
  210. package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
  211. package/src/components/section/VcsFormSection.vue +6 -6
  212. package/src/components/section/VcsFormSection.vue.d.ts +2 -2
  213. package/src/components/style/VcsImageSelector.vue +14 -6
  214. package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
  215. package/src/components/style/VcsStrokeSelector.vue +5 -2
  216. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  217. package/src/components/style/VcsTextMenu.vue +2 -2
  218. package/src/components/tables/VcsDataTable.vue +14 -10
  219. package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
  220. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +17 -34
  221. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +5 -3
  222. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +78 -43
  223. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +4 -2
  224. package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
  225. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  226. package/src/contentTree/contentTreeItem.d.ts +2 -2
  227. package/src/contentTree/contentTreeItem.js +1 -1
  228. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  229. package/src/contentTree/layerContentTreeItem.js +48 -34
  230. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  231. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  232. package/src/featureInfo/BalloonComponent.vue +21 -13
  233. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  234. package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
  235. package/src/featureInfo/abstractFeatureInfoView.js +4 -4
  236. package/src/featureInfo/balloonHelper.js +1 -1
  237. package/src/featureInfo/featureInfo.d.ts +2 -2
  238. package/src/featureInfo/featureInfo.js +1 -1
  239. package/src/i18n/de.d.ts +5 -0
  240. package/src/i18n/de.js +7 -2
  241. package/src/i18n/en.d.ts +5 -0
  242. package/src/i18n/en.js +6 -1
  243. package/src/i18n/i18nCollection.d.ts +9 -15
  244. package/src/i18n/i18nCollection.js +3 -3
  245. package/src/legend/VcsLegend.vue +6 -2
  246. package/src/legend/VcsLegend.vue.d.ts +1 -0
  247. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  248. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  249. package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
  250. package/src/manager/collectionManager/collectionComponentClass.js +4 -4
  251. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  252. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
  253. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
  254. package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
  255. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
  256. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
  257. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
  258. package/src/manager/window/WindowComponentHeader.vue +6 -3
  259. package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
  260. package/src/manager/window/windowManager.d.ts +6 -6
  261. package/src/manager/window/windowManager.js +3 -3
  262. package/src/navigation/OrientationToolsButton.vue +2 -4
  263. package/src/navigation/TiltSlider.vue +3 -5
  264. package/src/navigation/locatorHelper.js +3 -21
  265. package/src/search/SearchComponent.vue +8 -6
  266. package/src/search/SearchComponent.vue.d.ts +1 -1
  267. package/src/styles/vcsList.scss +1 -1
  268. package/src/uiConfig.d.ts +12 -3
  269. package/src/uiConfig.js +2 -1
  270. package/src/vcsUiApp.d.ts +39 -53
  271. package/src/vcsUiApp.js +30 -24
  272. package/src/vuePlugins/vuetify.d.ts +88 -62
  273. package/src/vuePlugins/vuetify.js +116 -20
  274. package/dist/assets/ui-7214428e.css +0 -1
  275. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  276. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  277. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  278. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  279. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  280. package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
  281. /package/dist/assets/{vue-c78a5f76.js → vue-aefad438.js} +0 -0
  282. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,42 +1,46 @@
1
1
  <template>
2
2
  <v-sheet>
3
- <v-container>
4
- <v-row>
5
- <v-col>
6
- <VcsList
7
- :items="propertiesToSelectFrom"
8
- :selectable="true"
9
- v-model="propertiesSelected"
10
- title="Select all"
11
- />
12
- </v-col>
13
- </v-row>
14
- <v-row no-gutters>
15
- <v-col>
16
- <VcsCheckbox v-model="hideDividers" label="Hide dividers" />
17
- </v-col>
18
- </v-row>
19
- <v-row no-gutters>
20
- <v-col>
21
- <VcsCheckbox v-model="expandable" label="Expandable" />
22
- </v-col>
23
- </v-row>
24
- <v-row no-gutters>
25
- <v-col>
26
- <VcsCheckbox
27
- v-model="showReset"
28
- label="Show reset vector properties"
29
- />
30
- </v-col>
31
- </v-row>
32
- <v-row no-gutters>
33
- <v-col>
34
- <VcsFormButton @click="() => console.log({ ...featureProperties })"
35
- >Log VectorProperties</VcsFormButton
36
- >
37
- </v-col>
38
- </v-row>
39
- </v-container>
3
+ <VcsFormSection heading="Input Settings" expandable>
4
+ <v-container>
5
+ <v-row>
6
+ <v-col>
7
+ <VcsList
8
+ :items="propertiesToSelectFrom"
9
+ :selectable="true"
10
+ v-model="propertiesSelected"
11
+ title="Select all"
12
+ />
13
+ </v-col>
14
+ </v-row>
15
+ <v-row no-gutters>
16
+ <v-col>
17
+ <VcsCheckbox v-model="hideDividers" label="Hide dividers" />
18
+ </v-col>
19
+ </v-row>
20
+ <v-row no-gutters>
21
+ <v-col>
22
+ <VcsCheckbox v-model="expandable" label="Expandable" />
23
+ </v-col>
24
+ </v-row>
25
+ <v-row no-gutters>
26
+ <v-col>
27
+ <VcsCheckbox
28
+ v-model="showReset"
29
+ label="Show reset vector properties"
30
+ />
31
+ </v-col>
32
+ </v-row>
33
+ <v-row no-gutters>
34
+ <v-col>
35
+ <VcsFormButton @click="() => console.log({ ...featureProperties })"
36
+ >Log VectorProperties</VcsFormButton
37
+ >
38
+ </v-col>
39
+ </v-row>
40
+ </v-container>
41
+ </VcsFormSection>
42
+ <terrain-settings />
43
+ <geometry-settings :feature-properties="featureProperties" />
40
44
  <VcsVectorPropertiesComponent
41
45
  v-model="featureProperties"
42
46
  :value-default="defaultOptions"
@@ -60,40 +64,36 @@
60
64
  shallowRef,
61
65
  watch,
62
66
  } from 'vue';
63
- import { CesiumMap, VectorLayer, VectorProperties } from '@vcmap/core';
67
+ import { CesiumMap, VectorProperties } from '@vcmap/core';
64
68
  import {
65
69
  VcsVectorPropertiesComponent,
66
70
  VcsList,
67
71
  VcsCheckbox,
68
72
  VcsFormButton,
73
+ VcsFormSection,
69
74
  } from '@vcmap/ui';
70
75
  import { VSheet, VContainer, VRow, VCol } from 'vuetify/components';
71
- import { Feature } from 'ol';
72
- import { Polygon } from 'ol/geom.js';
73
-
74
- export const polygonCoords = [
75
- [
76
- [13.37302869387225, 52.515969833848686, 34.5146781549614],
77
- [13.374380945328324, 52.51418689937603, 33.692166432214975],
78
- [13.376569529360477, 52.516925129014055, 34.36842554294618],
79
- [13.37302869387225, 52.515969833848686, 34.5146781549614],
80
- ],
81
- ];
76
+ import { name } from '../package.json';
77
+ import GeometrySettings from './GeometrySettings.vue';
78
+ import TerrainSettings from './TerrainSettings.vue';
82
79
 
83
80
  export default {
84
81
  name: 'VectorPropertiesExample',
85
82
  components: {
83
+ TerrainSettings,
84
+ GeometrySettings,
86
85
  VcsVectorPropertiesComponent,
87
86
  VcsList,
88
87
  VcsCheckbox,
89
88
  VcsFormButton,
89
+ VcsFormSection,
90
90
  VSheet,
91
91
  VContainer,
92
92
  VRow,
93
93
  VCol,
94
94
  },
95
95
  setup() {
96
- /** @type {import('@vcmap/core').VcsApp} */
96
+ /** @type {import('@vcmap/ui').VcsUiApp} */
97
97
  const vcsApp = inject('vcsApp');
98
98
  const is3D = ref(false);
99
99
 
@@ -104,24 +104,18 @@
104
104
  vcsApp.maps.mapActivated.addEventListener(updateIs3D);
105
105
  updateIs3D();
106
106
 
107
- const feature = new Feature({
108
- geometry: new Polygon(polygonCoords),
109
- });
110
- const layer = new VectorLayer({
111
- name: 'vectorPropertiesExampleLayer',
112
- projection: {
113
- epsg: 'EPSG:4326',
114
- },
115
- });
107
+ const { layer } = vcsApp.plugins.getByKey(name);
116
108
 
117
109
  const featureProperties = shallowRef(
118
- layer.vectorProperties.getValuesForFeatures([feature]),
110
+ layer.vectorProperties.getValuesForFeatures(layer.getFeatures()),
119
111
  );
120
- featureProperties.value.scaleByDistance = [0, 1, 100, 0];
112
+
113
+ featureProperties.value.scaleByDistance = [0, 0.5, 1000, 1];
121
114
  watch(featureProperties, () => {
122
- layer.vectorProperties.setValuesForFeatures(featureProperties.value, [
123
- feature,
124
- ]);
115
+ layer.vectorProperties.setValuesForFeatures(
116
+ featureProperties.value,
117
+ layer.getFeatures(),
118
+ );
125
119
  });
126
120
 
127
121
  const defaultOptions = VectorProperties.getDefaultOptions();
@@ -134,17 +128,14 @@
134
128
  const propertiesSelected = shallowRef([...propertiesToSelectFrom]);
135
129
 
136
130
  onMounted(() => {
137
- vcsApp.layers.add(layer);
138
- layer.addFeatures([feature]);
139
131
  layer.activate();
140
132
  });
141
133
 
142
134
  onUnmounted(() => {
143
135
  layer.deactivate();
144
- vcsApp.layers.remove(layer);
145
- layer.destroy();
146
136
  mapActivatedListener();
147
137
  });
138
+
148
139
  return {
149
140
  featureProperties,
150
141
  defaultOptions,
@@ -152,10 +143,10 @@
152
143
  propertiesToSelectFrom,
153
144
  propertiesSelected,
154
145
  properties: computed(() =>
155
- propertiesSelected.value.map(({ name }) => name),
146
+ propertiesSelected.value.map(({ name: n }) => n),
156
147
  ),
157
148
  hideDividers: ref(false),
158
- expandable: ref(false),
149
+ expandable: ref(true),
159
150
  showReset: ref(true),
160
151
  };
161
152
  },
@@ -1,8 +1,24 @@
1
+ import { markVolatile, VectorLayer, wgs84Projection } from '@vcmap/core';
1
2
  import { WindowSlot, createToggleAction, ButtonLocation } from '@vcmap/ui';
2
3
  import packageJSON from '../package.json';
3
4
  import component from './VectorPropertiesExample.vue';
5
+ import {
6
+ getCircleFeature,
7
+ getLineStringFeature,
8
+ getModelFeature,
9
+ getPointFeature,
10
+ getPolygonFeature,
11
+ getPrimitiveFeature,
12
+ } from './lib.js';
4
13
 
5
14
  export default function createVectorPropertiesExamplePlugin() {
15
+ const layer = new VectorLayer({
16
+ zIndex: 10,
17
+ name: 'vectorPropertiesExampleLayer',
18
+ projection: wgs84Projection.toJSON(),
19
+ });
20
+ markVolatile(layer);
21
+
6
22
  return {
7
23
  get name() {
8
24
  return packageJSON.name;
@@ -13,6 +29,9 @@ export default function createVectorPropertiesExamplePlugin() {
13
29
  get mapVersion() {
14
30
  return packageJSON.mapVersion;
15
31
  },
32
+ get layer() {
33
+ return layer;
34
+ },
16
35
  initialize(vcsApp) {
17
36
  const { action, destroy } = createToggleAction(
18
37
  {
@@ -34,7 +53,21 @@ export default function createVectorPropertiesExamplePlugin() {
34
53
  packageJSON.name,
35
54
  ButtonLocation.TOOL,
36
55
  );
37
- this.destroy = destroy;
56
+ vcsApp.layers.add(layer);
57
+ layer.addFeatures([
58
+ getPrimitiveFeature(),
59
+ getModelFeature(),
60
+ getCircleFeature(),
61
+ getPointFeature(),
62
+ getLineStringFeature(),
63
+ getPolygonFeature(),
64
+ ]);
65
+ this.destroy = () => {
66
+ destroy();
67
+ layer.deactivate();
68
+ vcsApp.layers.remove(layer);
69
+ layer.destroy();
70
+ };
38
71
  },
39
72
  };
40
73
  }
@@ -0,0 +1,294 @@
1
+ import {
2
+ ArcStyle,
3
+ from3Dto2DLayout,
4
+ PrimitiveOptionsType,
5
+ alreadyTransformedToMercator,
6
+ } from '@vcmap/core';
7
+ import { Feature } from 'ol';
8
+ import {
9
+ Circle,
10
+ GeometryCollection,
11
+ LineString,
12
+ MultiLineString,
13
+ MultiPoint,
14
+ MultiPolygon,
15
+ Point,
16
+ Polygon,
17
+ } from 'ol/geom';
18
+ import { Stroke, Style, Text as OLText } from 'ol/style';
19
+
20
+ function layoutHelper(feature, layout = 'XYZ') {
21
+ if (layout !== 'XYZ') {
22
+ from3Dto2DLayout(feature.getGeometry());
23
+ }
24
+ }
25
+
26
+ export function getPrimitiveFeature(layout) {
27
+ const feature = new Feature({
28
+ geometry: new Point([
29
+ 13.36218118875039, 52.515822422115036, 33.38730595560257,
30
+ ]),
31
+ isDefault: true,
32
+ olcs_primitiveOptions: {
33
+ type: PrimitiveOptionsType.CYLINDER,
34
+ geometryOptions: {
35
+ length: 80,
36
+ topRadius: 20,
37
+ bottomRadius: 40,
38
+ },
39
+ depthFailColor: 'rgba(0, 0, 255, 0.2)',
40
+ offset: [0, 0, 40],
41
+ },
42
+ });
43
+ feature.setId('Primitive');
44
+ layoutHelper(feature, layout);
45
+ return feature;
46
+ }
47
+
48
+ export function getModelFeature(layout) {
49
+ const feature = new Feature({
50
+ geometry: new Point([
51
+ 13.363859221598505, 52.515967046541505, 32.59208264613772,
52
+ ]),
53
+ isDefault: true,
54
+ olcs_modelUrl: '/exampleData/CesiumMan.gltf',
55
+ olcs_modelScaleX: 20,
56
+ olcs_modelScaleY: 20,
57
+ olcs_modelScaleZ: 40,
58
+ });
59
+ feature.setId('Model');
60
+ layoutHelper(feature, layout);
61
+ return feature;
62
+ }
63
+
64
+ export function getLabelFeature(layout) {
65
+ const feature = new Feature({
66
+ geometry: new Point([
67
+ 1488435.7314223575, 6894028.960149737, 33.5208502571338,
68
+ ]),
69
+ isDefault: true,
70
+ });
71
+ feature.setStyle(
72
+ new Style({
73
+ text: new OLText({
74
+ text: 'Label',
75
+ }),
76
+ stroke: new Stroke({
77
+ color: '#FF00FF',
78
+ width: 2,
79
+ }),
80
+ }),
81
+ );
82
+ feature.setId('Label');
83
+ feature.getGeometry()[alreadyTransformedToMercator] = true;
84
+
85
+ layoutHelper(feature, layout);
86
+ return feature;
87
+ }
88
+
89
+ export function getArrowFeature(layout) {
90
+ const feature = new Feature({
91
+ geometry: new LineString([
92
+ [13.366858637514758, 52.51621074844718, 32.72847998624475],
93
+ [13.368622504013356, 52.51631428269934, 33.23048941465071],
94
+ ]),
95
+ isDefault: true,
96
+ });
97
+ feature.setStyle(new ArcStyle());
98
+ feature.setId('Arrow');
99
+ layoutHelper(feature, layout);
100
+ return feature;
101
+ }
102
+
103
+ export function getCircleFeature(layout) {
104
+ const feature = new Feature({
105
+ geometry: new Circle(
106
+ [13.360899224141466, 52.51506455406184, 34.09269200786326],
107
+ 0.001,
108
+ ),
109
+ isDefault: true,
110
+ });
111
+ feature.setId('Circle');
112
+ layoutHelper(feature, layout);
113
+ return feature;
114
+ }
115
+
116
+ export function getPointFeature(layout) {
117
+ const feature = new Feature({
118
+ geometry: new Point([
119
+ 13.373567615611728, 52.51548029456612, 34.11213951937436,
120
+ ]),
121
+ isDefault: true,
122
+ });
123
+ feature.setId('Point');
124
+ layoutHelper(feature, layout);
125
+ return feature;
126
+ }
127
+
128
+ export function getPointsFeature(layout) {
129
+ const feature = new Feature({
130
+ geometry: new MultiPoint([
131
+ [13.374358275687154, 52.513855119983305, 33.91001731696976],
132
+ [13.37461329953504, 52.51415068687956, 34.032218848302364],
133
+ [13.375878007044882, 52.51409378032608, 33.88938096529403],
134
+ ]),
135
+ isDefault: true,
136
+ });
137
+ feature.setId('Points');
138
+ layoutHelper(feature, layout);
139
+ return feature;
140
+ }
141
+
142
+ export function getLineStringFeature(layout) {
143
+ const feature = new Feature({
144
+ geometry: new LineString([
145
+ [13.363844747632609, 52.515470473709854, 33.550534598980725],
146
+ [13.366720318943523, 52.515665401253045, 33.76881006458447],
147
+ [13.367412538305256, 52.51508187630654, 32.55462654508183],
148
+ ]),
149
+ isDefault: true,
150
+ });
151
+ feature.setId('LineString');
152
+ layoutHelper(feature, layout);
153
+ return feature;
154
+ }
155
+
156
+ export function getLineStringsFeature(layout) {
157
+ const feature = new Feature({
158
+ geometry: new MultiLineString([
159
+ [
160
+ [13.36352639114729, 52.513266460999546, 33.26824957279316],
161
+ [13.363353059492573, 52.51410122358479, 33.16223998562612],
162
+ [13.364131850580959, 52.51463043952424, 33.20317208734183],
163
+ ],
164
+ [
165
+ [13.365850262457908, 52.51444203087061, 32.61805259641959],
166
+ [13.36656566684233, 52.513951194203, 32.78073146380907],
167
+ [13.36627639442513, 52.513405317141604, 32.528679428301025],
168
+ ],
169
+ [
170
+ [13.366290652223967, 52.51284093005012, 33.293564901315726],
171
+ [13.36528194828741, 52.512304426371344, 32.5181043954614],
172
+ [13.363954256366572, 52.512483274042154, 33.1318583891006],
173
+ ],
174
+ ]),
175
+ isDefault: true,
176
+ });
177
+ feature.setId('LineStrings');
178
+ layoutHelper(feature, layout);
179
+ return feature;
180
+ }
181
+
182
+ export function getPolygonFeature(layout) {
183
+ const feature = new Feature({
184
+ geometry: new Polygon([
185
+ [
186
+ [13.368703252048375, 52.51483723086997, 33.49978802690113],
187
+ [13.372125570630947, 52.514467042453646, 34.17881387564488],
188
+ [13.372623878945069, 52.515336736733786, 33.587916392132065],
189
+ [13.36979246350535, 52.51572336567955, 34.14276491983953],
190
+ [13.368703252048375, 52.51483723086997, 33.49978802690113],
191
+ ],
192
+ ]),
193
+ isDefault: true,
194
+ });
195
+ feature.setId('Polygon');
196
+ layoutHelper(feature, layout);
197
+ return feature;
198
+ }
199
+
200
+ export function getPolygonsFeature(layout) {
201
+ const feature = new Feature({
202
+ geometry: new MultiPolygon([
203
+ [
204
+ [
205
+ [13.368147753366285, 52.51388845623393, 33.326494025516986],
206
+ [13.369439957644493, 52.513806731544804, 33.71837045675961],
207
+ [13.369864824031266, 52.514204470721836, 33.90427477452053],
208
+ [13.368652956316716, 52.51427909116808, 33.30150542013474],
209
+ [13.368147753366285, 52.51388845623393, 33.326494025516986],
210
+ ],
211
+ ],
212
+ [
213
+ [
214
+ [13.36908568340443, 52.513311470038445, 33.85600764188562],
215
+ [13.370317227246808, 52.51266712675607, 33.942184554520324],
216
+ [13.371726440088764, 52.513200118366456, 34.236263759862865],
217
+ [13.371140661493031, 52.513403217334314, 33.836968802532446],
218
+ [13.37025051092128, 52.51344597065966, 33.624748083503455],
219
+ [13.369756747764669, 52.51346696101908, 33.71480053535501],
220
+ [13.369289999321657, 52.51352152843859, 33.88720729210199],
221
+ [13.369962684700711, 52.51365226834122, 33.50994865926776],
222
+ [13.368960039632277, 52.51367751984219, 33.67689581665479],
223
+ [13.36908568340443, 52.513311470038445, 33.85600764188562],
224
+ ],
225
+ ],
226
+ [
227
+ [
228
+ [13.370951855771859, 52.514053649625225, 33.9281685013164],
229
+ [13.371537851762398, 52.513614671407254, 34.450093341276464],
230
+ [13.372435604984698, 52.513881261092365, 33.77611564016416],
231
+ [13.372231219003348, 52.514139481519635, 34.244097450954634],
232
+ [13.370951855771859, 52.514053649625225, 33.9281685013164],
233
+ ],
234
+ ],
235
+ ]),
236
+ isDefault: true,
237
+ });
238
+ feature.setId('Polygons');
239
+ layoutHelper(feature, layout);
240
+ return feature;
241
+ }
242
+
243
+ export function getGeometryCollectionFeature(layout) {
244
+ const geometries = [
245
+ getCircleFeature().getGeometry(),
246
+ getPointFeature().getGeometry(),
247
+ getLineStringFeature().getGeometry(),
248
+ getPolygonFeature().getGeometry(),
249
+ ];
250
+
251
+ const geometry = new GeometryCollection(geometries);
252
+ geometry.translate(0, -0.002);
253
+ const feature = new Feature({
254
+ geometry,
255
+ isDefault: true,
256
+ });
257
+ feature.setId('GeometryCollection');
258
+ layoutHelper(feature, layout);
259
+ return feature;
260
+ }
261
+
262
+ export function getTiltedPolygonFeature(layout) {
263
+ const feature = new Feature({
264
+ geometry: new Polygon([
265
+ [
266
+ [13.368703252048375, 52.51483723086997, 33.49978802690113],
267
+ [13.372125570630947, 52.514467042453646, 50.17881387564488],
268
+ [13.372623878945069, 52.515336736733786, 120.58791639213206],
269
+ [13.36979246350535, 52.51572336567955, 50.14276491983953],
270
+ [13.368703252048375, 52.51483723086997, 33.49978802690113],
271
+ ],
272
+ ]),
273
+ isDefault: true,
274
+ });
275
+ feature.getGeometry().translate(0.002, -0.002);
276
+ feature.setId('TiltedPolygon');
277
+ layoutHelper(feature, layout);
278
+ return feature;
279
+ }
280
+
281
+ export function getTiltedLineStringFeature(layout) {
282
+ const feature = new Feature({
283
+ geometry: new LineString([
284
+ [13.363844747632609, 52.515470473709854, 33.550534598980725],
285
+ [13.366720318943523, 52.515665401253045, 50.76881006458447],
286
+ [13.367412538305256, 52.51508187630654, 120.55462654508183],
287
+ ]),
288
+ isDefault: true,
289
+ });
290
+ feature.getGeometry().translate(0.002, -0.002);
291
+ feature.setId('TiltedLineString');
292
+ layoutHelper(feature, layout);
293
+ return feature;
294
+ }
@@ -2,6 +2,10 @@
2
2
  "dependencies": {
3
3
  "@vcmap/print": "https://github.com/virtualcitySYSTEMS/map-print.git#main",
4
4
  "@vcmap/multi-view": "https://github.com/virtualcitySYSTEMS/map-multi-view.git",
5
- "@vcmap/transparent-terrain": "https://github.com/virtualcitySYSTEMS/map-transparent-terrain.git"
5
+ "@vcmap/transparent-terrain": "https://github.com/virtualcitySYSTEMS/map-transparent-terrain.git",
6
+ "@vcmap/walk": "https://github.com/virtualcitySYSTEMS/map-walk.git#main",
7
+ "@vcmap/clipping-tool": "https://github.com/virtualcitySYSTEMS/map-clipping-tool.git#main",
8
+ "@vcmap/viewshed": "https://github.com/virtualcitySYSTEMS/map-viewshed.git#main",
9
+ "@vcmap/link-button": "https://github.com/virtualcitySYSTEMS/map-link-button.git#main"
6
10
  }
7
11
  }
@@ -19,12 +19,13 @@
19
19
  <script>
20
20
  import { computed, inject, onUnmounted, ref } from 'vue';
21
21
  import { VList, VListItem, VListItemTitle, VSheet } from 'vuetify/components';
22
+ import { FeatureLayer } from '@vcmap/core';
22
23
 
23
24
  /**
24
25
  * @description Modal listing available styles.
25
26
  * On selection style is set to provided layer.
26
27
  * @vue-prop {Array<string>} availableStyles - Name of available styles
27
- * @vue-prop {string} layerName - Name of a layer, the style shall be applied to on selection
28
+ * @vue-prop {Array<string>} layerNames - Name of layers, the style shall be applied to on selection
28
29
  */
29
30
  export default {
30
31
  name: 'StyleSelector',
@@ -39,28 +40,43 @@
39
40
  type: Array,
40
41
  default: () => [],
41
42
  },
42
- layerName: {
43
- type: String,
43
+ layerNames: {
44
+ type: Array,
44
45
  required: true,
45
46
  },
46
47
  },
47
48
  setup(props, { attrs }) {
48
49
  /** @type {import("@src/vcsUiApp.js").default} */
49
50
  const app = inject('vcsApp');
50
- /** @type {import("@vcmap/core").FeatureLayer} */
51
- const layer = app.layers.getByKey(props.layerName);
52
- const currentStyleName = ref(layer.style.name || layer.defaultStyle.name);
53
- const defaultStyle = layer.defaultStyle.name;
51
+ /** @type {import("@vcmap/core").FeatureLayer[]} */
52
+ const layers = props.layerNames
53
+ .map((name) => app.layers.getByKey(name))
54
+ .filter((layer) => layer instanceof FeatureLayer);
54
55
 
55
- function setStyle() {
56
- currentStyleName.value = layer.style.name;
57
- }
58
- setStyle();
59
- // TODO error handling if layer is missing or not a feature layer
60
- const styleChangedListener =
61
- layer.styleChanged.addEventListener(setStyle);
56
+ const currentStyleName = ref();
57
+ const setCurrentStyle = () => {
58
+ let styleName = null;
59
+ layers.forEach((layer) => {
60
+ const layerStyle = layer?.style?.name || layer?.defaultStyle?.name;
61
+ if (styleName === null) {
62
+ styleName = layerStyle;
63
+ }
64
+ if (styleName !== layerStyle) {
65
+ styleName = '';
66
+ }
67
+ });
68
+ currentStyleName.value = styleName;
69
+ };
70
+
71
+ setCurrentStyle();
72
+ const defaultStyle =
73
+ layers.length === 1 ? layers[0]?.defaultStyle?.name : null;
74
+
75
+ const styleChangedListener = layers.map((layer) =>
76
+ layer.styleChanged.addEventListener(setCurrentStyle),
77
+ );
62
78
  onUnmounted(() => {
63
- styleChangedListener();
79
+ styleChangedListener.forEach((cb) => cb());
64
80
  });
65
81
 
66
82
  const items = computed(() => {
@@ -88,10 +104,10 @@
88
104
  });
89
105
 
90
106
  function select(styleName) {
91
- const style = app.styles.hasKey(styleName)
92
- ? app.styles.getByKey(styleName)
93
- : layer.defaultStyle;
94
- layer.setStyle(style);
107
+ const style = app.styles.getByKey(styleName);
108
+ layers.forEach((layer) => {
109
+ layer.setStyle(style || layer.defaultStyle);
110
+ });
95
111
  app.windowManager.remove(attrs['window-state'].id);
96
112
  }
97
113
 
@@ -3,12 +3,12 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: ArrayConstructor;
4
4
  default: () => never[];
5
5
  };
6
- layerName: {
7
- type: StringConstructor;
6
+ layerNames: {
7
+ type: ArrayConstructor;
8
8
  required: true;
9
9
  };
10
10
  }, {
11
- currentStyleName: import("vue").Ref<string>;
11
+ currentStyleName: import("vue").Ref<any>;
12
12
  items: import("vue").ComputedRef<{
13
13
  text: unknown;
14
14
  value: unknown;
@@ -19,8 +19,8 @@ declare const _default: import("vue").DefineComponent<{
19
19
  type: ArrayConstructor;
20
20
  default: () => never[];
21
21
  };
22
- layerName: {
23
- type: StringConstructor;
22
+ layerNames: {
23
+ type: ArrayConstructor;
24
24
  required: true;
25
25
  };
26
26
  }>>, {