@vcmap/ui 5.3.7 → 6.0.0-rc.10

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 (807) hide show
  1. package/build/build.js +66 -64
  2. package/build/buildHelpers.js +69 -21
  3. package/build/buildTypes.js +22 -0
  4. package/build/bundle.js +1 -1
  5. package/build/commonViteConfig.js +7 -10
  6. package/build/generateOLLib.js +5 -1
  7. package/build/info/conf.json +1 -1
  8. package/build/info/publish.js +27 -33
  9. package/build/lintTypes.js +10 -0
  10. package/build/staging/Dockerfile +1 -1
  11. package/config/aerowest.config.json +12 -2
  12. package/config/base.config.json +25 -17
  13. package/config/dev.config.json +174 -10
  14. package/config/projects.config.json +3 -1
  15. package/config/solar.config.json +65 -0
  16. package/config/splashscreen.config.json +45 -0
  17. package/config/theming.config.json +68 -0
  18. package/config/www.config.json +38 -22
  19. package/dist/.htaccess +7 -0
  20. package/dist/assets/@mdi/font/README.md +25 -0
  21. package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
  22. package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  23. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  24. package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
  25. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  26. package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-2LOWCAMW.js} +14 -14
  27. package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-2PTKXHJB.js} +12 -12
  28. package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-3HQMMUPU.js} +1 -1
  29. package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-3IFRSGEY.js} +11 -13
  30. package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-44QAAS4P.js} +11 -9
  31. package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-56EDBCGT.js} +33 -22
  32. package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-57H6I3SV.js} +5 -5
  33. package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-6SQMLVGV.js} +5206 -3483
  34. package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-7YIOHQWH.js} +16 -16
  35. package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-7ZZ5LMZY.js} +17 -16
  36. package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-BVKITG4N.js} +11 -8
  37. package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-C3EQ27WF.js} +7 -7
  38. package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-C4WPMOKT.js} +6 -5
  39. package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-EDLRS3AW.js} +6 -6
  40. package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EJVGYGLF.js} +7 -7
  41. package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FFLMY4TE.js} +830 -14
  42. package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-GBT7MJ6X.js} +1 -1
  43. package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-HJMNR3GC.js} +11 -11
  44. package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-HP5XLODI.js} +6 -6
  45. package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-IBRIWOCM.js} +13 -13
  46. package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-IZGUQO6Q.js} +14 -16
  47. package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-IZJ42N4W.js} +230 -20
  48. package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-JBSKHTNX.js} +4 -4
  49. package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-JISPSEF3.js} +4 -4
  50. package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-JSQJDZI4.js} +16 -12
  51. package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-JXVLNVXC.js} +10 -12
  52. package/dist/assets/cesium/Workers/chunk-KHZNBFOH.js +963 -0
  53. package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-L5GODJAR.js} +15 -17
  54. package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-LJ2JQHJT.js} +13 -8
  55. package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-LLAF3CPH.js} +2 -2
  56. package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-M24KHENR.js} +95 -155
  57. package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-NDDI2LWR.js} +6 -6
  58. package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-NGZJIN5Z.js} +4 -4
  59. package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-O72GZTSE.js} +2 -2
  60. package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-OPP2SKMA.js} +12 -12
  61. package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-P6TRGU3S.js} +2 -2
  62. package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QN6TBED4.js} +13 -13
  63. package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-QQOZO7KO.js} +10 -10
  64. package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-RJM36CNY.js} +6 -6
  65. package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-RTJKHZWU.js} +6 -6
  66. package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-TI3TRKIC.js} +425 -489
  67. package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-TK5IIG2F.js} +5 -7
  68. package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-U5HSOKPQ.js} +1 -1
  69. package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-WGDFYAGC.js} +5 -6
  70. package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-X7IQYYHF.js} +2 -2
  71. package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-XIUSRWL6.js} +9 -5
  72. package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-XWOUPGUF.js} +1 -1
  73. package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-YCDZX5LS.js} +3 -5
  74. package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-YK3QIKY7.js} +12 -14
  75. package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-YSIJTJ7N.js} +5 -5
  76. package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-Z2QP3CXW.js} +2 -2
  77. package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-ZVUUPJEM.js} +22 -22
  78. package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
  79. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
  80. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
  81. package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
  82. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
  83. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
  84. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
  85. package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
  86. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
  87. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
  88. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
  89. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
  90. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
  91. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
  92. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
  93. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
  94. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
  95. package/dist/assets/cesium/Workers/createGeometry.js +52 -33
  96. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
  97. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
  98. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
  99. package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
  100. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
  101. package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
  102. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
  103. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
  104. package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
  105. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
  106. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
  107. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
  108. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
  109. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  110. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
  111. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
  112. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  113. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
  114. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
  115. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
  116. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +29 -26
  117. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
  118. package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
  119. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
  120. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  121. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +35 -19
  122. package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
  123. package/dist/assets/cesium/Workers/transcodeKTX2.js +58 -93
  124. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  125. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
  126. package/dist/assets/{cesium.0cabe2.js → cesium-9ea5ba6e.js} +54060 -48818
  127. package/dist/assets/cesium.js +1 -1
  128. package/dist/assets/{core.7122ed.js → core-9b003470.js} +7112 -5644
  129. package/dist/assets/core.js +1 -1
  130. package/dist/assets/{ol.086f00.js → ol-8373d6ac.js} +42074 -43270
  131. package/dist/assets/ol.js +1 -1
  132. package/dist/assets/ui-163311a7.css +1 -0
  133. package/dist/assets/ui-163311a7.js +35745 -0
  134. package/dist/assets/ui.js +1 -1
  135. package/dist/assets/vue-0f6dd813.js +6083 -0
  136. package/dist/assets/vue.js +1 -5
  137. package/dist/assets/vuetify-e2c4b35c.css +5 -0
  138. package/dist/assets/vuetify-e2c4b35c.js +24480 -0
  139. package/dist/assets/vuetify.js +1 -5
  140. package/dist/index.html +11 -11
  141. package/index.d.ts +53 -23
  142. package/index.html +5 -5
  143. package/index.js +29 -38
  144. package/lib/olLib.js +90 -23
  145. package/lib/vue.js +0 -1
  146. package/lib/vuetify.js +1 -2
  147. package/lib/vuetifyLib.js +6 -0
  148. package/package.json +38 -27
  149. package/plugins/@vcmap-show-case/buttons-example/package.json +2 -2
  150. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +57 -61
  151. package/plugins/@vcmap-show-case/buttons-example/src/index.js +1 -1
  152. package/plugins/@vcmap-show-case/category-tester/package.json +2 -2
  153. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +12 -6
  154. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +4 -4
  155. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +4 -4
  156. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +11 -7
  157. package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +2 -2
  158. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  159. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  160. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  161. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  162. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  163. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  164. package/plugins/@vcmap-show-case/extent-example/README.md +1 -1
  165. package/plugins/@vcmap-show-case/extent-example/src/index.js +11 -20
  166. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +44 -4
  167. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +160 -168
  168. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
  169. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +9 -10
  170. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +1 -1
  171. package/plugins/@vcmap-show-case/icons-example/src/AllIconsComponent.vue +1 -1
  172. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +71 -88
  173. package/plugins/@vcmap-show-case/notifier-tester/src/NotifierTester.vue +4 -6
  174. package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +3 -4
  175. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +14 -11
  176. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -15
  177. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +10 -16
  178. package/plugins/@vcmap-show-case/search-example/package.json +5 -0
  179. package/plugins/@vcmap-show-case/search-example/src/index.js +76 -0
  180. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +129 -0
  181. package/plugins/@vcmap-show-case/simple-graph/src/SimpleGraphComponent.vue +1 -1
  182. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +30 -91
  183. package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +32 -16
  184. package/plugins/@vcmap-show-case/textfields-example/src/TextfieldsExample.vue +7 -1
  185. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  186. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  187. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  188. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  189. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +1 -1
  190. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  191. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  192. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  193. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  194. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +87 -71
  195. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  196. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  197. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +4 -4
  198. package/plugins/@vcmap-show-case/window-tester/src/BrokenWindow.vue +17 -0
  199. package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +1 -1
  200. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +10 -0
  201. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +1 -1
  202. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +1 -1
  203. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
  204. package/plugins/package.json +23 -21
  205. package/public/assets/@mdi/font/README.md +25 -0
  206. package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
  207. package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  208. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  209. package/src/actions/StyleSelector.vue +39 -53
  210. package/src/actions/StyleSelector.vue.d.ts +11 -9
  211. package/src/actions/actionHelper.d.ts +4 -11
  212. package/src/actions/actionHelper.js +41 -33
  213. package/src/actions/extentActions.d.ts +1 -2
  214. package/src/actions/extentActions.js +19 -8
  215. package/src/actions/flightActions.js +52 -31
  216. package/src/actions/listActions.d.ts +5 -12
  217. package/src/actions/listActions.js +8 -24
  218. package/src/actions/stateRefAction.js +5 -5
  219. package/src/application/VcsApp.vue +199 -97
  220. package/src/application/VcsApp.vue.d.ts +314 -9
  221. package/src/application/VcsAppWrapper.vue +2 -2
  222. package/src/application/VcsAppWrapper.vue.d.ts +2 -2
  223. package/src/application/VcsAttributions.vue +17 -32
  224. package/src/application/VcsAttributions.vue.d.ts +7 -7
  225. package/src/application/VcsAttributionsFooter.vue +28 -18
  226. package/src/application/VcsAttributionsFooter.vue.d.ts +3 -3
  227. package/src/application/VcsContainer.vue +38 -15
  228. package/src/application/VcsContainer.vue.d.ts +251 -2
  229. package/src/application/VcsMainMap.vue +12 -9
  230. package/src/application/VcsMainMap.vue.d.ts +3 -3
  231. package/src/application/VcsMap.vue +22 -23
  232. package/src/application/VcsMap.vue.d.ts +2 -2
  233. package/src/application/VcsNavbar.vue +74 -58
  234. package/src/application/VcsNavbar.vue.d.ts +12 -8
  235. package/src/application/VcsPositionDisplay.vue +34 -62
  236. package/src/application/VcsPositionDisplay.vue.d.ts +3 -4
  237. package/src/application/VcsSettings.vue +30 -25
  238. package/src/application/VcsSettings.vue.d.ts +2 -1
  239. package/src/application/VcsSplashScreen.vue +43 -56
  240. package/src/application/VcsSplashScreen.vue.d.ts +6 -8
  241. package/src/application/VcsTextPage.vue +13 -44
  242. package/src/application/VcsTextPage.vue.d.ts +4 -8
  243. package/src/application/VcsTextPageFooter.vue +26 -41
  244. package/src/application/VcsTextPageFooter.vue.d.ts +2 -2
  245. package/src/application/attributionsHelper.d.ts +22 -24
  246. package/src/application/attributionsHelper.js +23 -19
  247. package/src/callback/vcsCallback.d.ts +2 -2
  248. package/src/callback/vcsCallback.js +1 -1
  249. package/src/components/ImageElementInjector.vue.d.ts +2 -2
  250. package/src/components/attrsHelpers.d.ts +5 -0
  251. package/src/components/attrsHelpers.js +14 -0
  252. package/src/components/buttons/VcsActionButtonList.vue +62 -20
  253. package/src/components/buttons/VcsActionButtonList.vue.d.ts +22 -3
  254. package/src/components/buttons/VcsButton.vue +76 -89
  255. package/src/components/buttons/VcsButton.vue.d.ts +19 -34
  256. package/src/components/buttons/VcsFormButton.vue +77 -125
  257. package/src/components/buttons/VcsFormButton.vue.d.ts +10 -43
  258. package/src/components/buttons/VcsToolButton.vue +93 -94
  259. package/src/components/buttons/VcsToolButton.vue.d.ts +21 -28
  260. package/src/components/composables.d.ts +26 -0
  261. package/src/components/composables.js +133 -0
  262. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue +30 -22
  263. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue.d.ts +11 -7
  264. package/src/components/extent/VcsExtentEditor.vue +80 -0
  265. package/src/components/extent/VcsExtentEditor.vue.d.ts +37 -0
  266. package/src/components/flight/VcsFlightAnchorsComponent.vue +68 -35
  267. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +6 -6
  268. package/src/components/flight/VcsFlightComponent.vue +27 -31
  269. package/src/components/flight/VcsFlightComponent.vue.d.ts +5 -4
  270. package/src/components/flight/VcsFlightEditor.vue +1 -0
  271. package/src/components/flight/VcsFlightEditor.vue.d.ts +2 -2
  272. package/src/components/flight/VcsFlightPlayer.vue +47 -20
  273. package/src/components/flight/VcsFlightPlayer.vue.d.ts +3 -3
  274. package/src/components/form-inputs-controls/VcsCheckbox.vue +77 -82
  275. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +23 -4
  276. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +130 -122
  277. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +17 -23
  278. package/src/components/form-inputs-controls/VcsCoordinate.vue +43 -41
  279. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +14 -12
  280. package/src/components/form-inputs-controls/VcsDatePicker.vue +66 -105
  281. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +13 -13
  282. package/src/components/form-inputs-controls/VcsFileInput.vue +99 -0
  283. package/src/components/{notification/VcsTooltip.vue.d.ts → form-inputs-controls/VcsFileInput.vue.d.ts} +7 -6
  284. package/src/components/form-inputs-controls/VcsLabel.vue +72 -30
  285. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +33 -11
  286. package/src/components/form-inputs-controls/VcsRadio.vue +94 -102
  287. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +37 -9
  288. package/src/components/form-inputs-controls/VcsSelect.vue +175 -156
  289. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +40 -10
  290. package/src/components/form-inputs-controls/VcsSlider.vue +110 -53
  291. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +30 -1
  292. package/src/components/form-inputs-controls/VcsTextArea.vue +141 -143
  293. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +14 -10
  294. package/src/components/form-inputs-controls/VcsTextField.vue +121 -274
  295. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +38 -26
  296. package/src/components/form-inputs-controls/VcsWizard.vue +88 -117
  297. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
  298. package/src/components/form-inputs-controls/VcsWizardStep.vue +80 -60
  299. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +26 -13
  300. package/src/components/form-inputs-controls/vcsTextField.scss +86 -0
  301. package/src/components/form-output/VcsFormattedNumber.vue +54 -29
  302. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +30 -20
  303. package/src/components/form-output/VcsMarkdown.vue +56 -0
  304. package/src/components/form-output/VcsMarkdown.vue.d.ts +17 -0
  305. package/src/components/form-output/markdownHelper.d.ts +30 -0
  306. package/src/components/form-output/markdownHelper.js +398 -0
  307. package/src/components/icons/+all.js +1 -1
  308. package/src/components/icons/2DAreaIcon.vue +1 -7
  309. package/src/components/icons/2DAreaIcon.vue.d.ts +1 -1
  310. package/src/components/icons/2DDistanceIcon.vue +1 -7
  311. package/src/components/icons/2DDistanceIcon.vue.d.ts +1 -1
  312. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +1 -1
  313. package/src/components/icons/2DPointIcon.vue +0 -1
  314. package/src/components/icons/2DPointIcon.vue.d.ts +1 -1
  315. package/src/components/icons/3DAreaIcon.vue +1 -7
  316. package/src/components/icons/3DAreaIcon.vue.d.ts +1 -1
  317. package/src/components/icons/3DDistanceIcon.vue +1 -7
  318. package/src/components/icons/3DDistanceIcon.vue.d.ts +1 -1
  319. package/src/components/icons/3DHeightIcon.vue +1 -7
  320. package/src/components/icons/3DHeightIcon.vue.d.ts +1 -1
  321. package/src/components/icons/3DPointIcon.vue +0 -1
  322. package/src/components/icons/3DPointIcon.vue.d.ts +1 -1
  323. package/src/components/icons/AngleIcon.vue +1 -6
  324. package/src/components/icons/AngleIcon.vue.d.ts +1 -1
  325. package/src/components/icons/AssociationsIcon.vue +1 -6
  326. package/src/components/icons/AssociationsIcon.vue.d.ts +1 -1
  327. package/src/components/icons/AxisIcon.vue.d.ts +1 -1
  328. package/src/components/icons/BoundingBoxIcon.vue +1 -6
  329. package/src/components/icons/BoundingBoxIcon.vue.d.ts +1 -1
  330. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +1 -1
  331. package/src/components/icons/CheckboxIcon.vue +1 -6
  332. package/src/components/icons/CheckboxIcon.vue.d.ts +1 -1
  333. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +1 -1
  334. package/src/components/icons/CircleIcon.vue +1 -6
  335. package/src/components/icons/CircleIcon.vue.d.ts +1 -1
  336. package/src/components/icons/ClippingHorizontalIcon.vue +1 -6
  337. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +1 -1
  338. package/src/components/icons/ClippingIcon.vue +1 -6
  339. package/src/components/icons/ClippingIcon.vue.d.ts +1 -1
  340. package/src/components/icons/ClippingVerticalIcon.vue +1 -6
  341. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +1 -1
  342. package/src/components/icons/ColorPickerIcon.vue +1 -6
  343. package/src/components/icons/ColorPickerIcon.vue.d.ts +1 -1
  344. package/src/components/icons/ColorSwatchIcon.vue +1 -7
  345. package/src/components/icons/ColorSwatchIcon.vue.d.ts +1 -1
  346. package/src/components/icons/CommentIcon.vue +1 -6
  347. package/src/components/icons/CommentIcon.vue.d.ts +1 -1
  348. package/src/components/icons/CompassIcon.vue +1 -13
  349. package/src/components/icons/CompassIcon.vue.d.ts +1 -1
  350. package/src/components/icons/ComponentsIcon.vue +1 -6
  351. package/src/components/icons/ComponentsIcon.vue.d.ts +1 -1
  352. package/src/components/icons/ComponentsPlusIcon.vue +0 -1
  353. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +1 -1
  354. package/src/components/icons/ConeIcon.vue +1 -13
  355. package/src/components/icons/ConeIcon.vue.d.ts +1 -1
  356. package/src/components/icons/CrosshairIcon.vue +0 -2
  357. package/src/components/icons/CrosshairIcon.vue.d.ts +1 -1
  358. package/src/components/icons/DimensionsHouseIcon.vue +1 -7
  359. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +1 -1
  360. package/src/components/icons/EditIcon.vue +1 -6
  361. package/src/components/icons/EditIcon.vue.d.ts +1 -1
  362. package/src/components/icons/EditVerticesIcon.vue +1 -6
  363. package/src/components/icons/EditVerticesIcon.vue.d.ts +1 -1
  364. package/src/components/icons/ElevationProfileIcon.vue +1 -6
  365. package/src/components/icons/ElevationProfileIcon.vue.d.ts +1 -1
  366. package/src/components/icons/ExportAreaIcon.vue +1 -6
  367. package/src/components/icons/ExportAreaIcon.vue.d.ts +1 -1
  368. package/src/components/icons/ExportFlightIcon.vue +1 -6
  369. package/src/components/icons/ExportFlightIcon.vue.d.ts +1 -1
  370. package/src/components/icons/ExportIcon.vue +1 -13
  371. package/src/components/icons/ExportIcon.vue.d.ts +1 -1
  372. package/src/components/icons/ExternalLinkIcon.vue +1 -6
  373. package/src/components/icons/ExternalLinkIcon.vue.d.ts +1 -1
  374. package/src/components/icons/EyeIcon.vue +1 -6
  375. package/src/components/icons/EyeIcon.vue.d.ts +1 -1
  376. package/src/components/icons/FastForwardIcon.vue +1 -6
  377. package/src/components/icons/FastForwardIcon.vue.d.ts +1 -1
  378. package/src/components/icons/FilterIcon.vue +1 -7
  379. package/src/components/icons/FilterIcon.vue.d.ts +1 -1
  380. package/src/components/icons/GlobalTerrainIcon.vue +1 -6
  381. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +1 -1
  382. package/src/components/icons/GlobeNatureIcon.vue +1 -6
  383. package/src/components/icons/GlobeNatureIcon.vue.d.ts +1 -1
  384. package/src/components/icons/GroundIcon.vue +1 -6
  385. package/src/components/icons/GroundIcon.vue.d.ts +1 -1
  386. package/src/components/icons/HealthCareIndustriesIcon.vue +1 -6
  387. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +1 -1
  388. package/src/components/icons/HelpIcon.vue +1 -6
  389. package/src/components/icons/HelpIcon.vue.d.ts +1 -1
  390. package/src/components/icons/HideIcon.vue +1 -6
  391. package/src/components/icons/HideIcon.vue.d.ts +1 -1
  392. package/src/components/icons/HomePointIcon.vue +1 -6
  393. package/src/components/icons/HomePointIcon.vue.d.ts +1 -1
  394. package/src/components/icons/HospitalsIcon.vue +1 -6
  395. package/src/components/icons/HospitalsIcon.vue.d.ts +1 -1
  396. package/src/components/icons/HouseIcon.vue +1 -6
  397. package/src/components/icons/HouseIcon.vue.d.ts +1 -1
  398. package/src/components/icons/ImportIcon.vue +1 -7
  399. package/src/components/icons/ImportIcon.vue.d.ts +1 -1
  400. package/src/components/icons/InfoIcon.vue +1 -6
  401. package/src/components/icons/InfoIcon.vue.d.ts +1 -1
  402. package/src/components/icons/KebabIcon.vue +1 -7
  403. package/src/components/icons/KebabIcon.vue.d.ts +1 -1
  404. package/src/components/icons/LabelIcon.vue +1 -13
  405. package/src/components/icons/LabelIcon.vue.d.ts +1 -1
  406. package/src/components/icons/LayersIcon.vue +1 -7
  407. package/src/components/icons/LayersIcon.vue.d.ts +1 -1
  408. package/src/components/icons/LegendIcon.vue +1 -6
  409. package/src/components/icons/LegendIcon.vue.d.ts +1 -1
  410. package/src/components/icons/LineIcon.vue +1 -13
  411. package/src/components/icons/LineIcon.vue.d.ts +1 -1
  412. package/src/components/icons/LinkIcon.vue +1 -6
  413. package/src/components/icons/LinkIcon.vue.d.ts +1 -1
  414. package/src/components/icons/LogoutIcon.vue +1 -6
  415. package/src/components/icons/LogoutIcon.vue.d.ts +1 -1
  416. package/src/components/icons/MapIcon.vue +1 -7
  417. package/src/components/icons/MapIcon.vue.d.ts +1 -1
  418. package/src/components/icons/MenuIcon.vue +1 -7
  419. package/src/components/icons/MenuIcon.vue.d.ts +1 -1
  420. package/src/components/icons/MinusIcon.vue +1 -7
  421. package/src/components/icons/MinusIcon.vue.d.ts +1 -1
  422. package/src/components/icons/MultiViewIcon.vue +1 -7
  423. package/src/components/icons/MultiViewIcon.vue.d.ts +1 -1
  424. package/src/components/icons/ObjectAttributeIcon.vue +1 -7
  425. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +1 -1
  426. package/src/components/icons/ObjectSelectIcon.vue +1 -7
  427. package/src/components/icons/ObjectSelectIcon.vue.d.ts +1 -1
  428. package/src/components/icons/ObliqueViewIcon.vue +1 -7
  429. package/src/components/icons/ObliqueViewIcon.vue.d.ts +1 -1
  430. package/src/components/icons/PdfIcon.vue +1 -7
  431. package/src/components/icons/PdfIcon.vue.d.ts +1 -1
  432. package/src/components/icons/PedestrianIcon.vue +1 -6
  433. package/src/components/icons/PedestrianIcon.vue.d.ts +1 -1
  434. package/src/components/icons/PenIcon.vue +1 -6
  435. package/src/components/icons/PenIcon.vue.d.ts +1 -1
  436. package/src/components/icons/PlayCircleIcon.vue +1 -6
  437. package/src/components/icons/PlayCircleIcon.vue.d.ts +1 -1
  438. package/src/components/icons/PlusIcon.vue +1 -7
  439. package/src/components/icons/PlusIcon.vue.d.ts +1 -1
  440. package/src/components/icons/PoiIcon.vue +1 -6
  441. package/src/components/icons/PoiIcon.vue.d.ts +1 -1
  442. package/src/components/icons/PointIcon.vue +1 -7
  443. package/src/components/icons/PointIcon.vue.d.ts +1 -1
  444. package/src/components/icons/PointMeasurementIcon.vue.d.ts +1 -1
  445. package/src/components/icons/PointSelectIcon.vue +1 -6
  446. package/src/components/icons/PointSelectIcon.vue.d.ts +1 -1
  447. package/src/components/icons/PresentationModeIcon.vue +1 -6
  448. package/src/components/icons/PresentationModeIcon.vue.d.ts +1 -1
  449. package/src/components/icons/ProgressIcon.vue +0 -1
  450. package/src/components/icons/ProgressIcon.vue.d.ts +1 -1
  451. package/src/components/icons/QueryIcon.vue +1 -6
  452. package/src/components/icons/QueryIcon.vue.d.ts +1 -1
  453. package/src/components/icons/RectangleIcon.vue +1 -13
  454. package/src/components/icons/RectangleIcon.vue.d.ts +1 -1
  455. package/src/components/icons/ReturnIcon.vue +1 -6
  456. package/src/components/icons/ReturnIcon.vue.d.ts +1 -1
  457. package/src/components/icons/RewindIcon.vue +1 -6
  458. package/src/components/icons/RewindIcon.vue.d.ts +1 -1
  459. package/src/components/icons/RotateLeftIcon.vue +1 -6
  460. package/src/components/icons/RotateLeftIcon.vue.d.ts +1 -1
  461. package/src/components/icons/RotateRightIcon.vue +1 -6
  462. package/src/components/icons/RotateRightIcon.vue.d.ts +1 -1
  463. package/src/components/icons/ScreenshotIcon.vue +1 -6
  464. package/src/components/icons/ScreenshotIcon.vue.d.ts +1 -1
  465. package/src/components/icons/SearchIcon.vue +1 -6
  466. package/src/components/icons/SearchIcon.vue.d.ts +1 -1
  467. package/src/components/icons/ShadowIcon.vue +1 -7
  468. package/src/components/icons/ShadowIcon.vue.d.ts +1 -1
  469. package/src/components/icons/ShapesIcon.vue +1 -6
  470. package/src/components/icons/ShapesIcon.vue.d.ts +1 -1
  471. package/src/components/icons/ShareIcon.vue +1 -6
  472. package/src/components/icons/ShareIcon.vue.d.ts +1 -1
  473. package/src/components/icons/SimpleCircleFilledIcon.vue +1 -6
  474. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +1 -1
  475. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +1 -6
  476. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +1 -1
  477. package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -6
  478. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +1 -1
  479. package/src/components/icons/SkipNextIcon.vue +1 -6
  480. package/src/components/icons/SkipNextIcon.vue.d.ts +1 -1
  481. package/src/components/icons/SkipPreviousIcon.vue +1 -6
  482. package/src/components/icons/SkipPreviousIcon.vue.d.ts +1 -1
  483. package/src/components/icons/SplitViewIcon.vue +1 -6
  484. package/src/components/icons/SplitViewIcon.vue.d.ts +1 -1
  485. package/src/components/icons/TerrainBoxIcon.vue +1 -6
  486. package/src/components/icons/TerrainBoxIcon.vue.d.ts +1 -1
  487. package/src/components/icons/TextStyleIcon.vue +1 -7
  488. package/src/components/icons/TextStyleIcon.vue.d.ts +1 -1
  489. package/src/components/icons/ThreeDimensionsIcon.vue +1 -6
  490. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +1 -1
  491. package/src/components/icons/ToolsIcon.vue +1 -7
  492. package/src/components/icons/ToolsIcon.vue.d.ts +1 -1
  493. package/src/components/icons/TouchIcon.vue +1 -7
  494. package/src/components/icons/TouchIcon.vue.d.ts +1 -1
  495. package/src/components/icons/TransparentTerrainIcon.vue +0 -1
  496. package/src/components/icons/TransparentTerrainIcon.vue.d.ts +1 -1
  497. package/src/components/icons/TrashCanIcon.vue +1 -7
  498. package/src/components/icons/TrashCanIcon.vue.d.ts +1 -1
  499. package/src/components/icons/TriangleIcon.vue +1 -6
  500. package/src/components/icons/TriangleIcon.vue.d.ts +1 -1
  501. package/src/components/icons/TwoDimensionsIcon.vue +1 -7
  502. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +1 -1
  503. package/src/components/icons/UploadIcon.vue +1 -6
  504. package/src/components/icons/UploadIcon.vue.d.ts +1 -1
  505. package/src/components/icons/UserProfileIcon.vue +1 -7
  506. package/src/components/icons/UserProfileIcon.vue.d.ts +1 -1
  507. package/src/components/icons/UserShareIcon.vue +1 -6
  508. package/src/components/icons/UserShareIcon.vue.d.ts +1 -1
  509. package/src/components/icons/VideoRecorderIcon.vue +1 -6
  510. package/src/components/icons/VideoRecorderIcon.vue.d.ts +1 -1
  511. package/src/components/icons/ViewpointFlightIcon.vue +1 -6
  512. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +1 -1
  513. package/src/components/icons/ViewpointIcon.vue +1 -6
  514. package/src/components/icons/ViewpointIcon.vue.d.ts +1 -1
  515. package/src/components/icons/Viewshed360Icon.vue +1 -7
  516. package/src/components/icons/Viewshed360Icon.vue.d.ts +1 -1
  517. package/src/components/icons/ViewshedConeIcon.vue +1 -7
  518. package/src/components/icons/ViewshedConeIcon.vue.d.ts +1 -1
  519. package/src/components/icons/ViewshedIcon.vue +1 -7
  520. package/src/components/icons/ViewshedIcon.vue.d.ts +1 -1
  521. package/src/components/icons/WalkingIcon.vue +1 -6
  522. package/src/components/icons/WalkingIcon.vue.d.ts +1 -1
  523. package/src/components/icons/WallIcon.vue +1 -6
  524. package/src/components/icons/WallIcon.vue.d.ts +1 -1
  525. package/src/components/icons/WandIcon.vue +1 -6
  526. package/src/components/icons/WandIcon.vue.d.ts +1 -1
  527. package/src/components/import/VcsFileDrop.vue +83 -0
  528. package/src/components/import/VcsFileDrop.vue.d.ts +37 -0
  529. package/src/components/import/{ImportComponent.vue → VcsImportComponent.vue} +32 -16
  530. package/src/components/import/{ImportComponent.vue.d.ts → VcsImportComponent.vue.d.ts} +5 -3
  531. package/src/components/lists/VcsActionList.vue +48 -44
  532. package/src/components/lists/VcsActionList.vue.d.ts +5 -3
  533. package/src/components/lists/VcsList.vue +156 -236
  534. package/src/components/lists/VcsList.vue.d.ts +27 -75
  535. package/src/components/lists/VcsListItemComponent.vue +216 -0
  536. package/src/components/lists/VcsListItemComponent.vue.d.ts +83 -0
  537. package/src/components/lists/VcsTreeview.vue +159 -53
  538. package/src/components/lists/VcsTreeview.vue.d.ts +28 -7
  539. package/src/components/lists/VcsTreeviewSearchbar.vue +52 -85
  540. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +4 -20
  541. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  542. package/src/components/lists/VcsTreeviewTitle.vue.d.ts +7 -0
  543. package/src/components/modelHelper.d.ts +38 -0
  544. package/src/components/modelHelper.js +130 -0
  545. package/src/components/notification/VcsBadge.vue +9 -7
  546. package/src/components/notification/VcsBadge.vue.d.ts +2 -2
  547. package/src/components/notification/VcsHelp.vue +22 -18
  548. package/src/components/notification/VcsHelp.vue.d.ts +2 -10
  549. package/src/components/notification/VcsHelpTooltip.vue +48 -0
  550. package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
  551. package/src/components/plugins/AbstractConfigEditor.vue +7 -28
  552. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +7 -30
  553. package/src/components/section/VcsExpansionPanel.vue +111 -0
  554. package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
  555. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +17 -11
  556. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +6 -5
  557. package/src/components/style/MenuWrapper.vue +32 -35
  558. package/src/components/style/MenuWrapper.vue.d.ts +8 -8
  559. package/src/components/style/VcsFeatureStyleComponent.vue +2 -1
  560. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +7 -7
  561. package/src/components/style/VcsFillMenu.vue +12 -19
  562. package/src/components/style/VcsFillMenu.vue.d.ts +5 -23
  563. package/src/components/style/VcsFillSelector.vue +15 -18
  564. package/src/components/style/VcsFillSelector.vue.d.ts +5 -5
  565. package/src/components/style/VcsImageMenu.vue +14 -26
  566. package/src/components/style/VcsImageMenu.vue.d.ts +5 -32
  567. package/src/components/style/VcsImageSelector.vue +126 -179
  568. package/src/components/style/VcsImageSelector.vue.d.ts +21 -20
  569. package/src/components/style/VcsStrokeMenu.vue +12 -19
  570. package/src/components/style/VcsStrokeMenu.vue.d.ts +5 -23
  571. package/src/components/style/VcsStrokeSelector.vue +28 -26
  572. package/src/components/style/VcsStrokeSelector.vue.d.ts +6 -5
  573. package/src/components/style/VcsTextMenu.vue +16 -17
  574. package/src/components/style/VcsTextMenu.vue.d.ts +5 -14
  575. package/src/components/style/VcsTextSelector.vue +84 -97
  576. package/src/components/style/VcsTextSelector.vue.d.ts +25 -27
  577. package/src/components/style/VcsVectorStyleComponent.vue +11 -22
  578. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +8 -8
  579. package/src/components/style/composables.d.ts +0 -14
  580. package/src/components/style/composables.js +0 -46
  581. package/src/components/tables/VcsDataTable.vue +167 -212
  582. package/src/components/tables/VcsDataTable.vue.d.ts +12 -37
  583. package/src/components/tables/VcsTable.vue +46 -67
  584. package/src/components/tables/VcsTable.vue.d.ts +34 -21
  585. package/src/components/tables/VcsTableCell.vue +72 -0
  586. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  587. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +88 -52
  588. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +13 -11
  589. package/src/components/vector-properties/VcsFeatureTransforms.vue +50 -7
  590. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +4 -3
  591. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +543 -591
  592. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +228 -30
  593. package/src/components/viewpoint/VcsViewpointComponent.vue +80 -112
  594. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +15 -22
  595. package/src/components/viewpoint/VcsViewpointEditor.vue +5 -6
  596. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +3 -3
  597. package/src/contentTree/LayerTree.vue +9 -6
  598. package/src/contentTree/LayerTree.vue.d.ts +3 -3
  599. package/src/contentTree/contentTreeCollection.d.ts +3 -2
  600. package/src/contentTree/contentTreeCollection.js +51 -19
  601. package/src/contentTree/contentTreeItem.d.ts +14 -14
  602. package/src/contentTree/contentTreeItem.js +16 -15
  603. package/src/contentTree/flightContentTreeItem.js +5 -4
  604. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  605. package/src/contentTree/layerContentTreeItem.js +48 -34
  606. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  607. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  608. package/src/contentTree/viewpointContentTreeItem.d.ts +1 -1
  609. package/src/featureInfo/AddressBalloonComponent.vue +25 -27
  610. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +1 -1
  611. package/src/featureInfo/BalloonComponent.vue +38 -39
  612. package/src/featureInfo/BalloonComponent.vue.d.ts +3 -2
  613. package/src/featureInfo/IframeComponent.vue +6 -1
  614. package/src/featureInfo/IframeComponent.vue.d.ts +2 -2
  615. package/src/featureInfo/MarkdownBalloonComponent.vue +5 -3
  616. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +4 -4
  617. package/src/featureInfo/abstractFeatureInfoView.d.ts +23 -8
  618. package/src/featureInfo/abstractFeatureInfoView.js +40 -15
  619. package/src/featureInfo/balloonFeatureInfoView.d.ts +2 -2
  620. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  621. package/src/featureInfo/balloonHelper.js +1 -1
  622. package/src/featureInfo/featureInfo.d.ts +7 -7
  623. package/src/featureInfo/featureInfo.js +61 -43
  624. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  625. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  626. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  627. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  628. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  629. package/src/featureInfo/markdownFeatureInfoView.js +9 -25
  630. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  631. package/src/i18n/de.d.ts +129 -2
  632. package/src/i18n/de.js +37 -10
  633. package/src/i18n/en.d.ts +129 -2
  634. package/src/i18n/en.js +34 -7
  635. package/src/i18n/i18nCollection.d.ts +9 -15
  636. package/src/i18n/i18nCollection.js +3 -3
  637. package/src/init.d.ts +5 -38
  638. package/src/init.js +29 -30
  639. package/src/legend/StyleLegendItem.vue +27 -28
  640. package/src/legend/StyleLegendItem.vue.d.ts +3 -2
  641. package/src/legend/VcsLegend.vue +39 -62
  642. package/src/legend/VcsLegend.vue.d.ts +9 -6
  643. package/src/legend/legendHelper.d.ts +2 -2
  644. package/src/legend/legendHelper.js +9 -8
  645. package/src/manager/buttonManager.d.ts +2 -2
  646. package/src/manager/buttonManager.js +10 -8
  647. package/src/manager/collectionManager/CollectionComponent.vue +24 -44
  648. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +16 -2
  649. package/src/manager/collectionManager/CollectionComponentContent.vue +12 -13
  650. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
  651. package/src/manager/collectionManager/CollectionComponentList.vue +13 -11
  652. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +7 -5
  653. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  654. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +2 -2
  655. package/src/manager/collectionManager/CollectionComponentStandalone.vue +4 -3
  656. package/src/manager/collectionManager/CollectionComponentStandalone.vue.d.ts +1 -1
  657. package/src/manager/collectionManager/CollectionManager.vue +12 -10
  658. package/src/manager/collectionManager/CollectionManager.vue.d.ts +1 -1
  659. package/src/manager/collectionManager/categoryManager.d.ts +2 -2
  660. package/src/manager/collectionManager/collectionComponentClass.d.ts +8 -8
  661. package/src/manager/collectionManager/collectionComponentClass.js +13 -16
  662. package/src/manager/collectionManager/collectionManager.d.ts +6 -5
  663. package/src/manager/collectionManager/collectionManager.js +14 -12
  664. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +1 -1
  665. package/src/manager/collectionManager/editorCollectionComponentClass.js +11 -8
  666. package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
  667. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +2 -2
  668. package/src/manager/contextMenu/contextMenuManager.js +2 -2
  669. package/src/manager/navbarManager.js +2 -2
  670. package/src/manager/panel/PanelComponent.vue +2 -9
  671. package/src/manager/panel/PanelComponent.vue.d.ts +2 -2
  672. package/src/manager/panel/PanelManagerComponent.vue +16 -10
  673. package/src/manager/panel/PanelManagerComponent.vue.d.ts +4 -4
  674. package/src/manager/panel/panelHelper.js +3 -3
  675. package/src/manager/panel/panelManager.d.ts +15 -7
  676. package/src/manager/panel/panelManager.js +22 -10
  677. package/src/manager/toolbox/GroupToolboxComponent.vue +19 -37
  678. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +4 -4
  679. package/src/manager/toolbox/SelectToolboxComponent.vue +19 -60
  680. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +3 -3
  681. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +31 -37
  682. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +4 -2
  683. package/src/manager/toolbox/toolboxManager.d.ts +3 -3
  684. package/src/manager/toolbox/toolboxManager.js +12 -13
  685. package/src/manager/window/WindowComponent.vue +16 -11
  686. package/src/manager/window/WindowComponent.vue.d.ts +2 -2
  687. package/src/manager/window/WindowComponentHeader.vue +40 -12
  688. package/src/manager/window/WindowComponentHeader.vue.d.ts +6 -3
  689. package/src/manager/window/WindowManager.vue +9 -11
  690. package/src/manager/window/WindowManager.vue.d.ts +2 -2
  691. package/src/manager/window/windowManager.d.ts +99 -37
  692. package/src/manager/window/windowManager.js +58 -14
  693. package/src/navigation/MapNavCompass.vue.d.ts +3 -3
  694. package/src/navigation/MapNavigation.vue +60 -13
  695. package/src/navigation/MapNavigation.vue.d.ts +6 -3
  696. package/src/navigation/ObliqueRotation.vue +17 -19
  697. package/src/navigation/ObliqueRotation.vue.d.ts +5 -5
  698. package/src/navigation/OrientationToolsButton.vue +37 -21
  699. package/src/navigation/OrientationToolsButton.vue.d.ts +6 -2
  700. package/src/navigation/TiltSlider.vue +86 -95
  701. package/src/navigation/TiltSlider.vue.d.ts +13 -10
  702. package/src/navigation/VcsCompass.vue +24 -11
  703. package/src/navigation/VcsCompass.vue.d.ts +8 -6
  704. package/src/navigation/VcsZoomButton.vue +13 -15
  705. package/src/navigation/VcsZoomButton.vue.d.ts +2 -2
  706. package/src/navigation/locatorHelper.js +4 -22
  707. package/src/navigation/overviewMap.d.ts +1 -1
  708. package/src/navigation/overviewMap.js +7 -4
  709. package/src/notifier/NotifierComponent.vue +24 -24
  710. package/src/notifier/NotifierComponent.vue.d.ts +1 -1
  711. package/src/notifier/notifier.d.ts +2 -1
  712. package/src/notifier/notifier.js +6 -2
  713. package/src/search/ResultItem.vue +30 -17
  714. package/src/search/ResultItem.vue.d.ts +2 -2
  715. package/src/search/ResultsComponent.vue +40 -40
  716. package/src/search/ResultsComponent.vue.d.ts +4 -3
  717. package/src/search/SearchComponent.vue +20 -21
  718. package/src/search/SearchComponent.vue.d.ts +3 -2
  719. package/src/search/search.d.ts +2 -2
  720. package/src/search/search.js +8 -12
  721. package/src/setup.js +2 -2
  722. package/src/siteConfig.js +9 -9
  723. package/src/state.js +4 -4
  724. package/src/styles/_typography.scss +12 -9
  725. package/src/styles/main.scss +6 -7
  726. package/src/styles/vcsList.scss +8 -0
  727. package/src/uiConfig.d.ts +323 -7
  728. package/src/uiConfig.js +31 -17
  729. package/src/vcsUiApp.d.ts +190 -74
  730. package/src/vcsUiApp.js +100 -55
  731. package/src/vuePlugins/i18n.d.ts +8 -2
  732. package/src/vuePlugins/i18n.js +40 -11
  733. package/src/vuePlugins/vuetify.d.ts +107 -9
  734. package/src/vuePlugins/vuetify.js +287 -68
  735. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  736. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
  737. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
  738. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
  739. package/dist/assets/index-12958251.js +0 -1
  740. package/dist/assets/ui.07c23d.css +0 -5
  741. package/dist/assets/ui.07c23d.js +0 -23876
  742. package/dist/assets/vue.67ce32.js +0 -4920
  743. package/dist/assets/vuetify.8284ec.css +0 -5
  744. package/dist/assets/vuetify.8284ec.js +0 -21263
  745. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +0 -71
  746. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  747. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  748. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  749. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  750. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  751. package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  752. package/src/application/VcsCustomScreen.vue +0 -45
  753. package/src/application/VcsCustomScreen.vue.d.ts +0 -15
  754. package/src/application/markdownHelper.d.ts +0 -12
  755. package/src/application/markdownHelper.js +0 -85
  756. package/src/components/form-inputs-controls/VcsRadioGrid.vue +0 -160
  757. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +0 -35
  758. package/src/components/form-inputs-controls/composables.d.ts +0 -7
  759. package/src/components/form-inputs-controls/composables.js +0 -31
  760. package/src/components/import/FileDrop.vue +0 -69
  761. package/src/components/import/FileDrop.vue.d.ts +0 -26
  762. package/src/components/lists/VcsTreeviewLeaf.vue +0 -82
  763. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +0 -19
  764. package/src/components/notification/VcsTooltip.vue +0 -160
  765. package/src/components/vector-properties/composables.d.ts +0 -33
  766. package/src/components/vector-properties/composables.js +0 -100
  767. package/src/styles/_theming.scss +0 -73
  768. package/src/styles/shades.scss +0 -4
  769. package/src/styles/utils/_all.scss +0 -12
  770. package/src/styles/utils/_border.scss +0 -7
  771. package/src/styles/utils/_cursor.scss +0 -19
  772. package/src/styles/utils/_display.scss +0 -3
  773. package/src/styles/utils/_fade-in.scss +0 -8
  774. package/src/styles/utils/_position.scss +0 -38
  775. package/src/styles/utils/_size.scss +0 -79
  776. package/src/styles/utils/_slide-in.scss +0 -26
  777. package/src/styles/utils/_spacing.scss +0 -11
  778. package/src/styles/utils/_text.scss +0 -30
  779. package/src/styles/utils/_transform.scss +0 -11
  780. package/src/styles/utils/_transition.scss +0 -11
  781. package/src/styles/utils/_z-index.scss +0 -15
  782. package/src/styles/variables.scss +0 -138
  783. package/src/styles/vcsFont.scss +0 -2
  784. package/src/styles/vcsGrid.scss +0 -13
  785. /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
  786. /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
  787. /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
  788. /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
  789. /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
  790. /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
  791. /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
  792. /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
  793. /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
  794. /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
  795. /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
  796. /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
  797. /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
  798. /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
  799. /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
  800. /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
  801. /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
  802. /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
  803. /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
  804. /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
  805. /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
  806. /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
  807. /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
