@vcmap/ui 5.0.0-rc.23 → 5.0.0-rc.25

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 (479) hide show
  1. package/README.md +36 -18
  2. package/app.config.json +2 -4
  3. package/build/.eslintrc +3 -0
  4. package/build/build.js +302 -174
  5. package/build/buildCesium.js +32 -19
  6. package/build/buildHelpers.js +267 -94
  7. package/build/buildPreview.js +7 -4
  8. package/build/bundle.js +56 -0
  9. package/build/commonViteConfig.js +2 -4
  10. package/build/determineHost.js +17 -4
  11. package/build/generateOLLib.js +13 -16
  12. package/build/getPluginProxies.js +16 -3
  13. package/build/info/conf.json +21 -21
  14. package/build/info/publish.js +15 -4
  15. package/config/aerowest.config.json +16 -44
  16. package/config/base.config.json +100 -248
  17. package/config/codes.config.json +3 -1
  18. package/config/dev.config.json +34 -14
  19. package/config/graphFeatureInfo.config.json +55 -16
  20. package/config/projects.config.json +5 -2
  21. package/config/www.config.json +174 -333
  22. package/dist/assets/@mdi/font/LICENSE +20 -0
  23. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  24. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +3 -0
  25. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  26. package/dist/assets/cesium/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  27. package/dist/assets/cesium/Workers/{AttributeCompression-b646d393.js → AttributeCompression-f9f6c717.js} +24 -24
  28. package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-ff186ccc.js → AxisAlignedBoundingBox-4140c51f.js} +3 -3
  29. package/dist/assets/cesium/Workers/{BoundingRectangle-be5924f4.js → BoundingRectangle-c714b156.js} +18 -18
  30. package/dist/assets/cesium/Workers/{BoxGeometry-12eeccaf.js → BoxGeometry-6f3da43d.js} +9 -9
  31. package/dist/assets/cesium/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  32. package/dist/assets/cesium/Workers/{Color-a84038cb.js → Color-8a565ff2.js} +63 -63
  33. package/dist/assets/cesium/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  34. package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-3272c1b3.js → CoplanarPolygonGeometryLibrary-4b4d4096.js} +1 -1
  35. package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-0170e093.js → CorridorGeometryLibrary-7b94502b.js} +1 -1
  36. package/dist/assets/cesium/Workers/{CylinderGeometry-7c5da648.js → CylinderGeometry-ca070b87.js} +12 -12
  37. package/dist/assets/cesium/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
  38. package/dist/assets/cesium/Workers/{EllipseGeometry-797d580e.js → EllipseGeometry-122e51fa.js} +20 -20
  39. package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-2939e1dc.js → EllipseGeometryLibrary-4d326efc.js} +1 -1
  40. package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-8b50870f.js → EllipseOutlineGeometry-16cc2bd7.js} +15 -15
  41. package/dist/assets/cesium/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-5b3623dc.js} +6 -6
  42. package/dist/assets/cesium/Workers/{EllipsoidGeometry-21c0e3a5.js → EllipsoidGeometry-cb148ca2.js} +14 -14
  43. package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-eff247c8.js → EllipsoidOutlineGeometry-0fa10c79.js} +15 -15
  44. package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-ef872433.js} +9 -9
  45. package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-214683dc.js → EllipsoidTangentPlane-6dd1b7af.js} +1 -1
  46. package/dist/assets/cesium/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-57415c8a.js} +6 -6
  47. package/dist/assets/cesium/Workers/{FrustumGeometry-ac42a6d9.js → FrustumGeometry-ee73037c.js} +139 -111
  48. package/dist/assets/cesium/Workers/{GeometryAttribute-7d6f1732.js → GeometryAttribute-ff5b4fb1.js} +20 -20
  49. package/dist/assets/cesium/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  50. package/dist/assets/cesium/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-34d9e21e.js} +6 -6
  51. package/dist/assets/cesium/Workers/{GeometryPipeline-ce4339ed.js → GeometryPipeline-1f8fbf05.js} +22 -22
  52. package/dist/assets/cesium/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-2643aa47.js} +13 -13
  53. package/dist/assets/cesium/Workers/{IntersectionTests-f6e6bd8a.js → IntersectionTests-70d39ba9.js} +37 -37
  54. package/dist/assets/cesium/Workers/{Math-2dbd6b93.js → Math-0a2ac845.js} +149 -139
  55. package/dist/assets/cesium/Workers/{Matrix2-13178034.js → Matrix2-e1298525.js} +256 -256
  56. package/dist/assets/cesium/Workers/{Matrix3-315394f6.js → Matrix3-41c58dde.js} +150 -150
  57. package/dist/assets/cesium/Workers/{OrientedBoundingBox-04920dc7.js → OrientedBoundingBox-159cf1d6.js} +19 -17
  58. package/dist/assets/cesium/Workers/{Plane-900aa728.js → Plane-4c3d403b.js} +5 -5
  59. package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-a8680d96.js → PolygonGeometryLibrary-076a5d25.js} +6 -6
  60. package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +1344 -0
  61. package/dist/assets/cesium/Workers/{PolylinePipeline-32f36d2a.js → PolylinePipeline-639192e0.js} +16 -16
  62. package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-a510d657.js → PolylineVolumeGeometryLibrary-b73549fb.js} +7 -7
  63. package/dist/assets/cesium/Workers/{PrimitivePipeline-ba38434a.js → PrimitivePipeline-10ede1b6.js} +6 -6
  64. package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-bdba697e.js → RectangleGeometryLibrary-c35a7356.js} +1 -1
  65. package/dist/assets/cesium/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  66. package/dist/assets/cesium/Workers/{TerrainEncoding-833187da.js → TerrainEncoding-668d242f.js} +30 -30
  67. package/dist/assets/cesium/Workers/Transforms-a2a85221.js +14712 -0
  68. package/dist/assets/cesium/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  69. package/dist/assets/cesium/Workers/{WallGeometryLibrary-919eed92.js → WallGeometryLibrary-1938bf0d.js} +1 -1
  70. package/dist/assets/cesium/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  71. package/dist/assets/cesium/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-13ed1a6e.js} +6 -6
  72. package/dist/assets/cesium/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-d2061e85.js} +5 -5
  73. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +5 -5
  74. package/dist/assets/cesium/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  75. package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
  76. package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
  77. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +9 -9
  78. package/dist/assets/cesium/Workers/createCircleGeometry.js +13 -13
  79. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +11 -11
  81. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  82. package/dist/assets/cesium/Workers/createCorridorGeometry.js +14 -14
  83. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +12 -12
  84. package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
  85. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +13 -13
  86. package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
  87. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  88. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
  89. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  90. package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
  91. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +8 -8
  92. package/dist/assets/cesium/Workers/createGeometry.js +1 -1
  93. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +33 -33
  94. package/dist/assets/cesium/Workers/createPlaneGeometry.js +8 -8
  95. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +6 -6
  96. package/dist/assets/cesium/Workers/createPolygonGeometry.js +25 -25
  97. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +17 -17
  98. package/dist/assets/cesium/Workers/createPolylineGeometry.js +11 -11
  99. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +9 -9
  100. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  101. package/dist/assets/cesium/Workers/createRectangleGeometry.js +16 -16
  102. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +12 -12
  103. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +10 -10
  104. package/dist/assets/cesium/Workers/createSphereGeometry.js +11 -11
  105. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +12 -12
  106. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +2 -2
  107. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  108. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +8 -8
  109. package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -1
  110. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
  111. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -1
  112. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  113. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +27 -28
  114. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  115. package/dist/assets/cesium/Workers/createWallGeometry.js +14 -14
  116. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +14 -14
  117. package/dist/assets/cesium/Workers/decodeDraco.js +10 -2
  118. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  119. package/dist/assets/cesium/Workers/decodeI3S.js +1 -1
  120. package/dist/assets/cesium/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  121. package/dist/assets/cesium/Workers/package.js +1 -1
  122. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -26
  123. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  124. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  125. package/dist/assets/{cesium.166f91.js → cesium.1457fa.js} +155448 -127152
  126. package/dist/assets/cesium.js +1 -1
  127. package/dist/assets/core.47836f.js +19060 -0
  128. package/dist/assets/core.js +1 -1
  129. package/dist/assets/index-bb372634.js +1 -0
  130. package/dist/assets/{ol.d2cba3.js → ol.9e4d23.js} +28380 -13095
  131. package/dist/assets/ol.js +1 -1
  132. package/dist/assets/ui.6ed89d.css +5 -0
  133. package/dist/assets/ui.6ed89d.js +13461 -0
  134. package/dist/assets/ui.js +1 -1
  135. package/dist/assets/{vue.5d00e9.js → vue.7327e4.js} +834 -598
  136. package/dist/assets/vue.js +2 -2
  137. package/dist/assets/{vuetify.2f1432.css → vuetify.d2131d.css} +2 -2
  138. package/dist/assets/{vuetify.2f1432.js → vuetify.d2131d.js} +343 -103
  139. package/dist/assets/vuetify.js +2 -2
  140. package/dist/index.html +28 -7
  141. package/index.html +35 -7
  142. package/index.js +82 -17
  143. package/lib/cesium.js +1 -1
  144. package/lib/core.js +1 -1
  145. package/lib/olLib.js +19 -16
  146. package/lib/ui.js +1 -1
  147. package/lib/vue.js +2 -2
  148. package/lib/vuetify.js +2 -2
  149. package/package.json +29 -19
  150. package/plugins/.eslintrc +9 -0
  151. package/plugins/@vcmap/create-link/fallbackCreateLink.vue +13 -11
  152. package/plugins/@vcmap/create-link/index.js +15 -6
  153. package/plugins/@vcmap/project-selector/ModulesListComponent.vue +4 -8
  154. package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +5 -10
  155. package/plugins/@vcmap/project-selector/README.md +4 -2
  156. package/plugins/@vcmap/project-selector/config.json +13 -13
  157. package/plugins/@vcmap/project-selector/de.json +2 -2
  158. package/plugins/@vcmap/project-selector/en.json +2 -2
  159. package/plugins/@vcmap/project-selector/index.js +63 -28
  160. package/plugins/@vcmap/search-nominatim/LICENSE.md +5 -6
  161. package/plugins/@vcmap/search-nominatim/README.md +2 -1
  162. package/plugins/@vcmap/search-nominatim/config.json +1 -2
  163. package/plugins/@vcmap/search-nominatim/index.js +7 -4
  164. package/plugins/@vcmap/search-nominatim/nominatim.js +7 -2
  165. package/plugins/@vcmap/search-nominatim/package.json +2 -36
  166. package/plugins/@vcmap/simple-graph/README.md +29 -9
  167. package/plugins/@vcmap/simple-graph/SimpleGraphComponent.vue +2 -7
  168. package/plugins/@vcmap/simple-graph/index.js +2 -2
  169. package/plugins/@vcmap/simple-graph/simpleGraphView.js +3 -1
  170. package/plugins/@vcmap/theme-changer/README.md +5 -3
  171. package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +6 -10
  172. package/plugins/@vcmap/theme-changer/config.json +67 -67
  173. package/plugins/@vcmap/theme-changer/index.js +11 -5
  174. package/plugins/@vcmap-show-case/README.md +2 -1
  175. package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +87 -46
  176. package/plugins/@vcmap-show-case/buttons-example/index.js +10 -8
  177. package/plugins/@vcmap-show-case/category-tester/CategoriesExample.vue +135 -0
  178. package/plugins/@vcmap-show-case/category-tester/CollectionComponentOptions.vue +209 -0
  179. package/plugins/@vcmap-show-case/category-tester/index.js +28 -4
  180. package/plugins/@vcmap-show-case/collection-manager-example/CollectionManagerExample.vue +182 -0
  181. package/plugins/@vcmap-show-case/collection-manager-example/README.md +3 -0
  182. package/plugins/@vcmap-show-case/collection-manager-example/index.js +74 -0
  183. package/plugins/@vcmap-show-case/collection-manager-example/package.json +5 -0
  184. package/plugins/@vcmap-show-case/config-editor/{editor.vue → ConfigEditor.vue} +20 -24
  185. package/plugins/@vcmap-show-case/config-editor/index.js +13 -11
  186. package/plugins/@vcmap-show-case/context-menu-tester/index.js +18 -10
  187. package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +109 -121
  188. package/plugins/@vcmap-show-case/form-inputs-example/config.json +3 -3
  189. package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +14 -4
  190. package/plugins/@vcmap-show-case/form-inputs-example/index.js +41 -19
  191. package/plugins/@vcmap-show-case/form-inputs-example/validation.js +2 -1
  192. package/plugins/@vcmap-show-case/icons-example/README.md +1 -1
  193. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +10 -10
  194. package/plugins/@vcmap-show-case/icons-example/index.js +10 -8
  195. package/plugins/@vcmap-show-case/list-example/ListExample.vue +221 -103
  196. package/plugins/@vcmap-show-case/list-example/index.js +10 -8
  197. package/plugins/@vcmap-show-case/notifier-tester/index.js +9 -3
  198. package/plugins/@vcmap-show-case/notifier-tester/notifierTester.vue +15 -21
  199. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +21 -0
  200. package/plugins/@vcmap-show-case/switch-map-callback-example/SwitchMapCallback.js +47 -0
  201. package/plugins/@vcmap-show-case/switch-map-callback-example/config.json +3 -0
  202. package/plugins/@vcmap-show-case/switch-map-callback-example/index.js +34 -0
  203. package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +5 -0
  204. package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +22 -42
  205. package/plugins/@vcmap-show-case/table-example/index.js +10 -8
  206. package/plugins/@vcmap-show-case/textfields-example/TextfieldsExample.vue +7 -30
  207. package/plugins/@vcmap-show-case/textfields-example/index.js +10 -4
  208. package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +16 -13
  209. package/plugins/@vcmap-show-case/window-tester/emptyComponent.vue +4 -7
  210. package/plugins/@vcmap-show-case/window-tester/index.js +26 -20
  211. package/plugins/@vcmap-show-case/window-tester/myCustomHeader.vue +7 -3
  212. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +82 -5
  213. package/plugins/@vcmap-show-case/window-tester/windowExampleContent.vue +3 -7
  214. package/plugins/@vcmap-show-case/wizard-example/index.js +9 -3
  215. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +36 -38
  216. package/plugins/package.json +3 -1
  217. package/public/assets/@mdi/font/LICENSE +20 -0
  218. package/public/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  219. package/public/assets/@mdi/font/css/materialdesignicons.min.css +3 -0
  220. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  221. package/public/assets/favicon-128.png +0 -0
  222. package/public/assets/favicon-180.png +0 -0
  223. package/public/assets/favicon-192.png +0 -0
  224. package/public/assets/favicon-32.png +0 -0
  225. package/public/assets/logo-mobile.svg +9 -0
  226. package/public/assets/logo.svg +26 -0
  227. package/src/actions/actionHelper.js +49 -11
  228. package/src/actions/styleSelector.vue +20 -11
  229. package/src/application/VcsApp.vue +151 -85
  230. package/src/application/VcsAttributions.vue +25 -11
  231. package/src/application/VcsAttributionsFooter.vue +12 -10
  232. package/src/application/VcsMap.vue +9 -5
  233. package/src/application/VcsNavbar.vue +58 -36
  234. package/src/application/VcsSettings.vue +5 -12
  235. package/src/application/attributionsHelper.js +23 -11
  236. package/src/application/vcsAppWrapper.vue +1 -3
  237. package/src/callback/activateLayersCallback.js +54 -0
  238. package/src/callback/applyLayerStyleCallback.js +63 -0
  239. package/src/callback/deactivateLayersCallback.js +54 -0
  240. package/src/callback/goToViewpointCallback.js +54 -0
  241. package/src/callback/vcsCallback.js +66 -0
  242. package/src/components/buttons/VcsActionButtonList.vue +43 -22
  243. package/src/components/buttons/VcsButton.vue +50 -116
  244. package/src/components/buttons/VcsFormButton.vue +178 -0
  245. package/src/components/buttons/VcsToolButton.vue +161 -0
  246. package/src/components/form-inputs-controls/VcsCheckbox.vue +6 -7
  247. package/src/components/form-inputs-controls/VcsDatePicker.vue +66 -21
  248. package/src/components/form-inputs-controls/VcsFormSection.vue +11 -13
  249. package/src/components/form-inputs-controls/VcsLabel.vue +9 -10
  250. package/src/components/form-inputs-controls/VcsRadio.vue +44 -44
  251. package/src/components/form-inputs-controls/VcsSelect.vue +32 -15
  252. package/src/components/form-inputs-controls/VcsSlider.vue +72 -0
  253. package/src/components/form-inputs-controls/VcsTextArea.vue +21 -14
  254. package/src/components/form-inputs-controls/VcsTextField.vue +43 -18
  255. package/src/components/form-inputs-controls/VcsWizard.vue +79 -80
  256. package/src/components/form-inputs-controls/VcsWizardStep.vue +20 -21
  257. package/src/components/form-inputs-controls/composables.js +13 -8
  258. package/src/components/form-output/VcsFormattedNumber.vue +26 -26
  259. package/src/components/icons/+all.js +13 -5
  260. package/src/components/icons/2DAreaIcon.vue +62 -10
  261. package/src/components/icons/2DDistanceIcon.vue +14 -2
  262. package/src/components/icons/3DAreaIcon.vue +62 -10
  263. package/src/components/icons/3DDistanceIcon.vue +14 -2
  264. package/src/components/icons/3DHeightIcon.vue +14 -2
  265. package/src/components/icons/AngleIcon.vue +12 -3
  266. package/src/components/icons/AssociationsIcon.vue +6 -1
  267. package/src/components/icons/AxisIcon.vue +34 -5
  268. package/src/components/icons/BoundingBoxIcon.vue +31 -5
  269. package/src/components/icons/CheckboxCheckedIcon.vue +4 -1
  270. package/src/components/icons/CheckboxIcon.vue +1 -8
  271. package/src/components/icons/CheckboxIndeterminateIcon.vue +9 -2
  272. package/src/components/icons/CircleIcon.vue +24 -4
  273. package/src/components/icons/ClippingHorizontalIcon.vue +14 -2
  274. package/src/components/icons/ClippingIcon.vue +13 -2
  275. package/src/components/icons/ClippingVerticalIcon.vue +14 -2
  276. package/src/components/icons/ColorPickerIcon.vue +13 -2
  277. package/src/components/icons/ColorSwatchIcon.vue +7 -1
  278. package/src/components/icons/CommentIcon.vue +6 -1
  279. package/src/components/icons/CompassIcon.vue +21 -3
  280. package/src/components/icons/ComponentsIcon.vue +14 -2
  281. package/src/components/icons/ConeIcon.vue +26 -4
  282. package/src/components/icons/DimensionsHouseIcon.vue +7 -1
  283. package/src/components/icons/EditIcon.vue +13 -2
  284. package/src/components/icons/ElevationProfileIcon.vue +6 -1
  285. package/src/components/icons/ExportAreaIcon.vue +13 -2
  286. package/src/components/icons/ExportFlightIcon.vue +13 -2
  287. package/src/components/icons/ExportIcon.vue +14 -2
  288. package/src/components/icons/ExternalLinkIcon.vue +18 -3
  289. package/src/components/icons/EyeIcon.vue +12 -2
  290. package/src/components/icons/FastForwardIcon.vue +13 -2
  291. package/src/components/icons/FilterIcon.vue +13 -2
  292. package/src/components/icons/GlobalTerrainIcon.vue +12 -2
  293. package/src/components/icons/GlobeNatureIcon.vue +7 -1
  294. package/src/components/icons/GroundIcon.vue +12 -2
  295. package/src/components/icons/HealthCareIndustriesIcon.vue +6 -1
  296. package/src/components/icons/HelpIcon.vue +12 -2
  297. package/src/components/icons/HideIcon.vue +17 -3
  298. package/src/components/icons/HomePointIcon.vue +13 -3
  299. package/src/components/icons/HospitalsIcon.vue +6 -1
  300. package/src/components/icons/HouseIcon.vue +20 -3
  301. package/src/components/icons/ImportIcon.vue +21 -3
  302. package/src/components/icons/InfoIcon.vue +19 -3
  303. package/src/components/icons/KebabIcon.vue +12 -2
  304. package/src/components/icons/LabelIcon.vue +21 -3
  305. package/src/components/icons/LayersIcon.vue +12 -2
  306. package/src/components/icons/LegendIcon.vue +13 -3
  307. package/src/components/icons/LineIcon.vue +20 -3
  308. package/src/components/icons/LinkIcon.vue +13 -2
  309. package/src/components/icons/LogoutIcon.vue +13 -2
  310. package/src/components/icons/MapIcon.vue +14 -2
  311. package/src/components/icons/MenuIcon.vue +7 -1
  312. package/src/components/icons/MinusIcon.vue +14 -2
  313. package/src/components/icons/ObjectAttributeIcon.vue +13 -2
  314. package/src/components/icons/ObjectSelectIcon.vue +14 -2
  315. package/src/components/icons/ObliqueViewIcon.vue +11 -2
  316. package/src/components/icons/PdfIcon.vue +12 -2
  317. package/src/components/icons/PedestrianIcon.vue +13 -2
  318. package/src/components/icons/PenIcon.vue +13 -3
  319. package/src/components/icons/PlayCircleIcon.vue +20 -3
  320. package/src/components/icons/PlusIcon.vue +14 -3
  321. package/src/components/icons/PoiIcon.vue +17 -3
  322. package/src/components/icons/PointSelectIcon.vue +12 -2
  323. package/src/components/icons/PolygonIcon.vue +7 -1
  324. package/src/components/icons/PresentationModeIcon.vue +13 -2
  325. package/src/components/icons/ProgressIcon.vue +8 -6
  326. package/src/components/icons/QueryIcon.vue +31 -5
  327. package/src/components/icons/RectangleIcon.vue +24 -4
  328. package/src/components/icons/ReturnIcon.vue +13 -2
  329. package/src/components/icons/RewindIcon.vue +13 -2
  330. package/src/components/icons/RotateLeftIcon.vue +13 -2
  331. package/src/components/icons/RotateRightIcon.vue +13 -2
  332. package/src/components/icons/ScreenshotIcon.vue +52 -10
  333. package/src/components/icons/SearchIcon.vue +13 -3
  334. package/src/components/icons/ShadowIcon.vue +14 -3
  335. package/src/components/icons/ShapesIcon.vue +13 -3
  336. package/src/components/icons/ShareIcon.vue +17 -4
  337. package/src/components/icons/SimpleCircleFilledIcon.vue +14 -10
  338. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +6 -1
  339. package/src/components/icons/SimpleCircleOutlinedIcon.vue +14 -10
  340. package/src/components/icons/SkipNextIcon.vue +11 -2
  341. package/src/components/icons/SkipPreviousIcon.vue +17 -3
  342. package/src/components/icons/SplitViewIcon.vue +6 -1
  343. package/src/components/icons/TerrainBoxIcon.vue +12 -2
  344. package/src/components/icons/TextStyleIcon.vue +7 -1
  345. package/src/components/icons/ThreeDimensionsIcon.vue +13 -2
  346. package/src/components/icons/ToolsIcon.vue +12 -2
  347. package/src/components/icons/TouchIcon.vue +13 -2
  348. package/src/components/icons/TrashCanIcon.vue +13 -2
  349. package/src/components/icons/TriangleIcon.vue +6 -2
  350. package/src/components/icons/TwoDimensionsIcon.vue +14 -2
  351. package/src/components/icons/UploadIcon.vue +13 -2
  352. package/src/components/icons/UserProfileIcon.vue +13 -2
  353. package/src/components/icons/UserShareIcon.vue +12 -2
  354. package/src/components/icons/VideoRecorderIcon.vue +16 -3
  355. package/src/components/icons/ViewpointFlightIcon.vue +22 -4
  356. package/src/components/icons/ViewpointIcon.vue +22 -4
  357. package/src/components/icons/Viewshed360Icon.vue +14 -2
  358. package/src/components/icons/ViewshedConeIcon.vue +13 -2
  359. package/src/components/icons/ViewshedIcon.vue +14 -2
  360. package/src/components/icons/WalkingIcon.vue +13 -2
  361. package/src/components/icons/WallIcon.vue +19 -3
  362. package/src/components/icons/WandIcon.vue +129 -21
  363. package/src/components/imageElementInjector.vue +1 -3
  364. package/src/components/lists/VcsActionList.vue +21 -18
  365. package/src/components/lists/VcsList.vue +211 -100
  366. package/src/components/lists/VcsTreeview.vue +30 -26
  367. package/src/components/lists/VcsTreeviewLeaf.vue +23 -23
  368. package/src/components/lists/VcsTreeviewSearchbar.vue +19 -15
  369. package/src/components/notification/VcsBadge.vue +4 -6
  370. package/src/components/notification/VcsTooltip.vue +95 -94
  371. package/src/components/notification/validation.js +1 -1
  372. package/src/components/tables/VcsDataTable.vue +107 -97
  373. package/src/components/tables/VcsTable.vue +38 -30
  374. package/src/contentTree/LayerTree.vue +17 -12
  375. package/src/contentTree/contentTreeCollection.js +49 -23
  376. package/src/contentTree/contentTreeItem.js +58 -17
  377. package/src/contentTree/groupContentTreeItem.js +45 -22
  378. package/src/contentTree/layerContentTreeItem.js +40 -28
  379. package/src/contentTree/layerGroupContentTreeItem.js +51 -39
  380. package/src/contentTree/nodeContentTreeItem.js +18 -7
  381. package/src/contentTree/obliqueCollectionContentTreeItem.js +49 -20
  382. package/src/contentTree/subContentTreeItem.js +13 -4
  383. package/src/contentTree/vcsObjectContentTreeItem.js +24 -15
  384. package/src/contentTree/viewpointContentTreeItem.js +20 -6
  385. package/src/downloadHelper.js +4 -1
  386. package/src/featureInfo/AddressBalloonComponent.vue +11 -16
  387. package/src/featureInfo/BalloonComponent.vue +35 -27
  388. package/src/featureInfo/abstractFeatureInfoView.js +45 -14
  389. package/src/featureInfo/addressBalloonFeatureInfoView.js +19 -7
  390. package/src/featureInfo/balloonFeatureInfoView.js +22 -9
  391. package/src/featureInfo/balloonHelper.js +61 -42
  392. package/src/featureInfo/featureInfo.js +102 -73
  393. package/src/featureInfo/featureInfoInteraction.js +13 -7
  394. package/src/featureInfo/iframeFeatureInfoView.js +3 -1
  395. package/src/featureInfo/tableFeatureInfoView.js +15 -5
  396. package/src/i18n/de.js +5 -2
  397. package/src/i18n/en.js +5 -2
  398. package/src/i18n/i18nCollection.js +182 -155
  399. package/src/init.js +121 -121
  400. package/src/legend/legendHelper.js +11 -6
  401. package/src/legend/styleLegendItem.vue +18 -12
  402. package/src/legend/vcsLegend.vue +16 -18
  403. package/src/manager/buttonManager.js +21 -3
  404. package/src/manager/collectionManager/CollectionComponent.vue +142 -0
  405. package/src/manager/collectionManager/CollectionComponentList.vue +62 -0
  406. package/src/manager/collectionManager/CollectionComponentProvider.vue +38 -0
  407. package/src/manager/collectionManager/CollectionManager.vue +43 -0
  408. package/src/manager/collectionManager/categoryManager.js +83 -0
  409. package/src/manager/collectionManager/collectionComponent.js +453 -0
  410. package/src/manager/collectionManager/collectionManager.js +432 -0
  411. package/src/manager/contextMenu/contextMenuComponent.vue +2 -6
  412. package/src/manager/contextMenu/contextMenuInteraction.js +6 -1
  413. package/src/manager/contextMenu/contextMenuManager.js +37 -22
  414. package/src/manager/navbarManager.js +19 -11
  415. package/src/manager/toolbox/GroupToolboxComponent.vue +27 -28
  416. package/src/manager/toolbox/SelectToolboxComponent.vue +42 -44
  417. package/src/manager/toolbox/ToolboxManager.vue +22 -15
  418. package/src/manager/toolbox/toolboxManager.js +30 -12
  419. package/src/manager/window/WindowComponent.vue +18 -21
  420. package/src/manager/window/WindowComponentHeader.vue +34 -30
  421. package/src/manager/window/WindowManager.vue +33 -22
  422. package/src/manager/window/windowHelper.js +79 -23
  423. package/src/manager/window/windowManager.js +61 -32
  424. package/src/navigation/mapNavCompass.vue +17 -3
  425. package/src/navigation/mapNavigation.vue +93 -48
  426. package/src/navigation/obliqueRotation.vue +6 -8
  427. package/src/navigation/orientationToolsButton.vue +6 -9
  428. package/src/navigation/overviewMap.js +79 -42
  429. package/src/navigation/overviewMapClickedInteraction.js +6 -1
  430. package/src/navigation/tiltSlider.vue +6 -10
  431. package/src/navigation/vcsCompass.vue +1 -9
  432. package/src/navigation/vcsZoomButton.vue +16 -17
  433. package/src/notifier/notifier.js +22 -13
  434. package/src/notifier/notifierComponent.vue +21 -22
  435. package/src/pluginHelper.js +28 -9
  436. package/src/search/resultItem.vue +10 -16
  437. package/src/search/resultsComponent.vue +30 -24
  438. package/src/search/search.js +36 -19
  439. package/src/search/searchComponent.vue +27 -19
  440. package/src/setup.js +9 -9
  441. package/src/state.js +22 -6
  442. package/src/styles/_theming.scss +2 -2
  443. package/src/styles/_typography.scss +2 -3
  444. package/src/styles/main.scss +8 -0
  445. package/src/styles/shades.scss +4 -2
  446. package/src/styles/utils/_border.scss +1 -1
  447. package/src/styles/utils/_display.scss +1 -1
  448. package/src/styles/variables.scss +39 -34
  449. package/src/styles/vcsFont.scss +2 -22
  450. package/src/styles/vcsGrid.scss +9 -0
  451. package/src/uiConfig.js +3 -1
  452. package/src/vcsUiApp.js +227 -66
  453. package/src/vuePlugins/i18n.js +22 -23
  454. package/src/vuePlugins/vuetify.js +4 -1
  455. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
  456. package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
  457. package/dist/assets/core.9342a1.js +0 -18431
  458. package/dist/assets/index.fd041928.js +0 -1
  459. package/dist/assets/ui.c27597.css +0 -5
  460. package/dist/assets/ui.c27597.js +0 -17799
  461. package/plugins/@vcmap-show-case/category-tester/Categories.vue +0 -264
  462. package/plugins/@vcmap-show-case/category-tester/Category.vue +0 -144
  463. package/src/manager/categoryManager/CategoryComponent.vue +0 -124
  464. package/src/manager/categoryManager/CategoryComponentList.vue +0 -57
  465. package/src/manager/categoryManager/CategoryManager.vue +0 -48
  466. package/src/manager/categoryManager/categoryManager.js +0 -588
  467. package/start.js +0 -9
  468. /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
  469. /package/{src/assets/favicon-128.png → dist/assets/favicon-128.4c4ce5.png} +0 -0
  470. /package/{src/assets/favicon-180.png → dist/assets/favicon-180.5b99c0.png} +0 -0
  471. /package/{src/assets/favicon-192.png → dist/assets/favicon-192.0e205e.png} +0 -0
  472. /package/{src/assets/favicon-32.png → dist/assets/favicon-32.6b9add.png} +0 -0
  473. /package/dist/assets/{favicon.decf54cc.svg → favicon.d5ec97.svg} +0 -0
  474. /package/dist/assets/font/{TitilliumWeb-Regular.woff2 → TitilliumWeb-Regular.9ca076.woff2} +0 -0
  475. /package/{src/assets/logo-mobile.svg → dist/assets/logo-mobile.2d10a6.svg} +0 -0
  476. /package/{src/assets/logo.svg → dist/assets/logo.27089a.svg} +0 -0
  477. /package/{src → public}/assets/favicon.svg +0 -0
  478. /package/{src → public}/assets/font/OFL.txt +0 -0
  479. /package/{src → public}/assets/font/TitilliumWeb-Regular.woff2 +0 -0
