@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
@@ -6,13 +6,11 @@ import { contentTreeClassRegistry } from './contentTreeItem.js';
6
6
  import { executeCallbacks } from '../callback/vcsCallback.js';
7
7
 
8
8
  /**
9
- * @typedef {ContentTreeItemOptions} ObliqueCollectionContentTreeItemOptions
10
- * @property {string} collectionName
9
+ * @typedef {import("./contentTreeItem.js").ContentTreeItemOptions & { collectionName: string }} ObliqueCollectionContentTreeItemOptions
11
10
  */
12
11
 
13
12
  /**
14
- * @typedef {VcsObjectContentTreeItemProperties} ObliqueCollectionContentTreeItemProperties
15
- * @property {string|import("@vcmap/core").Viewpoint} defaultViewpoint
13
+ * @typedef {import("./vcsObjectContentTreeItem.js").VcsObjectContentTreeItemProperties & { defaultViewpoint: string }} ObliqueCollectionContentTreeItemProperties
16
14
  */
17
15
 
18
16
  /**
@@ -34,7 +32,7 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
34
32
 
35
33
  /**
36
34
  * @param {ObliqueCollectionContentTreeItemOptions} options
37
- * @param {VcsUiApp} app
35
+ * @param {import("@src/vcsUiApp.js").default} app
38
36
  */