@@ -1,142 +1,142 @@
1
1
  <template>
2
2
  <VcsFormSection
3
+ class="vcs-vector-properties-component"
3
4
  :heading="$attrs.heading || 'components.vectorProperties.header'"
4
5
  :expandable="expandable"
5
6
  :start-open="startOpen"
6
7
  :header-actions="headerActions"
7
8
  >
8
9
  <v-container class="px-1 py-0">
9
- <v-row
10
- v-if="visibleProperties.has('altitudeMode') && show3DProperties"
11
- no-gutters
12
- >
13
- <v-col>
14
- <VcsLabel html-for="vp-altitude-mode">{{
15
- $t('components.vectorProperties.altitudeMode')
16
- }}</VcsLabel>
17
- </v-col>
18
- <v-col>
19
- <VcsSelect
20
- id="vp-altitude-mode"
21
- :items="availableAltitudeModes"
22
- v-model="altitudeMode"
23
- dense
24
- />
25
- </v-col>
26
- </v-row>
27
- <v-row
28
- v-if="
29
- visibleProperties.has('heightAboveGround') &&
30
- altitudeMode === 'relativeToGround' &&
31
- show3DProperties
32
- "
33
- no-gutters
34
- >
35
- <v-col>
36
- <VcsLabel html-for="vp-height-above-ground">{{
37
- $t('components.vectorProperties.heightAboveGround')
38
- }}</VcsLabel>
39
- </v-col>
40
- <v-col>
41
- <VcsTextField
42
- id="vp-height-above-ground"
43
- dense
44
- v-model.number="heightAboveGround"
45
- type="number"
46
- unit="m"
47
- :placeholder="'heightAboveGround' in value ? '0' : ''"
48
- />
49
- </v-col>
50
- </v-row>
51
- <v-row
52
- v-if="visibleProperties.has('groundLevel') && show3DProperties"
53
- no-gutters
54
- >
55
- <v-col>
56
- <VcsLabel html-for="vp-ground-level">{{
57
- $t('components.vectorProperties.groundLevel')
58
- }}</VcsLabel>
59
- </v-col>
60
- <v-col>
61
- <VcsTextField
62
- id="vp-ground-level"
63
- dense
64
- v-model.number="groundLevel"
65
- type="number"
66
- unit="m"
67
- :placeholder="'groundLevel' in value ? '0' : ''"
68
- clearable
69
- />
70
- </v-col>
71
- </v-row>
72
- <v-row
73
- v-if="visibleProperties.has('scaleByDistance') && show3DProperties"
74
- no-gutters
75
- >
76
- <v-col>
77
- <VcsCheckbox
78
- label="components.vectorProperties.scaleByDistance"
79
- v-model="hasScaleByDistance"
80
- />
81
- </v-col>
82
- <v-col>
10
+ <template v-if="show3DProperties">
11
+ <v-row v-if="visibleProperties.has('altitudeMode')" no-gutters>
12
+ <v-col>
13
+ <VcsLabel :html-for="`${cid}-vp-altitude-mode`"
14
+ >{{ $t('components.vectorProperties.altitudeMode') }}
15
+ <template #help>
16
+ <ul>
17
+ <li v-for="mode in availableAltitudeModes" :key="mode.value">
18
+ {{ $t(mode.title) }}:
19
+ {{ $t(`components.vectorProperties.help.${mode.value}`) }}
20
+ </li>
21
+ </ul>
22
+ </template>
23
+ </VcsLabel>
24
+ </v-col>
25
+ <v-col>
26
+ <VcsSelect
27
+ :id="`${cid}-vp-altitude-mode`"
28
+ :items="availableAltitudeModes"
29
+ v-model="localValue.altitudeMode"
30
+ />
31
+ </v-col>
32
+ </v-row>
33
+ <v-row v-if="visibleProperties.has('heightAboveGround')" no-gutters>
34
+ <v-col>
35
+ <VcsLabel :html-for="`${cid}-vp-height-above-ground`">{{
36
+ $t('components.vectorProperties.heightAboveGround')
37
+ }}</VcsLabel>
38
+ </v-col>
39
+ <v-col>
40
+ <VcsTextField
41
+ :id="`${cid}-vp-height-above-ground`"
42
+ v-model.number="localValue.heightAboveGround"
43
+ :hide-spin-buttons="true"
44
+ type="number"
45
+ unit="m"
46
+ clearable
47
+ />
48
+ </v-col>
49
+ </v-row>
50
+ <v-row v-if="visibleProperties.has('groundLevel')" no-gutters>
51
+ <v-col>
52
+ <VcsLabel :html-for="`${cid}-vp-ground-level`">{{
53
+ $t('components.vectorProperties.groundLevel')
54
+ }}</VcsLabel>
55
+ </v-col>
56
+ <v-col>
57
+ <VcsTextField
58
+ :id="`${cid}-vp-ground-level`"
59
+ v-model.number="localValue.groundLevel"
60
+ :hide-spin-buttons="true"
61
+ type="number"
62
+ unit="m"
63
+ placeholder="0"
64
+ clearable
65
+ />
66
+ </v-col>
67
+ </v-row>
68
+ <template v-if="visibleProperties.has('scaleByDistance')">
83
69
  <v-row no-gutters>