@@ -17,30 +17,23 @@
17
17
  </template>
18
18
  <template #default v-if="showSection">
19
19
  <v-container class="py-0 px-1">
20
- <v-row
21
- no-gutters
22
- align="center"
23
- >
24
- <v-col>
20
+ <v-row no-gutters>
21
+ <v-col class="w-max-half">
25
22
  <VcsLabel html-for="selectInput" :dense="dense">
26
23
  {{ $t('form-inputs-example.select') }}
27
24
  </VcsLabel>
28
25
  </v-col>
29
- <v-col>
26
+ <v-col class="w-max-half">
30
27
  <VcsSelect
31
28
  id="selectInput"
32
29
  :items="selectOptions"
33
30
  :dense="dense"
34
- :rules="[v => v !== 'D' || 'D is not allowed']"
31
+ :rules="[(v) => v !== 'D' || 'D is not allowed']"
35
32
  v-model="state.selected"
36
- color="purple"
37
33
  />
38
34
  </v-col>
39
35
  </v-row>
40
- <v-row
41
- no-gutters
42
- align="center"
43
- >
36
+ <v-row no-gutters>
44
37
  <v-col>
45
38
  <VcsLabel html-for="conditionalInput" :dense="dense">
46
39
  ConditionalInput
@@ -51,47 +44,42 @@
51
44
  id="conditionalInput"
