@vcmap/ui 6.1.0-rc.6 → 6.1.0

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 (149) hide show
  1. package/config/base.config.json +7 -3
  2. package/config/cluster.config.json +5 -14
  3. package/config/dev.config.json +175 -56
  4. package/config/projects.config.json +2 -1
  5. package/config/splashscreen.config.json +6 -10
  6. package/config/vectorTile.config.json +42 -1
  7. package/dist/assets/{cesium-f5e8e354.js → cesium-664ad022.js} +53 -23
  8. package/dist/assets/cesium.js +1 -1
  9. package/dist/assets/{core-c134a524.js → core-841b71a4.js} +8458 -5828
  10. package/dist/assets/core.js +1 -1
  11. package/dist/assets/{ol-2752311f.js → ol-2e095c08.js} +87 -37
  12. package/dist/assets/ol.js +1 -1
  13. package/dist/assets/ui-2fd6f47d.css +1 -0
  14. package/dist/assets/{ui-83514586.js → ui-2fd6f47d.js} +21376 -20063
  15. package/dist/assets/ui.js +1 -1
  16. package/dist/assets/vue.js +1 -1
  17. package/dist/assets/{vuetify-5dbe2644.css → vuetify-4bc77ff7.css} +2 -2
  18. package/dist/assets/{vuetify-5dbe2644.js → vuetify-4bc77ff7.js} +7520 -7373
  19. package/dist/assets/vuetify.js +1 -1
  20. package/dist/index.html +1 -1
  21. package/index.d.ts +15 -5
  22. package/index.html +1 -1
  23. package/index.js +14 -5
  24. package/package.json +12 -8
  25. package/plugins/@vcmap-show-case/theming-example/src/index.js +1 -0
  26. package/plugins/@vcmap-show-case/vector-properties-example/src/LayerSettings.vue +39 -0
  27. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +3 -0
  28. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +13 -0
  29. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +9 -0
  30. package/plugins/package.json +7 -5
  31. package/src/actions/actionHelper.d.ts +6 -0
  32. package/src/actions/actionHelper.js +22 -0
  33. package/src/actions/deepPickingAction.d.ts +23 -0
  34. package/src/actions/deepPickingAction.js +399 -0
  35. package/src/application/MapsGroupMobileMenu.vue +105 -0
  36. package/src/application/MapsGroupMobileMenu.vue.d.ts +7 -0
  37. package/src/application/VcsApp.vue +51 -24
  38. package/src/application/VcsApp.vue.d.ts +9 -2
  39. package/src/application/VcsAttributionsFooter.vue +1 -0
  40. package/src/application/VcsContainer.vue +36 -13
  41. package/src/application/VcsContainer.vue.d.ts +7 -0
  42. package/src/application/VcsMobileMenuList.vue +111 -0
  43. package/src/application/VcsMobileMenuList.vue.d.ts +2 -0
  44. package/src/application/VcsNavbar.vue +15 -3
  45. package/src/application/VcsNavbarMobile.vue +206 -0
  46. package/src/application/VcsNavbarMobile.vue.d.ts +42 -0
  47. package/src/application/VcsPositionDisplay.vue +1 -0
  48. package/src/application/VcsSplashScreen.vue +39 -7
  49. package/src/application/VcsSplashScreen.vue.d.ts +6 -0
  50. package/src/application/uiConfigHelper.d.ts +12 -0
  51. package/src/application/uiConfigHelper.js +37 -0
  52. package/src/components/buttons/VcsActionButtonList.vue +1 -0
  53. package/src/components/buttons/VcsToolButton.vue +8 -1
  54. package/src/components/buttons/VcsToolButton.vue.d.ts +1 -0
  55. package/src/components/form-inputs-controls/VcsSelect.vue +8 -6
  56. package/src/components/form-output/VcsTemplateMarkdown.vue +43 -0
  57. package/src/components/form-output/VcsTemplateMarkdown.vue.d.ts +9 -0
  58. package/src/components/icons/+all.d.ts +5 -0
  59. package/src/components/icons/+all.js +14 -0
  60. package/src/components/lists/VcsActionList.vue +1 -0
  61. package/src/components/lists/VcsGroupedList.vue +2 -1
  62. package/src/components/lists/VcsListItemComponent.vue +1 -0
  63. package/src/components/lists/VcsTreeNode.vue +11 -2
  64. package/src/components/lists/VcsTreeview.vue +40 -3
  65. package/src/components/lists/VcsTreeview.vue.d.ts +1 -0
  66. package/src/components/lists/VcsTreeviewTitle.vue +8 -1
  67. package/src/components/style/{MenuWrapper.vue → StyleMenuWrapper.vue} +2 -1
  68. package/src/components/style/VcsFillMenu.vue +4 -4
  69. package/src/components/style/VcsImageMenu.vue +4 -4
  70. package/src/components/style/VcsStrokeMenu.vue +4 -4
  71. package/src/components/style/VcsTextMenu.vue +4 -4
  72. package/src/contentTree/LayerTree.vue +8 -46
  73. package/src/contentTree/LayerTree.vue.d.ts +1 -3
  74. package/src/contentTree/contentTreeCollection.d.ts +7 -0
  75. package/src/contentTree/contentTreeCollection.js +31 -10
  76. package/src/contentTree/contentTreeItem.d.ts +4 -4
  77. package/src/contentTree/contentTreeItem.js +2 -2
  78. package/src/contentTree/flightContentTreeItem.d.ts +8 -1
  79. package/src/contentTree/flightContentTreeItem.js +26 -3
  80. package/src/contentTree/groupContentTreeItem.d.ts +21 -0
  81. package/src/contentTree/groupContentTreeItem.js +32 -2
  82. package/src/contentTree/layerContentTreeItem.d.ts +8 -1
  83. package/src/contentTree/layerContentTreeItem.js +26 -4
  84. package/src/contentTree/layerGroupContentTreeItem.d.ts +6 -0
  85. package/src/contentTree/layerGroupContentTreeItem.js +27 -3
  86. package/src/contentTree/nodeContentTreeItem.d.ts +21 -0
  87. package/src/contentTree/nodeContentTreeItem.js +31 -2
  88. package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +6 -0
  89. package/src/contentTree/obliqueCollectionContentTreeItem.js +22 -2
  90. package/src/contentTree/wmsChildContentTreeItem.d.ts +56 -0
  91. package/src/contentTree/wmsChildContentTreeItem.js +159 -0
  92. package/src/contentTree/wmsGroupContentTreeItem.d.ts +171 -0
  93. package/src/contentTree/wmsGroupContentTreeItem.js +619 -0
  94. package/src/featureInfo/BalloonComponent.vue +6 -6
  95. package/src/featureInfo/ClusterFeatureComponent.vue +47 -11
  96. package/src/featureInfo/ClusterFeatureComponent.vue.d.ts +1 -0
  97. package/src/featureInfo/MarkdownBalloonComponent.vue +3 -9
  98. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +1 -11
  99. package/src/featureInfo/balloonFeatureInfoView.d.ts +3 -0
  100. package/src/featureInfo/balloonFeatureInfoView.js +78 -11
  101. package/src/featureInfo/balloonHelper.js +9 -13
  102. package/src/featureInfo/featureInfo.d.ts +32 -7
  103. package/src/featureInfo/featureInfo.js +192 -93
  104. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +0 -6
  105. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -14
  106. package/src/featureInfo/markdownFeatureInfoView.d.ts +2 -8
  107. package/src/featureInfo/markdownFeatureInfoView.js +6 -15
  108. package/src/i18n/de.d.ts +64 -50
  109. package/src/i18n/de.js +9 -0
  110. package/src/i18n/en.d.ts +64 -50
  111. package/src/i18n/en.js +9 -0
  112. package/src/legend/VcsLegend.vue +21 -2
  113. package/src/legend/VcsLegend.vue.d.ts +1 -0
  114. package/src/legend/legendHelper.d.ts +0 -13
  115. package/src/legend/legendHelper.js +3 -27
  116. package/src/manager/navbarManager.d.ts +14 -1
  117. package/src/manager/navbarManager.js +22 -2
  118. package/src/manager/toolbox/GroupToolboxComponent.vue +17 -3
  119. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  120. package/src/manager/toolbox/SelectToolboxComponent.vue +17 -3
  121. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  122. package/src/manager/toolbox/ToolboxManagerComponent.vue +45 -14
  123. package/src/manager/toolbox/ToolboxManagerComponent.vue.d.ts +9 -0
  124. package/src/manager/toolbox/toolboxManager.d.ts +2 -1
  125. package/src/manager/toolbox/toolboxManager.js +13 -1
  126. package/src/manager/window/WindowComponent.vue +3 -2
  127. package/src/manager/window/WindowComponentHeader.vue +9 -1
  128. package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
  129. package/src/manager/window/WindowManager.vue +175 -30
  130. package/src/manager/window/WindowManager.vue.d.ts +5 -0
  131. package/src/manager/window/windowManager.d.ts +2 -2
  132. package/src/manager/window/windowManager.js +12 -10
  133. package/src/navigation/MapNavigation.vue +29 -19
  134. package/src/navigation/MapNavigation.vue.d.ts +1 -0
  135. package/src/notifier/NotifierComponent.vue +1 -0
  136. package/src/search/ResultsComponent.vue +44 -17
  137. package/src/search/ResultsComponent.vue.d.ts +11 -1
  138. package/src/search/SearchComponent.vue +60 -9
  139. package/src/search/SearchComponent.vue.d.ts +2 -0
  140. package/src/search/search.js +3 -16
  141. package/src/state.d.ts +2 -1
  142. package/src/state.js +2 -1
  143. package/src/uiConfig.d.ts +9 -0
  144. package/src/uiConfig.js +1 -0
  145. package/src/vuePlugins/vuetify.d.ts +4 -0
  146. package/src/vuePlugins/vuetify.js +49 -3
  147. package/dist/assets/ui-83514586.css +0 -1
  148. /package/dist/assets/{vue-f8b1b5f8.js → vue-71fd14e8.js} +0 -0
  149. /package/src/components/style/{MenuWrapper.vue.d.ts → StyleMenuWrapper.vue.d.ts} +0 -0
