@vcmap/ui 5.0.2 → 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 (443) 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 +22 -0
  6. package/config/dev.config.json +176 -5
  7. package/config/www.config.json +24 -0
  8. package/dist/assets/{cesium.a3a1dc.js → cesium.e9b3ca.js} +1859 -1828
  9. package/dist/assets/cesium.js +1 -1
  10. package/dist/assets/{core.bb64ed.js → core.a9fe5a.js} +5859 -5041
  11. package/dist/assets/core.js +1 -1
  12. package/dist/assets/index-bb2549d6.js +1 -0
  13. package/dist/assets/{ol.833fa9.js → ol.5f0496.js} +7257 -7252
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/{ui.aeb2ec.css → ui.3c73c2.css} +2 -2
  16. package/dist/assets/{ui.aeb2ec.js → ui.3c73c2.js} +14199 -9198
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/{vue.8e1850.js → vue.4fe14e.js} +1243 -1234
  19. package/dist/assets/vue.js +2 -2
  20. package/dist/assets/{vuetify.3ed426.css → vuetify.260d9a.css} +1 -1
  21. package/dist/assets/{vuetify.3ed426.js → vuetify.260d9a.js} +155 -154
  22. package/dist/assets/vuetify.js +2 -2
  23. package/dist/index.html +1 -1
  24. package/index.d.ts +256 -0
  25. package/index.js +48 -11
  26. package/package.json +21 -14
  27. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +3 -0
  28. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +312 -43
  29. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +48 -182
  30. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +118 -0
  31. package/plugins/@vcmap-show-case/category-tester/src/importExportHelper.js +29 -0
  32. package/plugins/@vcmap-show-case/category-tester/src/index.js +16 -0
  33. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +2 -1
  34. package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +8 -4
  35. package/plugins/@vcmap-show-case/extent-example/README.md +3 -0
  36. package/plugins/@vcmap-show-case/extent-example/package.json +5 -0
  37. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +71 -0
  38. package/plugins/@vcmap-show-case/extent-example/src/index.js +68 -0
  39. package/plugins/@vcmap-show-case/flight-component-example/README.md +3 -0
  40. package/plugins/@vcmap-show-case/flight-component-example/package.json +5 -0
  41. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +53 -0
  42. package/plugins/@vcmap-show-case/flight-component-example/src/index.js +42 -0
  43. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +78 -5
  44. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +2 -2
  45. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +22 -10
  46. package/plugins/@vcmap-show-case/toolbox-example/README.md +9 -0
  47. package/plugins/@vcmap-show-case/toolbox-example/package.json +5 -0
  48. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +21 -0
  49. package/plugins/@vcmap-show-case/toolbox-example/src/dummyToolboxActions.js +94 -0
  50. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +260 -0
  51. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +12 -2
  52. package/plugins/@vcmap-show-case/viewpoint-component-example/README.md +3 -0
  53. package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +5 -0
  54. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +52 -0
  55. package/plugins/@vcmap-show-case/viewpoint-component-example/src/index.js +42 -0
  56. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +31 -1
  57. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +20 -16
  58. package/plugins/@vcmap-show-case/window-tester/src/index.js +2 -17
  59. package/plugins/package.json +3 -1
  60. package/src/actions/StyleSelector.vue +8 -7
  61. package/src/actions/StyleSelector.vue.d.ts +27 -0
  62. package/src/actions/actionHelper.d.ts +153 -0
  63. package/src/actions/actionHelper.js +36 -19
  64. package/src/actions/extentActions.d.ts +40 -0
  65. package/src/actions/extentActions.js +359 -0
  66. package/src/actions/flightActions.d.ts +59 -0
  67. package/src/actions/flightActions.js +232 -0
  68. package/src/actions/listActions.d.ts +63 -0
  69. package/src/actions/listActions.js +185 -0
  70. package/src/actions/stateRefAction.d.ts +19 -0
  71. package/src/actions/stateRefAction.js +1 -1
  72. package/src/application/VcsApp.vue +103 -28
  73. package/src/application/VcsApp.vue.d.ts +86 -0
  74. package/src/application/VcsAppWrapper.vue.d.ts +12 -0
  75. package/src/application/VcsAttributions.vue.d.ts +14 -0
  76. package/src/application/VcsAttributionsFooter.vue +1 -4
  77. package/src/application/VcsAttributionsFooter.vue.d.ts +26 -0
  78. package/src/application/VcsMap.vue.d.ts +12 -0
  79. package/src/application/VcsNavbar.vue.d.ts +45 -0
  80. package/src/application/VcsPositionDisplay.vue +208 -0
  81. package/src/application/VcsPositionDisplay.vue.d.ts +18 -0
  82. package/src/application/VcsSettings.vue.d.ts +5 -0
  83. package/src/application/VcsTextPage.vue +65 -0
  84. package/src/application/VcsTextPage.vue.d.ts +16 -0
  85. package/src/application/VcsTextPageFooter.vue +89 -0
  86. package/src/application/VcsTextPageFooter.vue.d.ts +22 -0
  87. package/src/application/attributionsHelper.d.ts +64 -0
  88. package/src/application/attributionsHelper.js +1 -1
  89. package/src/application/markdownHelper.d.ts +5 -0
  90. package/src/application/markdownHelper.js +11 -0
  91. package/src/application/positionDisplayInteraction.d.ts +42 -0
  92. package/src/application/positionDisplayInteraction.js +65 -0
  93. package/src/callback/activateLayersCallback.d.ts +29 -0
  94. package/src/callback/activateLayersCallback.js +2 -2
  95. package/src/callback/applyLayerStyleCallback.d.ts +36 -0
  96. package/src/callback/applyLayerStyleCallback.js +2 -2
  97. package/src/callback/deactivateLayersCallback.d.ts +29 -0
  98. package/src/callback/deactivateLayersCallback.js +2 -2
  99. package/src/callback/goToViewpointCallback.d.ts +29 -0
  100. package/src/callback/goToViewpointCallback.js +2 -2
  101. package/src/callback/vcsCallback.d.ts +44 -0
  102. package/src/callback/vcsCallback.js +4 -9
  103. package/src/components/ImageElementInjector.vue.d.ts +24 -0
  104. package/src/components/buttons/VcsActionButtonList.vue +24 -16
  105. package/src/components/buttons/VcsActionButtonList.vue.d.ts +68 -0
  106. package/src/components/buttons/VcsButton.vue +7 -0
  107. package/src/components/buttons/VcsButton.vue.d.ts +89 -0
  108. package/src/components/buttons/VcsFormButton.vue +9 -0
  109. package/src/components/buttons/VcsFormButton.vue.d.ts +91 -0
  110. package/src/components/buttons/VcsToolButton.vue +9 -0
  111. package/src/components/buttons/VcsToolButton.vue.d.ts +91 -0
  112. package/src/components/flight/VcsFlightAnchorsComponent.vue +329 -0
  113. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +45 -0
  114. package/src/components/flight/VcsFlightComponent.vue +284 -0
  115. package/src/components/flight/VcsFlightComponent.vue.d.ts +104 -0
  116. package/src/components/flight/VcsFlightEditor.vue +77 -0
  117. package/src/components/flight/VcsFlightEditor.vue.d.ts +34 -0
  118. package/src/components/flight/VcsFlightPlayer.vue +124 -0
  119. package/src/components/flight/VcsFlightPlayer.vue.d.ts +25 -0
  120. package/src/components/flight/composables.d.ts +11 -0
  121. package/src/components/flight/composables.js +39 -0
  122. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +18 -0
  123. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +82 -0
  124. package/src/components/form-inputs-controls/VcsCoordinate.vue +152 -0
  125. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +90 -0
  126. package/src/components/form-inputs-controls/VcsDatePicker.vue +2 -2
  127. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +31 -0
  128. package/src/components/form-inputs-controls/VcsExtent.vue +122 -0
  129. package/src/components/form-inputs-controls/VcsExtent.vue.d.ts +36 -0
  130. package/src/components/form-inputs-controls/VcsFormSection.vue +6 -1
  131. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +75 -0
  132. package/src/components/form-inputs-controls/VcsLabel.vue +18 -0
  133. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +41 -0
  134. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +32 -0
  135. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +35 -0
  136. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +31 -0
  137. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -0
  138. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +22 -0
  139. package/src/components/form-inputs-controls/VcsTextField.vue +57 -10
  140. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +65 -0
  141. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +14 -0
  142. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +89 -0
  143. package/src/components/form-inputs-controls/composables.d.ts +7 -0
  144. package/src/components/form-inputs-controls/composables.js +1 -1
  145. package/src/components/form-output/VcsFormattedNumber.vue +13 -2
  146. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +89 -0
  147. package/src/components/icons/+all.d.ts +9 -0
  148. package/src/components/icons/+all.js +16 -0
  149. package/src/components/icons/2DAreaIcon.vue.d.ts +2 -0
  150. package/src/components/icons/2DDistanceIcon.vue.d.ts +2 -0
  151. package/src/components/icons/2DHeightObliqueIcon.vue +20 -0
  152. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +2 -0
  153. package/src/components/icons/3DAreaIcon.vue.d.ts +2 -0
  154. package/src/components/icons/3DDistanceIcon.vue.d.ts +2 -0
  155. package/src/components/icons/3DHeightIcon.vue.d.ts +2 -0
  156. package/src/components/icons/AngleIcon.vue.d.ts +2 -0
  157. package/src/components/icons/AssociationsIcon.vue.d.ts +2 -0
  158. package/src/components/icons/AxisIcon.vue.d.ts +2 -0
  159. package/src/components/icons/BoundingBoxIcon.vue.d.ts +2 -0
  160. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +2 -0
  161. package/src/components/icons/CheckboxIcon.vue.d.ts +2 -0
  162. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +2 -0
  163. package/src/components/icons/CircleIcon.vue.d.ts +2 -0
  164. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +2 -0
  165. package/src/components/icons/ClippingIcon.vue.d.ts +2 -0
  166. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +2 -0
  167. package/src/components/icons/ColorPickerIcon.vue.d.ts +2 -0
  168. package/src/components/icons/ColorSwatchIcon.vue.d.ts +2 -0
  169. package/src/components/icons/CommentIcon.vue.d.ts +2 -0
  170. package/src/components/icons/CompassIcon.vue.d.ts +2 -0
  171. package/src/components/icons/ComponentsIcon.vue.d.ts +2 -0
  172. package/src/components/icons/ComponentsPlusIcon.vue +17 -0
  173. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +2 -0
  174. package/src/components/icons/ConeIcon.vue.d.ts +2 -0
  175. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +2 -0
  176. package/src/components/icons/EditIcon.vue.d.ts +2 -0
  177. package/src/components/icons/EditVerticesIcon.vue.d.ts +2 -0
  178. package/src/components/icons/ElevationProfileIcon.vue.d.ts +2 -0
  179. package/src/components/icons/ExportAreaIcon.vue.d.ts +2 -0
  180. package/src/components/icons/ExportFlightIcon.vue.d.ts +2 -0
  181. package/src/components/icons/ExportIcon.vue.d.ts +2 -0
  182. package/src/components/icons/ExternalLinkIcon.vue.d.ts +2 -0
  183. package/src/components/icons/EyeIcon.vue.d.ts +2 -0
  184. package/src/components/icons/FastForwardIcon.vue.d.ts +2 -0
  185. package/src/components/icons/FilterIcon.vue.d.ts +2 -0
  186. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +2 -0
  187. package/src/components/icons/GlobeNatureIcon.vue.d.ts +2 -0
  188. package/src/components/icons/GroundIcon.vue.d.ts +2 -0
  189. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +2 -0
  190. package/src/components/icons/HelpIcon.vue.d.ts +2 -0
  191. package/src/components/icons/HideIcon.vue.d.ts +2 -0
  192. package/src/components/icons/HomePointIcon.vue.d.ts +2 -0
  193. package/src/components/icons/HospitalsIcon.vue.d.ts +2 -0
  194. package/src/components/icons/HouseIcon.vue.d.ts +2 -0
  195. package/src/components/icons/ImportIcon.vue.d.ts +2 -0
  196. package/src/components/icons/InfoIcon.vue.d.ts +2 -0
  197. package/src/components/icons/KebabIcon.vue.d.ts +2 -0
  198. package/src/components/icons/LabelIcon.vue.d.ts +2 -0
  199. package/src/components/icons/LayersIcon.vue.d.ts +2 -0
  200. package/src/components/icons/LegendIcon.vue.d.ts +2 -0
  201. package/src/components/icons/LineIcon.vue.d.ts +2 -0
  202. package/src/components/icons/LinkIcon.vue.d.ts +2 -0
  203. package/src/components/icons/LogoutIcon.vue.d.ts +2 -0
  204. package/src/components/icons/MapIcon.vue.d.ts +2 -0
  205. package/src/components/icons/MenuIcon.vue.d.ts +2 -0
  206. package/src/components/icons/MinusIcon.vue.d.ts +2 -0
  207. package/src/components/icons/MultiViewIcon.vue +16 -0
  208. package/src/components/icons/MultiViewIcon.vue.d.ts +2 -0
  209. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +2 -0
  210. package/src/components/icons/ObjectSelectIcon.vue.d.ts +2 -0
  211. package/src/components/icons/ObliqueViewIcon.vue.d.ts +2 -0
  212. package/src/components/icons/PdfIcon.vue.d.ts +2 -0
  213. package/src/components/icons/PedestrianIcon.vue.d.ts +2 -0
  214. package/src/components/icons/PenIcon.vue.d.ts +2 -0
  215. package/src/components/icons/PlayCircleIcon.vue.d.ts +2 -0
  216. package/src/components/icons/PlusIcon.vue.d.ts +2 -0
  217. package/src/components/icons/PoiIcon.vue.d.ts +2 -0
  218. package/src/components/icons/PointIcon.vue.d.ts +2 -0
  219. package/src/components/icons/PointMeasurementIcon.vue +36 -0
  220. package/src/components/icons/PointMeasurementIcon.vue.d.ts +2 -0
  221. package/src/components/icons/PointSelectIcon.vue.d.ts +2 -0
  222. package/src/components/icons/PresentationModeIcon.vue.d.ts +2 -0
  223. package/src/components/icons/ProgressIcon.vue.d.ts +2 -0
  224. package/src/components/icons/QueryIcon.vue.d.ts +2 -0
  225. package/src/components/icons/RectangleIcon.vue.d.ts +2 -0
  226. package/src/components/icons/ReturnIcon.vue.d.ts +2 -0
  227. package/src/components/icons/RewindIcon.vue.d.ts +2 -0
  228. package/src/components/icons/RotateLeftIcon.vue.d.ts +2 -0
  229. package/src/components/icons/RotateRightIcon.vue.d.ts +2 -0
  230. package/src/components/icons/ScreenshotIcon.vue.d.ts +2 -0
  231. package/src/components/icons/SearchIcon.vue.d.ts +2 -0
  232. package/src/components/icons/ShadowIcon.vue.d.ts +2 -0
  233. package/src/components/icons/ShapesIcon.vue.d.ts +2 -0
  234. package/src/components/icons/ShareIcon.vue.d.ts +2 -0
  235. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +2 -0
  236. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +2 -0
  237. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +2 -0
  238. package/src/components/icons/SkipNextIcon.vue.d.ts +2 -0
  239. package/src/components/icons/SkipPreviousIcon.vue.d.ts +2 -0
  240. package/src/components/icons/SplitViewIcon.vue.d.ts +2 -0
  241. package/src/components/icons/TerrainBoxIcon.vue.d.ts +2 -0
  242. package/src/components/icons/TextStyleIcon.vue.d.ts +2 -0
  243. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +2 -0
  244. package/src/components/icons/ToolsIcon.vue.d.ts +2 -0
  245. package/src/components/icons/TouchIcon.vue.d.ts +2 -0
  246. package/src/components/icons/TrashCanIcon.vue.d.ts +2 -0
  247. package/src/components/icons/TriangleIcon.vue.d.ts +2 -0
  248. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +2 -0
  249. package/src/components/icons/UploadIcon.vue.d.ts +2 -0
  250. package/src/components/icons/UserProfileIcon.vue.d.ts +2 -0
  251. package/src/components/icons/UserShareIcon.vue.d.ts +2 -0
  252. package/src/components/icons/VideoRecorderIcon.vue.d.ts +2 -0
  253. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +2 -0
  254. package/src/components/icons/ViewpointIcon.vue.d.ts +2 -0
  255. package/src/components/icons/Viewshed360Icon.vue.d.ts +2 -0
  256. package/src/components/icons/ViewshedConeIcon.vue.d.ts +2 -0
  257. package/src/components/icons/ViewshedIcon.vue.d.ts +2 -0
  258. package/src/components/icons/WalkingIcon.vue.d.ts +2 -0
  259. package/src/components/icons/WallIcon.vue.d.ts +2 -0
  260. package/src/components/icons/WandIcon.vue.d.ts +2 -0
  261. package/src/components/import/FileDrop.vue +69 -0
  262. package/src/components/import/FileDrop.vue.d.ts +26 -0
  263. package/src/components/import/ImportComponent.vue +78 -0
  264. package/src/components/import/ImportComponent.vue.d.ts +34 -0
  265. package/src/components/lists/VcsActionList.vue +8 -15
  266. package/src/components/lists/VcsActionList.vue.d.ts +66 -0
  267. package/src/components/lists/VcsList.vue +207 -116
  268. package/src/components/lists/VcsList.vue.d.ts +227 -0
  269. package/src/components/lists/VcsTreeview.vue +3 -1
  270. package/src/components/lists/VcsTreeview.vue.d.ts +28 -0
  271. package/src/components/lists/VcsTreeviewLeaf.vue +1 -0
  272. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +19 -0
  273. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +41 -0
  274. package/src/components/notification/VcsBadge.vue.d.ts +14 -0
  275. package/src/components/notification/VcsHelp.vue.d.ts +22 -0
  276. package/src/components/notification/VcsTooltip.vue.d.ts +27 -0
  277. package/src/components/notification/validation.d.ts +8 -0
  278. package/src/components/notification/validation.js +3 -2
  279. package/src/components/plugins/AbstractConfigEditor.vue +25 -4
  280. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +55 -0
  281. package/src/components/style/MenuWrapper.vue.d.ts +55 -0
  282. package/src/components/style/VcsFeatureStyleComponent.vue +389 -0
  283. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +31 -0
  284. package/src/components/style/VcsFillMenu.vue.d.ts +34 -0
  285. package/src/components/style/VcsFillSelector.vue.d.ts +22 -0
  286. package/src/components/style/VcsImageMenu.vue.d.ts +43 -0
  287. package/src/components/style/VcsImageSelector.vue.d.ts +128 -0
  288. package/src/components/style/VcsStrokeMenu.vue.d.ts +34 -0
  289. package/src/components/style/VcsStrokeSelector.vue.d.ts +23 -0
  290. package/src/components/style/VcsTextMenu.vue.d.ts +52 -0
  291. package/src/components/style/VcsTextSelector.vue.d.ts +58 -0
  292. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +76 -0
  293. package/src/components/style/composables.d.ts +43 -0
  294. package/src/components/style/composables.js +11 -8
  295. package/src/components/tables/VcsDataTable.vue +11 -3
  296. package/src/components/tables/VcsDataTable.vue.d.ts +142 -0
  297. package/src/components/tables/VcsTable.vue +71 -2
  298. package/src/components/tables/VcsTable.vue.d.ts +88 -0
  299. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +392 -0
  300. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +87 -0
  301. package/src/components/vector-properties/VcsFeatureTransforms.vue +217 -0
  302. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +45 -0
  303. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +96 -52
  304. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +119 -0
  305. package/src/components/vector-properties/composables.d.ts +33 -0
  306. package/src/components/vector-properties/composables.js +21 -14
  307. package/src/components/viewpoint/VcsViewpointComponent.vue +514 -0
  308. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +126 -0
  309. package/src/components/viewpoint/VcsViewpointEditor.vue +87 -0
  310. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +25 -0
  311. package/src/contentTree/LayerTree.vue.d.ts +15 -0
  312. package/src/contentTree/contentTreeCollection.d.ts +113 -0
  313. package/src/contentTree/contentTreeCollection.js +10 -20
  314. package/src/contentTree/contentTreeItem.d.ts +334 -0
  315. package/src/contentTree/contentTreeItem.js +31 -17
  316. package/src/contentTree/flightContentTreeItem.d.ts +53 -0
  317. package/src/contentTree/flightContentTreeItem.js +201 -0
  318. package/src/contentTree/groupContentTreeItem.d.ts +14 -0
  319. package/src/contentTree/groupContentTreeItem.js +2 -2
  320. package/src/contentTree/layerContentTreeItem.d.ts +76 -0
  321. package/src/contentTree/layerContentTreeItem.js +7 -9
  322. package/src/contentTree/layerGroupContentTreeItem.d.ts +50 -0
  323. package/src/contentTree/layerGroupContentTreeItem.js +2 -3
  324. package/src/contentTree/nodeContentTreeItem.d.ts +10 -0
  325. package/src/contentTree/nodeContentTreeItem.js +2 -2
  326. package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +46 -0
  327. package/src/contentTree/obliqueCollectionContentTreeItem.js +3 -5
  328. package/src/contentTree/subContentTreeItem.d.ts +15 -0
  329. package/src/contentTree/subContentTreeItem.js +3 -3
  330. package/src/contentTree/vcsObjectContentTreeItem.d.ts +56 -0
  331. package/src/contentTree/vcsObjectContentTreeItem.js +3 -4
  332. package/src/contentTree/viewpointContentTreeItem.d.ts +46 -0
  333. package/src/contentTree/viewpointContentTreeItem.js +3 -4
  334. package/src/downloadHelper.d.ts +27 -0
  335. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +2 -0
  336. package/src/featureInfo/BalloonComponent.vue +16 -3
  337. package/src/featureInfo/BalloonComponent.vue.d.ts +61 -0
  338. package/src/featureInfo/abstractFeatureInfoView.d.ts +199 -0
  339. package/src/featureInfo/abstractFeatureInfoView.js +82 -18
  340. package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +67 -0
  341. package/src/featureInfo/addressBalloonFeatureInfoView.js +9 -2
  342. package/src/featureInfo/balloonFeatureInfoView.d.ts +49 -0
  343. package/src/featureInfo/balloonFeatureInfoView.js +12 -11
  344. package/src/featureInfo/balloonHelper.d.ts +31 -0
  345. package/src/featureInfo/balloonHelper.js +6 -6
  346. package/src/featureInfo/featureInfo.d.ts +146 -0
  347. package/src/featureInfo/featureInfo.js +11 -16
  348. package/src/featureInfo/featureInfoInteraction.d.ts +21 -0
  349. package/src/featureInfo/featureInfoInteraction.js +2 -2
  350. package/src/featureInfo/iframeFeatureInfoView.d.ts +48 -0
  351. package/src/featureInfo/iframeFeatureInfoView.js +3 -5
  352. package/src/featureInfo/tableFeatureInfoView.d.ts +75 -0
  353. package/src/featureInfo/tableFeatureInfoView.js +19 -9
  354. package/src/i18n/de.d.ts +353 -0
  355. package/src/i18n/de.js +114 -2
  356. package/src/i18n/en.d.ts +352 -0
  357. package/src/i18n/en.js +113 -1
  358. package/src/i18n/i18nCollection.d.ts +82 -0
  359. package/src/i18n/i18nCollection.js +3 -3
  360. package/src/init.d.ts +58 -0
  361. package/src/init.js +3 -5
  362. package/src/legend/StyleLegendItem.vue.d.ts +25 -0
  363. package/src/legend/VcsLegend.vue.d.ts +20 -0
  364. package/src/legend/legendHelper.d.ts +172 -0
  365. package/src/legend/legendHelper.js +21 -21
  366. package/src/manager/buttonManager.d.ts +106 -0
  367. package/src/manager/buttonManager.js +8 -4
  368. package/src/manager/collectionManager/CollectionComponent.vue +38 -42
  369. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
  370. package/src/manager/collectionManager/CollectionComponentList.vue +53 -18
  371. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +38 -0
  372. package/src/manager/collectionManager/CollectionComponentProvider.vue +3 -2
  373. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +12 -0
  374. package/src/manager/collectionManager/CollectionManager.vue +29 -4
  375. package/src/manager/collectionManager/CollectionManager.vue.d.ts +8 -0
  376. package/src/manager/collectionManager/categoryManager.d.ts +56 -0
  377. package/src/manager/collectionManager/categoryManager.js +21 -7
  378. package/src/manager/collectionManager/collectionComponentClass.d.ts +257 -0
  379. package/src/manager/collectionManager/{collectionComponent.js → collectionComponentClass.js} +210 -57
  380. package/src/manager/collectionManager/collectionManager.d.ts +200 -0
  381. package/src/manager/collectionManager/collectionManager.js +45 -39
  382. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +60 -0
  383. package/src/manager/collectionManager/editorCollectionComponentClass.js +295 -0
  384. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +18 -0
  385. package/src/manager/contextMenu/contextMenuInteraction.d.ts +24 -0
  386. package/src/manager/contextMenu/contextMenuManager.d.ts +70 -0
  387. package/src/manager/contextMenu/contextMenuManager.js +5 -5
  388. package/src/manager/navbarManager.d.ts +60 -0
  389. package/src/manager/navbarManager.js +10 -6
  390. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +17 -0
  391. package/src/manager/toolbox/SelectToolboxComponent.vue +1 -0
  392. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +15 -0
  393. package/src/manager/toolbox/ToolboxManager.vue +33 -7
  394. package/src/manager/toolbox/ToolboxManager.vue.d.ts +21 -0
  395. package/src/manager/toolbox/toolboxManager.d.ts +177 -0
  396. package/src/manager/toolbox/toolboxManager.js +86 -31
  397. package/src/manager/window/WindowComponent.vue.d.ts +40 -0
  398. package/src/manager/window/WindowComponentHeader.vue +1 -1
  399. package/src/manager/window/WindowComponentHeader.vue.d.ts +36 -0
  400. package/src/manager/window/WindowManager.vue +1 -0
  401. package/src/manager/window/WindowManager.vue.d.ts +19 -0
  402. package/src/manager/window/windowHelper.d.ts +134 -0
  403. package/src/manager/window/windowHelper.js +20 -20
  404. package/src/manager/window/windowManager.d.ts +422 -0
  405. package/src/manager/window/windowManager.js +95 -40
  406. package/src/navigation/MapNavCompass.vue.d.ts +25 -0
  407. package/src/navigation/MapNavigation.vue +2 -2
  408. package/src/navigation/MapNavigation.vue.d.ts +46 -0
  409. package/src/navigation/ObliqueRotation.vue +8 -4
  410. package/src/navigation/ObliqueRotation.vue.d.ts +14 -0
  411. package/src/navigation/OrientationToolsButton.vue.d.ts +30 -0
  412. package/src/navigation/TiltSlider.vue.d.ts +19 -0
  413. package/src/navigation/VcsCompass.vue.d.ts +25 -0
  414. package/src/navigation/VcsZoomButton.vue +6 -3
  415. package/src/navigation/VcsZoomButton.vue.d.ts +2 -0
  416. package/src/navigation/overviewMap.d.ts +199 -0
  417. package/src/navigation/overviewMap.js +3 -7
  418. package/src/navigation/overviewMapClickedInteraction.d.ts +21 -0
  419. package/src/notifier/NotifierComponent.vue.d.ts +10 -0
  420. package/src/notifier/notifier.d.ts +53 -0
  421. package/src/notifier/notifier.js +0 -1
  422. package/src/pluginHelper.d.ts +67 -0
  423. package/src/pluginHelper.js +11 -9
  424. package/src/search/ResultItem.vue.d.ts +25 -0
  425. package/src/search/ResultsComponent.vue +1 -1
  426. package/src/search/ResultsComponent.vue.d.ts +24 -0
  427. package/src/search/SearchComponent.vue +1 -1
  428. package/src/search/SearchComponent.vue.d.ts +10 -0
  429. package/src/search/search.d.ts +129 -0
  430. package/src/search/search.js +8 -11
  431. package/src/setup.d.ts +1 -0
  432. package/src/state.d.ts +57 -0
  433. package/src/state.js +7 -5
  434. package/src/uiConfig.d.ts +99 -0
  435. package/src/uiConfig.js +17 -7
  436. package/src/vcsUiApp.d.ts +301 -0
  437. package/src/vcsUiApp.js +58 -54
  438. package/src/vuePlugins/i18n.d.ts +10 -0
  439. package/src/vuePlugins/i18n.js +3 -3
  440. package/src/vuePlugins/vuetify.d.ts +27 -0
  441. package/tsconfig.json +36 -0
  442. package/dist/assets/index-661636d9.js +0 -1
  443. package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