52
45
  clearable
53
46
  :dense="dense"
54
- :rules="[conditionalTest(state.conditionalInput, state.selected)]"
47
+ :rules="[
48
+ conditionalTest(state.conditionalInput, state.selected),
49
+ ]"
55
50
  v-model="state.conditionalInput"
56
51
  placeholder="conditional"
57
52
  />
58
53
  </v-col>
59
54
  </v-row>
60
- <v-row
61
- no-gutters
62
- align="center"
63
- >
55
+ <v-row no-gutters>
64
56
  <v-col>
65
57
  <VcsTextField
66
58
  :dense="dense"
67
59
  v-model="state.initialTextInput"
68
60
  :rules="[isValidText]"
69
61
  :loading="state.initialTextInput === 'myInitialText'"
70
- :error-messages="!state.checkboxInput ? ['manual error message depending on checkbox'] : undefined"
62
+ :error-messages="
63
+ !state.checkboxInput
64
+ ? ['manual error message depending on checkbox']
65
+ : undefined
66
+ "
71
67
  />
72
68
  </v-col>
73
69
  </v-row>
74
- <v-row
75
- no-gutters
76
- align="center"
77
- >
70
+ <v-row no-gutters>
78
71
  <v-col>
79
72
  <VcsTextArea
80
73
  :dense="dense"