84
- <v-col v-for="(nearFar, index) in scaleByDistance" :key="index">
85
- <VcsTextField
86
- dense
87
- v-model.number="nearFar.value"
88
- type="number"
89
- :unit="index % 2 === 0 ? 'm' : ''"
90
- :disabled="!hasScaleByDistance"
91
- :placeholder="
92
- 'scaleByDistance' in value
93
- ? `${scaleByDistanceDefault[index]}`
94
- : ''
95
- "
96
- :rules="[
97
- (v) =>
98
- !hasScaleByDistance ||
99
- !isNaN(v) ||
100
- 'components.validation.required',
101
- ]"
70
+ <v-col cols="6">
71
+ <VcsCheckbox
72
+ label="components.vectorProperties.scaleByDistance"
73
+ v-model="hasScaleByDistance"
102
74
  />
103
75
  </v-col>
104
76
  </v-row>
105
- </v-col>
106
- </v-row>
107
- <v-row
108
- v-if="visibleProperties.has('eyeOffset') && show3DProperties"
109
- no-gutters
110
- >
111
- <v-col>
112
- <VcsCheckbox
113
- label="components.vectorProperties.eyeOffset"
114
- v-model="hasEyeOffset"
115
- />
116
- </v-col>
117
- <v-col v-for="(distance, index) in eyeOffset" :key="index" cols="2">
118
- <VcsTextField
119
- dense
120
- v-model.number="distance.value"
121
- unit="m"
122
- type="number"
123
- :disabled="!hasEyeOffset"
124
- :prefix="dimensionsUpperCase[index]"
125
- :rules="[
126
- (v) =>
127
- !hasEyeOffset || !isNaN(v) || 'components.validation.required',
128
- ]"
129
- :placeholder="
130
- 'eyeOffset' in value ? `${eyeOffsetDefault[index]}` : ''
131
- "
132
- />
133
- </v-col>
134
- </v-row>
77
+ <template v-if="hasScaleByDistance">
78
+ <v-row no-gutters class="pb-2">
79
+ <v-col
80
+ v-for="(_, index) in localValue.scaleByDistance"
81
+ :key="index"
82
+ >
83
+ <VcsTextField
84
+ v-model="localValue.scaleByDistance[index]"
85
+ :hide-spin-buttons="true"
86
+ type="number"
87
+ :unit="index % 2 === 0 ? 'm' : ''"
88
+ :disabled="!localValue.scaleByDistance"
89
+ :placeholder="String(scaleByDistanceDefault[index])"
90
+ :rules="[
91
+ (v) =>
92
+ !hasScaleByDistance ||
93
+ !isNaN(v) ||
94
+ 'components.validation.required',
95
+ ]"
96
+ />
97
+ </v-col>
98
+ </v-row>
99
+ </template>
100
+ </template>
101
+ <template v-if="visibleProperties.has('eyeOffset')">
102
+ <v-row no-gutters>
103
+ <v-col>
104
+ <VcsCheckbox
105
+ label="components.vectorProperties.eyeOffset"
106
+ v-model="hasEyeOffset"
107
+ />
108
+ </v-col>
109
+ </v-row>
110
+ <template v-if="hasEyeOffset">
111
+ <v-row no-gutters class="pb-2">
112
+ <v-col v-for="(_, index) in localValue.eyeOffset" :key="index">
113
+ <VcsTextField
114
+ v-model.number="localValue.eyeOffset[index]"
115
+ unit="m"
116
+ :hide-spin-buttons="true"
117
+ type="number"
118
+ :disabled="!hasEyeOffset"
119
+ :prefix="dimensionsUpperCase[index]"
120
+ :rules="[
121
+ (v) =>
122
+ !hasEyeOffset ||
123
+ !isNaN(v) ||
124
+ 'components.validation.required',
125
+ ]"
126
+ :placeholder="String(eyeOffsetDefault[index])"
127
+ />
128
+ </v-col>
129
+ </v-row>
130
+ </template>
131
+ </template>
132
+ </template>
135
133
  <v-row v-if="visibleProperties.has('allowPicking')" no-gutters>
