@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
@@ -0,0 +1,70 @@
1
+ export default ContextMenuManager;
2
+ export type ContextMenuEventHandler = {
3
+ owner: string | symbol;
4
+ handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>;
5
+ };
6
+ /**
7
+ * The context menu manager handles right click events in the current map and displays a
8
+ * context menu based on registered action providers.
9
+ * @class
10
+ */
11
+ declare class ContextMenuManager {
12
+ /**
13
+ * @param {import("@src/vcsUiApp.js").default} app
14
+ */
15
+ constructor(app: import("@src/vcsUiApp.js").default);
16
+ /**
17
+ * @type {import("@src/vcsUiApp.js").default}
18
+ * @private
19
+ */
20
+ private _app;
21
+ /**
22
+ * @type {ContextMenuInteraction}
23
+ * @private
24
+ */
25
+ private _interaction;
26
+ /**
27
+ * @type {Array<ContextMenuEventHandler>}
28
+ * @private
29
+ */
30
+ private _eventHandlers;
31
+ /**
32
+ * @type {function():void|null}
33
+ * @private
34
+ */
35
+ private _interactionListener;
36
+ /**
37
+ * @type {Array<function():void>}
38
+ * @private
39
+ */
40
+ private _listeners;
41
+ _ensureInteraction(): void;
42
+ _setupListeners(): void;
43
+ /**
44
+ * @param {import("@vcmap/core").InteractionEvent} event
45
+ * @private
46
+ */
47
+ private _handleRightClick;
48
+ /**
49
+ * Adds a handler to the context menu. A handler is called with the interaction event on each right click.
50
+ * If the handler returns an array of valid actions, said actions will be displayed in the context menu
51
+ * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
52
+ * @param {string|symbol} owner
53
+ */
54
+ addEventHandler(handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>, owner: string | symbol): void;
55
+ /**
56
+ * Remove a single handler
57
+ * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
58
+ */
59
+ removeHandler(handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>): void;
60
+ /**
61
+ * Remove all handlers associated with this owner
62
+ * @param {string|symbol} owner
63
+ */
64
+ removeOwner(owner: string | symbol): void;
65
+ /**
66
+ * Clear any currently opened context menus
67
+ */
68
+ clear(): void;
69
+ destroy(): void;
70
+ }
@@ -14,7 +14,7 @@ import { sortByOwner } from '../navbarManager.js';
14
14
  /**
15
15
  * @typedef {Object} ContextMenuEventHandler
16
16
  * @property {string|symbol} owner
17
- * @property {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
17
+ * @property {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
18
18
  */
19
19
 
20
20
  /**
@@ -48,11 +48,11 @@ function setupViewpointChanged(map, clear) {
48
48
  */