81
- :rules="[v => !!v || 'text area must not be empty']"
74
+ :rules="[(v) => !!v || 'text area must not be empty']"
82
75
  placeholder="This is a text area"
83
76
  rows="2"
84
77
  />
85
78
  </v-col>
86
79
  </v-row>
87
- <v-row
88
- no-gutters
89
- align="center"
90
- >
80
+ <v-row no-gutters>
91
81
  <v-col>
92
- <VcsLabel html-for="emailInput" :dense="dense">
93
- Email
94
- </VcsLabel>
82
+ <VcsLabel html-for="emailInput" :dense="dense"> Email </VcsLabel>
95
83
  </v-col>
96
84
  <v-col>
97
85
  <VcsTextField
@@ -105,10 +93,7 @@
105
93
  />
106
94
  </v-col>
107
95
  </v-row>
108
- <v-row
109
- no-gutters
110
- align="center"
111
- >
96
+ <v-row no-gutters>
112
97
  <v-col>
113
98
  <VcsLabel html-for="prependedInput" :dense="dense">
114
99
  String With Icon
@@ -124,10 +109,7 @@
124
109
  />
125
110
  </v-col>
126
111
  </v-row>
127
- <v-row
128
- no-gutters
129
- align="center"
130
- >
112
+ <v-row no-gutters>
131
113
  <v-col>