@@ -1 +1 @@
1
- export * from "./vuetify-5dbe2644.js";
1
+ export * from "./vuetify-4bc77ff7.js";
package/dist/index.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <title>VC Map</title>
5
5
  <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1">
7
7
  <link
8
8
  class="vcs-favicon"
9
9
  rel="icon"
package/index.d.ts CHANGED
@@ -39,10 +39,14 @@ export { default as ContentTreeItem } from "./src/contentTree/contentTreeItem.js
39
39
  export type * from "./src/contentTree/contentTreeItem.d.ts";
40
40
  export { default as GroupContentTreeItem } from "./src/contentTree/groupContentTreeItem.js";
41
41
  export type * from "./src/contentTree/groupContentTreeItem.d.ts";
42
+ export { default as WMSGroupContentTreeItem } from "./src/contentTree/wmsGroupContentTreeItem.js";
43
+ export type * from "./src/contentTree/wmsGroupContentTreeItem.d.ts";
42
44
  export { default as LayerGroupContentTreeItem } from "./src/contentTree/layerGroupContentTreeItem.js";
43
45
  export type * from "./src/contentTree/layerGroupContentTreeItem.d.ts";
44
46
  export { default as FlightContentTreeItem } from "./src/contentTree/flightContentTreeItem.js";