136
134
  <v-col>
137
135
  <VcsCheckbox
138
136
  label="components.vectorProperties.allowPicking"
139
- v-model="allowPicking"
137
+ v-model="localValue.allowPicking"
138
+ :true-value="true"
139
+ :false-value="false"
140
140
  />
141
141
  </v-col>
142
142
  </v-row>
@@ -145,337 +145,349 @@
145
145
  no-gutters
146
146
  >
147
147
  <v-col>
148
- <VcsLabel html-for="vp-classification-type" :dense="true">
148
+ <VcsLabel :html-for="`${cid}-vp-classification-type`">
149
149
  {{ $t('components.vectorProperties.classificationType') }}
150
150
  </VcsLabel>
151
151
  </v-col>
152
152
  <v-col>
153
153
  <VcsSelect
154
- id="vp-classification-type"
155
- :items="[
156
- { value: 'none', text: 'components.vectorProperties.none' },
157
- { value: 'both', text: 'components.vectorProperties.both' },
158
- {
159
- value: 'cesium3DTile',
160
- text: 'components.vectorProperties.cesium3DTile',
161
- },
162
- { value: 'terrain', text: 'components.vectorProperties.terrain' },
163
- ]"
154
+ :id="`${cid}-vp-classification-type`"
155
+ :items="availableClassificationTypes"
164
156
  v-model="classificationType"