132
114
  <VcsLabel html-for="fileInput" :dense="dense">
133
115
  File input
@@ -143,14 +125,9 @@
143
125
  />
144
126
  </v-col>
145
127
  </v-row>
146
- <v-row
147
- no-gutters
148
- align="center"
149
- >
128
+ <v-row no-gutters>
150
129
  <v-col>
151
- <VcsLabel html-for="dateInput" :dense="dense">
152
- Date
153
- </VcsLabel>
130
+ <VcsLabel html-for="dateInput" :dense="dense"> Date </VcsLabel>
154
131
  </v-col>
155
132
  <v-col>
156
133
  <VcsDatePicker id="dateInput" v-model="state.dateInput" />
@@ -165,10 +142,7 @@
165
142
  >
166
143
  <template #default>
167
144
  <v-container class="py-0 px-1">
168
- <v-row
169
- no-gutters
170
- align="center"
171
- >
145
+ <v-row no-gutters>
172
146
  <v-col>
173
147
  <VcsLabel html-for="numberInput" :dense="dense">
174
148
  NumberInput
@@ -186,10 +160,23 @@
186
160
  />
187
161
  </v-col>
188
162
  </v-row>
189
- <v-row
190
- no-gutters
191
- align="center"
192
- >
163
+ <v-row no-gutters class="align-center">
164
+ <v-col>
165
+ <VcsLabel html-for="sliderInput" :dense="dense">
166
+ Slider
167
+ </VcsLabel>
168
+ </v-col>
169
+ <v-col>
170
+ <VcsSlider
171
+ id="sliderInput"
172
+ :dense="dense"
173
+ type="number"
174
+ step="1"
175
+ v-model.number="state.numberInput"
176
+ />
177
+ </v-col>
178
+ </v-row>
179
+ <v-row no-gutters>
193
180
  <v-col>
