@vcmap/ui 5.0.1 → 5.1.0-rc.1

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 (444) hide show
  1. package/README.md +2 -2
  2. package/build/buildTypes.js +176 -0
  3. package/build/lintTypes.js +30 -0
  4. package/config/aerowest.config.json +4 -0
  5. package/config/base.config.json +24 -2
  6. package/config/dev.config.json +176 -5
  7. package/config/www.config.json +25 -1
  8. package/dist/assets/{cesium.888ef7.js → cesium.e9b3ca.js} +1859 -1828
  9. package/dist/assets/cesium.js +1 -1
  10. package/dist/assets/{core.860907.js → core.a9fe5a.js} +5865 -5041
  11. package/dist/assets/core.js +1 -1
  12. package/dist/assets/index-bb2549d6.js +1 -0
  13. package/dist/assets/{ol.5e8a90.js → ol.5f0496.js} +7257 -7252
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/{ui.7758a8.css → ui.3c73c2.css} +2 -2
  16. package/dist/assets/{ui.7758a8.js → ui.3c73c2.js} +14281 -9264
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/{vue.9771b3.js → vue.4fe14e.js} +1243 -1234
  19. package/dist/assets/vue.js +2 -2
  20. package/dist/assets/{vuetify.2818ff.css → vuetify.260d9a.css} +1 -1
  21. package/dist/assets/{vuetify.2818ff.js → vuetify.260d9a.js} +155 -154
  22. package/dist/assets/vuetify.js +2 -2
  23. package/dist/index.html +2 -2
  24. package/index.d.ts +256 -0
  25. package/index.html +1 -1
  26. package/index.js +48 -11
  27. package/package.json +22 -15
  28. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +3 -0
  29. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +312 -43
  30. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +48 -182
  31. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +118 -0
  32. package/plugins/@vcmap-show-case/category-tester/src/importExportHelper.js +29 -0
  33. package/plugins/@vcmap-show-case/category-tester/src/index.js +16 -0
  34. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +2 -1
  35. package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +8 -4
  36. package/plugins/@vcmap-show-case/extent-example/README.md +3 -0
  37. package/plugins/@vcmap-show-case/extent-example/package.json +5 -0
  38. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +71 -0
  39. package/plugins/@vcmap-show-case/extent-example/src/index.js +68 -0
  40. package/plugins/@vcmap-show-case/flight-component-example/README.md +3 -0
  41. package/plugins/@vcmap-show-case/flight-component-example/package.json +5 -0
  42. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +53 -0
  43. package/plugins/@vcmap-show-case/flight-component-example/src/index.js +42 -0
  44. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +78 -5
  45. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +2 -2
  46. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +22 -10
  47. package/plugins/@vcmap-show-case/toolbox-example/README.md +9 -0
  48. package/plugins/@vcmap-show-case/toolbox-example/package.json +5 -0
  49. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +21 -0
  50. package/plugins/@vcmap-show-case/toolbox-example/src/dummyToolboxActions.js +94 -0
  51. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +260 -0
  52. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +12 -2
  53. package/plugins/@vcmap-show-case/viewpoint-component-example/README.md +3 -0
  54. package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +5 -0
  55. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +52 -0
  56. package/plugins/@vcmap-show-case/viewpoint-component-example/src/index.js +42 -0
  57. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +31 -1
  58. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +20 -16
  59. package/plugins/@vcmap-show-case/window-tester/src/index.js +2 -17
  60. package/plugins/package.json +3 -1
  61. package/src/actions/StyleSelector.vue +8 -7
  62. package/src/actions/StyleSelector.vue.d.ts +27 -0
  63. package/src/actions/actionHelper.d.ts +153 -0
  64. package/src/actions/actionHelper.js +48 -21
  65. package/src/actions/extentActions.d.ts +40 -0
  66. package/src/actions/extentActions.js +359 -0
  67. package/src/actions/flightActions.d.ts +59 -0
  68. package/src/actions/flightActions.js +232 -0
  69. package/src/actions/listActions.d.ts +63 -0
  70. package/src/actions/listActions.js +185 -0
  71. package/src/actions/stateRefAction.d.ts +19 -0
  72. package/src/actions/stateRefAction.js +1 -1
  73. package/src/application/VcsApp.vue +103 -28
  74. package/src/application/VcsApp.vue.d.ts +86 -0
  75. package/src/application/VcsAppWrapper.vue.d.ts +12 -0
  76. package/src/application/VcsAttributions.vue.d.ts +14 -0
  77. package/src/application/VcsAttributionsFooter.vue +1 -4
  78. package/src/application/VcsAttributionsFooter.vue.d.ts +26 -0
  79. package/src/application/VcsMap.vue.d.ts +12 -0
  80. package/src/application/VcsNavbar.vue.d.ts +45 -0
  81. package/src/application/VcsPositionDisplay.vue +208 -0
  82. package/src/application/VcsPositionDisplay.vue.d.ts +18 -0
  83. package/src/application/VcsSettings.vue.d.ts +5 -0
  84. package/src/application/VcsTextPage.vue +65 -0
  85. package/src/application/VcsTextPage.vue.d.ts +16 -0
  86. package/src/application/VcsTextPageFooter.vue +89 -0
  87. package/src/application/VcsTextPageFooter.vue.d.ts +22 -0
  88. package/src/application/attributionsHelper.d.ts +64 -0
  89. package/src/application/attributionsHelper.js +1 -1
  90. package/src/application/markdownHelper.d.ts +5 -0
  91. package/src/application/markdownHelper.js +11 -0
  92. package/src/application/positionDisplayInteraction.d.ts +42 -0
  93. package/src/application/positionDisplayInteraction.js +65 -0
  94. package/src/callback/activateLayersCallback.d.ts +29 -0
  95. package/src/callback/activateLayersCallback.js +2 -2
  96. package/src/callback/applyLayerStyleCallback.d.ts +36 -0
  97. package/src/callback/applyLayerStyleCallback.js +2 -2
  98. package/src/callback/deactivateLayersCallback.d.ts +29 -0
  99. package/src/callback/deactivateLayersCallback.js +2 -2
  100. package/src/callback/goToViewpointCallback.d.ts +29 -0
  101. package/src/callback/goToViewpointCallback.js +2 -2
  102. package/src/callback/vcsCallback.d.ts +44 -0
  103. package/src/callback/vcsCallback.js +4 -9
  104. package/src/components/ImageElementInjector.vue.d.ts +24 -0
  105. package/src/components/buttons/VcsActionButtonList.vue +24 -16
  106. package/src/components/buttons/VcsActionButtonList.vue.d.ts +68 -0
  107. package/src/components/buttons/VcsButton.vue +7 -0
  108. package/src/components/buttons/VcsButton.vue.d.ts +89 -0
  109. package/src/components/buttons/VcsFormButton.vue +9 -0
  110. package/src/components/buttons/VcsFormButton.vue.d.ts +91 -0
  111. package/src/components/buttons/VcsToolButton.vue +9 -0
  112. package/src/components/buttons/VcsToolButton.vue.d.ts +91 -0
  113. package/src/components/flight/VcsFlightAnchorsComponent.vue +329 -0
  114. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +45 -0
  115. package/src/components/flight/VcsFlightComponent.vue +284 -0
  116. package/src/components/flight/VcsFlightComponent.vue.d.ts +104 -0
  117. package/src/components/flight/VcsFlightEditor.vue +77 -0
  118. package/src/components/flight/VcsFlightEditor.vue.d.ts +34 -0
  119. package/src/components/flight/VcsFlightPlayer.vue +124 -0
  120. package/src/components/flight/VcsFlightPlayer.vue.d.ts +25 -0
  121. package/src/components/flight/composables.d.ts +11 -0
  122. package/src/components/flight/composables.js +39 -0
  123. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +18 -0
  124. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +82 -0
  125. package/src/components/form-inputs-controls/VcsCoordinate.vue +152 -0
  126. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +90 -0
  127. package/src/components/form-inputs-controls/VcsDatePicker.vue +2 -2
  128. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +31 -0
  129. package/src/components/form-inputs-controls/VcsExtent.vue +122 -0
  130. package/src/components/form-inputs-controls/VcsExtent.vue.d.ts +36 -0
  131. package/src/components/form-inputs-controls/VcsFormSection.vue +6 -1
  132. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +75 -0
  133. package/src/components/form-inputs-controls/VcsLabel.vue +18 -0
  134. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +41 -0
  135. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +32 -0
  136. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +35 -0
  137. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +31 -0
  138. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -0
  139. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +22 -0
  140. package/src/components/form-inputs-controls/VcsTextField.vue +57 -10
  141. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +65 -0
  142. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +14 -0
  143. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +89 -0
  144. package/src/components/form-inputs-controls/composables.d.ts +7 -0
  145. package/src/components/form-inputs-controls/composables.js +1 -1
  146. package/src/components/form-output/VcsFormattedNumber.vue +13 -2
  147. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +89 -0
  148. package/src/components/icons/+all.d.ts +9 -0
  149. package/src/components/icons/+all.js +16 -0
  150. package/src/components/icons/2DAreaIcon.vue.d.ts +2 -0
  151. package/src/components/icons/2DDistanceIcon.vue.d.ts +2 -0
  152. package/src/components/icons/2DHeightObliqueIcon.vue +20 -0
  153. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +2 -0
  154. package/src/components/icons/3DAreaIcon.vue.d.ts +2 -0
  155. package/src/components/icons/3DDistanceIcon.vue.d.ts +2 -0
  156. package/src/components/icons/3DHeightIcon.vue.d.ts +2 -0
  157. package/src/components/icons/AngleIcon.vue.d.ts +2 -0
  158. package/src/components/icons/AssociationsIcon.vue.d.ts +2 -0
  159. package/src/components/icons/AxisIcon.vue.d.ts +2 -0
  160. package/src/components/icons/BoundingBoxIcon.vue.d.ts +2 -0
  161. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +2 -0
  162. package/src/components/icons/CheckboxIcon.vue.d.ts +2 -0
  163. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +2 -0
  164. package/src/components/icons/CircleIcon.vue.d.ts +2 -0
  165. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +2 -0
  166. package/src/components/icons/ClippingIcon.vue.d.ts +2 -0
  167. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +2 -0
  168. package/src/components/icons/ColorPickerIcon.vue.d.ts +2 -0
  169. package/src/components/icons/ColorSwatchIcon.vue.d.ts +2 -0
  170. package/src/components/icons/CommentIcon.vue.d.ts +2 -0
  171. package/src/components/icons/CompassIcon.vue.d.ts +2 -0
  172. package/src/components/icons/ComponentsIcon.vue.d.ts +2 -0
  173. package/src/components/icons/ComponentsPlusIcon.vue +17 -0
  174. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +2 -0
  175. package/src/components/icons/ConeIcon.vue.d.ts +2 -0
  176. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +2 -0
  177. package/src/components/icons/EditIcon.vue.d.ts +2 -0
  178. package/src/components/icons/EditVerticesIcon.vue.d.ts +2 -0
  179. package/src/components/icons/ElevationProfileIcon.vue.d.ts +2 -0
  180. package/src/components/icons/ExportAreaIcon.vue.d.ts +2 -0
  181. package/src/components/icons/ExportFlightIcon.vue.d.ts +2 -0
  182. package/src/components/icons/ExportIcon.vue.d.ts +2 -0
  183. package/src/components/icons/ExternalLinkIcon.vue.d.ts +2 -0
  184. package/src/components/icons/EyeIcon.vue.d.ts +2 -0
  185. package/src/components/icons/FastForwardIcon.vue.d.ts +2 -0
  186. package/src/components/icons/FilterIcon.vue.d.ts +2 -0
  187. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +2 -0
  188. package/src/components/icons/GlobeNatureIcon.vue.d.ts +2 -0
  189. package/src/components/icons/GroundIcon.vue.d.ts +2 -0
  190. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +2 -0
  191. package/src/components/icons/HelpIcon.vue.d.ts +2 -0
  192. package/src/components/icons/HideIcon.vue.d.ts +2 -0
  193. package/src/components/icons/HomePointIcon.vue.d.ts +2 -0
  194. package/src/components/icons/HospitalsIcon.vue.d.ts +2 -0
  195. package/src/components/icons/HouseIcon.vue.d.ts +2 -0
  196. package/src/components/icons/ImportIcon.vue.d.ts +2 -0
  197. package/src/components/icons/InfoIcon.vue.d.ts +2 -0
  198. package/src/components/icons/KebabIcon.vue.d.ts +2 -0
  199. package/src/components/icons/LabelIcon.vue.d.ts +2 -0
  200. package/src/components/icons/LayersIcon.vue.d.ts +2 -0
  201. package/src/components/icons/LegendIcon.vue.d.ts +2 -0
  202. package/src/components/icons/LineIcon.vue.d.ts +2 -0
  203. package/src/components/icons/LinkIcon.vue.d.ts +2 -0
  204. package/src/components/icons/LogoutIcon.vue.d.ts +2 -0
  205. package/src/components/icons/MapIcon.vue.d.ts +2 -0
  206. package/src/components/icons/MenuIcon.vue.d.ts +2 -0
  207. package/src/components/icons/MinusIcon.vue.d.ts +2 -0
  208. package/src/components/icons/MultiViewIcon.vue +16 -0
  209. package/src/components/icons/MultiViewIcon.vue.d.ts +2 -0
  210. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +2 -0
  211. package/src/components/icons/ObjectSelectIcon.vue.d.ts +2 -0
  212. package/src/components/icons/ObliqueViewIcon.vue.d.ts +2 -0
  213. package/src/components/icons/PdfIcon.vue.d.ts +2 -0
  214. package/src/components/icons/PedestrianIcon.vue.d.ts +2 -0
  215. package/src/components/icons/PenIcon.vue.d.ts +2 -0
  216. package/src/components/icons/PlayCircleIcon.vue.d.ts +2 -0
  217. package/src/components/icons/PlusIcon.vue.d.ts +2 -0
  218. package/src/components/icons/PoiIcon.vue.d.ts +2 -0
  219. package/src/components/icons/PointIcon.vue.d.ts +2 -0
  220. package/src/components/icons/PointMeasurementIcon.vue +36 -0
  221. package/src/components/icons/PointMeasurementIcon.vue.d.ts +2 -0
  222. package/src/components/icons/PointSelectIcon.vue.d.ts +2 -0
  223. package/src/components/icons/PresentationModeIcon.vue.d.ts +2 -0
  224. package/src/components/icons/ProgressIcon.vue.d.ts +2 -0
  225. package/src/components/icons/QueryIcon.vue.d.ts +2 -0
  226. package/src/components/icons/RectangleIcon.vue.d.ts +2 -0
  227. package/src/components/icons/ReturnIcon.vue.d.ts +2 -0
  228. package/src/components/icons/RewindIcon.vue.d.ts +2 -0
  229. package/src/components/icons/RotateLeftIcon.vue.d.ts +2 -0
  230. package/src/components/icons/RotateRightIcon.vue.d.ts +2 -0
  231. package/src/components/icons/ScreenshotIcon.vue.d.ts +2 -0
  232. package/src/components/icons/SearchIcon.vue.d.ts +2 -0
  233. package/src/components/icons/ShadowIcon.vue.d.ts +2 -0
  234. package/src/components/icons/ShapesIcon.vue.d.ts +2 -0
  235. package/src/components/icons/ShareIcon.vue.d.ts +2 -0
  236. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +2 -0
  237. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +2 -0
  238. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +2 -0
  239. package/src/components/icons/SkipNextIcon.vue.d.ts +2 -0
  240. package/src/components/icons/SkipPreviousIcon.vue.d.ts +2 -0
  241. package/src/components/icons/SplitViewIcon.vue.d.ts +2 -0
  242. package/src/components/icons/TerrainBoxIcon.vue.d.ts +2 -0
  243. package/src/components/icons/TextStyleIcon.vue.d.ts +2 -0
  244. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +2 -0
  245. package/src/components/icons/ToolsIcon.vue.d.ts +2 -0
  246. package/src/components/icons/TouchIcon.vue.d.ts +2 -0
  247. package/src/components/icons/TrashCanIcon.vue.d.ts +2 -0
  248. package/src/components/icons/TriangleIcon.vue.d.ts +2 -0
  249. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +2 -0
  250. package/src/components/icons/UploadIcon.vue.d.ts +2 -0
  251. package/src/components/icons/UserProfileIcon.vue.d.ts +2 -0
  252. package/src/components/icons/UserShareIcon.vue.d.ts +2 -0
  253. package/src/components/icons/VideoRecorderIcon.vue.d.ts +2 -0
  254. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +2 -0
  255. package/src/components/icons/ViewpointIcon.vue.d.ts +2 -0
  256. package/src/components/icons/Viewshed360Icon.vue.d.ts +2 -0
  257. package/src/components/icons/ViewshedConeIcon.vue.d.ts +2 -0
  258. package/src/components/icons/ViewshedIcon.vue.d.ts +2 -0
  259. package/src/components/icons/WalkingIcon.vue.d.ts +2 -0
  260. package/src/components/icons/WallIcon.vue.d.ts +2 -0
  261. package/src/components/icons/WandIcon.vue.d.ts +2 -0
  262. package/src/components/import/FileDrop.vue +69 -0
  263. package/src/components/import/FileDrop.vue.d.ts +26 -0
  264. package/src/components/import/ImportComponent.vue +78 -0
  265. package/src/components/import/ImportComponent.vue.d.ts +34 -0
  266. package/src/components/lists/VcsActionList.vue +8 -15
  267. package/src/components/lists/VcsActionList.vue.d.ts +66 -0
  268. package/src/components/lists/VcsList.vue +207 -116
  269. package/src/components/lists/VcsList.vue.d.ts +227 -0
  270. package/src/components/lists/VcsTreeview.vue +3 -1
  271. package/src/components/lists/VcsTreeview.vue.d.ts +28 -0
  272. package/src/components/lists/VcsTreeviewLeaf.vue +1 -0
  273. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +19 -0
  274. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +41 -0
  275. package/src/components/notification/VcsBadge.vue.d.ts +14 -0
  276. package/src/components/notification/VcsHelp.vue.d.ts +22 -0
  277. package/src/components/notification/VcsTooltip.vue.d.ts +27 -0
  278. package/src/components/notification/validation.d.ts +8 -0
  279. package/src/components/notification/validation.js +3 -2
  280. package/src/components/plugins/AbstractConfigEditor.vue +25 -4
  281. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +55 -0
  282. package/src/components/style/MenuWrapper.vue.d.ts +55 -0
  283. package/src/components/style/VcsFeatureStyleComponent.vue +389 -0
  284. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +31 -0
  285. package/src/components/style/VcsFillMenu.vue.d.ts +34 -0
  286. package/src/components/style/VcsFillSelector.vue.d.ts +22 -0
  287. package/src/components/style/VcsImageMenu.vue.d.ts +43 -0
  288. package/src/components/style/VcsImageSelector.vue.d.ts +128 -0
  289. package/src/components/style/VcsStrokeMenu.vue.d.ts +34 -0
  290. package/src/components/style/VcsStrokeSelector.vue.d.ts +23 -0
  291. package/src/components/style/VcsTextMenu.vue.d.ts +52 -0
  292. package/src/components/style/VcsTextSelector.vue.d.ts +58 -0
  293. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +76 -0
  294. package/src/components/style/composables.d.ts +43 -0
  295. package/src/components/style/composables.js +11 -8
  296. package/src/components/tables/VcsDataTable.vue +11 -3
  297. package/src/components/tables/VcsDataTable.vue.d.ts +142 -0
  298. package/src/components/tables/VcsTable.vue +71 -2
  299. package/src/components/tables/VcsTable.vue.d.ts +88 -0
  300. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +392 -0
  301. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +87 -0
  302. package/src/components/vector-properties/VcsFeatureTransforms.vue +217 -0
  303. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +45 -0
  304. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +96 -52
  305. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +119 -0
  306. package/src/components/vector-properties/composables.d.ts +33 -0
  307. package/src/components/vector-properties/composables.js +21 -14
  308. package/src/components/viewpoint/VcsViewpointComponent.vue +514 -0
  309. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +126 -0
  310. package/src/components/viewpoint/VcsViewpointEditor.vue +87 -0
  311. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +25 -0
  312. package/src/contentTree/LayerTree.vue.d.ts +15 -0
  313. package/src/contentTree/contentTreeCollection.d.ts +113 -0
  314. package/src/contentTree/contentTreeCollection.js +10 -20
  315. package/src/contentTree/contentTreeItem.d.ts +334 -0
  316. package/src/contentTree/contentTreeItem.js +31 -17
  317. package/src/contentTree/flightContentTreeItem.d.ts +53 -0
  318. package/src/contentTree/flightContentTreeItem.js +201 -0
  319. package/src/contentTree/groupContentTreeItem.d.ts +14 -0
  320. package/src/contentTree/groupContentTreeItem.js +2 -2
  321. package/src/contentTree/layerContentTreeItem.d.ts +76 -0
  322. package/src/contentTree/layerContentTreeItem.js +7 -9
  323. package/src/contentTree/layerGroupContentTreeItem.d.ts +50 -0
  324. package/src/contentTree/layerGroupContentTreeItem.js +2 -3
  325. package/src/contentTree/nodeContentTreeItem.d.ts +10 -0
  326. package/src/contentTree/nodeContentTreeItem.js +2 -2
  327. package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +46 -0
  328. package/src/contentTree/obliqueCollectionContentTreeItem.js +3 -5
  329. package/src/contentTree/subContentTreeItem.d.ts +15 -0
  330. package/src/contentTree/subContentTreeItem.js +3 -3
  331. package/src/contentTree/vcsObjectContentTreeItem.d.ts +56 -0
  332. package/src/contentTree/vcsObjectContentTreeItem.js +3 -4
  333. package/src/contentTree/viewpointContentTreeItem.d.ts +46 -0
  334. package/src/contentTree/viewpointContentTreeItem.js +3 -4
  335. package/src/downloadHelper.d.ts +27 -0
  336. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +2 -0
  337. package/src/featureInfo/BalloonComponent.vue +16 -3
  338. package/src/featureInfo/BalloonComponent.vue.d.ts +61 -0
  339. package/src/featureInfo/abstractFeatureInfoView.d.ts +199 -0
  340. package/src/featureInfo/abstractFeatureInfoView.js +82 -18
  341. package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +67 -0
  342. package/src/featureInfo/addressBalloonFeatureInfoView.js +9 -2
  343. package/src/featureInfo/balloonFeatureInfoView.d.ts +49 -0
  344. package/src/featureInfo/balloonFeatureInfoView.js +12 -11
  345. package/src/featureInfo/balloonHelper.d.ts +31 -0
  346. package/src/featureInfo/balloonHelper.js +6 -6
  347. package/src/featureInfo/featureInfo.d.ts +146 -0
  348. package/src/featureInfo/featureInfo.js +11 -16
  349. package/src/featureInfo/featureInfoInteraction.d.ts +21 -0
  350. package/src/featureInfo/featureInfoInteraction.js +2 -2
  351. package/src/featureInfo/iframeFeatureInfoView.d.ts +48 -0
  352. package/src/featureInfo/iframeFeatureInfoView.js +3 -5
  353. package/src/featureInfo/tableFeatureInfoView.d.ts +75 -0
  354. package/src/featureInfo/tableFeatureInfoView.js +19 -9
  355. package/src/i18n/de.d.ts +353 -0
  356. package/src/i18n/de.js +114 -2
  357. package/src/i18n/en.d.ts +352 -0
  358. package/src/i18n/en.js +113 -1
  359. package/src/i18n/i18nCollection.d.ts +82 -0
  360. package/src/i18n/i18nCollection.js +3 -3
  361. package/src/init.d.ts +58 -0
  362. package/src/init.js +3 -5
  363. package/src/legend/StyleLegendItem.vue.d.ts +25 -0
  364. package/src/legend/VcsLegend.vue.d.ts +20 -0
  365. package/src/legend/legendHelper.d.ts +172 -0
  366. package/src/legend/legendHelper.js +21 -21
  367. package/src/manager/buttonManager.d.ts +106 -0
  368. package/src/manager/buttonManager.js +8 -4
  369. package/src/manager/collectionManager/CollectionComponent.vue +38 -38
  370. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
  371. package/src/manager/collectionManager/CollectionComponentList.vue +78 -24
  372. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +38 -0
  373. package/src/manager/collectionManager/CollectionComponentProvider.vue +3 -2
  374. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +12 -0
  375. package/src/manager/collectionManager/CollectionManager.vue +29 -4
  376. package/src/manager/collectionManager/CollectionManager.vue.d.ts +8 -0
  377. package/src/manager/collectionManager/categoryManager.d.ts +56 -0
  378. package/src/manager/collectionManager/categoryManager.js +21 -7
  379. package/src/manager/collectionManager/collectionComponentClass.d.ts +257 -0
  380. package/src/manager/collectionManager/{collectionComponent.js → collectionComponentClass.js} +210 -57
  381. package/src/manager/collectionManager/collectionManager.d.ts +200 -0
  382. package/src/manager/collectionManager/collectionManager.js +45 -39
  383. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +60 -0
  384. package/src/manager/collectionManager/editorCollectionComponentClass.js +295 -0
  385. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +18 -0
  386. package/src/manager/contextMenu/contextMenuInteraction.d.ts +24 -0
  387. package/src/manager/contextMenu/contextMenuManager.d.ts +70 -0
  388. package/src/manager/contextMenu/contextMenuManager.js +5 -5
  389. package/src/manager/navbarManager.d.ts +60 -0
  390. package/src/manager/navbarManager.js +10 -6
  391. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +17 -0
  392. package/src/manager/toolbox/SelectToolboxComponent.vue +1 -0
  393. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +15 -0
  394. package/src/manager/toolbox/ToolboxManager.vue +33 -7
  395. package/src/manager/toolbox/ToolboxManager.vue.d.ts +21 -0
  396. package/src/manager/toolbox/toolboxManager.d.ts +177 -0
  397. package/src/manager/toolbox/toolboxManager.js +86 -31
  398. package/src/manager/window/WindowComponent.vue.d.ts +40 -0
  399. package/src/manager/window/WindowComponentHeader.vue +1 -1
  400. package/src/manager/window/WindowComponentHeader.vue.d.ts +36 -0
  401. package/src/manager/window/WindowManager.vue +1 -0
  402. package/src/manager/window/WindowManager.vue.d.ts +19 -0
  403. package/src/manager/window/windowHelper.d.ts +134 -0
  404. package/src/manager/window/windowHelper.js +20 -20
  405. package/src/manager/window/windowManager.d.ts +422 -0
  406. package/src/manager/window/windowManager.js +95 -40
  407. package/src/navigation/MapNavCompass.vue.d.ts +25 -0
  408. package/src/navigation/MapNavigation.vue +2 -2
  409. package/src/navigation/MapNavigation.vue.d.ts +46 -0
  410. package/src/navigation/ObliqueRotation.vue +8 -4
  411. package/src/navigation/ObliqueRotation.vue.d.ts +14 -0
  412. package/src/navigation/OrientationToolsButton.vue.d.ts +30 -0
  413. package/src/navigation/TiltSlider.vue.d.ts +19 -0
  414. package/src/navigation/VcsCompass.vue.d.ts +25 -0
  415. package/src/navigation/VcsZoomButton.vue +6 -3
  416. package/src/navigation/VcsZoomButton.vue.d.ts +2 -0
  417. package/src/navigation/overviewMap.d.ts +199 -0
  418. package/src/navigation/overviewMap.js +3 -7
  419. package/src/navigation/overviewMapClickedInteraction.d.ts +21 -0
  420. package/src/notifier/NotifierComponent.vue.d.ts +10 -0
  421. package/src/notifier/notifier.d.ts +53 -0
  422. package/src/notifier/notifier.js +0 -1
  423. package/src/pluginHelper.d.ts +67 -0
  424. package/src/pluginHelper.js +11 -9
  425. package/src/search/ResultItem.vue.d.ts +25 -0
  426. package/src/search/ResultsComponent.vue +1 -1
  427. package/src/search/ResultsComponent.vue.d.ts +24 -0
  428. package/src/search/SearchComponent.vue +1 -1
  429. package/src/search/SearchComponent.vue.d.ts +10 -0
  430. package/src/search/search.d.ts +129 -0
  431. package/src/search/search.js +8 -11
  432. package/src/setup.d.ts +1 -0
  433. package/src/state.d.ts +57 -0
  434. package/src/state.js +7 -5
  435. package/src/uiConfig.d.ts +99 -0
  436. package/src/uiConfig.js +17 -7
  437. package/src/vcsUiApp.d.ts +301 -0
  438. package/src/vcsUiApp.js +57 -53
  439. package/src/vuePlugins/i18n.d.ts +10 -0
  440. package/src/vuePlugins/i18n.js +3 -3
  441. package/src/vuePlugins/vuetify.d.ts +27 -0
  442. package/tsconfig.json +36 -0
  443. package/dist/assets/index-f265c560.js +0 -1
  444. package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