165
- dense
166
157
  />
167
158
  </v-col>
168
159
  </v-row>
169
160
  </v-container>
170
- <v-divider
171
- v-if="
172
- showDividers &&
173
- show3DProperties &&
174
- [
175
- 'extrudedHeight',
176
- 'skirt',
177
- 'storeysAboveGround',
178
- 'storeysBelowGround',
179
- 'storeyHeightsAboveGround',
180
- 'storeyHeightsBelowGround',
181
- ].some((prop) => visibleProperties.has(prop))
182
- "
183
- />
184
- <v-container class="px-1 py-0" v-if="show3DProperties">
185
- <v-row
161
+ <template v-if="show3DProperties">
162
+ <v-divider
186
163
  v-if="
187
- visibleProperties.has('storeysAboveGround') ||
188
- visibleProperties.has('storeyHeightsAboveGround')
164
+ showDividers &&
165
+ [
166
+ 'extrudedHeight',
167
+ 'skirt',
168
+ 'storeysAboveGround',
169
+ 'storeysBelowGround',
170
+ 'storeyHeightsAboveGround',
171
+ 'storeyHeightsBelowGround',
172
+ ].some((prop) => visibleProperties.has(prop))
189
173
  "
190
- no-gutters
191
- >
192
- <v-col>
193
- <VcsLabel>{{
194
- $t('components.vectorProperties.aboveGround')
195
- }}</VcsLabel>
196
- </v-col>
197
- </v-row>
198
- <v-row v-if="visibleProperties.has('extrudedHeight')" no-gutters>
199
- <v-col>
200
- <VcsLabel
201
- html-for="vp-extruded-height"
202
- :class="{
203
- 'px-4':
204
- visibleProperties.has('storeysAboveGround') ||
205
- visibleProperties.has('storeyHeightsAboveGround'),
206
- }"
207
- >{{ $t('components.vectorProperties.extrudedHeight') }}</VcsLabel
208
- >
209
- </v-col>
210
- <v-col>
211
- <VcsTextField
212
- id="vp-extruded-height"
213
- dense
214
- v-model.number="extrudedHeight"
215
- type="number"
216
- unit="m"
217
- :placeholder="'extrudedHeight' in value ? '0' : ''"
218
- clearable
219
- :rules="[
220
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
221
- ]"
222
- />
223
- </v-col>
224
- </v-row>
225
- <v-row v-if="visibleProperties.has('storeysAboveGround')" no-gutters>
226
- <v-col>
227
- <VcsLabel html-for="vp-storeys-above" class="px-4">{{
228
- $t('components.vectorProperties.storeys')
229
- }}</VcsLabel>
230
- </v-col>
231
- <v-col>
232
- <VcsTextField
233
- id="vp-storeys-above"
234
- dense
235
- v-model.number="storeysAboveGround"
236
- type="number"
237
- :placeholder="'storeysAboveGround' in value ? '0' : ''"
238
- clearable
239
- :rules="[
240
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
241
- ]"
242
- />
243
- </v-col>
244
- </v-row>
245
- <v-row
246
- v-if="visibleProperties.has('storeyHeightsAboveGround')"
247
- no-gutters
248
- >
249
- <v-col>
250
- <VcsLabel :html-for="'vp-storey-heights-above'" class="px-4">{{
251
- $t('components.vectorProperties.storeyHeights')
252
- }}</VcsLabel>
253
- </v-col>
254
- <v-col>
255
- <VcsChipArrayInput
256
- id="vp-storey-heights-above"
257
- dense
258
- column
259
- type="number"
260
- v-model="storeyHeights.storeyHeightsAboveGround.value"
261
- placeholder="3"
262
- :rules="[(v) => !(v <= 0) || 'components.validation.notValid']"
263
- />
264
- </v-col>
265
- </v-row>
266
- <v-row
174
+ />
175
+ <v-container class="px-1 py-0">
176
+ <v-row
177
+ v-if="
178
+ visibleProperties.has('storeysAboveGround') ||
179
+ visibleProperties.has('storeyHeightsAboveGround')
180
+ "
181
+ no-gutters
182
+ >
183
+ <v-col>
184
+ <VcsLabel>{{
185
+ $t('components.vectorProperties.aboveGround')
186
+ }}</VcsLabel>
187
+ </v-col>
188
+ </v-row>
189
+ <v-row v-if="visibleProperties.has('extrudedHeight')" no-gutters>
190
+ <v-col>
191
+ <VcsLabel
192
+ :html-for="`${cid}-vp-extruded-height`"
193
+ :class="{
194
+ 'px-4':
195
+ visibleProperties.has('storeysAboveGround') ||
196
+ visibleProperties.has('storeyHeightsAboveGround'),
197
+ }"
198
+ >{{ $t('components.vectorProperties.extrudedHeight') }}</VcsLabel
199
+ >
200
+ </v-col>
201
+ <v-col>
202
+ <VcsTextField
203
+ :id="`${cid}-vp-extruded-height`"
204
+ v-model.number="localValue.extrudedHeight"
205
+ :hide-spin-buttons="true"
206
+ type="number"
207
+ unit="m"
208
+ :placeholder="'extrudedHeight' in localValue ? '0' : ''"
209
+ clearable
210
+ :rules="[
211
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
212
+ ]"
213
+ />
214
+ </v-col>
215
+ </v-row>
216
+ <v-row v-if="visibleProperties.has('storeysAboveGround')" no-gutters>
217
+ <v-col>
218
+ <VcsLabel :html-for="`${cid}-vp-storeys-above`" class="px-4">{{
219
+ $t('components.vectorProperties.storeys')
220
+ }}</VcsLabel>
221
+ </v-col>
222
+ <v-col>
223
+ <VcsTextField
224
+ :id="`${cid}-vp-storeys-above`"
225
+ v-model.number="localValue.storeysAboveGround"
226
+ :hide-spin-buttons="true"
227
+ type="number"
228
+ :placeholder="'storeysAboveGround' in localValue ? '0' : ''"
229
+ clearable
230
+ :rules="[
231
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
232
+ ]"
233
+ />
234
+ </v-col>
235
+ </v-row>
236
+ <v-row
237
+ v-if="visibleProperties.has('storeyHeightsAboveGround')"
238
+ no-gutters
239
+ >
240
+ <v-col>
241
+ <VcsLabel
242
+ :html-for="`${cid}-vp-storey-heights-above`"
243
+ class="px-4"
244
+ >{{ $t('components.vectorProperties.storeyHeights') }}</VcsLabel
245
+ >
246
+ </v-col>
247
+ <v-col>
248
+ <VcsChipArrayInput
249
+ :id="`${cid}-vp-storey-heights-above`"
250
+ column
251
+ type="number"
252
+ v-model="storeyHeights.storeyHeightsAboveGround.value"
253
+ placeholder="3"
254
+ :rules="[(v) => !(v <= 0) || 'components.validation.notValid']"
255
+ />
256
+ </v-col>
257
+ </v-row>
258
+ <v-row
259
+ v-if="
260
+ visibleProperties.has('storeysBelowGround') ||
261
+ visibleProperties.has('storeyHeightsBelowGround')
262
+ "
263
+ no-gutters
264
+ >
265
+ <v-col>
266
+ <VcsLabel>{{
267
+ $t('components.vectorProperties.belowGround')
268
+ }}</VcsLabel>
269
+ </v-col>
270
+ </v-row>
271
+ <v-row v-if="visibleProperties.has('skirt')" no-gutters>
272
+ <v-col>
273
+ <VcsLabel
274
+ :html-for="`${cid}-vp-skirt`"
275
+ :class="{
276
+ 'px-4':
277
+ visibleProperties.has('storeysBelowGround') ||
278
+ visibleProperties.has('storeyHeightsBelowGround'),
279
+ }"
280
+ >{{ $t('components.vectorProperties.skirt') }}</VcsLabel
281
+ >
282
+ </v-col>
283
+ <v-col>
284
+ <VcsTextField
285
+ :id="`${cid}-vp-skirt`"
286
+ v-model.number="localValue.skirt"
287
+ :hide-spin-buttons="true"
288
+ type="number"
289
+ unit="m"
290
+ :placeholder="'skirt' in localValue ? '0' : ''"
291
+ clearable
292
+ :rules="[
293
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
294
+ ]"
295
+ />
296
+ </v-col>
297
+ </v-row>
298
+ <v-row v-if="visibleProperties.has('storeysBelowGround')" no-gutters>
299
+ <v-col>
300
+ <VcsLabel :html-for="`${cid}-vp-storeys-below`" class="px-4">{{
301
+ $t('components.vectorProperties.storeys')
302
+ }}</VcsLabel>
303
+ </v-col>
304
+ <v-col>
305
+ <VcsTextField
306
+ :id="`${cid}-vp-storeys-below`"
307
+ v-model.number="localValue.storeysBelowGround"
308
+ :hide-spin-buttons="true"
309
+ type="number"
310
+ :placeholder="'storeysBelowGround' in localValue ? '0' : ''"
311
+ clearable
312
+ :rules="[
313
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
314
+ ]"
315
+ />
316
+ </v-col>
317
+ </v-row>
318
+ <v-row
319
+ v-if="visibleProperties.has('storeyHeightsBelowGround')"
320
+ no-gutters
321
+ >
322
+ <v-col>
323
+ <VcsLabel
324
+ :html-for="`${cid}-vp-storey-heights-below`"
325
+ class="px-4"
326
+ >{{ $t('components.vectorProperties.storeyHeights') }}</VcsLabel
327
+ >
328
+ </v-col>
329
+ <v-col>
330
+ <VcsChipArrayInput
331
+ :id="`${cid}-vp-storey-heights-below`"
332
+ column
333
+ type="number"
334
+ v-model="storeyHeights.storeyHeightsBelowGround.value"
335
+ placeholder="3"
336
+ />
337
+ </v-col>
338
+ </v-row>
339
+ </v-container>
340
+ <v-divider
267
341
  v-if="