@@ -1,6 +1,8 @@
1
1
  <template>
2
2
  <v-container>
3
- <VcsFormButton @click="toggle">toggle child</VcsFormButton>
3
+ <VcsFormButton v-for="num in [1, 2]" :key="num" @click.stop="toggle(num)"
4
+ >toggle child {{ num }}</VcsFormButton
5
+ >
4
6
  </v-container>
5
7
  </template>
6
8
 
@@ -19,24 +21,26 @@
19
21
  const app = inject('vcsApp');
20
22
  const parentId = attrs['window-state'].id;
21
23
  const childId = `dynamicChild-${parentId}`;
22
- const childComponent = {
23
- id: childId,
24
- parentId,
25
- state: {
26
- headerTitle: 'Example dynamicChild',
27
- headerIcon: 'mdi-human-child',
28
- },
29
- component: WindowExampleContent,
30
- slot: WindowSlot.DYNAMIC_CHILD,
31
- };
32
24
 
33
25
  return {
34
- toggle(e) {
35
- if (app.windowManager.has(childId)) {
36
- app.windowManager.remove(childId);
26
+ toggle(num) {
27
+ const id = `${childId}-${num}`;
28
+ if (app.windowManager.has(id)) {
29
+ app.windowManager.remove(id);
37
30
  } else {
38
- e.stopPropagation();
39
- app.windowManager.add(childComponent, owner);
31
+ app.windowManager.add(
32
+ {
33
+ id,
34
+ parentId,
35
+ state: {
36
+ headerTitle: `Example dynamicChild ${num}`,
37
+ headerIcon: 'mdi-human-child',
38
+ },
39
+ component: WindowExampleContent,
40
+ slot: WindowSlot.DYNAMIC_CHILD,
41
+ },
42
+ owner,
43
+ );
40
44
  }
41
45
  },
42
46
  };
@@ -1,6 +1,5 @@
1
- import { ButtonLocation, createToggleAction, ToolboxType } from '@vcmap/ui';
1
+ import { ButtonLocation, createToggleAction } from '@vcmap/ui';
2
2
  import packageJSON from '../package.json';
3
- import { getToolboxData } from './toolboxData.js';
4
3
  import windowExample from './WindowExample.vue';
5
4
 
6
5
  /**
@@ -42,21 +41,7 @@ export default async function windowTester() {
42
41
  packageJSON.name,
43
42
  ButtonLocation.TOOL,
44
43
  );
45
- const { toolboxData, destroy: destroyToolboxData } = getToolboxData(app);
46
- toolboxData.forEach(
47
- ([{ buttonComponents, ...toolboxComponentOptions }, owner]) => {
48
- let group;
49
- if (app.toolboxManager.has(toolboxComponentOptions.id)) {
50
- group = app.toolboxManager.get(toolboxComponentOptions.id);
51
- } else {
52
- group = app.toolboxManager.add(toolboxComponentOptions, owner);
53
- }
54
- if (group.type === ToolboxType.GROUP && buttonComponents) {
55
- buttonComponents.forEach((c) => group.buttonManager.add(c, owner));
56
- }
57
- },
58
- );
59
- this._destroyAction = [destroy, destroyToolboxData];
44
+ this._destroyAction = [destroy];
60
45
  },
61
46
  i18n: {
62
47
  de: {
@@ -6,7 +6,9 @@
6
6
  "@vcmap/shadow": "^1.0.1",
7
7
  "@vcmap/draw": "^1.0.0",
8
8
  "@vcmap/create-link": "^1.0.1",
9
- "@vcmap/search-nominatim": "^1.0.1"
9
+ "@vcmap/search-nominatim": "^1.0.1",
10
+ "@vcmap/multi-view": "^1.0.1",
11
+ "@vcmap/cesium-filters": "^1.0.1"
10
12
  },
11
13
  "optionalDependencies": {}
12
14
  }
@@ -70,7 +70,7 @@
70
70
  },
71
71
  },
72
72
  setup(props, { attrs }) {
73
- /** @type {VcsUiApp} */
73
+ /** @type {import("@src/vcsUiApp.js").default} */
74
74
  const app = inject('vcsApp');
75
75
  /** @type {import("@vcmap/core").FeatureLayer} */
76
76
  const layer = app.layers.getByKey(props.layerName);
@@ -99,7 +99,7 @@
99
99
  text: app.styles.getByKey(name)?.properties?.title || name,
100
100
  value: name,
101
101
  }));