194
181
  <VcsLabel html-for="formattedNumber" :dense="dense">
195
182
  VcsFormattedNumber
@@ -205,10 +192,7 @@
205
192
  />
206
193
  </v-col>
207
194
  </v-row>
208
- <v-row
209
- no-gutters
210
- align="center"
211
- >
195
+ <v-row no-gutters>
212
196
  <v-col>
213
197
  <VcsTextField
214
198
  id="coordinateX"
@@ -246,65 +230,62 @@
246
230
  </v-container>
247
231
  </template>
248
232
  </VcsFormSection>
249
- <VcsFormSection
250
- heading="VcsFormSection Radio & Checkbox"
251
- >
233
+ <VcsFormSection heading="VcsFormSection Radio & Checkbox">
252
234
  <template #default>
253
235
  <v-container class="py-0 px-1">
254
- <v-row
255
- no-gutters
256
- align="center"
257
- >
236
+ <v-row no-gutters>
258
237
  <v-col>
259
238
  <VcsRadio
260
239
  :dense="dense"
261
- :items="[...selectOptions, { label: 'Radio Option E colored', color: 'primary', value: 'E' }]"
240
+ :items="[
241
+ ...selectOptions,
242
+ {
243
+ label: 'Radio Option E colored',
244
+ color: 'primary',
245
+ value: 'E',
246
+ },
247
+ ]"
262
248
  v-model="state.selected"
263
- :rules="[v => v !== 'D' || 'D is not allowed']"
249
+ :rules="[(v) => v !== 'D' || 'D is not allowed']"
264
250
  row
265
251
  />
266
252
  </v-col>
267
253
  </v-row>
268
254
  <v-row no-gutters>
269
255
  <v-col>
270
- <VcsLabel :dense="dense">
271
- Text
272
- </VcsLabel>
256
+ <VcsLabel :dense="dense"> Text </VcsLabel>
273
257
  </v-col>
274
258
  </v-row>
275
- <v-row
276
- no-gutters
277
- align="center"
278
- >
259
+ <v-row no-gutters>
279
260
  <v-col>
280
261
  <VcsCheckbox
281
262
  id="checkboxInput"
282
263
  label="CheckboxInput"
283
264
  :dense="dense"
284
- :rules="[() => state.checkboxInput || 'Please accept our terms of use']"
265
+ :rules="[
266
+ () => state.checkboxInput || 'Please accept our terms of use',
267
+ ]"
285
268
  v-model="state.checkboxInput"
286
269
  />
287
270
  </v-col>
288
271
  <v-col>
289
- <VcsButton
272
+ <VcsFormButton
290
273
  :is-active="state.checkboxInput"
291
274
  @click="state.checkboxInput = !state.checkboxInput"
292
275
  tooltip="toggle button"
293
276
  color="warning"
294
277
  tooltip-position="right"
295
- small
278
+ class="pt-1"
296
279
  >
297
280
  <span v-if="state.checkboxInput">Active-true</span>
298
281
  <span v-else>Active-false</span>
299
- </VcsButton>
282
+ </VcsFormButton>
300
283
  </v-col>
301
284
  </v-row>
302
285
  </v-container>
303
286
  </template>
304
- </vcsformsection>
305
- <VcsFormSection
306
- heading="VcsFormSection Mixed Inputs"
307
- >
287
+ </VcsFormSection>
288
+ <VcsFormSection heading="VcsFormSection Mixed Inputs">
308
289
  <template #header="{ heading }">
309
290
  <article class="pa-2 text--primary">
310
291
  {{ heading }}
@@ -313,21 +294,24 @@
313
294
  </template>
314
295
  <template #default>
315
296
  <v-container class="py-0 px-1">
316
- <v-row
317
- align="center"
318
- >
297
+ <v-row>
319
298
  <v-col cols="1">
320
- <VcsLabel html-for="textInput" :dense="dense" class="text-caption">
299
+ <VcsLabel
300
+ html-for="textInput"
301
+ :dense="dense"
302
+ class="text-caption"
303
+ >
321
304
  1
322
305
  </VcsLabel>
323
306
  </v-col>
324
307
  <v-col>
325
308
  <VcsSelect
326
309
  :items="[
327
- {value: 'one', i18n: 'form-inputs-example.numbers.one'},
328
- {value: 'two', i18n: 'form-inputs-example.numbers.two'},
329
- {value: 'three', i18n: 'form-inputs-example.numbers.three'}]"
330
- :item-text="item => item.i18n"
310
+ { value: 'one', i18n: 'form-inputs-example.numbers.one' },
311
+ { value: 'two', i18n: 'form-inputs-example.numbers.two' },
312
+ { value: 'three', i18n: 'form-inputs-example.numbers.three' },
313
+ ]"
314
+ :item-text="(item) => item.i18n"
331
315
  :dense="dense"
332
316
  placeholder="Numbers"
333
317
  />
@@ -335,41 +319,41 @@
335
319
  <v-col>
336
320
  <VcsSelect
337
321
  :items="[
338
- {value: 'Anna', fullName: 'Annabella'},
339
- {value: 'Bella', fullName: 'Belladonna'},
340
- {value: 'Claudi', fullName: 'Claudine'}]"
341
- :item-text="item => item.fullName"
322
+ { value: 'Anna', fullName: 'Annabella' },
323
+ { value: 'Bella', fullName: 'Belladonna' },
324
+ { value: 'Claudi', fullName: 'Claudine' },
325
+ ]"
326
+ :item-text="(item) => item.fullName"
342
327
  :dense="dense"
