@vcmap/ui 5.0.0-rc.22 → 5.0.0-rc.24

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