@vcmap/ui 6.0.0-rc.6 → 6.0.0-rc.8

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 (231) hide show
  1. package/config/base.config.json +8 -2
  2. package/dist/assets/cesium/Workers/{chunk-LUYI3XCB.js → chunk-2LOWCAMW.js} +13 -13
  3. package/dist/assets/cesium/Workers/{chunk-V7WJDCPA.js → chunk-2PTKXHJB.js} +10 -10
  4. package/dist/assets/cesium/Workers/{chunk-YFVI4SQI.js → chunk-3HQMMUPU.js} +1 -1
  5. package/dist/assets/cesium/Workers/{chunk-XGI4FRXF.js → chunk-3IFRSGEY.js} +9 -9
  6. package/dist/assets/cesium/Workers/{chunk-4RJH3H6D.js → chunk-44QAAS4P.js} +7 -7
  7. package/dist/assets/cesium/Workers/{chunk-4EW3HFFI.js → chunk-56EDBCGT.js} +10 -10
  8. package/dist/assets/cesium/Workers/{chunk-PRKEY4QK.js → chunk-57H6I3SV.js} +5 -5
  9. package/dist/assets/cesium/Workers/{chunk-X67EJ6X6.js → chunk-6SQMLVGV.js} +54 -7
  10. package/dist/assets/cesium/Workers/{chunk-RRLGJV3Q.js → chunk-7YIOHQWH.js} +13 -13
  11. package/dist/assets/cesium/Workers/{chunk-G6346EDR.js → chunk-7ZZ5LMZY.js} +16 -15
  12. package/dist/assets/cesium/Workers/{chunk-YFYPR4MW.js → chunk-BVKITG4N.js} +7 -7
  13. package/dist/assets/cesium/Workers/{chunk-N5MIFVXJ.js → chunk-C3EQ27WF.js} +6 -6
  14. package/dist/assets/cesium/Workers/{chunk-TLGODPEV.js → chunk-C4WPMOKT.js} +6 -5
  15. package/dist/assets/cesium/Workers/{chunk-DTACCQDR.js → chunk-EDLRS3AW.js} +6 -6
  16. package/dist/assets/cesium/Workers/{chunk-EVU2UNBD.js → chunk-EJVGYGLF.js} +7 -7
  17. package/dist/assets/cesium/Workers/{chunk-FYYT5EVH.js → chunk-FFLMY4TE.js} +5 -5
  18. package/dist/assets/cesium/Workers/{chunk-5OUTANXX.js → chunk-GBT7MJ6X.js} +1 -1
  19. package/dist/assets/cesium/Workers/{chunk-3DRPXHZ4.js → chunk-HJMNR3GC.js} +11 -11
  20. package/dist/assets/cesium/Workers/{chunk-IALQGTA2.js → chunk-HP5XLODI.js} +6 -6
  21. package/dist/assets/cesium/Workers/{chunk-DR7LK6PG.js → chunk-IBRIWOCM.js} +13 -13
  22. package/dist/assets/cesium/Workers/{chunk-WMVCLETM.js → chunk-IZGUQO6Q.js} +13 -13
  23. package/dist/assets/cesium/Workers/{chunk-T6TZXGG5.js → chunk-IZJ42N4W.js} +17 -17
  24. package/dist/assets/cesium/Workers/{chunk-FZDKIUDT.js → chunk-JBSKHTNX.js} +4 -4
  25. package/dist/assets/cesium/Workers/{chunk-S4VTLNAJ.js → chunk-JISPSEF3.js} +4 -4
  26. package/dist/assets/cesium/Workers/{chunk-KNMGSIIN.js → chunk-JSQJDZI4.js} +6 -6
  27. package/dist/assets/cesium/Workers/{chunk-LMTN7R7M.js → chunk-JXVLNVXC.js} +7 -7
  28. package/dist/assets/cesium/Workers/{chunk-A5C2A5O5.js → chunk-KHZNBFOH.js} +7 -7
  29. package/dist/assets/cesium/Workers/{chunk-PIOKSAZH.js → chunk-L5GODJAR.js} +14 -14
  30. package/dist/assets/cesium/Workers/{chunk-Q7PM4W34.js → chunk-LJ2JQHJT.js} +12 -7
  31. package/dist/assets/cesium/Workers/{chunk-D6PDWQXW.js → chunk-LLAF3CPH.js} +2 -2
  32. package/dist/assets/cesium/Workers/{chunk-H7PSTL64.js → chunk-M24KHENR.js} +2 -2
  33. package/dist/assets/cesium/Workers/{chunk-I67V66MN.js → chunk-NDDI2LWR.js} +6 -6
  34. package/dist/assets/cesium/Workers/{chunk-FSXNF76Y.js → chunk-NGZJIN5Z.js} +4 -4
  35. package/dist/assets/cesium/Workers/{chunk-UMX265HW.js → chunk-O72GZTSE.js} +2 -2
  36. package/dist/assets/cesium/Workers/{chunk-WOA6WSHH.js → chunk-OPP2SKMA.js} +12 -12
  37. package/dist/assets/cesium/Workers/{chunk-VD6G7UPU.js → chunk-P6TRGU3S.js} +2 -2
  38. package/dist/assets/cesium/Workers/{chunk-QLC66ZRL.js → chunk-QN6TBED4.js} +11 -11
  39. package/dist/assets/cesium/Workers/{chunk-O7OUBDMZ.js → chunk-QQOZO7KO.js} +7 -7
  40. package/dist/assets/cesium/Workers/{chunk-AGTH5JMJ.js → chunk-RJM36CNY.js} +6 -6
  41. package/dist/assets/cesium/Workers/{chunk-UC566ISB.js → chunk-RTJKHZWU.js} +6 -6
  42. package/dist/assets/cesium/Workers/{chunk-L4XQPD6P.js → chunk-TI3TRKIC.js} +423 -448
  43. package/dist/assets/cesium/Workers/{chunk-3GI7DWF7.js → chunk-TK5IIG2F.js} +4 -4
  44. package/dist/assets/cesium/Workers/{chunk-6DH5PLFD.js → chunk-U5HSOKPQ.js} +1 -1
  45. package/dist/assets/cesium/Workers/{chunk-BPY4HDAK.js → chunk-WGDFYAGC.js} +4 -4
  46. package/dist/assets/cesium/Workers/{chunk-SJC5PRDX.js → chunk-X7IQYYHF.js} +2 -2
  47. package/dist/assets/cesium/Workers/{chunk-4OX4RYLB.js → chunk-XIUSRWL6.js} +9 -5
  48. package/dist/assets/cesium/Workers/{chunk-S2UEXF6T.js → chunk-XWOUPGUF.js} +1 -1
  49. package/dist/assets/cesium/Workers/{chunk-F7IEM66T.js → chunk-YCDZX5LS.js} +1 -1
  50. package/dist/assets/cesium/Workers/{chunk-AVFIYUKX.js → chunk-YK3QIKY7.js} +9 -9
  51. package/dist/assets/cesium/Workers/{chunk-BAJAVGUF.js → chunk-YSIJTJ7N.js} +5 -5
  52. package/dist/assets/cesium/Workers/{chunk-6DXIYFX3.js → chunk-Z2QP3CXW.js} +2 -2
  53. package/dist/assets/cesium/Workers/{chunk-P24I5VUS.js → chunk-ZVUUPJEM.js} +17 -17
  54. package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
  55. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
  56. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
  57. package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
  58. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
  59. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
  60. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  61. package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
  62. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
  63. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
  64. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
  65. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
  66. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
  67. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
  68. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
  69. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
  70. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
  71. package/dist/assets/cesium/Workers/createGeometry.js +22 -22
  72. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
  73. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
  74. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
  75. package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
  76. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
  77. package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
  78. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
  79. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  80. package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
  81. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
  82. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
  83. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
  84. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
  85. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  86. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
  87. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
  88. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  89. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
  90. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
  91. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  92. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +24 -20
  93. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  94. package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
  95. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
  96. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  97. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  98. package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
  99. package/dist/assets/cesium/Workers/transcodeKTX2.js +19 -18
  100. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  101. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  102. package/dist/assets/{cesium-ccb4cc30.js → cesium-2ec6aae0.js} +136600 -136700
  103. package/dist/assets/cesium.js +1 -1
  104. package/dist/assets/{core-e06aa7a6.js → core-6f2522e5.js} +8391 -7544
  105. package/dist/assets/core.js +1 -1
  106. package/dist/assets/{ol-e7981d5c.js → ol-b0e134cb.js} +2246 -2248
  107. package/dist/assets/ol.js +1 -1
  108. package/dist/assets/ui-bf3d1f84.css +1 -0
  109. package/dist/assets/{ui-5dda32d2.js → ui-bf3d1f84.js} +4598 -4464
  110. package/dist/assets/ui.js +1 -1
  111. package/dist/assets/vue.js +1 -1
  112. package/dist/assets/{vuetify-4c4e4217.js → vuetify-99bf601c.js} +1 -1
  113. package/dist/assets/vuetify.js +1 -1
  114. package/package.json +3 -3
  115. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -2
  116. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +3 -4
  117. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -1
  118. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  119. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  120. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  121. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +61 -70
  122. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  123. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  124. package/src/actions/StyleSelector.vue +36 -20
  125. package/src/actions/StyleSelector.vue.d.ts +5 -5
  126. package/src/application/VcsApp.vue +32 -8
  127. package/src/application/VcsApp.vue.d.ts +5 -1
  128. package/src/application/VcsAppWrapper.vue +1 -1
  129. package/src/application/VcsAttributions.vue +1 -1
  130. package/src/application/VcsAttributionsFooter.vue +22 -11
  131. package/src/application/VcsContainer.vue.d.ts +5 -1
  132. package/src/application/VcsMainMap.vue +1 -1
  133. package/src/application/VcsMap.vue +1 -0
  134. package/src/application/VcsNavbar.vue +1 -1
  135. package/src/application/VcsPositionDisplay.vue +3 -3
  136. package/src/application/VcsSettings.vue +1 -1
  137. package/src/application/VcsSplashScreen.vue +1 -0
  138. package/src/application/VcsTextPage.vue +1 -1
  139. package/src/application/VcsTextPageFooter.vue +6 -4
  140. package/src/components/buttons/VcsActionButtonList.vue +5 -1
  141. package/src/components/buttons/VcsButton.vue +3 -3
  142. package/src/components/buttons/VcsFormButton.vue +2 -2
  143. package/src/components/buttons/VcsToolButton.vue +2 -2
  144. package/src/components/extent/VcsExtent.vue +1 -1
  145. package/src/components/extent/VcsExtentEditor.vue +1 -0
  146. package/src/components/flight/VcsFlightAnchorsComponent.vue +1 -0
  147. package/src/components/flight/VcsFlightComponent.vue +1 -1
  148. package/src/components/flight/VcsFlightEditor.vue +1 -0
  149. package/src/components/flight/VcsFlightPlayer.vue +1 -1
  150. package/src/components/form-inputs-controls/VcsLabel.vue +31 -8
  151. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +2 -0
  152. package/src/components/form-inputs-controls/VcsSelect.vue +1 -1
  153. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
  154. package/src/components/form-inputs-controls/VcsTextField.vue +1 -1
  155. package/src/components/form-inputs-controls/VcsWizard.vue +1 -1
  156. package/src/components/form-inputs-controls/VcsWizardStep.vue +1 -0
  157. package/src/components/form-output/VcsMarkdown.vue +1 -1
  158. package/src/components/import/VcsFileDrop.vue +1 -1
  159. package/src/components/import/VcsImportComponent.vue +1 -1
  160. package/src/components/lists/VcsListItemComponent.vue +5 -1
  161. package/src/components/lists/VcsTreeview.vue +22 -0
  162. package/src/components/lists/VcsTreeview.vue.d.ts +10 -0
  163. package/src/components/lists/VcsTreeviewSearchbar.vue +1 -1
  164. package/src/components/lists/VcsTreeviewTitle.vue +5 -1
  165. package/src/components/notification/VcsBadge.vue +2 -2
  166. package/src/components/notification/VcsHelp.vue +1 -1
  167. package/src/components/plugins/AbstractConfigEditor.vue +1 -1
  168. package/src/components/section/VcsExpansionPanel.vue +5 -1
  169. package/src/components/style/MenuWrapper.vue +1 -1
  170. package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
  171. package/src/components/style/VcsFillMenu.vue +1 -0
  172. package/src/components/style/VcsFillSelector.vue +1 -0
  173. package/src/components/style/VcsImageMenu.vue +1 -0
  174. package/src/components/style/VcsImageSelector.vue +1 -1
  175. package/src/components/style/VcsStrokeMenu.vue +1 -0
  176. package/src/components/style/VcsStrokeSelector.vue +1 -1
  177. package/src/components/style/VcsTextMenu.vue +1 -0
  178. package/src/components/style/VcsTextSelector.vue +1 -1
  179. package/src/components/style/VcsVectorStyleComponent.vue +1 -1
  180. package/src/components/tables/VcsDataTable.vue +1 -1
  181. package/src/components/tables/VcsTable.vue +1 -0
  182. package/src/components/tables/VcsTableCell.vue +1 -1
  183. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +18 -35
  184. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +5 -3
  185. package/src/components/vector-properties/VcsFeatureTransforms.vue +1 -1
  186. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +37 -12
  187. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +3 -2
  188. package/src/components/viewpoint/VcsViewpointComponent.vue +1 -1
  189. package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
  190. package/src/contentTree/LayerTree.vue +1 -1
  191. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  192. package/src/contentTree/layerContentTreeItem.js +48 -34
  193. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  194. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  195. package/src/featureInfo/AddressBalloonComponent.vue +1 -1
  196. package/src/featureInfo/BalloonComponent.vue +1 -1
  197. package/src/featureInfo/IframeComponent.vue +6 -1
  198. package/src/featureInfo/MarkdownBalloonComponent.vue +1 -1
  199. package/src/featureInfo/balloonHelper.js +1 -1
  200. package/src/i18n/de.d.ts +5 -0
  201. package/src/i18n/de.js +7 -2
  202. package/src/i18n/en.d.ts +5 -0
  203. package/src/i18n/en.js +6 -1
  204. package/src/legend/StyleLegendItem.vue +1 -1
  205. package/src/legend/VcsLegend.vue +1 -1
  206. package/src/manager/collectionManager/CollectionComponent.vue +1 -0
  207. package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
  208. package/src/manager/panel/PanelManagerComponent.vue +2 -2
  209. package/src/manager/toolbox/GroupToolboxComponent.vue +2 -2
  210. package/src/manager/toolbox/SelectToolboxComponent.vue +2 -2
  211. package/src/manager/toolbox/ToolboxManagerComponent.vue +12 -1
  212. package/src/manager/window/WindowComponent.vue +1 -1
  213. package/src/manager/window/WindowManager.vue +4 -1
  214. package/src/navigation/MapNavigation.vue +4 -1
  215. package/src/navigation/ObliqueRotation.vue +2 -2
  216. package/src/navigation/OrientationToolsButton.vue +1 -1
  217. package/src/navigation/TiltSlider.vue +1 -0
  218. package/src/navigation/VcsCompass.vue +1 -1
  219. package/src/navigation/VcsZoomButton.vue +1 -1
  220. package/src/navigation/locatorHelper.js +3 -21
  221. package/src/notifier/NotifierComponent.vue +1 -1
  222. package/src/search/ResultItem.vue +1 -1
  223. package/src/search/ResultsComponent.vue +1 -1
  224. package/src/search/SearchComponent.vue +3 -1
  225. package/src/uiConfig.d.ts +13 -4
  226. package/src/uiConfig.js +3 -2
  227. package/src/vcsUiApp.d.ts +30 -30
  228. package/src/vcsUiApp.js +32 -30
  229. package/dist/assets/ui-5dda32d2.css +0 -1
  230. /package/dist/assets/{vue-87bc6efe.js → vue-43880c5a.js} +0 -0
  231. /package/dist/assets/{vuetify-4c4e4217.css → vuetify-99bf601c.css} +0 -0