343
328
  multiple
344
329
  v-model="state.selectedMultiple"
345
- :rules="[v => !!v.length || 'Please select at least one option.']"
330
+ :rules="[
331
+ (v) => !!v.length || 'Please select at least one option.',
332
+ ]"
346
333
  />
347
334
  </v-col>
348
335
  </v-row>
349
336
  </v-container>
350
337
  </template>
351
338
  </VcsFormSection>
352
- <div class="d-flex justify-space-between px-2">
353
- <VcsButton
354
- @click="logState(state)"
355
- :disabled="!isValid"
356
- :tooltip="'Log current state in console'"
357
- :has-update="isValid && newUpdate"
358
- class="mx-2 mb-2"
359
- >
360
- Log State
361
- </VcsButton>
362
- <VcsButton
363
- @click="validate();"
364
- >
365
- Val
366
- </VcsButton>
367
- <VcsButton
368
- @click="resetState();"
369
- icon="$vcsReturn"
370
- >
371
- Reset
372
- </VcsButton>
339
+ <div class="d-flex gap-2 px-2 pt-2 pb-1">
340
+ <div class="d-flex gap-2">
341
+ <VcsFormButton @click="validate()"> Val </VcsFormButton>
342
+ <VcsFormButton @click="resetState()" icon="$vcsReturn">
343
+ Reset
344
+ </VcsFormButton>
345
+ </div>
346
+ <div class="d-flex gap-2 w-full justify-end">
347
+ <VcsFormButton
348
+ variant="filled"
349
+ @click="logState(state)"
350
+ :disabled="!isValid"
351
+ :tooltip="'Log current state in console'"
352
+ :has-update="isValid && newUpdate"
353
+ >
354
+ Log State
355
+ </VcsFormButton>
356
+ </div>
373
357
  </div>
374
358
  </v-form>
375
359
  </template>
@@ -379,13 +363,14 @@
379
363
  VcsSelect,
380
364
  VcsCheckbox,
381
365
  VcsRadio,
382
- VcsButton,
366
+ VcsFormButton,
383
367
  VcsTextField,
384
368
  VcsFormattedNumber,
385
369
  VcsFormSection,
386
370
  VcsLabel,
387
371
  VcsTextArea,
388
372
  VcsDatePicker,
373
+ VcsSlider,
389
374
  } from '@vcmap/ui';
390
375
  import { VCol, VContainer, VForm, VRow } from 'vuetify/lib';
391
376
  import packageJSON from './package.json';