package/src/init.js CHANGED
@@ -7,7 +7,6 @@ import VcsUiApp from './vcsUiApp.js';
7
7
 
8
8
  /**
9
9
  * Base pattern to check VcsObjects
10
- * @type {import("vcsuite/check").PatternFor<import("@vcmap/core").VcsObject>}
11
10
  */
12
11
  const VcsObjectPattern = {
13
12
  type: String,
@@ -16,7 +15,6 @@ const VcsObjectPattern = {
16
15
 
17
16
  /**
18
17
  * Base pattern to check VcsUiAppConfig
19
- * @type {import("vcsuite/check").PatternFor<VcsUiAppConfig>}
20
18
  */
21
19
  export const VcsUiAppConfigPattern = {
22
20
  id: [undefined, String],
@@ -39,7 +37,7 @@ export const VcsUiAppConfigPattern = {
39
37
  /**
40
38
  * creates and mounts a vcsApp
41
39
  * @param {string} mountTarget
42
- * @returns {Promise<VcsUiApp>}
40
+ * @returns {Promise<import("@src/vcsUiApp.js").default>}
43
41
  */
44
42
  export default async function initApp(mountTarget) {
45
43
  check(mountTarget, String);
@@ -62,7 +60,7 @@ export default async function initApp(mountTarget) {
62
60
  * Initializes app with an optional single config
63
61
  * @param {string} mountTarget
64
62
  * @param {string=} configUrl optional config
65
- * @returns {Promise<VcsUiApp>}
63
+ * @returns {Promise<import("@src/vcsUiApp.js").default>}
66
64
  */
67
65
  export async function initAppFromModule(mountTarget, configUrl) {
68
66
  check(mountTarget, String);
@@ -82,7 +80,7 @@ export async function initAppFromModule(mountTarget, configUrl) {
82
80
  * Initializes app with a map config containing a set of config urls
83
81
  * @param {string} mountTarget
84
82
  * @param {string} appUrl app config containing further modules to be loaded
85
- * @returns {Promise<VcsUiApp>}
83
+ * @returns {Promise<import("@src/vcsUiApp.js").default>}
86
84
  */
87
85
  export async function initAppFromAppConfig(mountTarget, appUrl) {
88
86
  check(mountTarget, String);
@@ -0,0 +1,25 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ item: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ }, {
7
+ StyleRowType: {
8
+ Stroke: string;
9
+ Fill: string;
10
+ Circle: string;
11
+ Icon: string;
12
+ Shape: string;
13
+ Text: string;
14
+ };
15
+ getImageSrcFromShape: typeof getImageSrcFromShape;
16
+ getColor(color: any): string | null;
17
+ determineInnerPadding: (index: number) => string;
18
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
19
+ item: {
20
+ type: ObjectConstructor;
21
+ required: true;
22
+ };
23
+ }>>, {}>;
24
+ export default _default;
25
+ import { getImageSrcFromShape } from './legendHelper.js';
@@ -0,0 +1,20 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ entries: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ }, {
7
+ LegendType: {
8
+ Image: string;
9
+ Iframe: string;
10
+ Style: string;
11
+ };
12
+ setIframeHeight: (id: string) => void;
13
+ panels: import("vue").ComputedRef<number[]>;
14
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
15
+ entries: {
16
+ type: ObjectConstructor;
17
+ required: true;
18
+ };
19
+ }>>, {}>;
20
+ export default _default;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * @typedef {Object} LegendItem
3
+ * @property {LegendType} type - determines rendering, specialised properties are type based.
4
+ */
5
+ /**
6
+ * @typedef {LegendItem & { popoutBtn?: boolean, src: string, tooltip?: string }} ImageLegendItem
7
+ * @property {boolean} [popoutBtn=false] - show a button in legend title to open legend in new tab
8
+ * @property {string} src - the source url. Can be an i18n string.
9
+ * @property {string} [tooltip] - Optional further explanation of the legend
10
+ */
11
+ /**
12
+ * @typedef {LegendItem & { popoutBtn?: boolean, src: string }} IframeLegendItem
13
+ * @property {boolean} [popoutBtn=false] - show a button in legend title to open legend in new tab
14
+ * @property {string} src - the source url. Can be an i18n string.
15
+ */
16
+ /**
17
+ * @typedef {LegendItem & { colNr?: number, rows: StyleLegendRow[] }} StyleLegendItem
18
+ * @property {number} [colNr=2] Number of columns. Valid values are 1 or 2. Per default 2.
19
+ * @property {Array<StyleLegendRow>} rows - style definitions with description
20
+ */
21
+ /**
22
+ * @typedef {Object} StyleLegendRow
23
+ * @property {StyleRowType} type - determines rendering of the row, specialised properties are type based.
24
+ * @property {string} title - Description of the style. Can be an i18n string
25
+ * @property {string} [tooltip] - Optional further explanation of the legend row
26
+ */
27
+ /**
28
+ * @typedef {StyleLegendRow & { stroke: import("ol/style/Stroke.js").Options }} StrokeLegendRow
29
+ */
30
+ /**
31
+ * @typedef {StyleLegendRow & {
32
+ * fill: import("ol/style/Fill.js").Options,
33
+ * stroke?: import("ol/style/Stroke.js").Options
34
+ * }} FillLegendRow
35
+ */
36
+ /**
37
+ * @typedef {StyleLegendRow & { image: import("ol/style/Circle.js").Options }} CircleLegendRow
38
+ */
39
+ /**
40
+ * @typedef {StyleLegendRow & { image: import("ol/style/Icon.js").Options }} IconLegendRow
41
+ */
42
+ /**
43
+ * @typedef {StyleLegendRow & { image: import("ol/style/RegularShape.js").Options }} RegularShapeLegendRow
44
+ */
45
+ /**
46
+ * @typedef {StyleLegendRow & {
47
+ * text: import("ol/style/Text.js").Options,
48
+ * label?: string,
49
+ * }} TextLegendRow
50
+ * @property {import("ol/style/Text.js").Options} text
51
+ * @property {string} [label='Text']
52
+ */
53
+ /**
54
+ * @param {import("ol/style/Image.js").Options} image
55
+ * @returns {string}
56
+ */
57
+ export function getImageSrcFromShape(image: import("ol/style/Image.js").Options): string;
58
+ /**
59
+ * @typedef {Object} LegendEntry
60
+ * @property {string} key
61
+ * @property {string} title - layer or entry name
62
+ * @property {boolean} [open=true] - panel state of entry
63
+ * @property {Array<LegendItem>} legend - legend properties
64
+ * @property {Array<import("../actions/actionHelper.js").VcsAction>} actions - popout actions
65
+ */
66
+ /**
67
+ * creates a LegendEntry with title, options and optionally popout action to the entries array
68
+ * @param {string} key - layerName
69
+ * @param {string} title
70
+ * @param {Array<LegendItem>} legend
71
+ * @returns {LegendEntry}
72
+ */
73
+ export function createLayerLegendEntry(key: string, title: string, legend: Array<LegendItem>): LegendEntry;
74
+ /**
75
+ *
76
+ * @param {import("../vcsUiApp.js").default} app
77
+ * @returns {{entries: import("vue").Ref<Array<LegendEntry>>, destroy: function():void }}
78
+ */
79
+ export function getLegendEntries(app: import("../vcsUiApp.js").default): {
80
+ entries: import("vue").Ref<Array<LegendEntry>>;
81
+ destroy: () => void;
82
+ };
83
+ /**
84
+ * *
85
+ */
86
+ export type LegendType = string;
87
+ export namespace LegendType {
88
+ let Image: string;
89
+ let Iframe: string;
90
+ let Style: string;
91
+ }
92
+ export type StyleRowType = string;
93
+ export namespace StyleRowType {
94
+ let Stroke: string;
95
+ let Fill: string;
96
+ let Circle: string;
97
+ let Icon: string;
98
+ let Shape: string;
99
+ let Text: string;
100
+ }
101
+ export type LegendItem = {
102
+ /**
103
+ * - determines rendering, specialised properties are type based.
104
+ */
105
+ type: LegendType;
106
+ };
107
+ export type ImageLegendItem = LegendItem & {
108
+ popoutBtn?: boolean;
109
+ src: string;
110
+ tooltip?: string;
111
+ };
112
+ export type IframeLegendItem = LegendItem & {
113
+ popoutBtn?: boolean;
114
+ src: string;
115
+ };
116
+ export type StyleLegendItem = LegendItem & {
117
+ colNr?: number;
118
+ rows: StyleLegendRow[];
119
+ };
120
+ export type StyleLegendRow = {
121
+ /**
122
+ * - determines rendering of the row, specialised properties are type based.
123
+ */
124
+ type: StyleRowType;
125
+ /**
126
+ * - Description of the style. Can be an i18n string
127
+ */
128
+ title: string;
129
+ /**
130
+ * - Optional further explanation of the legend row
131
+ */
132
+ tooltip?: string | undefined;
133
+ };
134
+ export type StrokeLegendRow = StyleLegendRow & {
135
+ stroke: import("ol/style/Stroke.js").Options;
136
+ };
137
+ export type FillLegendRow = StyleLegendRow & {
138
+ fill: import("ol/style/Fill.js").Options;
139
+ stroke?: import("ol/style/Stroke.js").Options;
140
+ };
141
+ export type CircleLegendRow = StyleLegendRow & {
142
+ image: import("ol/style/Circle.js").Options;
143
+ };
144
+ export type IconLegendRow = StyleLegendRow & {
145
+ image: import("ol/style/Icon.js").Options;
146
+ };
147
+ export type RegularShapeLegendRow = StyleLegendRow & {
148
+ image: import("ol/style/RegularShape.js").Options;
149
+ };
150
+ export type TextLegendRow = StyleLegendRow & {
151
+ text: import("ol/style/Text.js").Options;
152
+ label?: string;
153
+ };
154
+ export type LegendEntry = {
155
+ key: string;
156
+ /**
157
+ * - layer or entry name
158
+ */
159
+ title: string;
160
+ /**
161
+ * - panel state of entry
162
+ */
163
+ open?: boolean | undefined;
164
+ /**
165
+ * - legend properties
166
+ */
167
+ legend: Array<LegendItem>;
168
+ /**
169
+ * - popout actions
170
+ */
171
+ actions: Array<import("../actions/actionHelper.js").VcsAction>;
172
+ };
@@ -31,20 +31,20 @@ export const StyleRowType = {
31
31
  */
32
32
 
33
33
  /**
34
- * @typedef {LegendItem} ImageLegendItem
34
+ * @typedef {LegendItem & { popoutBtn?: boolean, src: string, tooltip?: string }} ImageLegendItem
35
35
  * @property {boolean} [popoutBtn=false] - show a button in legend title to open legend in new tab
36
36
  * @property {string} src - the source url. Can be an i18n string.
37
37
  * @property {string} [tooltip] - Optional further explanation of the legend
38
38
  */
39
39
 
40
40
  /**
41
- * @typedef {LegendItem} IframeLegendItem
41
+ * @typedef {LegendItem & { popoutBtn?: boolean, src: string }} IframeLegendItem
42
42
  * @property {boolean} [popoutBtn=false] - show a button in legend title to open legend in new tab
43
43
  * @property {string} src - the source url. Can be an i18n string.
44
44
  */
45
45
 
46
46
  /**
47
- * @typedef {LegendItem} StyleLegendItem
47
+ * @typedef {LegendItem & { colNr?: number, rows: StyleLegendRow[] }} StyleLegendItem
48
48
  * @property {number} [colNr=2] Number of columns. Valid values are 1 or 2. Per default 2.
49
49
  * @property {Array<StyleLegendRow>} rows - style definitions with description
50
50
  */
@@ -57,40 +57,40 @@ export const StyleRowType = {
57
57
  */
58
58
 
59
59
  /**
60
- * @typedef {StyleLegendRow} StrokeLegendRow
61
- * @property {import("ol/style/Stroke").Options} stroke
60
+ * @typedef {StyleLegendRow & { stroke: import("ol/style/Stroke.js").Options }} StrokeLegendRow
62
61
  */
63
62
 
64
63
  /**
65
- * @typedef {StyleLegendRow} FillLegendRow
66
- * @property {import("ol/style/Fill").Options} fill
67
- * @property {import("ol/style/Stroke").Options} [stroke]
64
+ * @typedef {StyleLegendRow & {
65
+ * fill: import("ol/style/Fill.js").Options,
66
+ * stroke?: import("ol/style/Stroke.js").Options
67
+ * }} FillLegendRow
68
68
  */
69
69
 
70
70
  /**
71
- * @typedef {StyleLegendRow} CircleLegendRow
72
- * @property {import("ol/style/Circle").Options} image
71
+ * @typedef {StyleLegendRow & { image: import("ol/style/Circle.js").Options }} CircleLegendRow
73
72
  */
74
73
 
75
74
  /**
76
- * @typedef {StyleLegendRow} IconLegendRow
77
- * @property {import("ol/style/Icon").Options} image
75
+ * @typedef {StyleLegendRow & { image: import("ol/style/Icon.js").Options }} IconLegendRow
78
76
  */
79
77
 
80
78
  /**
81
- * @typedef {StyleLegendRow} RegularShapeLegendRow
82
- * @property {import("ol/style/RegularShape").Options} image
79
+ * @typedef {StyleLegendRow & { image: import("ol/style/RegularShape.js").Options }} RegularShapeLegendRow
83
80
  */
84
81
 
85
82
  /**
86
- * @typedef {StyleLegendRow} TextLegendRow
87
- * @property {import("ol/style/Text").Options} text
83
+ * @typedef {StyleLegendRow & {
84
+ * text: import("ol/style/Text.js").Options,
85
+ * label?: string,
86
+ * }} TextLegendRow
87
+ * @property {import("ol/style/Text.js").Options} text
88
88
  * @property {string} [label='Text']
89
89
  */
90
90
 
91
91
  /**
92
- * @type {import("ol/style/Image").Options} image
93
- * @return {string}
92
+ * @param {import("ol/style/Image.js").Options} image
93
+ * @returns {string}
94
94
  */
95
95
  export function getImageSrcFromShape(image) {
96
96
  if (image.src) {
@@ -107,7 +107,7 @@ export function getImageSrcFromShape(image) {
107
107
  * @property {string} title - layer or entry name
108
108
  * @property {boolean} [open=true] - panel state of entry
109
109
  * @property {Array<LegendItem>} legend - legend properties
110
- * @property {Array<VcsAction>} actions - popout actions
110
+ * @property {Array<import("../actions/actionHelper.js").VcsAction>} actions - popout actions
111
111
  */
112
112
 
113
113
  /**
@@ -135,8 +135,8 @@ export function createLayerLegendEntry(key, title, legend) {
135
135
 
136
136
  /**
137
137
  *
138
- * @param {VcsUiApp} app
139
- * @returns {{entries: import("vue").Ref<Array<LegendEntry>>, destroy: (function():void)}}
138
+ * @param {import("../vcsUiApp.js").default} app
139
+ * @returns {{entries: import("vue").Ref<Array<LegendEntry>>, destroy: function():void }}
140
140
  */
141
141
  export function getLegendEntries(app) {
142
142
  /**
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @param {number} weightA
3
+ * @param {number} weightB
4
+ * @returns {number}
5
+ */
6
+ export function sortByWeight(weightA?: number, weightB?: number): number;
7
+ export default ButtonManager;
8
+ export type ButtonComponentOptions = {
9
+ /**
10
+ * Optional ID, If not provided an uuid will be generated.
11
+ */
12
+ id?: string | undefined;
13
+ /**
14
+ * Action performed by button.
15
+ */
16
+ action: import("../actions/actionHelper.js").VcsAction;
17
+ /**
18
+ * Optional weight affecting the displaying order
19
+ */
20
+ weight?: number | undefined;
21
+ };
22
+ export type ButtonComponent = {
23
+ id: string;
24
+ owner: string | symbol;
25
+ action: import("../actions/actionHelper.js").VcsAction;
26
+ weight: number;
27
+ };
28
+ export type IButtonManager = import("../vcsUiApp.js").VcsComponentManager<ButtonComponent, ButtonComponentOptions>;
29
+ /**
30
+ * @typedef ButtonComponentOptions
31
+ * @property {string} [id] Optional ID, If not provided an uuid will be generated.
32
+ * @property {import("../actions/actionHelper.js").VcsAction} action Action performed by button.
33
+ * @property {number} [weight=0] Optional weight affecting the displaying order
34
+ */
35
+ /**
36
+ * @typedef ButtonComponent
37
+ * @property {string} id
38
+ * @property {string|vcsAppSymbol} owner
39
+ * @property {import("../actions/actionHelper.js").VcsAction} action
40
+ * @property {number} weight
41
+ */
42
+ /**
43
+ * @typedef {import("../vcsUiApp.js").VcsComponentManager<ButtonComponent,ButtonComponentOptions>} IButtonManager
44
+ */
45
+ /**
46
+ * @class ButtonManager
47
+ * @description Manages a set of Map Buttons
48
+ * @implements {IButtonManager}
49
+ */
50
+ declare class ButtonManager implements IButtonManager {
51
+ /**
52
+ * @type {import("@vcmap/core").VcsEvent<ButtonComponent>}
53
+ */
54
+ added: import("@vcmap/core").VcsEvent<ButtonComponent>;
55
+ /**
56
+ * @type {import("@vcmap/core").VcsEvent<ButtonComponent>}
57
+ */
58
+ removed: import("@vcmap/core").VcsEvent<ButtonComponent>;
59
+ /**
60
+ * reactive ordered array of ids,
61
+ * @type {Array<string>}
62
+ */
63
+ componentIds: Array<string>;
64
+ /**
65
+ * @type {Map<string, ButtonComponent>}
66
+ * @private
67
+ */
68
+ private _buttonComponents;
69
+ /**
70
+ * @param {string} id
71
+ * @returns {ButtonComponent}
72
+ */
73
+ get(id: string): ButtonComponent;
74
+ /**
75
+ * @param {string} id
76
+ * @returns {boolean}
77
+ */
78
+ has(id: string): boolean;
79
+ /**
80
+ * removes a button, Component will not be rendered anymore and will be destroyed. Add ButtonComponent again
81
+ * to show the component again
82
+ * @param {string} id
83
+ */
84
+ remove(id: string): void;
85
+ /**
86
+ * adds a buttonComponent
87
+ * @param {ButtonComponentOptions} buttonComponentOptions
88
+ * @param {string|symbol} owner pluginName or vcsAppSymbol
89
+ * @throws {Error} if a buttonComponent with the same ID has already been added
90
+ * @returns {ButtonComponent}
91
+ */
92
+ add(buttonComponentOptions: ButtonComponentOptions, owner: string | symbol): ButtonComponent;
93
+ /**
94
+ * removes all buttonComponents of a specific owner and fires removed Events
95
+ * @param {string|vcsAppSymbol} owner
96
+ */
97
+ removeOwner(owner: string | symbol): void;
98
+ /**
99
+ * removes all buttonComponents and fires removed Events
100
+ */
101
+ clear(): void;
102
+ /**
103
+ * destroys the ButtonManager;
104
+ */
105
+ destroy(): void;
106
+ }
@@ -11,14 +11,14 @@ import { getActionFromOptions } from '../actions/actionHelper.js';
11
11
  * @param {number} weightB
12
12
  * @returns {number}
13
13
  */
14
- export function sortByWeight(weightA, weightB) {
14
+ export function sortByWeight(weightA = 0, weightB = 0) {
15
15
  return weightB - weightA;
16
16
  }
17
17
 
18
18
  /**
19
19
  * @typedef ButtonComponentOptions
20
20
  * @property {string} [id] Optional ID, If not provided an uuid will be generated.
21
- * @property {VcsAction} action Action performed by button.
21
+ * @property {import("../actions/actionHelper.js").VcsAction} action Action performed by button.
22
22
  * @property {number} [weight=0] Optional weight affecting the displaying order
23
23
  */
24
24
 
@@ -26,14 +26,18 @@ export function sortByWeight(weightA, weightB) {
26
26
  * @typedef ButtonComponent
27
27
  * @property {string} id
28
28
  * @property {string|vcsAppSymbol} owner
29
- * @property {VcsAction} action
29
+ * @property {import("../actions/actionHelper.js").VcsAction} action
30
30
  * @property {number} weight
31
31
  */
32
32
 
33
+ /**
34
+ * @typedef {import("../vcsUiApp.js").VcsComponentManager<ButtonComponent,ButtonComponentOptions>} IButtonManager
35
+ */
36
+
33
37
  /**
34
38
  * @class ButtonManager
35
39
  * @description Manages a set of Map Buttons
36
- * @implements VcsComponentManager<ButtonComponent,ButtonComponentOptions>
40
+ * @implements {IButtonManager}
37
41
  */
38
42
  class ButtonManager {
39
43
  constructor() {
@@ -3,11 +3,14 @@
3
3
  <v-expansion-panel-header hide-actions class="px-2">
4
4
  <template #default="{ open }">
5
5
  <div class="d-flex justify-space-between">
6
- <div class="d-flex align-center">
7
- <v-icon class="mr-1" :class="{ rotate: !open }">
8
- mdi-chevron-down
9
- </v-icon>
10
- {{ $t(title) }}
6
+ <div class="d-flex align-center gap-1">
7
+ <v-icon :class="{ rotate: !open }"> mdi-chevron-down </v-icon>
8
+ <span>
9
+ {{ $t(title) }}
10
+ </span>
11
+ <span v-if="selectable && selection.length > 0">
12
+ {{ `(${selection.length})` }}
13
+ </span>
11
14
  </div>
12
15
  <VcsActionButtonList
13
16
  v-if="actions?.length > 0"
@@ -40,7 +43,7 @@
40
43
  </template>
41
44
 
42
45
  <script>
43
- import { inject } from 'vue';
46
+ import { computed, inject } from 'vue';
44
47
  import {
45
48
  VIcon,
46
49
  VExpansionPanel,
@@ -48,14 +51,12 @@
48
51
  VExpansionPanelContent,
49
52
  VSheet,
50
53
  } from 'vuetify/lib';
51
- import VcsList from '../../components/lists/VcsList.vue';
54
+ import VcsList, {
55
+ createSelectionActions,
56
+ } from '../../components/lists/VcsList.vue';
52
57
  import VcsActionButtonList from '../../components/buttons/VcsActionButtonList.vue';
53
58
  import VcsButton from '../../components/buttons/VcsButton.vue';
54
- import { vcsAppSymbol } from '../../pluginHelper.js';
55
- import { WindowSlot } from '../window/windowManager.js';
56
- import CollectionComponentList, {
57
- moveItem,
58
- } from './CollectionComponentList.vue';
59
+ import { moveItem } from './CollectionComponentList.vue';
59
60
 
60
61
  /**
61
62
  * @description
@@ -74,14 +75,19 @@
74
75
  VSheet,
75
76
  VIcon,
76
77
  },
77
- setup() {
78
- /** @type {VcsUiApp} */
79
- const app = inject('vcsApp');
78
+ setup(_props, { emit }) {
80
79
  /**
81
- * @type {CollectionComponent}
80
+ * @type {CollectionComponentClass}
82
81
  */
83
82
  const collectionComponent = inject('collectionComponent');
84
- const windowId = `${collectionComponent.id}-list`;
83
+
84
+ const selectionActions = createSelectionActions(
85
+ collectionComponent.items,
86
+ collectionComponent.selection,
87
+ emit,
88
+ );
89
+
90
+ const actions = collectionComponent.getActions();
85
91
 
86
92
  return {
87
93
  title: collectionComponent.title,
@@ -92,31 +98,20 @@
92
98
  singleSelect: collectionComponent.singleSelect,
93
99
  overflowCount: collectionComponent.overflowCount,
94
100
  limit: collectionComponent.limit,
95
- actions: collectionComponent.getActions(),
101
+ actions: computed(() => {
102
+ if (
103
+ collectionComponent.selectable.value &&
104
+ !collectionComponent.singleSelect.value
105
+ ) {
106
+ return [...selectionActions, ...actions.value];
107
+ }
108
+ return actions.value;
109
+ }),
96
110
  move({ item, targetIndex }) {
97
111
  moveItem(collectionComponent, item, targetIndex);
98
112
  },
99
113
  openCollectionComponentList() {
100
- if (app.windowManager.has(windowId)) {
101
- setTimeout(() => {
102
- app.windowManager.bringWindowToTop(windowId);
103
- }, 0);
104
- } else {
105
- app.windowManager.add(
106
- {
107
- id: windowId,
108
- component: CollectionComponentList,
109
- props: {
110
- windowId,
111
- },
112
- provides: {
113
- collectionComponent,
114
- },
115
- slot: WindowSlot.DYNAMIC_LEFT,
116
- },
117
- vcsAppSymbol,
118
- );
119
- }
114
+ emit('openList', collectionComponent.id);
120
115
  },
121
116
  };
122
117
  },
@@ -135,6 +130,11 @@
135
130
  .v-list-item {
136
131
  padding: 4px 8px 4px 28px;
137
132
  }
133
+ .v-list-item__selected {
134
+ border-left: solid 4px;
135
+ border-left-color: var(--v-primary-base);
136
+ padding-left: 24px !important;
137
+ }
138
138
  }
139
139
  }
140
140
  </style>
@@ -0,0 +1,17 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ title: any;
3
+ items: any;
4
+ selection: any;
5
+ draggable: any;
6
+ selectable: any;
7
+ singleSelect: any;
8
+ overflowCount: any;
9
+ limit: any;
10
+ actions: import("vue").ComputedRef<any>;
11
+ move({ item, targetIndex }: {
12
+ item: any;
13
+ targetIndex: any;
14
+ }): void;
15
+ openCollectionComponentList(): void;
16
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
17
+ export default _default;