268
- visibleProperties.has('storeysBelowGround') ||
269
- visibleProperties.has('storeyHeightsBelowGround')
342
+ showDividers &&
343
+ [
344
+ 'modelUrl',
345
+ 'modelScaleX',
346
+ 'modelScaleY',
347
+ 'modelScaleZ',
348
+ 'modelHeading',
349
+ 'modelPitch',
350
+ 'modelRoll',
351
+ 'modelAutoScale',
352
+ 'baseUrl',
353
+ ].some((prop) => visibleProperties.has(prop))
270
354
  "
271
- no-gutters
272
- >
273
- <v-col>
274
- <VcsLabel>{{
275
- $t('components.vectorProperties.belowGround')
276
- }}</VcsLabel>
277
- </v-col>
278
- </v-row>
279
- <v-row v-if="visibleProperties.has('skirt')" no-gutters>
280
- <v-col>
281
- <VcsLabel
282
- html-for="vp-skirt"
283
- :class="{
284
- 'px-4':
285
- visibleProperties.has('storeysBelowGround') ||
286
- visibleProperties.has('storeyHeightsBelowGround'),
287
- }"
288
- >{{ $t('components.vectorProperties.skirt') }}</VcsLabel
289
- >
290
- </v-col>
291
- <v-col>
292
- <VcsTextField
293
- id="vp-skirt"
294
- dense
295
- v-model.number="skirt"
296
- type="number"
297
- unit="m"
298
- :placeholder="'skirt' in value ? '0' : ''"
299
- clearable
300
- :rules="[
301
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
302
- ]"
303
- />
304
- </v-col>
305
- </v-row>
306
- <v-row v-if="visibleProperties.has('storeysBelowGround')" no-gutters>
307
- <v-col>
308
- <VcsLabel html-for="vp-storeys-below" class="px-4">{{
309
- $t('components.vectorProperties.storeys')
310
- }}</VcsLabel>
311
- </v-col>
312
- <v-col>
313
- <VcsTextField
314
- id="vp-storeys-below"
315
- dense
316
- v-model.number="storeysBelowGround"
317
- type="number"
318
- :placeholder="'storeysBelowGround' in value ? '0' : ''"
319
- clearable
320
- :rules="[
321
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
322
- ]"
323
- />
324
- </v-col>
325
- </v-row>
326
- <v-row
327
- v-if="visibleProperties.has('storeyHeightsBelowGround')"
328
- no-gutters
329
- >
330
- <v-col>
331
- <VcsLabel :html-for="'vp-storey-heights-below'" class="px-4">{{
332
- $t('components.vectorProperties.storeyHeights')
333
- }}</VcsLabel>
334
- </v-col>
335
- <v-col>
336
- <VcsChipArrayInput
337
- :id="'vp-storey-heights-below'"
338
- dense
339
- column
340
- type="number"
341
- v-model="storeyHeights.storeyHeightsBelowGround.value"
342
- placeholder="3"
343
- />
344
- </v-col>
345
- </v-row>
346
- </v-container>
347
- <v-divider
348
- v-if="
349
- showDividers &&
350
- show3DProperties &&
351
- [
352
- 'modelUrl',
353
- 'modelScaleX',
354
- 'modelScaleY',
355
- 'modelScaleZ',
356
- 'modelHeading',
357
- 'modelPitch',
358
- 'modelRoll',
359
- 'baseUrl',
360
- ].some((prop) => visibleProperties.has(prop))
361
- "
362
- />
363
- <v-container class="px-1 py-0" v-if="show3DProperties">
364
- <v-row v-if="visibleProperties.has('modelUrl')" no-gutters>
365
- <v-col>
366
- <VcsLabel html-for="vp-model-url">
367
- {{ $t('components.vectorProperties.modelUrl') }}
368
- </VcsLabel>
369
- </v-col>
370
- <v-col>
371
- <VcsTextField
372
- id="vp-model-url"
373
- dense
374
- v-model="modelUrl"
375
- clearable
376
- :placeholder="'modelUrl' in value ? 'example.glb' : ''"
377
- />
378
- </v-col>
379
- </v-row>
380
- <v-row v-if="Object.keys(modelScale).length" no-gutters>
381
- <v-col cols="6">
382
- <VcsLabel>{{
383
- $t('components.vectorProperties.modelScale')
384
- }}</VcsLabel>
385
- </v-col>
386
- <v-col v-for="(dimension, key) in modelScale" :key="key">
387
- <VcsTextField
388
- dense
389
- v-model.number="dimension.value"
390
- type="number"
391
- :placeholder="`modelScale${key}` in value ? '1' : ''"
392
- :prefix="key"
393
- :rules="[(v) => v > 0 || 'components.validation.notValid']"
394
- />
395
- </v-col>
396
- </v-row>
397
- <v-row v-if="visibleProperties.has('modelHeading')" no-gutters>
398
- <v-col cols="6">
399
- <VcsLabel>{{
400
- $t('components.vectorProperties.modelHeading')
401
- }}</VcsLabel>
402
- </v-col>
403
- <v-col>
404
- <VcsTextField
405
- dense
406
- v-model.number="modelHeading"
407
- type="number"
408
- :placeholder="'modelHeading' in value ? '0' : ''"
409
- unit="°"
410
- clearable
411
- />
412
- </v-col>
413
- </v-row>
414
- <v-row v-if="visibleProperties.has('modelPitch')" no-gutters>
415
- <v-col cols="6">
416
- <VcsLabel>{{
417
- $t('components.vectorProperties.modelPitch')
418
- }}</VcsLabel>
419
- </v-col>
420
- <v-col>
421
- <VcsTextField
422
- dense
423
- v-model.number="modelPitch"
424
- type="number"
425
- :placeholder="'modelPitch' in value ? '0' : ''"
426
- unit="°"
427
- clearable
428
- />
429
- </v-col>
430
- </v-row>
431
- <v-row v-if="visibleProperties.has('modelRoll')" no-gutters>
432
- <v-col cols="6">
433
- <VcsLabel>{{ $t('components.vectorProperties.modelRoll') }}</VcsLabel>
434
- </v-col>
435
- <v-col>
436
- <VcsTextField
437
- dense
438
- v-model.number="modelRoll"
439
- type="number"
440
- :placeholder="'modelRoll' in value ? '0' : ''"
441
- unit="°"
442
- clearable
443
- />
444
- </v-col>
445
- </v-row>
446
- <v-row v-if="visibleProperties.has('baseUrl')" no-gutters>
447
- <v-col>
448
- <VcsLabel html-for="vp-base-url">{{
449
- $t('components.vectorProperties.baseUrl')
450
- }}</VcsLabel>
451
- </v-col>
452
- <v-col>
453
- <VcsTextField
454
- id="vp-base-url"
455
- dense
456
- clearable
457
- v-model="baseUrl"
458
- :placeholder="'baseUrl' in value ? 'path/to/files/' : ''"
459
- />
460
- </v-col>
461
- </v-row>
462
- </v-container>
355
+ />
356
+ <v-container class="px-1 py-0">
357
+ <v-row v-if="visibleProperties.has('modelUrl')" no-gutters>
358
+ <v-col>
359
+ <VcsLabel :html-for="`${cid}-vp-model-url`">
360
+ {{ $t('components.vectorProperties.modelUrl') }}
361
+ </VcsLabel>
362
+ </v-col>
363
+ <v-col>
364
+ <VcsTextField
365
+ :id="`${cid}-vp-model-url`"
366
+ v-model="localValue.modelUrl"
367
+ clearable
368
+ :placeholder="'modelUrl' in localValue ? 'example.glb' : ''"
369
+ />
370
+ </v-col>
371
+ </v-row>
372
+ <template v-if="Object.keys(modelScale).length">
373
+ <v-row no-gutters>
374
+ <v-col cols="6">
375
+ <VcsLabel>{{
376
+ $t('components.vectorProperties.modelScale')
377
+ }}</VcsLabel>
378
+ </v-col>
379
+ </v-row>
380
+ <v-row no-gutters class="pb-2">
381
+ <v-col v-for="(dimension, key) in modelScale" :key="key">
382
+ <VcsTextField
383
+ v-model.number="dimension.value"
384
+ :hide-spin-buttons="true"
385
+ type="number"
386
+ :placeholder="`modelScale${key}` in localValue ? '1' : ''"
387
+ :prefix="key"
388
+ :rules="[(v) => v > 0 || 'components.validation.notValid']"
389
+ />
390
+ </v-col>
391
+ </v-row>
392
+ </template>
393
+ <v-row v-if="visibleProperties.has('modelHeading')" no-gutters>
394
+ <v-col cols="6">
395
+ <VcsLabel :html-for="`${cid}-vp-model-heading`">{{
396
+ $t('components.vectorProperties.modelHeading')
397
+ }}</VcsLabel>
398
+ </v-col>
399
+ <v-col>
400
+ <VcsTextField
401
+ :id="`${cid}-vp-model-heading`"
402
+ v-model.number="localValue.modelHeading"
403
+ :hide-spin-buttons="true"
404
+ type="number"
405
+ :placeholder="'modelHeading' in localValue ? '0' : ''"
406
+ unit="°"
407
+ clearable
408
+ />
409
+ </v-col>
410
+ </v-row>
411
+ <v-row v-if="visibleProperties.has('modelPitch')" no-gutters>
412
+ <v-col cols="6">
413
+ <VcsLabel :html-for="`${cid}-vp-model-pitch`">{{
414
+ $t('components.vectorProperties.modelPitch')
415
+ }}</VcsLabel>
416
+ </v-col>
417
+ <v-col>
418
+ <VcsTextField
419
+ :id="`${cid}-vp-model-pitch`"
420
+ v-model.number="localValue.modelPitch"
421
+ :hide-spin-buttons="true"
422
+ type="number"
423
+ :placeholder="'modelPitch' in localValue ? '0' : ''"
424
+ unit="°"
425
+ clearable
426
+ />
427
+ </v-col>
428
+ </v-row>
429
+ <v-row v-if="visibleProperties.has('modelRoll')" no-gutters>
430
+ <v-col cols="6">
431
+ <VcsLabel :html-for="`${cid}-vp-model-roll`">{{
432
+ $t('components.vectorProperties.modelRoll')
433
+ }}</VcsLabel>
434
+ </v-col>
435
+ <v-col>
436
+ <VcsTextField
437
+ :id="`${cid}-vp-model-roll`"
438
+ v-model.number="localValue.modelRoll"
439
+ :hide-spin-buttons="true"
440
+ type="number"
441
+ :placeholder="'modelRoll' in localValue ? '0' : ''"
442
+ unit="°"
443
+ clearable
444
+ />
445
+ </v-col>
446
+ </v-row>
447
+ <v-row v-if="visibleProperties.has('modelAutoScale')" no-gutters>
448
+ <v-col cols="6">
449
+ <VcsLabel>{{
450
+ $t('components.vectorProperties.modelAutoScale')
451
+ }}</VcsLabel>
452
+ </v-col>
453
+ <v-col>
454
+ <VcsCheckbox v-model="localValue.modelAutoScale" />
455
+ </v-col>
456
+ </v-row>
457
+ <v-row v-if="visibleProperties.has('baseUrl')" no-gutters>
458
+ <v-col>
459
+ <VcsLabel :html-for="`${cid}-vp-base-url`">{{
460
+ $t('components.vectorProperties.baseUrl')
461
+ }}</VcsLabel>
462
+ </v-col>
463
+ <v-col>
464
+ <VcsTextField
465
+ :id="`${cid}-vp-base-url`"
466
+ clearable
467
+ v-model="localValue.baseUrl"
468
+ :placeholder="'baseUrl' in localValue ? 'path/to/files/' : ''"
469
+ />
470
+ </v-col>
471
+ </v-row>
472
+ </v-container>
473
+ </template>
463
474
  </VcsFormSection>