102
- if (props.availableStyles.indexOf(defaultStyle) < 0) {
102
+ if (defaultStyle && props.availableStyles.indexOf(defaultStyle) < 0) {
103
103
  return [
104
104
  {
105
105
  text: 'Default',
@@ -108,11 +108,12 @@
108
108
  ...styles,
109
109
  ];
110
110
  }
111
- const firstStyle = styles.find(({ value }) => value === defaultStyle);
112
- return [
113
- firstStyle,
114
- ...styles.filter(({ value }) => value !== defaultStyle),
115
- ];
111
+ return styles.sort((a) => {
112
+ if (a === defaultStyle) {
113
+ return -1;
114
+ }
115
+ return 0;
116
+ });
116
117
  });
117
118
 
118
119
  function select(styleName) {
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ availableStyles: {
3
+ type: ArrayConstructor;
4
+ default: () => never[];
5
+ };
6
+ layerName: {
7
+ type: StringConstructor;
8
+ required: true;
9
+ };
10
+ }, {
11
+ currentStyleName: import("vue").Ref<string>;
12
+ currentStyleLegend: import("vue").Ref<never[]>;
13
+ items: import("vue").ComputedRef<any>;
14
+ select: (styleName: any) => void;
15
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
16
+ availableStyles: {
17
+ type: ArrayConstructor;
18
+ default: () => never[];
19
+ };
20
+ layerName: {
21
+ type: StringConstructor;
22
+ required: true;
23
+ };
24
+ }>>, {
25
+ availableStyles: unknown[];
26
+ }>;
27
+ export default _default;
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @typedef {Object} ActionOptions
3
+ * @property {string} name
4
+ * @property {string} [title]
5
+ * @property {string} [icon]
6
+ */
7
+ /**
8
+ * @typedef {function(PointerEvent): void | Promise<void>} ActionCallback
9
+ */
10
+ /**
11
+ * @typedef {Object} VcsAction
12
+ * @property {string} name - reactive and translatable name rendered in overflow
13
+ * @property {string} [title] - reactive and translatable title rendered as tooltip
14
+ * @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
15
+ * @property {ActionCallback} callback - callback function is triggered when the button is clicked
16
+ * @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
17
+ * @property {boolean} [hasUpdate=false] - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
18
+ * @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
19
+ * @property {boolean} [disabled=false] - optional flag to indicate that the action is disabled
20
+ */
21
+ /**
22
+ * merges action options with defaults
23
+ * @param {VcsAction|ActionOptions & { callback: ActionCallback}} options
24
+ * @returns {VcsAction}
25
+ */
26
+ export function getActionFromOptions(options: VcsAction | (ActionOptions & {
27
+ callback: ActionCallback;
28
+ })): VcsAction;
29
+ /**
30
+ * @param {ActionOptions} actionOptions
31
+ * @param {string} mapName
32
+ * @param {import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>} maps
33
+ * @returns {{action: VcsAction, destroy: () => void}}
34
+ */
35
+ export function createMapButtonAction(actionOptions: ActionOptions, mapName: string, maps: import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>): {
36
+ action: VcsAction;
37
+ destroy: () => void;
38
+ };
39
+ /**
40
+ * Creates an action which will toggle the given window component (opening & closing the window). The window component must have an id set.
41
+ * @param {ActionOptions} actionOptions
42
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
43
+ * @param {import("../manager/window/windowManager.js").default} windowManager
44
+ * @param {string|symbol} owner
45
+ * @returns {{action: VcsAction, destroy: function(): void}}
46
+ */
47
+ export function createToggleAction(actionOptions: ActionOptions, windowComponent: import("../manager/window/windowManager.js").WindowComponentOptions, windowManager: import("../manager/window/windowManager.js").default, owner: string | symbol): {
48
+ action: VcsAction;
49
+ destroy: () => void;
50
+ };
51
+ /**
52
+ * Creates a toggle button for the search tool, which is only available, if at least one search implementation is registered.
53
+ * @param {import("../vcsUiApp.js").default} app
54
+ * @returns {{ searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction>|null>, destroy: function():void }}
55
+ */
56
+ export function createSearchButtonAction(app: import("../vcsUiApp.js").default): {
57
+ searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction> | null>;
58
+ destroy: () => void;
59
+ };
60
+ /**
61
+ * Creates an action which will toggle the overview map (opening & closing the window and activating/ deactivating the overview map).
62
+ * @param {import("../navigation/overviewMap.js").default} overviewMap
63
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
64
+ * @param {import("../manager/window/windowManager.js").default} windowManager
65
+ * @returns {{action: VcsAction, destroy: function(): void}}
66
+ */
67
+ export function createOverviewMapAction(overviewMap: import("../navigation/overviewMap.js").default, windowComponent: import("../manager/window/windowManager.js").WindowComponentOptions, windowManager: import("../manager/window/windowManager.js").default): {
68
+ action: VcsAction;
69
+ destroy: () => void;
70
+ };
71
+ /**
72
+ * Creates a header less window which will close if anything outside of the window is clicked. The window will open
73
+ * at the clicked position (the actions position) by default, unless the window component already has a position set.
74
+ * @param {ActionOptions} actionOptions
75
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} modalComponent
76
+ * @param {import("../vcsUiApp.js").default} app
77
+ * @param {string|symbol} owner
78
+ * @returns {{action: VcsAction, destroy: function(): void}}
79
+ */
80
+ export function createModalAction(actionOptions: ActionOptions, modalComponent: import("../manager/window/windowManager.js").WindowComponentOptions, app: import("../vcsUiApp.js").default, owner: string | symbol): {
81
+ action: VcsAction;
82
+ destroy: () => void;
83
+ };
84
+ /**
85
+ * Creates an action which opens a given link in a new tab
86
+ * @param {ActionOptions} actionOptions
87
+ * @param {string|function():string} url
88
+ * @returns {VcsAction}
89
+ */
90
+ export function createLinkAction(actionOptions: ActionOptions, url: string | (() => string)): VcsAction;
91
+ /**
92
+ * @param {ActionOptions} actionOptions
93
+ * @param {string|import("@vcmap/core").Viewpoint} viewpoint
94
+ * @param {import("@vcmap/core").Collection<import("@vcmap/core").Viewpoint>} viewpointCollection
95
+ * @param {import("@vcmap/core").MapCollection} mapCollection
96
+ * @returns {VcsAction}
97
+ */
98
+ export function createGoToViewpointAction(actionOptions: ActionOptions, viewpoint: string | import("@vcmap/core").Viewpoint, viewpointCollection: import("@vcmap/core").Collection<import("@vcmap/core").Viewpoint>, mapCollection: import("@vcmap/core").MapCollection): VcsAction;
99
+ /**
100
+ * calculates and returns a viewpoint using feature's extent
101
+ * @param {import("ol").Feature} feature
102
+ * @returns {Viewpoint|null}
103
+ */
104
+ export function getViewpointFromFeature(feature: import("ol").Feature): Viewpoint | null;
105
+ /**
106
+ * Creates an action, which when clicked, zooms to the provided feature
107
+ * @param {ActionOptions} actionOptions
108
+ * @param {import("ol").Feature} feature
109
+ * @param {import("@vcmap/core").MapCollection} mapCollection
110
+ * @returns {VcsAction|null} returns null if the feature does not have a geometry with a valid extent
111
+ */
112
+ export function createZoomToFeatureAction(actionOptions: ActionOptions, feature: import("ol").Feature, mapCollection: import("@vcmap/core").MapCollection): VcsAction | null;
113
+ export type ActionOptions = {
114
+ name: string;
115
+ title?: string | undefined;
116
+ icon?: string | undefined;
117
+ };
118
+ export type ActionCallback = (arg0: PointerEvent) => void | Promise<void>;
119
+ export type VcsAction = {
120
+ /**
121
+ * - reactive and translatable name rendered in overflow
122
+ */
123
+ name: string;
124
+ /**
125
+ * - reactive and translatable title rendered as tooltip
126
+ */
127
+ title?: string | undefined;
128
+ /**
129
+ * - icon rendered on the button. If no icon provided, item is rendered in overflow
130
+ */
131
+ icon?: string | undefined;
132
+ /**
133
+ * - callback function is triggered when the button is clicked
134
+ */
135
+ callback: ActionCallback;
136
+ /**
137
+ * - optional state of button. If active, button is rendered in primary color
138
+ */
139
+ active?: boolean | undefined;
140
+ /**
141
+ * - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
142
+ */
143
+ hasUpdate?: boolean | undefined;
144
+ /**
145
+ * - optional background state. If active and background, button is rendered in primary color outlined
146
+ */
147
+ background?: boolean | undefined;
148
+ /**
149
+ * - optional flag to indicate that the action is disabled
150
+ */
151
+ disabled?: boolean | undefined;
152
+ };
153
+ import { Viewpoint } from '@vcmap/core';
@@ -25,9 +25,25 @@ import SearchComponent from '../search/SearchComponent.vue';
25
25
  * @property {string} [icon]