45
47
  export type * from "./src/contentTree/flightContentTreeItem.d.ts";
48
+ export { default as LayerTree } from "./src/contentTree/LayerTree.vue";
49
+ export type * from "./src/contentTree/LayerTree.vue.d.ts";
46
50
  export { default as NodeContentTreeItem } from "./src/contentTree/nodeContentTreeItem.js";
47
51
  export type * from "./src/contentTree/nodeContentTreeItem.d.ts";
48
52
  export { default as ObliqueCollectionContentTreeItem } from "./src/contentTree/obliqueCollectionContentTreeItem.js";
@@ -127,8 +131,6 @@ export { default as UiConfig } from "./src/uiConfig.js";
127
131
  export type * from "./src/uiConfig.d.ts";
128
132
  export { default as VcsUiApp } from "./src/vcsUiApp.js";
129
133
  export type * from "./src/vcsUiApp.d.ts";
130
- export { default as Icons } from "./src/components/icons/+all.js";
131
- export type * from "./src/components/icons/+all.d.ts";
132
134
  export { default as VcsButton } from "./src/components/buttons/VcsButton.vue";
133
135
  export type * from "./src/components/buttons/VcsButton.vue.d.ts";
134
136
  export { default as VcsToolButton } from "./src/components/buttons/VcsToolButton.vue";
@@ -139,6 +141,8 @@ export { default as VcsActionButtonList } from "./src/components/buttons/VcsActi
139
141
  export type * from "./src/components/buttons/VcsActionButtonList.vue.d.ts";
140
142
  export { default as VcsHelp } from "./src/components/notification/VcsHelp.vue";
141
143
  export type * from "./src/components/notification/VcsHelp.vue.d.ts";
144
+ export { default as VcsHelpTooltip } from "./src/components/notification/VcsHelpTooltip.vue";
145
+ export type * from "./src/components/notification/VcsHelpTooltip.vue.d.ts";
142
146
  export { default as VcsTable } from "./src/components/tables/VcsTable.vue";
143
147
  export type * from "./src/components/tables/VcsTable.vue.d.ts";
144
148
  export { default as VcsDataTable } from "./src/components/tables/VcsDataTable.vue";