39
37
  constructor(options, app) {
40
38
  super(options, app);
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @type {symbol}
3
+ */
4
+ export const subTreeSymbol: symbol;
5
+ export default SubContentTreeItem;
6
+ /**
7
+ * A subtree item. Subtrees are rendered in their own (not the main content tree).
8
+ * They will receive their own toggle button in the nav bar.
9
+ * Only toplevel items can be content tree items (with a name which does not have a .)
10
+ * @class
11
+ * @extends {ContentTreeItem}
12
+ */
13
+ declare class SubContentTreeItem extends ContentTreeItem {
14
+ }
15
+ import ContentTreeItem from './contentTreeItem.js';
@@ -20,8 +20,8 @@ class SubContentTreeItem extends ContentTreeItem {
20
20
  }
21
21
 
22
22
  /**
23
- * @param {ContentTreeItemOptions} options
24
- * @param {VcsUiApp} app
23
+ * @param {import("./contentTreeItem.js").ContentTreeItemOptions} options
24
+ * @param {import("@src/vcsUiApp.js").default} app
25
25
  */
26
26
  constructor(options, app) {
27
27
  super(options, app);
@@ -35,7 +35,7 @@ class SubContentTreeItem extends ContentTreeItem {
35
35
  }
36
36
 
37
37
  /**
38
- * @returns {TreeViewItem}
38
+ * @returns {import("./contentTreeItem.js").TreeViewItem}
39
39
  */
40
40
  getTreeViewItem() {
41
41
  const treeViewItem = super.getTreeViewItem();
@@ -0,0 +1,56 @@
1
+ export default VcsObjectContentTreeItem;
2
+ export type VcsObjectContentTreeItemProperties = {
3
+ title?: string | {
4
+ [x: string]: string;
5
+ } | undefined;
6
+ icon?: string | undefined;
7
+ infoUrl?: string | undefined;
8
+ };
9
+ /**
10
+ * @typedef {Object} VcsObjectContentTreeItemProperties
11
+ * @property {string|Object<string, string>} [title]
12
+ * @property {string} [icon]
13
+ * @property {string} [infoUrl]
14
+ */
15
+ /**
16
+ * An abstract class for VcsObject based items.
17
+ * It handles the overriding/setting of its own values based on
18
+ * the VcsObjects properties bag.
19
+ * @class
20
+ * @template {VcsObjectContentTreeItemProperties} T
21
+ * @extends {ContentTreeItem}
22
+ * @abstract
23
+ */
24
+ declare class VcsObjectContentTreeItem<T extends VcsObjectContentTreeItemProperties> extends ContentTreeItem {
25
+ /**
26
+ * @param {import("./contentTreeItem.js").ContentTreeItemOptions} options
27
+ * @param {import("@src/vcsUiApp.js").default} app
28
+ */
29
+ constructor(options: import("./contentTreeItem.js").ContentTreeItemOptions, app: import("@src/vcsUiApp.js").default);
30
+ /**
31
+ * This object holds the properties which where configured on this item.
32
+ * @type {T}
33
+ * @protected
34
+ */
35
+ protected _ownProperties: T;
36
+ /**
37
+ * @type {T}
38
+ * @private
39
+ */
40
+ private _currentObjectProperties;
41
+ /**
42
+ * Sets the VcsObjects properties on the current item.
43
+ * When extending this class with any other type, you must override this
44
+ * method to set other values defined in your type.
45
+ * This method is called, when the properties are set from this.setPropertiesFromObject.
46
+ * @param {T} properties
47
+ * @protected
48
+ */
49
+ protected _setProperties(properties: T): void;
50
+ /**
51
+ * Sets the values on this item based on the objects properties bag.
52
+ * @param {import("@vcmap/core").VcsObject} object
53
+ */
54
+ setPropertiesFromObject(object: import("@vcmap/core").VcsObject): void;
55
+ }
56
+ import ContentTreeItem from './contentTreeItem.js';
@@ -21,15 +21,14 @@ import ContentTreeItem, {
21
21
  class VcsObjectContentTreeItem extends ContentTreeItem {
22
22
  /**
23
23
  * @type {string}
24
- * @readonly
25
24
  */
26
25
  static get className() {
27
26
  return 'VcsObjectContentTreeItem';
28
27
  }
29
28
 
30
29
  /**
31
- * @param {ContentTreeItemOptions} options
32
- * @param {VcsUiApp} app
30
+ * @param {import("./contentTreeItem.js").ContentTreeItemOptions} options
31
+ * @param {import("@src/vcsUiApp.js").default} app
33
32
  */
34
33
  constructor(options, app) {
35
34
  super(options, app);
@@ -84,7 +83,7 @@ class VcsObjectContentTreeItem extends ContentTreeItem {
84
83
  }
85
84
 
86
85
  /**
87
- * @returns {ContentTreeItemOptions}
86
+ * @returns {import("./contentTreeItem.js").ContentTreeItemOptions}
88
87
  */
89
88
  toJSON() {
90
89
  const config = super.toJSON();
@@ -0,0 +1,46 @@
1
+ export default ViewpointContentTreeItem;
2
+ export type ViewpointContentTreeItemOptions = import("./contentTreeItem.js").ContentTreeItemOptions & {
3
+ viewpointName: string;
4
+ };
5
+ /**
6
+ * @typedef {import("./contentTreeItem.js").ContentTreeItemOptions & { viewpointName: string }} ViewpointContentTreeItemOptions
7
+ */
8
+ /**
9
+ * A viewpoint item. Sets the viewpoint on the currently active map when clicked.
10
+ * @extends {VcsObjectContentTreeItem<import("./vcsObjectContentTreeItem.js").VcsObjectContentTreeItemProperties>}
11
+ * @class
12
+ */
13
+ declare class ViewpointContentTreeItem extends VcsObjectContentTreeItem<import("./vcsObjectContentTreeItem.js").VcsObjectContentTreeItemProperties> {
14
+ /**
15
+ * @param {ViewpointContentTreeItemOptions} options
16
+ * @param {import("@src/vcsUiApp.js").default} app
17
+ */
18
+ constructor(options: ViewpointContentTreeItemOptions, app: import("@src/vcsUiApp.js").default);
19
+ /**
20
+ * @type {string}
21
+ * @private
22
+ */
23
+ private _viewpointName;
24
+ /**
25
+ * @type {Array<function():void>}
26
+ * @private
27
+ */
28
+ private _listeners;
29
+ /**
30
+ * @returns {import("@vcmap/core").Viewpoint}
31
+ */
32
+ get viewpoint(): import("@vcmap/core/dist/src/util/viewpoint.js").default;
33
+ /**
34
+ * @private
35
+ */
36
+ private _clearListeners;
37
+ /**
38
+ * @private
39
+ */
40
+ private _setup;
41
+ /**
42
+ * @returns {ViewpointContentTreeItemOptions}
43
+ */
44
+ toJSON(): ViewpointContentTreeItemOptions;
45
+ }
46
+ import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
@@ -2,13 +2,12 @@ import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
2
2
  import { contentTreeClassRegistry } from './contentTreeItem.js';
3
3
 
4
4
  /**
5
- * @typedef {VcsObjectContentTreeItem.Options} ViewpointContentTreeItemOptions
6
- * @property {string} viewpointName
5
+ * @typedef {import("./contentTreeItem.js").ContentTreeItemOptions & { viewpointName: string }} ViewpointContentTreeItemOptions
7
6
  */
8
7
 
9
8
  /**
10
9
  * A viewpoint item. Sets the viewpoint on the currently active map when clicked.
11
- * @extends {VcsObjectContentTreeItem<VcsObjectContentTreeItemProperties>}
10
+ * @extends {VcsObjectContentTreeItem<import("./vcsObjectContentTreeItem.js").VcsObjectContentTreeItemProperties>}
12
11
  * @class
13
12
  */
14
13
  class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
@@ -18,7 +17,7 @@ class ViewpointContentTreeItem extends VcsObjectContentTreeItem {
18
17
 
19
18
  /**
20
19
  * @param {ViewpointContentTreeItemOptions} options
21
- * @param {VcsUiApp} app
20
+ * @param {import("@src/vcsUiApp.js").default} app
22
21
  */
23
22
  constructor(options, app) {
24
23
  options.icon = options.icon || '$vcsPoi'; // XXX _should_ this be the default?
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Download a blob
3
+ * @param {string} uri
4
+ * @param {string} fileName
5
+ * @api
6
+ * @export
7
+ */
8
+ export function downloadURI(uri: string, fileName: string): void;
9
+ /**
10
+ * Download a blob
11
+ * @param {Blob} blob
12
+ * @param {string} fileName
13
+ */
14
+ export function downloadBlob(blob: Blob, fileName: string): void;
15
+ /**
16
+ * Download a text as UTF-8
17
+ * @param {string} text
18
+ * @param {string} fileName
19
+ */
20
+ export function downloadText(text: string, fileName: string): void;
21
+ /**
22
+ * Download a canvas as an image
23
+ * @param {HTMLCanvasElement} canvas
24
+ * @param {string} fileName
25
+ * @param {string=} mimeType
26
+ */
27
+ export function downloadCanvas(canvas: HTMLCanvasElement, fileName: string, mimeType?: string | undefined): void;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, any, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -33,16 +33,21 @@
33
33
  >
34
34
  <slot :attrs="{ ...$props, ...$attrs }">
35
35
  <v-list
36
- v-for="(value, name, index) in attributes"
36
+ v-for="(value, key, index) in attributes"
37
37
  :key="`attribute-${index}`"
38
38
  color="transparent"
39
39
  >
40
40
  <v-list-item class="px-2">
41
41
  <v-list-item-content>
42
42
  <v-list-item-title>
43
- {{ $t(name) }}
43
+ {{ $t(key) }}
44
44
  </v-list-item-title>
45
- <v-list-item-subtitle>{{ $t(value) }}</v-list-item-subtitle>
45
+ <v-list-item-subtitle
46
+ :tag="getTag(tags, key)"
47
+ v-bind="getTagOptions(tags, key)"
48
+ >
49
+ {{ typeof value === 'string' ? $t(value) : value }}
50
+ </v-list-item-subtitle>
46
51
  </v-list-item-content>
47
52
  </v-list-item>
48
53
  </v-list>
@@ -65,6 +70,7 @@
65
70
  } from 'vuetify/lib';
66
71
  import { setupBalloonPositionListener } from './balloonHelper.js';
67
72
  import VcsButton from '../components/buttons/VcsButton.vue';
73
+ import { getTag, getTagOptions } from '../components/tables/VcsTable.vue';
68
74
 
69
75
  /**
70
76
  * @description A balloon viewing feature attributes. Size dynamic dependent on number of attributes.
@@ -73,6 +79,7 @@
73
79
  * @vue-prop {string} balloonTitle - balloon title
74
80
  * @vue-prop {string} balloonSubtitle - balloon subtitle
75
81
  * @vue-prop {Object} attributes - feature's attributes
82
+ * @vue-prop {Object} tags - optional object containing keys rendered as tags
76
83
  * @vue-prop {Array<import("ol/coordinate").Coordinate>} position - clicked position balloon is rendered at
77
84
  * @vue-data {slot} [#balloon-header] - slot to override balloon header, $props and $attrs are passed to `attrs`
78
85
  * @vue-data {slot} [#default] - slot to override balloon content, $props and $attrs are passed to `attrs`
@@ -108,6 +115,10 @@
108
115
  type: Object,
109
116
  required: true,
110
117
  },
118
+ tags: {
119
+ type: Object,
120
+ default: undefined,
121
+ },
111
122
  position: {
112
123
  type: Array,
113
124
  default: null,
@@ -155,6 +166,8 @@
155
166
 
156
167
  return {
157
168
  close,
169
+ getTag,
170
+ getTagOptions,
158
171
  };
159
172
  },
160
173
  };
@@ -0,0 +1,61 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ featureId: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ balloonTitle: {
7
+ type: StringConstructor;
8
+ required: true;
9
+ };
10
+ balloonSubtitle: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ attributes: {
15
+ type: ObjectConstructor;
16
+ required: true;
17
+ };
18
+ tags: {
19
+ type: ObjectConstructor;
20
+ default: undefined;
21
+ };
22
+ position: {
23
+ type: ArrayConstructor;
24
+ default: null;
25
+ };
26
+ }, {
27
+ close: () => void;
28
+ getTag: typeof getTag;
29
+ getTagOptions: typeof getTagOptions;
30
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
31
+ featureId: {
32
+ type: StringConstructor;
33
+ required: true;
34
+ };
35
+ balloonTitle: {
36
+ type: StringConstructor;
37
+ required: true;
38
+ };
39
+ balloonSubtitle: {
40
+ type: StringConstructor;
41
+ required: true;
42
+ };
43
+ attributes: {
44
+ type: ObjectConstructor;
45
+ required: true;
46
+ };
47
+ tags: {
48
+ type: ObjectConstructor;
49
+ default: undefined;
50
+ };
51
+ position: {
52
+ type: ArrayConstructor;
53
+ default: null;
54
+ };
55
+ }>>, {
56
+ position: unknown[];
57
+ tags: Record<string, any>;
58
+ }>;
59
+ export default _default;
60
+ import { getTag } from '../components/tables/VcsTable.vue';
61
+ import { getTagOptions } from '../components/tables/VcsTable.vue';
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Replaces values by new values according to mapping table. Nested keys are represented by a "."
3
+ * @param {Record<string, unknown>} attributes
4
+ * @param {Object<string, string|Object<string,string>>} mapping - value mapping
5
+ */
6
+ export function applyValueMapping(attributes: Record<string, unknown>, mapping: {
7
+ [x: string]: string | {
8
+ [x: string]: string;
9
+ };
10
+ }): void;
11
+ /**
12
+ * Replaces keys by new keys according to mapping table.
13
+ * Nested keys to replace are represented by a ".". Keys will
14
+ * be replaced by the given string literal. This will always lead
15
+ * to a new top level key or an overwritting of an existing key.
16
+ * Deletes old keys!
17
+ * @example
18
+ * const getAttrs = () => { foo: { bar: true }, 'foo.baz': true };
19
+ * const nestedMapping = { 'foo.bar': 'bar' };
20
+ * const nestedMappingWithPeriod = { 'foo.bar': 'bar.foo' };
21
+ * const flatMapping = { 'foo': 'bar' };
22
+ * const periodMapping = { 'foo.baz': 'foo' };
23
+ * // apply nested key mapping will replace nested key with top level key
24
+ * const nestedAttrs = applyKeyMapping(getAttrs(), nestedMapping);
25
+ * assert(nestedAttrs.bar === true);
26
+ * // apply nested key mapping with a new key with a period. will replace nested key with a top level key.
27
+ * const nestedAttrsWithPeriod = applyKeyMapping(getAttrs(), nestedMappingWithPeriod);
28
+ * assert(nestedAttrsWithPeriod['bar.foo'] === true);
29
+ * // apply flat mapping: will replace top level key with another top level key
30
+ * const flatAttrs = applyKeyMapping(getAttrs(), flatMapping);
31
+ * assert(flatAttrs.bar.bar === true);
32
+ * // apply flat mapping of a key with a period. this will overwrite an existing _other_ key
33
+ * const periodAttrs = applyKeyMapping(getAttrs(), periodMapping);
34
+ * assert(periodAttrs.foo === true);
35
+ * @param {Object<string, unknown>} attributes
36
+ * @param {Object<string,string>} mapping - key mapping
37
+ */
38
+ export function applyKeyMapping(attributes: {
39
+ [x: string]: unknown;
40
+ }, mapping: {
41
+ [x: string]: string;
42
+ }): void;
43
+ /**
44
+ * Applies an attribute filtering. Nested attributes are represented by a ".".
45
+ * @example
46
+ * const attrs = { foo: { bar: true, baz: false }, bar: true, baz: true, foobar: { foo: true, bar: true } };
47
+ * const filter = ["foo.bar", "baz", "foobar"];
48
+ * const filtered = applyAttributeFilter(attrs, filter)
49
+ * // nested keys will also filter for their parent
50
+ * assert(filtered.foo.bar === true);
51
+ * // only keys filtered will be present
52
+ * assert(filtered.foo.baz === undefined);
53
+ * assert(filtered.bar === undefined);
54
+ * assert(filtered.baz === true);
55
+ * // if filtering parent top level keys, will pass on a reference of the actual value and its children.
56
+ * assert(deepEquals(filtered.foobar, attrs.foobar));
57
+ * @param {Object<string, unknown>} attributes
58
+ * @param {Array<string>} keys
59
+ * @param {Object<string, unknown>=} result
60
+ * @returns {Object<string, unknown>}
61
+ */
62
+ export function applyAttributeFilter(attributes: {
63
+ [x: string]: unknown;
64
+ }, keys: Array<string>, result?: {
65
+ [x: string]: unknown;
66
+ } | undefined): {
67
+ [x: string]: unknown;
68
+ };
69
+ /**
70
+ * Filters all olcs attributes, not provided as keys
71
+ * @param {Object<string, unknown>} attributes
72
+ * @param {Array<string>} keys
73
+ * @returns {Object}
74
+ */
75
+ export function applyOlcsAttributeFilter(attributes: {
76
+ [x: string]: unknown;
77
+ }, keys?: Array<string>): Object;
78
+ export default AbstractFeatureInfoView;
79
+ export type FeatureInfoProps = {
80
+ featureId: string;
81
+ layerName: string;
82
+ layerProperties: Object;
83
+ attributes: Object;
84
+ tags: Object;
85
+ };
86
+ export type HTMLTagOptions = {
87
+ /**
88
+ * - the html element type
89
+ * ... further html options, which can contain template string $value for reusing the attribute's value
90
+ */
91
+ tag: string;
92
+ };
93
+ export type FeatureInfoViewOptions = import("@vcmap/core").VcsObjectOptions & {
94
+ attributeKeys?: string[];
95
+ keyMapping?: Record<string, string>;
96
+ valueMapping?: Record<string, string | Record<string, string>>;
97
+ tags?: Record<string, HTMLTagOptions>;
98
+ window?: import("../manager/window/windowManager.js").WindowComponentOptions;
99
+ };
100
+ /**
101
+ * Abstract class to be extended by FeatureInfoView classes
102
+ * Subclasses must always provide a component and may overwrite class methods.
103
+ * @abstract
104
+ * @class
105
+ * @extends {VcsObject}
106
+ */
107
+ declare class AbstractFeatureInfoView extends VcsObject {
108
+ /** @returns {FeatureInfoViewOptions} */
109
+ static getDefaultOptions(): FeatureInfoViewOptions;
110
+ /**
111
+ * @param {FeatureInfoViewOptions} options
112
+ * @param {import("vue").Component} component
113
+ */
114
+ constructor(options: FeatureInfoViewOptions, component: import("vue").Component);
115
+ /**
116
+ * @type {string[]}
117
+ */
118
+ attributeKeys: string[];
119
+ /**
120
+ * @type {null|Object<string,string>}
121
+ */
122
+ keyMapping: null | {
123
+ [x: string]: string;
124
+ };
125
+ /**
126
+ * @type {null|Object<string, string|Object<string,string>>}
127
+ */
128
+ valueMapping: null | {
129
+ [x: string]: string | {
130
+ [x: string]: string;
131
+ };
132
+ };
133
+ /**
134
+ * @type {null|Object<string,HTMLTagOptions>}
135
+ */
136
+ tags: null | {
137
+ [x: string]: HTMLTagOptions;
138
+ };
139
+ /**
140
+ * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
141
+ * @private
142
+ */
143
+ private _window;
144
+ /**
145
+ * @type {import("vue").Component|undefined}
146
+ * @private
147
+ */
148
+ private _component;
149
+ /**
150
+ * window options, configured in a module, used only internally by AbstractFeatureInfoView or subclass
151
+ * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
152
+ */
153
+ get window(): Object | import("../manager/window/windowManager.js").WindowComponentOptions;
154
+ /**
155
+ * component provided by a FeatureInfoView class, passed to featureInfo via `getWindowComponentOptions()`
156
+ * @type {import("vue").Component|undefined}
157
+ */
158
+ get component(): import("vue").Component<import("vue/types/options.js").DefaultData<never>, import("vue/types/options.js").DefaultMethods<never>, import("vue/types/options.js").DefaultComputed, import("vue/types/options.js").DefaultProps, {}> | undefined;
159
+ /**
160
+ * This method returns all relevant attributes for this view.
161
+ * Called by `getProperties()` to pass attributes as props object to the VueComponent of this view.
162
+ * May be overwritten by classes extending AbstractFeatureInfoView.
163
+ * It filters attributes of the feature by keys, performs value and key mapping, if provided.
164
+ * @param {undefined|import("ol").Feature|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
165
+ * @returns {Object}
166
+ */
167
+ getAttributes(feature: undefined | import("ol").Feature | import("@vcmap-cesium/engine").Cesium3DTileFeature | import("@vcmap-cesium/engine").Cesium3DTilePointFeature): Object;
168
+ /**
169
+ * This method returns an object with keys rendered as special html elements.
170
+ * Applies value mapping, when using $value html option.
171
+ * Ensures key mapping on defined anchor keys.
172
+ * @param {undefined|import("ol").Feature|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
173
+ * @returns {Object|undefined}
174
+ */
175
+ getTags(feature: undefined | import("ol").Feature | import("@vcmap-cesium/engine").Cesium3DTileFeature | import("@vcmap-cesium/engine").Cesium3DTilePointFeature): Object | undefined;
176
+ /**
177
+ * This method returns all relevant properties passed to the VueComponent of this view.
178
+ * May be overwritten by classes extending AbstractFeatureInfoView.
179
+ * Called by `getWindowComponentOptions()`.
180
+ * @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
181
+ * @param {import("@vcmap/core").Layer} layer
182
+ * @returns {FeatureInfoProps}
183
+ */
184
+ getProperties({ feature }: import("./featureInfo.js").FeatureInfoEvent, layer: import("@vcmap/core").Layer): FeatureInfoProps;
185
+ /**
186
+ * This method is being called by featureInfo, whenever a new window is created (added to the windowManager).
187
+ * May be overwritten by classes extending AbstractFeatureInfoView.
188
+ * @param {import("../vcsUiApp.js").default} app
189
+ * @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
190
+ * @param {import("@vcmap/core").Layer} layer
191
+ * @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
192
+ */
193
+ getWindowComponentOptions(app: import("../vcsUiApp.js").default, featureInfo: import("./featureInfo.js").FeatureInfoEvent, layer: import("@vcmap/core").Layer): import("../manager/window/windowManager.js").WindowComponentOptions;
194
+ /**
195
+ * @returns {FeatureInfoViewOptions}
196
+ */
197
+ toJSON(): FeatureInfoViewOptions;
198
+ }
199
+ import { VcsObject } from '@vcmap/core';