@@ -394,7 +379,7 @@
394
379
  export default {
395
380
  name: 'FormInputsExample',
396
381
  components: {
397
- VcsButton,
382
+ VcsFormButton,
398
383
  VcsSelect,
399
384
  VcsTextField,
400
385
  VcsCheckbox,
@@ -408,6 +393,7 @@
408
393
  VCol,
409
394
  VContainer,
410
395
  VcsDatePicker,
396
+ VcsSlider,
411
397
  },
412
398
  props: {
413
399
  actions: {
@@ -427,7 +413,9 @@
427
413
  const app = inject('vcsApp');
428
414
  const plugin = app.plugins.getByKey(packageJSON.name);
429
415
  const newUpdate = ref(true);
430
- watch(plugin.state, () => { newUpdate.value = true; });
416
+ watch(plugin.state, () => {
417
+ newUpdate.value = true;
418
+ });
431
419
  const form = ref();
432
420
 
433
421
  return {
@@ -458,7 +446,7 @@
458
446
  };
459
447
  </script>
460
448
  <style lang="scss" scoped>
461
- label{
462
- font-size: 12px;
463
- }
449
+ label {
450
+ font-size: 12px;
451
+ }
464
452
  </style>
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "form-inputs-example",
3
- "selectOptions": ["A", "B", "C", "D"],
4
- "initialTextInput": "myInitialText"
2
+ "name": "form-inputs-example",
3
+ "selectOptions": ["A", "B", "C", "D"],
4
+ "initialTextInput": "myInitialText"
5
5
  }
@@ -8,13 +8,21 @@ export default function createExampleActions() {
8
8
  reactive({
9
9
  name: 'denseSelection',
10
10
  title: 'change row height',
11
- icon: dense.value ? 'mdi-arrow-split-horizontal' : 'mdi-arrow-collapse-vertical',
11
+ icon: dense.value
12
+ ? 'mdi-arrow-split-horizontal'
13
+ : 'mdi-arrow-collapse-vertical',
12
14
  callback() {
13
15
  dense.value = !dense.value;
14
- this.icon = dense.value ? 'mdi-arrow-split-horizontal' : 'mdi-arrow-collapse-vertical';
16
+ this.icon = dense.value
17
+ ? 'mdi-arrow-split-horizontal'
18
+ : 'mdi-arrow-collapse-vertical';
15
19
  },
16
20
  }),
17
- { name: 'noIcon', title: 'another action without icon', callback: () => {} },
21
+ {
22
+ name: 'noIcon',
23
+ title: 'another action without icon',
24
+ callback: () => {},
25
+ },
18
26
  reactive({
19
27
  name: 'toggleSection',
20
28
  title: 'toggle section',
@@ -37,7 +45,9 @@ export default function createExampleActions() {
37
45
  {
38
46
  name: 'alert',
39
47
  icon: 'mdi-message-text',
40
- callback() { alert('alert'); },
48
+ callback() {
49
+ alert('alert');
50
+ },
41
51
  },
42
52
  ];
43
53
 
@@ -1,7 +1,6 @@
1
1
  import { ref, reactive, watch } from 'vue';
2
2
  import { getLogger as getLoggerByName } from '@vcsuite/logger';
3
3
 
4
-
5
4
  import { ButtonLocation, createToggleAction, WindowSlot } from '@vcmap/ui';
6
5
  import packageJSON from './package.json';
7
6
  import defaultConfig from './config.json';
@@ -46,7 +45,7 @@ export function getDefaultConfig() {
46
45
  * @param {FormInputsExampleConfig} config
47
46
  * @returns {VcsPlugin}
48
47
  */
49
- export default function (config) {
48
+ export default function formInputsExample(config) {
50
49
  /**
51
50
  * @type {FormInputsExampleConfig}
52
51
  */
@@ -54,7 +53,9 @@ export default function (config) {
54
53
  // not reactive can be put without using reactive or ref
55
54
  nonReactiveProp: 'nonReactive',
56
55
  // no validation, ref to track config changes; use reactive on nested arrays or objects
57
- selectOptions: ref([...config.selectOptions] || [...defaultConfig.selectOptions]),
56
+ selectOptions: ref(
57
+ [...config.selectOptions] || [...defaultConfig.selectOptions],
58
+ ),
58
59
  // ref prop with getter setter --> validation
59
60
  _initialTextInput: ref(defaultConfig.initialTextInput),
60
61
  set initialTextInput(value) {
@@ -62,10 +63,15 @@ export default function (config) {
62
63
  if (validation === true) {
63
64
  this._initialTextInput.value = value;
64
65
  } else {
65
- getLogger().error('Error setting initialTextInput on plugin config:', validation);
66
+ getLogger().error(
67
+ 'Error setting initialTextInput on plugin config:',
68
+ validation,
69
+ );
66
70
  }
67
71
  },
68
- get initialTextInput() { return this._initialTextInput; },
72
+ get initialTextInput() {
73
+ return this._initialTextInput;
74
+ },
69
75
  };
70
76
  if (config.initialTextInput) {
71
77
  pluginConfig.initialTextInput = config.initialTextInput;
@@ -90,7 +96,6 @@ export default function (config) {
90
96
  /** @type {FormInputsExampleState} */
91
97
  const defaultState = JSON.parse(JSON.stringify(pluginState));
92
98
 
93
-
94
99
  /**
95
100
  * watcher to update state, when specific config properties are changed
96
101
  * @see https://v3.vuejs.org/guide/reactivity-computed-watchers.html#watching-multiple-sources
@@ -100,7 +105,7 @@ export default function (config) {
100
105
  * - if reactive objects or arrays shall be watched, you'll need to add option `{ deep: true }`
101
106
  * @see https://v3.vuejs.org/guide/reactivity-computed-watchers.html#watching-reactive-objects
102
107
  * in this case you may need a separate watcher, since watching multiple sources seems only to work for refs
103
- * @returns {WatchStopHandle}
108
+ * @returns {import("vue").WatchStopHandle}
104
109
  */
105
110
  const stopWatching = watch(
106
111
  [pluginConfig.selectOptions, pluginConfig.initialTextInput],
@@ -133,14 +138,20 @@ export default function (config) {
133
138
  * @type {Object<string, true|string>}
134
139
  */
135
140
  const validation = {
136
- conditionalInput: conditionalTest(stateObject.conditionalInput, stateObject.selected),
141
+ conditionalInput: conditionalTest(
142
+ stateObject.conditionalInput,
143
+ stateObject.selected,
144
+ ),
137
145
  initialTextInput: isValidText(stateObject.initialTextInput),
138
146
  email: isValidEmail(stateObject.email),
139
147
  };
140
148
  Object.keys(validation).forEach((key) => {
141
149
  if (validation[key] !== true) {
142
150
  // XXX warning or error???
143
- getLogger().warning(`Validation failed for state property "${key}":`, validation[key]);
151
+ getLogger().warning(
152
+ `Validation failed for state property "${key}":`,
153
+ validation[key],
154
+ );
144
155
  // XXX should invalid props be assigned or not?
145
156
  delete stateObject[key];
146
157
  }
@@ -149,12 +160,19 @@ export default function (config) {
149
160
  }
150
161
 
151
162
  return {
152
- get name() { return packageJSON.name; },
153
- get version() { return packageJSON.version; },
154
- get vcMapVersion() { return packageJSON.vcMapVersion; },
163
+ get name() {
164
+ return packageJSON.name;
165
+ },
166
+ get version() {
167
+ return packageJSON.version;
168
+ },
169
+ get vcMapVersion() {
170
+ return packageJSON.vcMapVersion;
171
+ },
155
172
  config: pluginConfig,
156
173
  state: reactive(pluginState),
157
- resetState: () => Object.assign(pluginState, JSON.parse(JSON.stringify(defaultState))),
174
+ resetState: () =>
175
+ Object.assign(pluginState, JSON.parse(JSON.stringify(defaultState))),
158
176
  getSerializedState,
159
177
  setSerializedState,
160
178
  onVcsAppMounted(app) {
@@ -209,9 +227,11 @@ export default function (config) {
209
227
  tooltip: 'Form Inputs Beispiel Plugin',
210
228
  help: 'Geben Sie eine Zahl in das Feld NumberInput ein. VcsFormattedNumber rundet auf eine Dezimalstelle.',
211
229
  help1: 'Wählen Sie eine Option',
212
- help1desc: 'Wenn \'Option A\' gewählt ist, muss der bedingte Input \'test\' sein.',
213
- help2: 'Ändern Sie den Wert von \'myInitialText\'',
214
- help2desc: 'InitialTextInput bleibt solange im Lade-Status, bis sich der Wert \'myInitialText\' ändert.',
230
+ help1desc:
231
+ "Wenn 'Option A' gewählt ist, muss der bedingte Input 'test' sein.",
232
+ help2: "Ändern Sie den Wert von 'myInitialText'",
233
+ help2desc:
234
+ "InitialTextInput bleibt solange im Lade-Status, bis sich der Wert 'myInitialText' ändert.",
215
235
  help3: 'Geben Sie eine Email Adresse ein',
216
236
  help3desc: 'Email Adressen werden validiert.',
217
237
  numbers: {
@@ -228,9 +248,11 @@ export default function (config) {
228
248
  tooltip: 'Form Inputs Example Plugin',
229
249
  help: 'Enter a number to the NumberInput field. VcsFormattedNumber rounds to one decimal digit.',
230
250
  help1: 'Select an option',
231
- help1desc: 'If \'Option A\' is chosen, conditional input must be \'test\'.',
232
- help2: 'Change \'myInitialText\' to some other value',
233
- help2desc: 'InitialTextInput text field stays in loading state, as long as \'myInitialText\' is not changed.',
251
+ help1desc:
252
+ "If 'Option A' is chosen, conditional input must be 'test'.",
253
+ help2: "Change 'myInitialText' to some other value",
254
+ help2desc:
255
+ "InitialTextInput text field stays in loading state, as long as 'myInitialText' is not changed.",
234
256
  help3: 'Enter an email address.',
235
257
  help3desc: 'Emails get validated.',
236
258
  numbers: {
@@ -25,6 +25,7 @@ export function conditionalTest(value, condition) {
25
25
  * @returns {boolean|string}
26
26
  */
27
27
  export function isValidEmail(value) {
28
- const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
28
+ const pattern =
29
+ /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
29
30
  return pattern.test(value) || 'Invalid e-mail.';
30
31
  }
@@ -1,5 +1,5 @@
1
1
  # Icons Example
2
2
 
3
- This is a show-case plugin demonstrating the usage of icons.
3
+ This is a show-case plugin demonstrating the usage of icons.
4
4
  Lists all available VCS icons.
5
5
  See [icons](../../../src/components/icons) for the used components.
@@ -1,10 +1,6 @@
1
1
  <template>
2
2
  <v-sheet class="overflow-auto icons-window">
3
- <vcs-list
4
- :items="icons"
5
- :searchable="true"
6
- :show-title="false"
7
- />
3
+ <vcs-list :items="icons" :searchable="true" :show-title="false" />
8
4
  </v-sheet>
9
5
  </template>
10
6
 
@@ -31,21 +27,25 @@
31
27
  name: 'copy-icon-to-clipboard',
32
28
  icon: 'mdi-content-copy',
33
29
  title: `Copy ${key}`,
34
- callback: async () => { await navigator.clipboard.writeText(key); },
30
+ callback: async () => {
31
+ await navigator.clipboard.writeText(key);
32
+ },
35
33
  },
36
34
  ],
37
35
  };
38
36
  };
39
37
 
40
38
  return {
41
- icons: computed(() => Object.keys(Icons).map(icon => createListItem(icon))),
39
+ icons: computed(() =>
40
+ Object.keys(Icons).map((icon) => createListItem(icon)),
41
+ ),
42
42
  };
43
43
  },
44
44
  };
45
45
  </script>
46
46
 
47
47
  <style scoped>
48
- .icons-window {
49
- max-height: 600px;
50
- }
48
+ .icons-window {
49
+ max-height: 600px;
50
+ }
51
51
  </style>