49
49
  class ContextMenuManager {
50
50
  /**
51
- * @param {VcsUiApp} app
51
+ * @param {import("@src/vcsUiApp.js").default} app
52
52
  */
53
53
  constructor(app) {
54
54
  /**
55
- * @type {VcsUiApp}
55
+ * @type {import("@src/vcsUiApp.js").default}
56
56
  * @private
57
57
  */
58
58
  this._app = app;
@@ -153,7 +153,7 @@ class ContextMenuManager {
153
153
  /**
154
154
  * Adds a handler to the context menu. A handler is called with the interaction event on each right click.
155
155
  * If the handler returns an array of valid actions, said actions will be displayed in the context menu
156
- * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
156
+ * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
157
157
  * @param {string|symbol} owner
158
158
  */
159
159
  addEventHandler(handler, owner) {
@@ -170,7 +170,7 @@ class ContextMenuManager {
170
170
 
171
171
  /**
172
172
  * Remove a single handler
173
- * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
173
+ * @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
174
174
  */
175
175
  removeHandler(handler) {
176
176
  this._eventHandlers = this._eventHandlers.filter(
@@ -0,0 +1,60 @@
1
+ /**
2
+ * sorts by owner and optionally plugin order
3
+ * @param {string | symbol} ownerA
4
+ * @param {string | symbol} ownerB
5
+ * @param {string[]} [order] order of owners to sort by
6
+ * @returns {number}
7
+ */
8
+ export function sortByOwner(ownerA: string | symbol, ownerB: string | symbol, order?: string[] | undefined): number;
9
+ /**
10
+ * filters actions by button location and returns actions (optionally sorted)
11
+ * @param {Array<import("./buttonManager.js").ButtonComponent>} buttonComponents
12
+ * @param {ButtonLocation} location Button render position
13
+ * @param {string[]} [order] optional order to sort by (plugin names)
14
+ * @param {function(import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponent):number} [compareFn=sortByOwner] Per default components are sorted by weight (highest first) and owner (app first, then plugins)
15
+ * @returns {Array<import("../actions/actionHelper.js").VcsAction>}
16
+ */
17
+ export function getActionsByLocation(buttonComponents: Array<import("./buttonManager.js").ButtonComponent>, location: ButtonLocation, order?: string[] | undefined, compareFn?: ((arg0: import("./buttonManager.js").ButtonComponent, arg1: import("./buttonManager.js").ButtonComponent) => number) | undefined): Array<import("../actions/actionHelper.js").VcsAction>;
18
+ export const locationSymbol: unique symbol;
19
+ /**
20
+ * *
21
+ */
22
+ export type ButtonLocation = number;
23
+ export namespace ButtonLocation {
24
+ let MAP: number;
25
+ let CONTENT: number;
26
+ let TOOL: number;
27
+ let PROJECT: number;
28
+ let SHARE: number;
29
+ let MENU: number;
30
+ }
31
+ export default NavbarManager;
32
+ export type INavbarManager = import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponentOptions>;
33
+ /**
34
+ * @typedef {import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent,import("./buttonManager.js").ButtonComponentOptions>} INavbarManager
35
+ */
36
+ /**
37
+ * @class NavbarManager
38
+ * @description Manages a set of Map Buttons in the Navbar
39
+ * @implements {INavbarManager}
40
+ */
41
+ declare class NavbarManager extends ButtonManager implements INavbarManager {
42
+ /**
43
+ * adds a buttonComponent
44
+ * @param {import("./buttonManager.js").ButtonComponentOptions} buttonComponentOptions
45
+ * @param {string|symbol} owner pluginName or vcsAppSymbol
46
+ * @param {ButtonLocation} location Button render position
47
+ * @throws {Error} if a buttonComponent with the same ID has already been added
48
+ * @returns {import("./buttonManager.js").ButtonComponent}
49
+ */
50
+ // @ts-ignore
51
+ add(buttonComponentOptions: import("./buttonManager.js").ButtonComponentOptions, owner: string | symbol, location: ButtonLocation): import("./buttonManager.js").ButtonComponent;
52
+ /**
53
+ * Toggles a button of provided id by executing its callback.
54
+ * Use active flag to force a state to be applied.
55
+ * @param {string} id
56
+ * @param {boolean} [active]
57
+ */
58
+ toggle(id: string, active?: boolean | undefined): void;
59
+ }
60
+ import ButtonManager from './buttonManager.js';
@@ -32,11 +32,11 @@ export function sortByOwner(ownerA, ownerB, order = []) {
32
32
 
33
33
  /**
34
34
  * filters actions by button location and returns actions (optionally sorted)
35
- * @param {Array<ButtonComponent>} buttonComponents
35
+ * @param {Array<import("./buttonManager.js").ButtonComponent>} buttonComponents
36
36
  * @param {ButtonLocation} location Button render position
37
37
  * @param {string[]} [order] optional order to sort by (plugin names)
38
- * @param {function(buttonA:ButtonComponent, buttonB:ButtonComponent):number} [compareFn=sortByOwner] Per default components are sorted by weight (highest first) and owner (app first, then plugins)
39
- * @returns {Array<VcsAction>}
38
+ * @param {function(import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponent):number} [compareFn=sortByOwner] Per default components are sorted by weight (highest first) and owner (app first, then plugins)
39
+ * @returns {Array<import("../actions/actionHelper.js").VcsAction>}
40
40
  */
41
41
  export function getActionsByLocation(
42
42
  buttonComponents,
@@ -70,19 +70,23 @@ export const ButtonLocation = {
70
70
  MENU: 5,
71
71
  };
72
72
 
73
+ /**
74
+ * @typedef {import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent,import("./buttonManager.js").ButtonComponentOptions>} INavbarManager
75
+ */
76
+
73
77
  /**
74
78
  * @class NavbarManager
75
79
  * @description Manages a set of Map Buttons in the Navbar
76
- * @implements VcsComponentManager<ButtonComponent,ButtonComponentOptions>
80
+ * @implements {INavbarManager}
77
81
  */
78
82
  class NavbarManager extends ButtonManager {
79
83
  /**
80
84
  * adds a buttonComponent
81
- * @param {ButtonComponentOptions} buttonComponentOptions
85
+ * @param {import("./buttonManager.js").ButtonComponentOptions} buttonComponentOptions
82
86
  * @param {string|symbol} owner pluginName or vcsAppSymbol
83
87
  * @param {ButtonLocation} location Button render position
84
88
  * @throws {Error} if a buttonComponent with the same ID has already been added
85
- * @returns {ButtonComponent}
89
+ * @returns {import("./buttonManager.js").ButtonComponent}
86
90
  */
87
91
  add(buttonComponentOptions, owner, location) {
88
92
  check(location, Object.values(ButtonLocation));
@@ -0,0 +1,17 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ group: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ }, {
7
+ open: import("vue").Ref<boolean>;
8
+ orderedButtons: import("vue").ComputedRef<(import("../buttonManager.js").ButtonComponent | import("./toolboxManager.js").ToolboxComponent)[]>;
9
+ nudgeLeft: ComputedRef<number>;
10
+ hasActiveAction: import("vue").ComputedRef<boolean>;
11
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
12
+ group: {
13
+ type: ObjectConstructor;
14
+ required: true;
15
+ };
16
+ }>>, {}>;
17
+ export default _default;
@@ -10,6 +10,7 @@
10
10
  :icon="group.action.tools[group.action.currentIndex].icon"
11
11
  :active="group.action.active"
12
12
  :disabled="group.action.disabled"
13
+ :background="group.action.background"
13
14
  @click.stop="group.action.callback($event)"
14
15
  v-bind="{ ...$attrs }"
15
16
  class="vcs-toolbox-action-selected"
@@ -0,0 +1,15 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ group: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ }, {
7
+ open: import("vue").Ref<boolean>;
8
+ nudgeLeft: ComputedRef<number>;
9
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
10
+ group: {
11
+ type: ObjectConstructor;
12
+ required: true;
13
+ };
14
+ }>>, {}>;
15
+ export default _default;
@@ -3,8 +3,11 @@
3
3
  v-if="
4
4
  toolboxOpen && orderedGroups.length > 0 && $vuetify.breakpoint.mdAndUp
5
5
  "
6
- class="vcs-toolbox toolbar__secondary mx-auto v-sheet marginToTop"
7
- :class="{ 'rounded-b': !open }"
6
+ class="vcs-toolbox mx-auto v-sheet marginToTop"
7
+ :class="{
8
+ 'rounded-b': !open,
9
+ toolbar__secondary: !isDefaultToolbox,
10
+ }"
8
11
  :height="40"
9
12
  width="fit-content"
10
13
  dense
@@ -46,7 +49,14 @@
46
49
  top: 0;
47
50
  left: 0;
48
51
  right: 0;
49
-
52
+ &.vcs-toolbox.theme {
53
+ &--light {
54
+ background-color: var(--v-primary-lighten3) !important;
55
+ }
56
+ &--dark {
57
+ background-color: var(--v-primary-darken4) !important;
58
+ }
59
+ }
50
60
  &.v-toolbar {
51
61
  ::v-deep .v-toolbar__content {
52
62
  padding: 0;
@@ -68,7 +78,11 @@
68
78
  import { inject, ref, computed, watch, onUnmounted } from 'vue';
69
79
  import { ButtonLocation, vcsAppSymbol } from '@vcmap/ui';
70
80
  import { VToolbar, VToolbarItems } from 'vuetify/lib';
71
- import { getComponentsByOrder, ToolboxType } from './toolboxManager.js';
81
+ import {
82
+ defaultToolboxName,
83
+ getComponentsByOrder,
84
+ ToolboxType,
85
+ } from './toolboxManager.js';
72
86
  import ToolboxActionSelect from './SelectToolboxComponent.vue';
73
87
  import ToolboxActionGroup from './GroupToolboxComponent.vue';
74
88
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
@@ -79,9 +93,9 @@
79
93
  * @property {string} type
80
94
  * @property {string} icon
81
95
  * @property {string} title
82
- * @property {Array<ButtonComponent>} buttons
96
+ * @property {Array<import("../buttonManager.js").ButtonComponent>} buttons
83
97
  * @property {string} [selected]
84
- * @property {function(index:number):void} [selectCb]
98
+ * @property {function(number):void} [selectCb]
85
99
  */
86
100
 
87
101
  /**
@@ -113,6 +127,12 @@
113
127
  );
114
128
  });
115
129
 
130
+ const toolboxName = ref(app.toolboxManager.toolboxName);
131
+ const nameChangeListener =
132
+ app.toolboxManager.toolboxNameChanged.addEventListener((name) => {
133
+ toolboxName.value = name;
134
+ });
135
+
116
136
  /**
117
137
  * To be rendered in Toolbox components must meet certain conditions:
118
138
  * - SingleToolboxComponent: no further conditions
@@ -129,7 +149,9 @@
129
149
  );
130
150
  }
131
151
  const orderedGroups = computed(() =>
132
- getComponentsByOrder(groups.value).filter(filterFunc),
152
+ getComponentsByOrder(groups.value)
153
+ .filter((comp) => comp.toolboxNames.includes(toolboxName.value))
154
+ .filter(filterFunc),
133
155
  );
134
156
 
135
157
  const toolboxOpen = ref(true);
@@ -166,11 +188,15 @@
166
188
 
167
189
  onUnmounted(() => {
168
190
  stopWatching();
191
+ nameChangeListener();
169
192
  });
170
193
 
171
194
  return {
172
195
  toolboxOpen,
173
196
  orderedGroups,
197
+ isDefaultToolbox: computed(
198
+ () => toolboxName.value === defaultToolboxName,
199
+ ),
174
200
  ToolboxType,
175
201
  open: ref(false),
176
202
  };
@@ -0,0 +1,21 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ toolboxOpen: import("vue").Ref<boolean>;
3
+ orderedGroups: import("vue").ComputedRef<(import("../buttonManager.js").ButtonComponent | import("./toolboxManager.js").ToolboxComponent)[]>;
4
+ isDefaultToolbox: import("vue").ComputedRef<boolean>;
5
+ ToolboxType: {
6
+ SINGLE: number;
7
+ SELECT: number;
8
+ GROUP: number;
9
+ };
10
+ open: import("vue").Ref<boolean>;
11
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
12
+ export default _default;
13
+ export type ToolboxButtonGroup = {
14
+ id: string;
15
+ type: string;
16
+ icon: string;
17
+ title: string;
18
+ buttons: Array<import("../buttonManager.js").ButtonComponent>;
19
+ selected?: string | undefined;
20
+ selectCb?: ((arg0: number) => void) | undefined;
21
+ };
@@ -0,0 +1,177 @@
1
+ /**
2
+ * returns ToolboxComponents sorted by owner (or other sort function)
3
+ * @param {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>} components
4
+ * @param {string[]} [order] optional order to sort by (plugin names)
5
+ * @param {function(ownerA:string, ownerB:string, order: string[]):number} [compareFn=sortByOwner] Per default components are sorted by owner: app first, then plugins
6
+ * @returns {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>}
7
+ */
8
+ export function getComponentsByOrder(components: Array<ToolboxComponent | import("../buttonManager.js").ButtonComponent>, order?: string[] | undefined, compareFn?: typeof sortByOwner): Array<ToolboxComponent | import("../buttonManager.js").ButtonComponent>;
9
+ /**
10
+ * Adds default groups for a toolboxManager.
11
+ * Once requested, group id, icon and title are defined and cannot be changed or overwritten.
12
+ * @param {ToolboxManager} toolboxManager
13
+ * @param {Array<ToolboxComponentOptions>} groups
14
+ */
15
+ export function setupDefaultGroups(toolboxManager: ToolboxManager, groups?: Array<ToolboxComponentOptions>): void;
16
+ /**
17
+ * Possible group types. Define behaviour of group:
18
+ */
19
+ export type ToolboxType = number;
20
+ export namespace ToolboxType {
21
+ let SINGLE: number;
22
+ let SELECT: number;
23
+ let GROUP: number;
24
+ }
25
+ /**
26
+ * The default toolbox name
27
+ * @type {symbol}
28
+ */
29
+ export const defaultToolboxName: symbol;
30
+ export default ToolboxManager;
31
+ export type ToolboxComponentOptions = {
32
+ /**
33
+ * - Optional ID, If not provided an uuid will be generated.
34
+ */
35
+ id?: string | undefined;
36
+ /**
37
+ * - Group type, defining the behaviour of the group
38
+ */
39
+ type: ToolboxType;
40
+ /**
41
+ * - optional specific toolboxes to render this component in.
42
+ */
43
+ toolboxNames?: (string | symbol)[] | undefined;
44
+ };
45
+ export type SingleToolboxComponentOptions = ToolboxComponentOptions & {
46
+ action: import("../../actions/actionHelper.js").VcsAction;
47
+ };
48
+ export type SelectToolboxComponentOptions = ToolboxComponentOptions & {
49
+ action: ToolboxSelectAction;
50
+ };
51
+ export type GroupToolboxComponentOptions = ToolboxComponentOptions & {
52
+ icon: string;
53
+ title?: string;
54
+ disabled?: boolean;
55
+ };
56
+ export type ToolboxComponent = {
57
+ id: string;
58
+ /**
59
+ * - Group type, defining the behaviour of the group
60
+ */
61
+ type: ToolboxType;
62
+ owner: string | symbol;
63
+ toolboxNames: (string | symbol)[];
64
+ };
65
+ export type SingleToolboxComponent = ToolboxComponent & {
66
+ action: import("vue").UnwrapRef<import("../../actions/actionHelper.js").VcsAction>;
67
+ };
68
+ export type GroupToolboxComponent = ToolboxComponent & {
69
+ icon: string;
70
+ title?: string;
71
+ buttonManager: ButtonManager;
72
+ disabled?: boolean;
73
+ };
74
+ export type SelectToolboxComponent = ToolboxComponent & {
75
+ action: import("vue").UnwrapRef<ToolboxSelectAction>;
76
+ };
77
+ export type ToolboxSelectAction = import("../../actions/actionHelper.js").VcsAction & {
78
+ selected: (arg0: number) => void;
79
+ tools: ToolboxSelectItem[];
80
+ currentIndex: number;
81
+ };
82
+ export type ToolboxSelectItem = {
83
+ name: string;
84
+ title?: string | undefined;
85
+ icon: string;
86
+ disabled?: boolean | undefined;
87
+ };
88
+ export type IToolboxManager = import("../../vcsUiApp.js").VcsComponentManager<ToolboxComponent, ToolboxComponentOptions>;
89
+ /**
90
+ * sorts by owner and optionally plugin order
91
+ * If both components are owned by vcsApp, defaultOrder is used to compare
92
+ * @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compA
93
+ * @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compB
94
+ * @param {string[]} [order] order of owners to sort by
95
+ * @returns {number}
96
+ */
97
+ declare function sortByOwner(compA: ToolboxComponent | import("../buttonManager.js").ButtonComponent, compB: ToolboxComponent | import("../buttonManager.js").ButtonComponent, order?: string[] | undefined): number;
98
+ /**
99
+ * @typedef {import("../../vcsUiApp.js").VcsComponentManager<ToolboxComponent,ToolboxComponentOptions>} IToolboxManager
100
+ */
101
+ /**
102
+ * @class ToolboxManager
103
+ * @description Manages a set of Toolbox Components
104
+ * @implements {IToolboxManager}
105
+ */
106
+ declare class ToolboxManager implements IToolboxManager {
107
+ /**
108
+ * @type {import("@vcmap/core").VcsEvent<ToolboxComponent>}
109
+ */
110
+ added: import("@vcmap/core").VcsEvent<ToolboxComponent>;
111
+ /**
112
+ * @type {import("@vcmap/core").VcsEvent<ToolboxComponent>}
113
+ */
114
+ removed: import("@vcmap/core").VcsEvent<ToolboxComponent>;
115
+ /**
116
+ * reactive ordered array of ids,
117
+ * @type {Array<string>}
118
+ */
119
+ componentIds: Array<string>;
120
+ /**
121
+ * @type {Map<string, ToolboxComponent>}
122
+ * @private
123
+ */
124
+ private _toolboxGroups;
125
+ /**
126
+ * @type {symbol|string}
127
+ * @private
128
+ */
129
+ private _toolboxName;
130
+ /**
131
+ * @type {VcsEvent<string>}
132
+ */
133
+ toolboxNameChanged: VcsEvent<string>;
134
+ set toolboxName(arg: string | symbol);
135
+ get toolboxName(): string | symbol;
136
+ setDefaultToolboxName(): void;
137
+ /**
138
+ * @param {string} id
139
+ * @returns {ToolboxComponent}
140
+ */
141
+ get(id: string): ToolboxComponent;
142
+ /**
143
+ * @param {string} id
144
+ * @returns {boolean}
145
+ */
146
+ has(id: string): boolean;
147
+ /**
148
+ * removes a ToolboxComponent, Component will not be rendered anymore and will be destroyed.
149
+ * Add ToolboxComponent again to show the component again
150
+ * @param {string} id
151
+ */
152
+ remove(id: string): void;
153
+ /**
154
+ * adds a ToolboxComponent
155
+ * @param {SingleToolboxComponentOptions|SelectToolboxComponentOptions|GroupToolboxComponentOptions} toolboxComponentOptions
156
+ * @param {string|symbol} owner pluginName or vcsAppSymbol
157
+ * @throws {Error} if a toolboxComponent with the same ID has already been added
158
+ * @returns {SingleToolboxComponent|SelectToolboxComponent|import("vue").ShallowReactive<GroupToolboxComponent>}
159
+ */
160
+ // @ts-ignore
161
+ add(toolboxComponentOptions: SingleToolboxComponentOptions | SelectToolboxComponentOptions | GroupToolboxComponentOptions, owner: string | symbol): SingleToolboxComponent | SelectToolboxComponent | import("vue").ShallowReactive<GroupToolboxComponent>;
162
+ /**
163
+ * removes all {@link ToolboxComponent}s of a specific owner and fires removed Events
164
+ * @param {string|vcsAppSymbol} owner
165
+ */
166
+ removeOwner(owner: string | symbol): void;
167
+ /**
168
+ * removes all toolboxComponents and fires removed Events
169
+ */
170
+ clear(): void;
171
+ /**
172
+ * destroys the ToolboxManager;
173
+ */
174
+ destroy(): void;
175
+ }
176
+ import ButtonManager from '../buttonManager.js';
177
+ import { VcsEvent } from '@vcmap/core';