464
475
  </template>
465
476
  <script>
466
477
  import { computed } from 'vue';
467
- import { VContainer, VRow, VCol, VDivider } from 'vuetify/lib';
468
- import VcsFormSection from '../form-inputs-controls/VcsFormSection.vue';
478
+ import { VContainer, VRow, VCol, VDivider } from 'vuetify/components';
479
+ import { VectorProperties } from '@vcmap/core';
480
+ import {
481
+ useProxiedComplexModel,
482
+ useModelHasProperty,
483
+ } from '../modelHelper.js';
484
+ import VcsFormSection from '../section/VcsFormSection.vue';
469
485
  import VcsLabel from '../form-inputs-controls/VcsLabel.vue';
470
486
  import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
471
487
  import VcsSelect from '../form-inputs-controls/VcsSelect.vue';
472
488
  import VcsCheckbox from '../form-inputs-controls/VcsCheckbox.vue';
473
- import {
474
- usePrimitiveProperty,
475
- useArrayProperty,
476
- useHasProperty,
477
- } from './composables.js';
478
489
  import VcsChipArrayInput from '../form-inputs-controls/VcsChipArrayInput.vue';
490
+ import { useComponentId } from '../composables.js';
479
491
 
480
492
  export const genericVectorProperties = [
481
493
  'altitudeMode',
@@ -496,6 +508,7 @@
496
508
  'modelHeading',
497
509
  'modelPitch',
498
510
  'modelRoll',
511
+ 'modelAutoScale',
499
512
  'baseUrl',
500
513
  ];
501
514
 
@@ -533,6 +546,7 @@
533
546
  */