@@ -175,6 +179,8 @@ export { default as VcsFormattedNumber } from "./src/components/form-output/VcsF
175
179
  export type * from "./src/components/form-output/VcsFormattedNumber.vue.d.ts";
176
180
  export { default as VcsMarkdown } from "./src/components/form-output/VcsMarkdown.vue";
177
181
  export type * from "./src/components/form-output/VcsMarkdown.vue.d.ts";
182
+ export { default as VcsTemplateMarkdown } from "./src/components/form-output/VcsTemplateMarkdown.vue";
183
+ export type * from "./src/components/form-output/VcsTemplateMarkdown.vue.d.ts";
178
184
  export { default as VcsTextPage } from "./src/application/VcsTextPage.vue";
179
185
  export type * from "./src/application/VcsTextPage.vue.d.ts";
180
186
  export { default as VcsList } from "./src/components/lists/VcsList.vue";
@@ -203,6 +209,8 @@ export { default as VcsTreeviewSearchbar } from "./src/components/lists/VcsTreev
203
209
  export type * from "./src/components/lists/VcsTreeviewSearchbar.vue.d.ts";
204
210
  export { default as VcsBadge } from "./src/components/notification/VcsBadge.vue";
205
211
  export type * from "./src/components/notification/VcsBadge.vue.d.ts";
212
+ export { default as StyleMenuWrapper } from "./src/components/style/StyleMenuWrapper.vue";
213
+ export type * from "./src/components/style/StyleMenuWrapper.vue.d.ts";
206
214
  export { default as VcsFillSelector } from "./src/components/style/VcsFillSelector.vue";
207
215
  export type * from "./src/components/style/VcsFillSelector.vue.d.ts";
208
216
  export { default as VcsFillMenu } from "./src/components/style/VcsFillMenu.vue";
@@ -261,8 +269,10 @@ export { default as ResultItemComponent } from "./src/search/ResultItem.vue";
261
269
  export type * from "./src/search/ResultItem.vue.d.ts";
262
270
  export { default as ResultsComponent } from "./src/search/ResultsComponent.vue";
263
271
  export type * from "./src/search/ResultsComponent.vue.d.ts";
264
- export { createMapButtonAction, createToggleAction, createOverviewMapAction, createModalAction, createLinkAction, createGoToViewpointAction, createZoomToFeatureAction, searchComponentId } from "./src/actions/actionHelper.js";
272
+ export { callSafeAction, createMapButtonAction, createToggleAction, createOverviewMapAction, createModalAction, createLinkAction, createGoToViewpointAction, createZoomToFeatureAction, searchComponentId } from "./src/actions/actionHelper.js";
265
273
  export type * from "./src/actions/actionHelper.d.ts";
274
+ export { createDeepPickingAction, deepPickingWindowId } from "./src/actions/deepPickingAction.js";
275
+ export type * from "./src/actions/deepPickingAction.d.ts";
266
276
  export { createStateRefAction, StateActionState } from "./src/actions/stateRefAction.js";
267
277
  export type * from "./src/actions/stateRefAction.d.ts";
268
278
  export { createLayerToggleAction, createZoomToExtentAction, createExtentFeatureAction, setupExtentComponentActions } from "./src/actions/extentActions.js";