26
26
  */
27
27
 
28
+ /**
29
+ * @typedef {function(PointerEvent): void | Promise<void>} ActionCallback
30
+ */
31
+
32
+ /**
33
+ * @typedef {Object} VcsAction
34
+ * @property {string} name - reactive and translatable name rendered in overflow
35
+ * @property {string} [title] - reactive and translatable title rendered as tooltip
36
+ * @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
37
+ * @property {ActionCallback} callback - callback function is triggered when the button is clicked
38
+ * @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
39
+ * @property {boolean} [hasUpdate=false] - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
40
+ * @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
41
+ * @property {boolean} [disabled=false] - optional flag to indicate that the action is disabled
42
+ */
43
+
28
44
  /**
29
45
  * merges action options with defaults
30
- * @param {VcsAction|ActionOptions & { callback: Function}} options
46
+ * @param {VcsAction|ActionOptions & { callback: ActionCallback}} options
31
47
  * @returns {VcsAction}
32
48
  */
33
49
  export function getActionFromOptions(options) {
@@ -45,8 +61,8 @@ export function getActionFromOptions(options) {
45
61
  /**
46
62
  * @param {ActionOptions} actionOptions
47
63
  * @param {string} mapName
48
- * @param {import("@vcmap/core").OverrideMapCollection} maps
49
- * @returns {{action: VcsAction, destroy: Function}}
64
+ * @param {import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>} maps
65
+ * @returns {{action: VcsAction, destroy: () => void}}
50
66
  */
51
67
  export function createMapButtonAction(actionOptions, mapName, maps) {
52
68
  check(actionOptions, {
@@ -75,10 +91,10 @@ export function createMapButtonAction(actionOptions, mapName, maps) {
75
91
  /**
76
92
  * Creates an action which will toggle the given window component (opening & closing the window). The window component must have an id set.
77
93
  * @param {ActionOptions} actionOptions
78
- * @param {WindowComponentOptions} windowComponent
79
- * @param {WindowManager} windowManager
94
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
95
+ * @param {import("../manager/window/windowManager.js").default} windowManager
80
96
  * @param {string|symbol} owner
81
- * @returns {{action: VcsAction, destroy: Function}}
97
+ * @returns {{action: VcsAction, destroy: function(): void}}
82
98
  */
83
99
  export function createToggleAction(
84
100
  actionOptions,
@@ -131,7 +147,7 @@ export function createToggleAction(
131
147
 
132
148
  /**
133
149
  * Creates a toggle button for the search tool, which is only available, if at least one search implementation is registered.
134
- * @param {VcsUiApp} app
150
+ * @param {import("../vcsUiApp.js").default} app
135
151
  * @returns {{ searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction>|null>, destroy: function():void }}
136
152
  */
137
153
  export function createSearchButtonAction(app) {
@@ -185,10 +201,10 @@ export function createSearchButtonAction(app) {
185
201
 
186
202
  /**
187
203
  * Creates an action which will toggle the overview map (opening & closing the window and activating/ deactivating the overview map).
188
- * @param {OverviewMap} overviewMap
189
- * @param {WindowComponentOptions} windowComponent
190
- * @param {WindowManager} windowManager
191
- * @returns {(function(): void)|*}
204
+ * @param {import("../navigation/overviewMap.js").default} overviewMap
205
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
206
+ * @param {import("../manager/window/windowManager.js").default} windowManager
207
+ * @returns {{action: VcsAction, destroy: function(): void}}
192
208
  */
193
209
  export function createOverviewMapAction(
194
210
  overviewMap,
@@ -232,10 +248,10 @@ export function createOverviewMapAction(
232
248
  * Creates a header less window which will close if anything outside of the window is clicked. The window will open
233
249
  * at the clicked position (the actions position) by default, unless the window component already has a position set.
234
250
  * @param {ActionOptions} actionOptions
235
- * @param {WindowComponentOptions} modalComponent
236
- * @param {VcsUiApp} app
251
+ * @param {import("../manager/window/windowManager.js").WindowComponentOptions} modalComponent
252
+ * @param {import("../vcsUiApp.js").default} app
237
253
  * @param {string|symbol} owner
238
- * @returns {{action: VcsAction, destroy: Function}}
254
+ * @returns {{action: VcsAction, destroy: function(): void}}
239
255
  */
240
256
  export function createModalAction(actionOptions, modalComponent, app, owner) {
241
257
  check(actionOptions, {
@@ -377,7 +393,7 @@ export function createGoToViewpointAction(
377
393
 
378
394
  /**
379
395
  * calculates and returns a viewpoint using feature's extent
380
- * @param {import("ol").Feature<import("ol/geom/Geometry").default>} feature
396
+ * @param {import("ol").Feature} feature
381
397
  * @returns {Viewpoint|null}
382
398
  */
383
399
  export function getViewpointFromFeature(feature) {
@@ -395,7 +411,7 @@ export function getViewpointFromFeature(feature) {
395
411
  /**
396
412
  * Creates an action, which when clicked, zooms to the provided feature
397
413
  * @param {ActionOptions} actionOptions
398
- * @param {import("ol").Feature<import("ol/geom/Geometry").default>} feature
414
+ * @param {import("ol").Feature} feature
399
415
  * @param {import("@vcmap/core").MapCollection} mapCollection
400
416
  * @returns {VcsAction|null} returns null if the feature does not have a geometry with a valid extent
401
417
  */
@@ -412,13 +428,14 @@ export function createZoomToFeatureAction(
412
428
  check(feature, Feature);
413
429
  check(mapCollection, MapCollection);
414
430
 
415
- const viewpoint = getViewpointFromFeature(feature);
416
-
417
431
  return {
418
432
  title: 'search.zoomToFeatureAction',
419
433
  ...actionOptions,
420
434
  async callback() {
421
- await mapCollection.activeMap.gotoViewpoint(viewpoint);
435
+ const viewpoint = getViewpointFromFeature(feature);
436
+ if (viewpoint && viewpoint.isValid()) {
437
+ await mapCollection.activeMap.gotoViewpoint(viewpoint);
438
+ }
422
439
  },
423
440
  };
424
441
  }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @param {import("@src/vcsUiApp.js").default} app
3
+ * @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>} extent
4
+ * @returns {import("./actionHelper.js").VcsAction}
5
+ */
6
+ export function createZoomToExtentAction(app: import("@src/vcsUiApp.js").default, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent>): import("./actionHelper.js").VcsAction;
7
+ /**
8
+ * @param {import("@vcmap/core").Layer} layer
9
+ * @param {boolean} disabled
10
+ * @returns {{action: import("./actionHelper.js").VcsAction, destroy: (function(): void)}}
11
+ */
12
+ export function createLayerToggleAction(layer: import("@vcmap/core").Layer, disabled: boolean): {
13
+ action: import("./actionHelper.js").VcsAction;
14
+ destroy: (() => void);
15
+ };
16
+ /**
17
+ *
18
+ * @param {import("@src/vcsUiApp.js").default} app
19
+ * @param {import("@vcmap/core").VectorLayer} layer
20
+ * @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>} extent
21
+ * @param {string} featureId
22
+ * @param {boolean} disabled
23
+ * @returns {{ action: import("./actionHelper.js").VcsAction, destroy:()=>void}}
24
+ */
25
+ export function createExtentFeatureAction(app: import("@src/vcsUiApp.js").default, layer: import("@vcmap/core").VectorLayer, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent>, featureId: string, disabled: boolean): {
26
+ action: import("./actionHelper.js").VcsAction;
27
+ destroy: () => void;
28
+ };
29
+ /**
30
+ * @param {import("@src/vcsUiApp.js").default} app
31
+ * @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>|import("vue").WritableComputedRef<import("@vcmap/core").Extent>} extent
32
+ * @param {boolean} disabled
33
+ * @returns {{ actions: Array<import("./actionHelper.js").VcsAction>, destroy: () => void, layer: import("@vcmap/core").VectorLayer, featureId: string }}
34
+ */
35
+ export function setupExtentComponentActions(app: import("@src/vcsUiApp.js").default, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent> | import("vue").WritableComputedRef<import("@vcmap/core").Extent>, disabled: boolean): {
36
+ actions: Array<import("./actionHelper.js").VcsAction>;
37
+ destroy: () => void;
38
+ layer: import("@vcmap/core").VectorLayer;
39
+ featureId: string;
40
+ };