534
547
  export default {
535
548
  name: 'VcsVectorPropertiesComponent',
549
+ methods: { computed },
536
550
  components: {
537
551
  VcsFormSection,
538
552
  VcsLabel,
@@ -546,9 +560,9 @@
546
560
  VDivider,
547
561
  },
548
562
  props: {
549
- value: {
563
+ modelValue: {
550
564
  type: Object,
551
- default: () => {},
565
+ default: () => VectorProperties.getDefaultOptions(),
552
566
  },
553
567
  valueDefault: {
554
568
  type: Object,
@@ -558,10 +572,26 @@
558
572
  type: Array,
559
573
  default: () => vectorProperties,
560
574
  },
575
+ altitudeModes: {
576
+ type: Array,
577
+ default: () => [
578
+ 'absolute',
579
+ 'relativeToGround',
580
+ 'relativeToTerrain',
581
+ 'relativeTo3DTiles',
582
+ 'clampToGround',
583
+ 'clampToTerrain',
584
+ 'clampTo3DTiles',
585
+ ],
586
+ },
561
587
  show3DProperties: {
562
588
  type: Boolean,
563
589
  default: true,
564
590
  },
591
+ is2DFeature: {
592
+ type: Boolean,
593
+ default: false,
594
+ },
565
595
  showDividers: {
566
596
  type: Boolean,
567
597
  default: true,
@@ -579,159 +609,113 @@
579
609
  default: true,
580
610
  },
581
611
  },
612
+ emits: ['update:modelValue'],
582
613
  setup(props, { emit }) {
614
+ /**
615
+ * @type {import("vue").Ref<import("vue").UnwrapRef<import("@vcmap/core").VectorProperties>>}
616
+ */
617
+ const localValue = useProxiedComplexModel(props, 'modelValue', emit);
618
+
583
619
  const visibleProperties = computed(() => {
584
620
  return new Set(props.properties);
585
621
  });
586
622
 
587
- const altitudeMode = usePrimitiveProperty(
588
- () => props.value,
589
- 'altitudeMode',
590
- emit,
591
- );
592
-
593
623
  const availableAltitudeModes = computed(() => {
594
- const altitudeModes = [
624
+ return [
595
625
  {
596
626
  value: 'clampToGround',
597
- text: 'components.vectorProperties.clampToGround',
627
+ title: 'components.vectorProperties.clampToGround',
628
+ },
629
+ {
630
+ value: 'clampToTerrain',
631
+ title: 'components.vectorProperties.clampToTerrain',
632
+ },
633
+ {
634
+ value: 'clampTo3DTiles',
635
+ title: 'components.vectorProperties.clampTo3DTiles',
598
636
  },
599
637
  {
600
638
  value: 'absolute',
601
- text: 'components.vectorProperties.absolute',
639
+ title: 'components.vectorProperties.absolute',
640
+ props: {
641
+ disabled: props.is2DFeature,
642
+ },
602
643
  },
603
- ];
604
-
605
- if (visibleProperties.value.has('heightAboveGround')) {
606
- altitudeModes.push({
644
+ {
607
645
  value: 'relativeToGround',
608
- text: 'components.vectorProperties.relativeToGround',
609
- });
610
- }
611
-
612
- return altitudeModes;
646
+ title: 'components.vectorProperties.relativeToGround',
647
+ },
648
+ {
649
+ value: 'relativeToTerrain',
650
+ title: 'components.vectorProperties.relativeToTerrain',
651
+ },
652
+ {
653
+ value: 'relativeTo3DTiles',
654
+ title: 'components.vectorProperties.relativeTo3DTiles',
655
+ },
656
+ ].filter((item) => props.altitudeModes.includes(item.value));
613
657
  });
614
658
 
615
- const heightAboveGround = usePrimitiveProperty(
616
- () => props.value,
617
- 'heightAboveGround',
618
- emit,
619
- );
620
- const allowPicking = computed({
621
- get() {
622
- return props.value.allowPicking;
659
+ const availableClassificationTypes = [
660
+ { value: 'none', title: 'components.vectorProperties.none' },
661
+ { value: 'both', title: 'components.vectorProperties.both' },
662
+ {
663
+ value: 'cesium3DTile',
664
+ title: 'components.vectorProperties.cesium3DTile',
623
665
  },
624
- set(value) {
625
- if (props.value.allowPicking !== value) {
626
- const newParams = structuredClone(props.value);
627
- const changedParams = { allowPicking: value || false };
628
- emit('input', Object.assign(newParams, changedParams));
629
- emit('propertyChange', changedParams);
630
- }
631
- },
632
- });
666
+ { value: 'terrain', title: 'components.vectorProperties.terrain' },
667
+ ];
668
+
633
669
  const classificationType = computed({
634
670
  get() {
635
- if ('classificationType' in props.value) {
636
- return props.value.classificationType || 'none';
671
+ if ('classificationType' in localValue.value) {
672
+ return localValue.value.classificationType || 'none';
637
673
  } else {
638
674
  return undefined;
639
675
  }
640
676
  },
641
677
  set(value) {
642
- if (props.value.classificationType !== value) {
643
- const newParams = structuredClone(props.value);
644
- const changedParams = {
645
- classificationType: value === 'none' ? undefined : value,
646
- };
647
- emit('input', Object.assign(newParams, changedParams));
648
- emit('propertyChange', changedParams);
678
+ const v = value === 'none' ? undefined : value;
679
+ if (localValue.value.classificationType !== v) {
680
+ localValue.value.classificationType = v;
649
681
  }
650
682
  },
651
683
  });
652
- const scaleByDistance = useArrayProperty(
653
- () => props.value,
654
- 'scaleByDistance',
655
- emit,
656
- 4,
657
- );
658
- const hasScaleByDistance = useHasProperty(
659
- () => props.value,
684
+
685
+ const hasScaleByDistance = useModelHasProperty(
686
+ localValue,
660
687
  'scaleByDistance',
661
- emit,
662
688
  scaleByDistanceDefault,
663
689
  );
664
690
 
665
- const eyeOffset = useArrayProperty(
666
- () => props.value,
667
- 'eyeOffset',
668
- emit,
669
- 3,
670
- );
671
- const hasEyeOffset = useHasProperty(
672
- () => props.value,
691
+ const hasEyeOffset = useModelHasProperty(
692
+ localValue,
673
693
  'eyeOffset',
674
- emit,
675
694
  eyeOffsetDefault,
676
695
  );
677
696
 
678
- const groundLevel = usePrimitiveProperty(
679
- () => props.value,
680
- 'groundLevel',
681
- emit,
682
- );
683
- const extrudedHeight = usePrimitiveProperty(
684
- () => props.value,
685
- 'extrudedHeight',
686
- emit,
687
- );
688
- const skirt = usePrimitiveProperty(() => props.value, 'skirt', emit);
689
- const storeysAboveGround = usePrimitiveProperty(
690
- () => props.value,
691
- 'storeysAboveGround',
692
- emit,
693
- );
694
- const storeysBelowGround = usePrimitiveProperty(
695
- () => props.value,
696
- 'storeysBelowGround',
697
- emit,
698
- );
699
-
700
697
  const storeyHeights = computed(() => {
701
698
  return ['storeyHeightsAboveGround', 'storeyHeightsBelowGround']
702
699
  .filter((key) => visibleProperties.value.has(key))
703
700
  .reduce((acc, key) => {
704
- return {
705
- ...acc,
706
- [key]: computed({
707
- get() {
708
- if (Array.isArray(props.value?.[key])) {
709
- return props.value?.[key];
710
- } else if (props.value?.[key] > 0) {
711
- return [props.value?.[key]];
712
- } else {
713
- return [];
714
- }
715
- },
716
- set(value) {
717
- const newParams = structuredClone(props.value);
718
- const changedParams = {
719
- [key]: value,
720
- };
721
- emit('input', Object.assign(newParams, changedParams));
722
- emit('propertyChange', changedParams);
723
- },
724
- }),
725
- };
701
+ acc[key] = computed({
702
+ get() {
703
+ if (Array.isArray(localValue.value[key])) {
704
+ return localValue.value[key];
705
+ } else if (localValue.value[key] > 0) {
706
+ return [localValue.value[key]];
707
+ } else {
708
+ return [];
709
+ }
710
+ },
711
+ set(value) {
712
+ localValue.value[key] = value;
713
+ },
714
+ });
715
+ return acc;
726
716
  }, {});
727
717
  });
728
718
 
729
- const modelUrl = usePrimitiveProperty(
730
- () => props.value,
731
- 'modelUrl',
732
- emit,
733
- );
734
-
735
719
  const modelScale = computed(() => {
736
720
  return dimensionsUpperCase
737
721
  .filter((dimension) =>
@@ -740,39 +724,18 @@
740
724
  .reduce((acc, dimension) => {
741
725
  return {
742
726
  ...acc,
743
- [dimension]: usePrimitiveProperty(
744
- () => props.value,
745
- `modelScale${dimension}`,
746
- emit,
747
- ),
727
+ [dimension]: computed({
728
+ get() {
729
+ return localValue.value[`modelScale${dimension}`];
730
+ },
731
+ set(value) {
732
+ localValue.value[`modelScale${dimension}`] = value;
733
+ },
734
+ }),
748
735
  };
749
736
  }, {});
750
737
  });
751
738
 
752
- const modelHeading = usePrimitiveProperty(
753
- () => props.value,
754
- 'modelHeading',
755
- emit,
756
- );
757
- const modelPitch = usePrimitiveProperty(
758
- () => props.value,
759
- 'modelPitch',
760
- emit,
761
- );
762
- const modelRoll = usePrimitiveProperty(
763
- () => props.value,
764
- 'modelRoll',
765
- emit,
766
- );
767
- const baseUrl = usePrimitiveProperty(() => props.value, 'baseUrl', emit);
768
-
769
- function reset() {
770
- const newParams = structuredClone(props.valueDefault);
771
-
772
- emit('input', newParams);
773
- emit('propertyChange', newParams);
774
- }
775
-
776
739
  const headerActions = computed(() =>
777
740
  props.showReset
778
741
  ? [
@@ -781,41 +744,30 @@
781
744
  title: 'components.style.reset',
782
745
  icon: '$vcsReturn',
783
746
  callback: () => {
784
- reset();
747
+ localValue.value = props.valueDefault;
785
748
  },
786
749
  },
787
750
  ]
788
751
  : [],
789
752
  );
790
753
 
754
+ const cid = useComponentId();
755
+
791
756
  return {
757
+ localValue,
792
758
  headerActions,
793
759
  visibleProperties,
794
- altitudeMode,
795
760
  availableAltitudeModes,
796
- heightAboveGround,
797
- allowPicking,
761
+ availableClassificationTypes,
798
762
  classificationType,
799
- scaleByDistance,
800
763
  hasScaleByDistance,
801
764
  scaleByDistanceDefault,
802
- eyeOffset,
803
765
  hasEyeOffset,
804
766
  eyeOffsetDefault,
805
- groundLevel,
806
- extrudedHeight,
807
- skirt,
808
- storeysAboveGround,
809
- storeysBelowGround,
810
767
  storeyHeights,
811
- modelUrl,
812
768
  modelScale,
813
- modelHeading,
814
- modelPitch,
815
- modelRoll,
816
- baseUrl,
817
- reset,
818
769
  dimensionsUpperCase,
770
+ cid,
819
771
  };
820
772
  },
821
773
  };