@@ -279,8 +289,6 @@ export { default as ContentTreeCollection, createContentTreeCollection, defaultC
279
289
  export type * from "./src/contentTree/contentTreeCollection.d.ts";
280
290
  export { default as LayerContentTreeItem, setViewpointAction, getStateFromLayer } from "./src/contentTree/layerContentTreeItem.js";
281
291
  export type * from "./src/contentTree/layerContentTreeItem.d.ts";
282
- export { default as LayerTree, openStateMapSymbol } from "./src/contentTree/LayerTree.vue";
283
- export type * from "./src/contentTree/LayerTree.vue.d.ts";
284
292
  export { default as WindowManager, WindowSlot, WindowPositions, posToPixel, windowPositionFromOptions } from "./src/manager/window/windowManager.js";
285
293
  export type * from "./src/manager/window/windowManager.d.ts";
286
294
  export { WindowAlignment, getFittedWindowPositionOptions, getFittedWindowPositionOptionsFromMapEvent, getTargetSize, getWindowPositionOptions, getWindowPositionOptionsFromMapEvent, posToNumber, posToPercent, optionsFromWindowPosition, updateWindowPosition, clipToTargetSize, moveWindow, applyParentPosition, getPositionAppliedOnTarget } from "./src/manager/window/windowHelper.js";
@@ -325,6 +333,8 @@ export { getStateFromURL, createEmptyState, setStateToUrl } from "./src/state.js
325
333
  export type * from "./src/state.d.ts";
326
334
  export { default as Notifier, NotificationType } from "./src/notifier/notifier.js";
327
335
  export type * from "./src/notifier/notifier.d.ts";
336
+ export { default as Icons, getColoredMapIcon } from "./src/components/icons/+all.js";
337
+ export type * from "./src/components/icons/+all.d.ts";
328
338
  export { default as VcsActionList, validateAction, validateActions } from "./src/components/lists/VcsActionList.vue";
329
339
  export type * from "./src/components/lists/VcsActionList.vue.d.ts";
330
340
  export { default as VcsVectorStyleComponent, VectorStyleMenus } from "./src/components/style/VcsVectorStyleComponent.vue";
package/index.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <title>VC Map</title>
5
5
  <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1">
7
7
  <link
8
8
  class="vcs-favicon"
9
9
  rel="icon"
package/index.js CHANGED
@@ -3,6 +3,7 @@ import './src/styles/main.scss';
3
3
 
4
4
  export { default as StyleSelector } from './src/actions/StyleSelector.vue';
5
5
  export {
6
+ callSafeAction,
6
7
  createMapButtonAction,
7
8
  createToggleAction,
8
9
  createOverviewMapAction,
@@ -12,6 +13,10 @@ export {
12
13
  createZoomToFeatureAction,
13
14
  searchComponentId,
14
15
  } from './src/actions/actionHelper.js';
16
+ export {
17
+ createDeepPickingAction,
18
+ deepPickingWindowId,
19
+ } from './src/actions/deepPickingAction.js';
15
20
  export { parseAndSanitizeMarkdown } from './src/components/form-output/markdownHelper.js';
16
21
  export { renderTemplate } from '@vcmap/core';
17
22
  export {
@@ -83,6 +88,7 @@ export {
83
88
  } from './src/contentTree/contentTreeCollection.js';
84
89
  export { default as ContentTreeItem } from './src/contentTree/contentTreeItem.js';
85
90
  export { default as GroupContentTreeItem } from './src/contentTree/groupContentTreeItem.js';
91
+ export { default as WMSGroupContentTreeItem } from './src/contentTree/wmsGroupContentTreeItem.js';
86
92
  export {
87
93
  default as LayerContentTreeItem,
88
94
  setViewpointAction,
@@ -90,10 +96,7 @@ export {
90
96
  } from './src/contentTree/layerContentTreeItem.js';
91
97
  export { default as LayerGroupContentTreeItem } from './src/contentTree/layerGroupContentTreeItem.js';
92
98
  export { default as FlightContentTreeItem } from './src/contentTree/flightContentTreeItem.js';
93
- export {
94
- default as LayerTree,
95
- openStateMapSymbol,
96
- } from './src/contentTree/LayerTree.vue';
99
+ export { default as LayerTree } from './src/contentTree/LayerTree.vue';
97
100
  export { default as NodeContentTreeItem } from './src/contentTree/nodeContentTreeItem.js';
98
101
  export { default as ObliqueCollectionContentTreeItem } from './src/contentTree/obliqueCollectionContentTreeItem.js';
99
102
  export { default as SubContentTreeItem } from './src/contentTree/subContentTreeItem.js';
@@ -264,13 +267,17 @@ export {
264
267
  default as Notifier,
265
268
  NotificationType,
266
269
  } from './src/notifier/notifier.js';
267
- export { default as Icons } from './src/components/icons/+all.js';
270
+ export {
271
+ default as Icons,
272
+ getColoredMapIcon,
273
+ } from './src/components/icons/+all.js';
268
274
 
269
275
  export { default as VcsButton } from './src/components/buttons/VcsButton.vue';
270
276
  export { default as VcsToolButton } from './src/components/buttons/VcsToolButton.vue';
271
277
  export { default as VcsFormButton } from './src/components/buttons/VcsFormButton.vue';
272
278
  export { default as VcsActionButtonList } from './src/components/buttons/VcsActionButtonList.vue';
273
279
  export { default as VcsHelp } from './src/components/notification/VcsHelp.vue';
280
+ export { default as VcsHelpTooltip } from './src/components/notification/VcsHelpTooltip.vue';
274
281
  export { default as VcsTable } from './src/components/tables/VcsTable.vue';
275
282
  export { default as VcsDataTable } from './src/components/tables/VcsDataTable.vue';
276
283
  export { default as VcsLabel } from './src/components/form-inputs-controls/VcsLabel.vue';
@@ -289,6 +296,7 @@ export { default as VcsWizardStep } from './src/components/form-inputs-controls/
289
296
  export { default as VcsDatePicker } from './src/components/form-inputs-controls/VcsDatePicker.vue';
290
297
  export { default as VcsFormattedNumber } from './src/components/form-output/VcsFormattedNumber.vue';
291
298
  export { default as VcsMarkdown } from './src/components/form-output/VcsMarkdown.vue';
299
+ export { default as VcsTemplateMarkdown } from './src/components/form-output/VcsTemplateMarkdown.vue';
292
300
  export { default as VcsTextPage } from './src/application/VcsTextPage.vue';
293
301
  export {
294
302
  default as VcsActionList,
@@ -306,6 +314,7 @@ export { default as VcsTreeviewSearchbar } from './src/components/lists/VcsTreev
306
314
  export { default as VcsBadge } from './src/components/notification/VcsBadge.vue';
307
315
  export { default as VcsDefaultLogo } from './src/logo.svg';
308
316
  export { default as VcsDefaultMobileLogo } from './src/logo-mobile.svg';
317
+ export { default as StyleMenuWrapper } from './src/components/style/StyleMenuWrapper.vue';
309
318
  export { default as VcsFillSelector } from './src/components/style/VcsFillSelector.vue';
310
319
  export { default as VcsFillMenu } from './src/components/style/VcsFillMenu.vue';
311
320
  export { default as VcsStrokeSelector } from './src/components/style/VcsStrokeSelector.vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/ui",
3
- "version": "6.1.0-rc.6",
3
+ "version": "6.1.0",
4
4
  "author": "Virtual City Systems",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -48,23 +48,26 @@
48
48
  "@vcsuite/check": "^2.1.0",
49
49
  "@vcsuite/logger": "^1.0.1",
50
50
  "@vcsuite/parsers": "^2.0.1",
51
- "dompurify": "^3.1.6",
51
+ "dompurify": "^3.2.4",
52
52
  "fast-deep-equal": "^3.1.3",
53
- "marked": "^15.0.0",
53
+ "marked": "^15.0.7",
54
54
  "semver": "^7.6.3",
55
- "uuid": "^11.0.0",
55
+ "uuid": "^11.1.0",
56
56
  "vue-i18n": "^9.13.1"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@vcmap-cesium/engine": "^11.0.2",
60
- "@vcmap/core": "^6.1.0-rc.5",
60
+ "@vcmap/core": "^6.1.1",
61
61
  "ol": "^10.4.0",
62
62
  "vue": "~3.4.38",
63
- "vuetify": "^3.7.11"
63
+ "vuetify": "^3.7.14"
64
+ },
65
+ "overrides": {
66
+ "esbuild": "^0.25.0"
64
67
  },
65
68
  "devDependencies": {
66
69
  "@histoire/plugin-vue": "^0.17.17",
67
- "@vcmap/rollup-plugin-vcs-ol": "^1.0.2",
70
+ "@vcmap/rollup-plugin-vcs-ol": "^1.0.5",
68
71
  "@vcsuite/eslint-config": "^3.0.5",
69
72
  "@vitejs/plugin-vue": "^5.1.4",
70
73
  "@vitest/coverage-v8": "^2.1.3",
@@ -85,7 +88,8 @@
85
88
  "vite": "^5.4.9",
86
89
  "vite-plugin-vuetify": "^2.0.4",
87
90
  "vitest": "^2.1.3",
88
- "vue-tsc": "^2.1.6"
91
+ "vue-tsc": "^2.1.6",
92
+ "nock": "^14.0.1"
89
93
  },
90
94
  "stylelint": {
91
95
  "extends": "stylelint-config-standard",
@@ -40,6 +40,7 @@ export default async () => {
40
40
  { id: 'theming-example', action },
41
41
  packageJSON.name,
42
42
  ButtonLocation.MENU,
43
+ { desktop: true, tablet: true },
43
44
  );
44
45
  this._destroyAction = destroy;
45
46
  },
@@ -0,0 +1,39 @@
1
+ <script setup>
2
+ import { computed, inject, ref } from 'vue';
3
+ import { VcsFormSection, VcsCheckbox } from '@vcmap/ui';
4
+ import { VContainer, VRow, VCol } from 'vuetify/components';
5
+ import { name } from '../package.json';
6
+ import { getBalloonFeatureInfo } from './lib.js';
7
+
8
+ const vcsApp = inject('vcsApp');
9
+ const plugin = vcsApp.plugins.getByKey(name);
10
+
11
+ const { layer } = plugin;
12
+ const featureInfo = getBalloonFeatureInfo(vcsApp);
13
+ const hasBallon = ref(layer.properties.featureInfo === featureInfo.name);
14
+ const useBallon = computed({
15
+ get: () => hasBallon.value,
16
+ set: (value) => {
17
+ if (value) {
18
+ layer.properties.featureInfo = featureInfo.name;
19
+ } else {
20
+ layer.properties.featureInfo = undefined;
21
+ }
22
+ hasBallon.value = layer.properties.featureInfo === featureInfo.name;
23
+ },
24
+ });
25
+ </script>
26
+
27
+ <template>
28
+ <vcs-form-section heading="Layer Settings" expandable>
29
+ <v-container class="pa-2">
30
+ <v-row no-gutters>
31
+ <v-col>
32
+ <vcs-checkbox v-model="useBallon" label="Ballon Feature Info" />
33
+ </v-col>
34
+ </v-row>
35
+ </v-container>
36
+ </vcs-form-section>
37
+ </template>
38
+
39
+ <style scoped lang="scss"></style>
@@ -50,6 +50,7 @@
50
50
  :expandable="expandable"
51
51
  :show-reset="showReset"
52
52
  />
53
+ <layer-settings />
53
54
  </v-sheet>
54
55
  </template>
55
56
 
@@ -76,10 +77,12 @@
76
77
  import { name } from '../package.json';
77
78
  import GeometrySettings from './GeometrySettings.vue';
78
79
  import TerrainSettings from './TerrainSettings.vue';
80
+ import LayerSettings from './LayerSettings.vue';
79
81
 
80
82
  export default {
81
83
  name: 'VectorPropertiesExample',
82
84
  components: {
85
+ LayerSettings,
83
86
  TerrainSettings,
84
87
  GeometrySettings,
85
88
  VcsVectorPropertiesComponent,
@@ -16,6 +16,7 @@ import {
16
16
  Polygon,
17
17
  } from 'ol/geom';
18
18
  import { Stroke, Style, Text as OLText } from 'ol/style';
19
+ import { BalloonFeatureInfoView } from '@vcmap/ui';
19
20
 
20
21
  function layoutHelper(feature, layout = 'XYZ') {
21
22
  if (layout !== 'XYZ') {
@@ -292,3 +293,15 @@ export function getTiltedLineStringFeature(layout) {
292
293
  layoutHelper(feature, layout);
293
294
  return feature;
294
295
  }
296
+
297
+ let balloonFeatureInfo;
298
+ export function getBalloonFeatureInfo(app) {
299
+ if (!balloonFeatureInfo) {
300
+ balloonFeatureInfo = new BalloonFeatureInfoView({
301
+ title: 'Vector Properties Example',
302
+ attributeKeys: ['featureId'],
303
+ });
304
+ app.featureInfo.add(balloonFeatureInfo);
305
+ }
306
+ return balloonFeatureInfo;
307
+ }
@@ -12,6 +12,9 @@
12
12
  <VcsFormButton @click="toggleClass()" :active="showTestClass" class="pa-1">
13
13
  Change Static2 TestClass
14
14
  </VcsFormButton>
15
+ <vcs-form-button @click="logStates"
16
+ >Log Current window states</vcs-form-button
17
+ >
15
18
  </div>
16
19
  </template>
17
20
  <style></style>
@@ -218,6 +221,12 @@
218
221
  app.windowManager.add(windowComponentOptions, owner);
219
222
  }
220
223
  },
224
+ logStates() {
225
+ app.windowManager.componentIds.forEach((id) => {
226
+ console.log(app.windowManager.get(id));
227
+ console.log(app.windowManager.getCachedPosition(id));
228
+ });
229
+ },
221
230
  examples: exampleWindows.map((item) => item.id),
222
231
  };
223
232
  },
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "dependencies": {
3
- "@vcmap/print": "^2.0.0",
3
+ "@vcmap/print": "^3.0.0",
4
4
  "@vcmap/walk": "^2.0.0",
5
5
  "@vcmap/clipping-tool": "^2.0.0",
6
6
  "@vcmap/transparent-terrain": "^2.0.0",
7
7
  "@vcmap/height-profile": "^2.0.0",
8
8
  "@vcmap/flight": "^2.0.0",
9
- "@vcmap/swipe-tool": "^2.0.0",
9
+ "@vcmap/swipe-tool": "^3.0.0",
10
10
  "@vcmap/export": "^2.0.0",
11
11
  "@vcmap/viewshed": "^3.0.0",
12
- "@vcmap/measurement": "^2.0.0",
12
+ "@vcmap/measurement": "^3.0.0",
13
13
  "@vcmap/multi-view": "^2.0.0",
14
14
  "@vcmap/draw": "^3.0.0",
15
15
  "@vcmap/shadow": "^3.0.0",
@@ -19,11 +19,13 @@
19
19
  "@vcmap/link-button": "^2.0.0",
20
20
  "@vcmap/cesium-filters": "^2.0.0",
21
21
  "@vcmap/search-nominatim": "^2.0.0",
22
- "@vcmap/create-link": "^2.0.0",
22
+ "@vcmap/create-link": "^3.0.0",
23
23
  "@vcmap/module-selector": "^2.0.0",
24
24
  "@vcmap/line-of-sight": "^1.0.0",
25
25
  "@vcmap/layer-slider": "^2.0.0",
26
- "@vcmap/vcs-solar-balloon": "^2.0.0"
26
+ "@vcmap/vcs-solar-balloon": "^2.0.0",
27
+ "@vcmap/list-view": "^1.0.0",
28
+ "@vcmap/pointcloud-settings": "^1.0.0"
27
29
  },
28
30
  "optionalDependencies": {
29
31
  "@vcmap/planning": "^6.0.0"
@@ -107,6 +107,12 @@ export function getViewpointFromFeature(feature: import("ol").Feature): Viewpoin
107
107
  * @returns {VcsAction|null} returns null if the feature does not have a geometry with a valid extent
108
108
  */
109
109
  export function createZoomToFeatureAction(actionOptions: ActionOptions, feature: import("ol").Feature, mapCollection: import("@vcmap/core").MapCollection): VcsAction | null;
110
+ /**
111
+ * Calls the callback of an action and handles potential error.
112
+ * @param {VcsAction} action
113
+ * @param {PointerEvent} [p]
114
+ */
115
+ export function callSafeAction(action: VcsAction, p?: PointerEvent | undefined): void;
110
116
  export const searchComponentId: "searchId";
111
117
  export type ActionOptions = Omit<VcsAction, 'callback'>;
112
118
  export type ActionCallback = (p?: PointerEvent) => (void | Promise<void>);
@@ -1,5 +1,6 @@
1
1
  import { v4 as uuid } from 'uuid';
2
2
  import { check, maybe, oneOf, optional } from '@vcsuite/check';
3
+ import { getLogger } from '@vcsuite/logger';
3
4
  import {
4
5
  Collection,
5
6
  Extent,
@@ -498,3 +499,24 @@ export function createZoomToFeatureAction(
498
499
  },
499
500
  };
500
501
  }
502
+
503
+ /**
504
+ * Calls the callback of an action and handles potential error.
505
+ * @param {VcsAction} action
506
+ * @param {PointerEvent} [p]
507
+ */
508
+ export function callSafeAction(action, p) {
509
+ const logError = (e) =>
510
+ getLogger(action.name).error(
511
+ `Error while calling the ${action.title ?? action.name} callback:`,
512
+ e,
513
+ );
514
+ try {
515
+ const optPromise = action.callback(p);
516
+ if (optPromise instanceof Promise) {
517
+ optPromise.catch(logError);
518
+ }
519
+ } catch (e) {
520
+ logError(e);
521
+ }
522
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @param {import("@vcmap/ui").VcsUiApp} app
3
+ * @returns {{ layer: import("@vcmap/core").VectorLayer, destroy: () => void }}
4
+ */
5
+ export function setupDeepPickingLayer(app: import("@vcmap/ui").VcsUiApp): {
6
+ layer: import("@vcmap/core").VectorLayer;
7
+ destroy: () => void;
8
+ };
9
+ /**
10
+ * @param {import("../vcsUiApp.js").default} app
11
+ * @param {import("@vcmap/core").VectorLayer} layer
12
+ * @param {(event: import("@vcmap/core").InteractionEvent) => Promise<import("@vcmap/core").EventFeature[]>} collectFeatures
13
+ * @param {import("@vcmap/core").InteractionEvent} event
14
+ * @returns {import("./actionHelper.js").VcsAction}
15
+ */
16
+ export function createDeepPickingAction(app: import("../vcsUiApp.js").default, layer: import("@vcmap/core").VectorLayer, collectFeatures: (event: import("@vcmap/core").InteractionEvent) => Promise<import("@vcmap/core").EventFeature[]>, event: import("@vcmap/core").InteractionEvent): import("./actionHelper.js").VcsAction;
17
+ /**
18
+ * This adds deep picking action to the context menu, if not disabled in uiConfig
19
+ * @param {import("../vcsUiApp.js").default} app
20
+ * @returns {() => void}
21
+ */
22
+ export function setupDeepPicking(app: import("../vcsUiApp.js").default): () => void;
23
+ export const deepPickingWindowId: "deep-picking-window";