package/dist/assets/ui.js CHANGED
@@ -1 +1 @@
1
- export * from "./ui-5dda32d2.js";
1
+ export * from "./ui-bf3d1f84.js";
@@ -1 +1 @@
1
- export * from "./vue-87bc6efe.js";
1
+ export * from "./vue-43880c5a.js";
@@ -10,7 +10,7 @@ function loadCss(href) {
10
10
  elem.onerror = reject;
11
11
  document.head.appendChild(elem);
12
12
  });
13
- } await loadCss('./assets/vuetify-4c4e4217.css');import { watch as Z, onScopeDispose as tt, effectScope as Ul, shallowRef as K, Fragment as le, reactive as gt, computed as y, watchEffect as Le, toRefs as Wt, capitalize as On, isVNode as Lc, Comment as Rc, unref as it, warn as Ha, getCurrentInstance as Nc, ref as W, provide as Be, inject as be, defineComponent as Hc, camelize as Ir, h as jt, toRaw as _e, createVNode as r, mergeProps as N, onBeforeUnmount as nt, readonly as Kl, onDeactivated as _r, onActivated as zc, onMounted as Ge, nextTick as we, TransitionGroup as ql, Transition as Ht, isRef as _n, toRef as O, onBeforeMount as Tr, withDirectives as $e, resolveDirective as ct, vShow as xt, onUpdated as Wc, Text as jc, resolveDynamicComponent as Yc, markRaw as Gc, Teleport as Uc, cloneVNode as Kc, createTextVNode as Pt, onUnmounted as qc, onBeforeUpdate as Xc, withModifiers as Pl, toDisplayString as Zc, vModelText as Qc, resolveComponent as Jc, render as Ar } from "./vue-87bc6efe.js";
13
+ } await loadCss('./assets/vuetify-99bf601c.css');import { watch as Z, onScopeDispose as tt, effectScope as Ul, shallowRef as K, Fragment as le, reactive as gt, computed as y, watchEffect as Le, toRefs as Wt, capitalize as On, isVNode as Lc, Comment as Rc, unref as it, warn as Ha, getCurrentInstance as Nc, ref as W, provide as Be, inject as be, defineComponent as Hc, camelize as Ir, h as jt, toRaw as _e, createVNode as r, mergeProps as N, onBeforeUnmount as nt, readonly as Kl, onDeactivated as _r, onActivated as zc, onMounted as Ge, nextTick as we, TransitionGroup as ql, Transition as Ht, isRef as _n, toRef as O, onBeforeMount as Tr, withDirectives as $e, resolveDirective as ct, vShow as xt, onUpdated as Wc, Text as jc, resolveDynamicComponent as Yc, markRaw as Gc, Teleport as Uc, cloneVNode as Kc, createTextVNode as Pt, onUnmounted as qc, onBeforeUpdate as Xc, withModifiers as Pl, toDisplayString as Zc, vModelText as Qc, resolveComponent as Jc, render as Ar } from "./vue-43880c5a.js";
14
14
  function ot(e, n) {
15
15
  let t;
16
16
  function a() {
@@ -1 +1 @@
1
- export * from "./vuetify-4c4e4217.js";
1
+ export * from "./vuetify-99bf601c.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/ui",
3
- "version": "6.0.0-rc.6",
3
+ "version": "6.0.0-rc.8",
4
4
  "author": "Virtual City Systems",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -56,8 +56,8 @@
56
56
  "vue-i18n": "^9.13.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@vcmap-cesium/engine": "^10.0.1",
60
- "@vcmap/core": "^6.0.0-rc.5",
59
+ "@vcmap-cesium/engine": "^11.0.2",
60
+ "@vcmap/core": "^6.0.0-rc.8",
61
61
  "ol": "^10.0.0",
62
62
  "vue": "~3.4.38",
63
63
  "vuetify": "^3.7.1"
@@ -41,9 +41,9 @@
41
41
  </v-col>
42
42
  </v-row>
43
43
  <v-row no-gutters>
44
- <v-col>
44
+ <v-col cols="6">
45
45
  <VcsLabel :disabled="disabled" html-for="conditionalInput">
46
- ConditionalInput
46
+ Conditional Input with long label
47
47
  </VcsLabel>
48
48
  </v-col>
49
49
  <v-col>
@@ -39,10 +39,9 @@
39
39
  parentId: name,
40
40
  slot: WindowSlot.DYNAMIC_CHILD,
41
41
  props: {
42
- getConfig: () =>
43
- Promise.resolve(
44
- vcsApp.plugins.getSerializedByKey(plugin.name),
45
- ),
42
+ getConfig: () => {
43
+ return vcsApp.plugins.getSerializedByKey(plugin.name);
44
+ },
46
45
  setConfig(config) {
47
46
  if (config) {
48
47
  vcsApp.notifier.add({
@@ -13,7 +13,7 @@
13
13
  <v-icon
14
14
  v-if="module.description && toggleable"
15
15
  right
16
- v-bind="{ ...$attrs, ...props }"
16
+ v-bind="{ ...$attrs, ...$props }"
17
17
  >
18
18
  mdi-help-circle
19
19
  </v-icon>
@@ -0,0 +1,420 @@
1
+ <script setup>
2
+ import {
3
+ inject,
4
+ computed,
5
+ shallowRef,
6
+ onUnmounted,
7
+ ref,
8
+ onMounted,
9
+ provide,
10
+ } from 'vue';
11
+ import { unByKey } from 'ol/Observable';
12
+ import { Viewpoint, VectorProperties } from '@vcmap/core';
13
+ import { VcsFormSection, VcsFormButton } from '@vcmap/ui';
14
+ import { VContainer, VRow, VCol, VDivider } from 'vuetify/components';
15
+ import { name } from '../package.json';
16
+ import {
17
+ getArrowFeature,
18
+ getCircleFeature,
19
+ getGeometryCollectionFeature,
20
+ getLabelFeature,
21
+ getLineStringFeature,
22
+ getLineStringsFeature,
23
+ getModelFeature,
24
+ getPointFeature,
25
+ getPointsFeature,
26
+ getPolygonFeature,
27
+ getPolygonsFeature,
28
+ getPrimitiveFeature,
29
+ getTiltedLineStringFeature,
30
+ getTiltedPolygonFeature,
31
+ } from './lib.js';
32
+ import LayoutHandler from './LayoutHandler.vue';
33
+
34
+ /** @type {import("@vcmap/ui").VcsUiApp} */
35
+ const vcsApp = inject('vcsApp');
36
+ const { layer } = vcsApp.plugins.getByKey(name);
37
+ const features = shallowRef(layer.getFeatures());
38
+ provide('features', features);
39
+ /** @type {import("ol/source").Vector} */
40
+ const source = layer.getSource();
41
+
42
+ const props = defineProps({
43
+ featureProperties: {
44
+ type: Object,
45
+ required: true,
46
+ },
47
+ });
48
+
49
+ const sourceListeners = [
50
+ source.on('addfeature', ({ feature }) => {
51
+ new VectorProperties({}).setValuesForFeatures(props.featureProperties, [
52
+ feature,
53
+ ]);
54
+ features.value = layer.getFeatures();
55
+ }),
56
+ source.on('removefeature', () => {
57
+ features.value = layer.getFeatures();
58
+ }),
59
+ ];
60
+
61
+ const layout = ref('XYZ');
62
+
63
+ const primitive = computed({
64
+ get() {
65
+ return features.value.some((f) => f.getId() === 'Primitive');
66
+ },
67
+ set(value) {
68
+ if (value && !primitive.value) {
69
+ layer.addFeatures([getPrimitiveFeature(layout.value)]);
70
+ } else if (primitive.value) {
71
+ source.removeFeature(source.getFeatureById('Primitive'));
72
+ }
73
+ },
74
+ });
75
+
76
+ const model = computed({
77
+ get() {
78
+ return features.value.some((f) => f.getId() === 'Model');
79
+ },
80
+ set(value) {
81
+ if (value && !model.value) {
82
+ layer.addFeatures([getModelFeature(layout.value)]);
83
+ } else if (model.value) {
84
+ source.removeFeature(source.getFeatureById('Model'));
85
+ }
86
+ },
87
+ });
88
+
89
+ const label = computed({
90
+ get() {
91
+ return features.value.some((f) => f.getId() === 'Label');
92
+ },
93
+ set(value) {
94
+ if (value && !label.value) {
95
+ layer.addFeatures([getLabelFeature(layout.value)]);
96
+ } else if (label.value) {
97
+ source.removeFeature(source.getFeatureById('Label'));
98
+ }
99
+ },
100
+ });
101
+
102
+ const arrow = computed({
103
+ get() {
104
+ return features.value.some((f) => f.getId() === 'Arrow');
105
+ },
106
+ set(value) {
107
+ if (value && !arrow.value) {
108
+ layer.addFeatures([getArrowFeature(layout.value)]);
109
+ } else if (arrow.value) {
110
+ source.removeFeature(source.getFeatureById('Arrow'));
111
+ }
112
+ },
113
+ });
114
+
115
+ const circle = computed({
116
+ get() {
117
+ return features.value.some((f) => f.getId() === 'Circle');
118
+ },
119
+ set(value) {
120
+ if (value && !circle.value) {
121
+ layer.addFeatures([getCircleFeature(layout.value)]);
122
+ } else if (circle.value) {
123
+ source.removeFeature(source.getFeatureById('Circle'));
124
+ }
125
+ },
126
+ });
127
+
128
+ const point = computed({
129
+ get() {
130
+ return features.value.some((f) => f.getId() === 'Point');
131
+ },
132
+ set(value) {
133
+ if (value && !point.value) {
134
+ layer.addFeatures([getPointFeature(layout.value)]);
135
+ } else if (point.value) {
136
+ source.removeFeature(source.getFeatureById('Point'));
137
+ }
138
+ },
139
+ });
140
+
141
+ const points = computed({
142
+ get() {
143
+ return features.value.some((f) => f.getId() === 'Points');
144
+ },
145
+ set(value) {
146
+ if (value && !points.value) {
147
+ layer.addFeatures([getPointsFeature(layout.value)]);
148
+ } else if (points.value) {
149
+ source.removeFeature(source.getFeatureById('Points'));
150
+ }
151
+ },
152
+ });
153
+
154
+ const lineString = computed({
155
+ get() {
156
+ return features.value.some((f) => f.getId() === 'LineString');
157
+ },
158
+ set(value) {
159
+ if (value && !lineString.value) {
160
+ layer.addFeatures([getLineStringFeature(layout.value)]);
161
+ } else if (lineString.value) {
162
+ source.removeFeature(source.getFeatureById('LineString'));
163
+ }
164
+ },
165
+ });
166
+
167
+ const lineStrings = computed({
168
+ get() {
169
+ return features.value.some((f) => f.getId() === 'LineStrings');
170
+ },
171
+ set(value) {
172
+ if (value && !lineStrings.value) {
173
+ layer.addFeatures([getLineStringsFeature(layout.value)]);
174
+ } else if (lineStrings.value) {
175
+ source.removeFeature(source.getFeatureById('LineStrings'));
176
+ }
177
+ },
178
+ });
179
+
180
+ const polygon = computed({
181
+ get() {
182
+ return features.value.some((f) => f.getId() === 'Polygon');
183
+ },
184
+ set(value) {
185
+ if (value && !polygon.value) {
186
+ layer.addFeatures([getPolygonFeature(layout.value)]);
187
+ } else if (polygon.value) {
188
+ source.removeFeature(source.getFeatureById('Polygon'));
189
+ }
190
+ },
191
+ });
192
+
193
+ const polygons = computed({
194
+ get() {
195
+ return features.value.some((f) => f.getId() === 'Polygons');
196
+ },
197
+ set(value) {
198
+ if (value && !polygons.value) {
199
+ layer.addFeatures([getPolygonsFeature(layout.value)]);
200
+ } else if (polygons.value) {
201
+ source.removeFeature(source.getFeatureById('Polygons'));
202
+ }
203
+ },
204
+ });
205
+
206
+ const geometryCollection = computed({
207
+ get() {
208
+ return features.value.some((f) => f.getId() === 'GeometryCollection');
209
+ },
210
+ set(value) {
211
+ if (value && !geometryCollection.value) {
212
+ layer.addFeatures([getGeometryCollectionFeature(layout.value)]);
213
+ } else if (geometryCollection.value) {
214
+ source.removeFeature(source.getFeatureById('GeometryCollection'));
215
+ }
216
+ },
217
+ });
218
+
219
+ const tiltedPolygon = computed({
220
+ get() {
221
+ return features.value.some((f) => f.getId() === 'TiltedPolygon');
222
+ },
223
+ set(value) {
224
+ if (value && !geometryCollection.value) {
225
+ layer.addFeatures([getTiltedPolygonFeature(layout.value)]);
226
+ } else if (geometryCollection.value) {
227
+ source.removeFeature(source.getFeatureById('TiltedPolygon'));
228
+ }
229
+ },
230
+ });
231
+
232
+ const tiltedLineString = computed({
233
+ get() {
234
+ return features.value.some((f) => f.getId() === 'TiltedLineString');
235
+ },
236
+ set(value) {
237
+ if (value && !geometryCollection.value) {
238
+ layer.addFeatures([getTiltedLineStringFeature(layout.value)]);
239
+ } else if (geometryCollection.value) {
240
+ source.removeFeature(source.getFeatureById('TiltedLineString'));
241
+ }
242
+ },
243
+ });
244
+
245
+ const reset = {
246
+ name: 'reset',
247
+ icon: '$vcsReturn',
248
+ callback() {
249
+ layer.removeAllFeatures();
250
+ layer.addFeatures([
251
+ getPrimitiveFeature(),
252
+ getModelFeature(),
253
+ getCircleFeature(),
254
+ getPointFeature(),
255
+ getLineStringFeature(),
256
+ getPolygonFeature(),
257
+ ]);
258
+ },
259
+ };
260
+
261
+ const goToDefaultViewpoint = {
262
+ name: 'defaultVP',
263
+ icon: 'mdi-target',
264
+ callback() {
265
+ vcsApp.maps.activeMap.gotoViewpoint(
266
+ new Viewpoint({
267
+ cameraPosition: [
268
+ 13.367898854716408, 52.514030248633524, 1546.0176382209434,
269
+ ],
270
+ groundPosition: [
271
+ 13.367898854716412, 52.51403023793378, 33.15479339682457,
272
+ ],
273
+ distance: 1512.862844824798,
274
+ heading: 360,
275
+ pitch: -90,
276
+ roll: 0,
277
+ }),
278
+ );
279
+ },
280
+ };
281
+
282
+ onMounted(() => {
283
+ goToDefaultViewpoint.callback();
284
+ });
285
+
286
+ onUnmounted(() => {
287
+ unByKey(sourceListeners);
288
+ });
289
+ </script>
290
+
291
+ <template>
292
+ <VcsFormSection
293
+ heading="Geometry Settings"
294
+ expandable
295
+ :header-actions="[goToDefaultViewpoint, reset]"
296
+ >
297
+ <v-container class="pa-2">
298
+ <v-row no-gutters>
299
+ <v-col>
300
+ <VcsFormButton
301
+ @click="primitive = !primitive"
302
+ :active="primitive"
303
+ icon="$vcsCone"
304
+ />
305
+ </v-col>
306
+ <v-col>
307
+ <VcsFormButton
308
+ @click="model = !model"
309
+ :active="model"
310
+ icon="mdi-human"
311
+ />
312
+ </v-col>
313
+ <v-col>
314
+ <VcsFormButton
315
+ @click="arrow = !arrow"
316
+ :active="arrow"
317
+ icon="mdi-arrow-left-right"
318
+ />
319
+ </v-col>
320
+ <v-col>
321
+ <VcsFormButton
322
+ @click="label = !label"
323
+ :active="label"
324
+ icon="mdi-text"
325
+ />
326
+ </v-col>
327
+ </v-row>
328
+ <v-divider class="my-2" />
329
+ <v-row no-gutters>
330
+ <v-col>
331
+ <VcsFormButton
332
+ @click="circle = !circle"
333
+ :active="circle"
334
+ icon="$vcsCircle"
335
+ />
336
+ </v-col>
337
+ <v-col>
338
+ <VcsFormButton
339
+ @click="lineString = !lineString"
340
+ :active="lineString"
341
+ icon="$vcsLine"
342
+ />
343
+ </v-col>
344
+ <v-col>
345
+ <VcsFormButton
346
+ @click="polygon = !polygon"
347
+ :active="polygon"
348
+ icon="$vcsTriangle"
349
+ />
350
+ </v-col>
351
+ <v-col>
352
+ <VcsFormButton
353
+ @click="point = !point"
354
+ :active="point"
355
+ icon="$vcsPoint"
356
+ />
357
+ </v-col>
358
+ </v-row>
359
+ <v-divider class="my-2" />
360
+ <v-row no-gutters>
361
+ <v-col>
362
+ <VcsFormButton
363
+ @click="geometryCollection = !geometryCollection"
364
+ :active="geometryCollection"
365
+ icon="$vcsShapes"
366
+ />
367
+ </v-col>
368
+ <v-col>
369
+ <VcsFormButton
370
+ @click="lineStrings = !lineStrings"
371
+ :active="lineStrings"
372
+ icon="$vcsLine"
373
+ >+</VcsFormButton
374
+ >
375
+ </v-col>
376
+ <v-col>
377
+ <VcsFormButton
378
+ @click="polygons = !polygons"
379
+ :active="polygons"
380
+ icon="$vcsTriangle"
381
+ >+</VcsFormButton
382
+ >
383
+ </v-col>
384
+ <v-col>
385
+ <VcsFormButton
386
+ @click="points = !points"
387
+ :active="points"
388
+ icon="$vcsPoint"
389
+ >+</VcsFormButton
390
+ >
391
+ </v-col>
392
+ </v-row>
393
+ <v-divider class="my-2" />
394
+ <v-row no-gutters>
395
+ <v-col></v-col>
396
+ <v-col>
397
+ <VcsFormButton
398
+ @click="tiltedLineString = !tiltedLineString"
399
+ :active="tiltedLineString"
400
+ icon="$vcsLine"
401
+ >/</VcsFormButton
402
+ >
403
+ </v-col>
404
+ <v-col>
405
+ <VcsFormButton
406
+ @click="tiltedPolygon = !tiltedPolygon"
407
+ :active="tiltedPolygon"
408
+ icon="$vcsTriangle"
409
+ >/</VcsFormButton
410
+ >
411
+ </v-col>
412
+ <v-col />
413
+ </v-row>
414
+ <v-divider class="my-2" />
415
+ <LayoutHandler @layout-changed="layout = $event" />
416
+ </v-container>
417
+ </VcsFormSection>
418
+ </template>
419
+
420
+ <style scoped lang="scss"></style>
@@ -0,0 +1,97 @@
1
+ <script setup>
2
+ import { VCol, VRow, VSwitch } from 'vuetify/components';
3
+ import { computed, shallowRef, inject, onUnmounted, ref } from 'vue';
4
+ import { CesiumMap, from2Dto3DLayout, from3Dto2DLayout } from '@vcmap/core';
5
+ import { HeightReference } from '@vcmap-cesium/engine';
6
+
7
+ /**
8
+ * @type {import("vue").ShallowRef<import("ol").Feature[]>}
9
+ */
10
+ const features = inject('features');
11
+ /**
12
+ * @type {import("@vcmap/ui").VcsUiApp}
13
+ */
14
+ const vcsApp = inject('vcsApp');
15
+
16
+ const cesiumMap = shallowRef(
17
+ vcsApp.maps.activeMap instanceof CesiumMap ? vcsApp.maps.activeMap : null,
18
+ );
19
+
20
+ const mapListener = vcsApp.maps.mapActivated.addEventListener((newMap) => {
21
+ if (newMap instanceof CesiumMap) {
22
+ cesiumMap.value = newMap;
23
+ } else {
24
+ cesiumMap.value = null;
25
+ }
26
+ });
27
+
28
+ const localLayoutValue = ref(
29
+ features.value[0]?.getGeometry().getLayout() ?? 'XYZ',
30
+ );
31
+
32
+ const heightReference = ref(HeightReference.CLAMP_TO_GROUND);
33
+
34
+ const emit = defineEmits(['layoutChanged']);
35
+ emit('layoutChanged', localLayoutValue.value);
36
+
37
+ const layout = computed({
38
+ get() {
39
+ return localLayoutValue.value;
40
+ },
41
+ set(value) {
42
+ if (value === 'XY') {
43
+ features.value.forEach((f) => {
44
+ from3Dto2DLayout(f.getGeometry());
45
+ });
46
+ } else if (cesiumMap.value) {
47
+ features.value.forEach((f) => {
48
+ from2Dto3DLayout(
49
+ f.getGeometry(),
50
+ cesiumMap.value.getScene(),
51
+ heightReference.value,
52
+ );
53
+ });
54
+ }
55
+ localLayoutValue.value = value;
56
+ emit('layoutChanged', localLayoutValue.value);
57
+ },
58
+ });
59
+
60
+ onUnmounted(() => {
61
+ mapListener();
62
+ });
63
+ </script>
64
+
65
+ <template>
66
+ <v-row no-gutters>
67
+ <v-col cols="2" />
68
+ <v-col>
69
+ <v-switch
70
+ false-value="XY"
71
+ true-value="XYZ"
72
+ false-icon="$vcs2d"
73
+ true-icon="$vcs3d"
74
+ :label="layout"
75
+ :disabled="!cesiumMap && layout === 'XY'"
76
+ v-model="layout"
77
+ />
78
+ </v-col>
79
+ <v-col>
80
+ <v-switch
81
+ :false-value="HeightReference.CLAMP_TO_TERRAIN"
82
+ :true-value="HeightReference.CLAMP_TO_GROUND"
83
+ v-model="heightReference"
84
+ false-icon="$vcsGlobalTerrain"
85
+ true-icon="$vcsGlobeNature"
86
+ :label="
87
+ heightReference === HeightReference.CLAMP_TO_GROUND
88
+ ? 'to Ground'
89
+ : 'to Terrain'
90
+ "
91
+ />
92
+ </v-col>
93
+ <v-col cols="2" />
94
+ </v-row>
95
+ </template>
96
+
97
+ <style scoped lang="scss"></style>
@@ -0,0 +1,90 @@
1
+ <script setup>
2
+ import {
3
+ VcsFormSection,
4
+ LayerContentTreeItem,
5
+ VcsTreeview,
6
+ VcsSlider,
7
+ } from '@vcmap/ui';
8
+ import { VContainer, VRow, VCol, VSwitch } from 'vuetify/components';
9
+ import { inject, onUnmounted, ref, watch } from 'vue';
10
+ /** @type {import("@vcmap/ui").VcsUiApp} */
11
+ const vcsApp = inject('vcsApp');
12
+ const terrainLayerItem = new LayerContentTreeItem(
13
+ {
14
+ name: 'terrain',
15
+ layerName: 'GermanyBaseTerrain',
16
+ },
17
+ vcsApp,
18
+ );
19
+
20
+ const meshLayerItem = new LayerContentTreeItem(
21
+ { layerName: 'mesh_surface', name: 'mesh' },
22
+ vcsApp,
23
+ );
24
+
25
+ const [cesiumMap] = vcsApp.maps.getByType('CesiumMap');
26
+ const transparency = ref(null);
27
+ const transparencyEnabled = ref(false);
28
+
29
+ let initialTransparency = false;
30
+ if (cesiumMap) {
31
+ initialTransparency = cesiumMap.getScene().globe.translucency.enabled;
32
+ transparency.value =
33
+ cesiumMap.getScene().globe.translucency.frontFaceAlpha ?? 1;
34
+
35
+ watch(transparency, (value) => {
36
+ cesiumMap.getScene().globe.translucency.frontFaceAlpha = value;
37
+ });
38
+
39
+ watch(transparencyEnabled, (value) => {
40
+ cesiumMap.getScene().globe.translucency.enabled = value;
41
+ });
42
+ }
43
+
44
+ onUnmounted(() => {
45
+ if (initialTransparency != null) {
46
+ cesiumMap.getScene().globe.translucency.enabled = initialTransparency;
47
+ }
48
+ });
49
+ </script>
50
+
51
+ <template>
52
+ <vcs-form-section heading="Terrain Settings" expandable>
53
+ <v-container class="pa-2">
54
+ <v-row no-gutters>
55
+ <v-col>
56
+ <vcs-treeview
57
+ :items="[
58
+ terrainLayerItem.getTreeViewItem(),
59
+ meshLayerItem.getTreeViewItem(),
60
+ ]"
61
+ item-children="visibleChildren"
62
+ ></vcs-treeview>
63
+ </v-col>
64
+ </v-row>
65
+ <template v-if="transparency !== null">
66
+ <v-row class="pa-4"> Globe Transparency </v-row>
67
+ <v-row no-gutters class="d-flex align-content-space-between">
68
+ <v-col cols="2" class="pl-2">
69
+ <v-switch v-model="transparencyEnabled" />
70
+ </v-col>
71
+ <v-col>
72
+ <vcs-slider
73
+ :disabled="!transparencyEnabled"
74
+ :step="0.01"
75
+ type="number"
76
+ :min="0"
77
+ max="1"
78
+ v-model="transparency"
79
+ />
80
+ </v-col>
81
+ <v-col cols="2" class="pl-2">
82
+ {{ transparency }}
83
+ </v-col>
84
+ </v-row>
85
+ </template>
86
+ </v-container>
87
+ </vcs-form-section>
88
+ </template>
89
+
90
+ <style scoped lang="scss"></style>