@vcmap/ui 6.0.0-rc.3 → 6.0.0-rc.5

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 (161) hide show
  1. package/build/buildHelpers.js +60 -11
  2. package/build/bundle.js +1 -1
  3. package/build/info/publish.js +25 -31
  4. package/build/lintTypes.js +5 -0
  5. package/config/base.config.json +2 -1
  6. package/config/dev.config.json +7 -1
  7. package/config/www.config.json +25 -22
  8. package/dist/assets/@mdi/font/css/{materialdesignicons.min-7a4f6be0.css → materialdesignicons.min-680621ca.css} +1 -1
  9. package/dist/assets/{cesium-cb4dbfba.js → cesium-126f111a.js} +272 -385
  10. package/dist/assets/cesium.js +1 -1
  11. package/dist/assets/{core-72f21835.js → core-1c8b8674.js} +1417 -1453
  12. package/dist/assets/core.js +1 -1
  13. package/dist/assets/{ol-2d33bc8b.js → ol-27f9b3f3.js} +233 -329
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/ui-7214428e.css +1 -0
  16. package/dist/assets/{ui-2ab43a16.js → ui-7214428e.js} +9573 -9438
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/vue-c78a5f76.js +6083 -0
  19. package/dist/assets/vue.js +1 -1
  20. package/dist/assets/{vuetify-760ced3b.css → vuetify-88a2fabe.css} +2 -2
  21. package/dist/assets/{vuetify-760ced3b.js → vuetify-88a2fabe.js} +7672 -7877
  22. package/dist/assets/vuetify.js +1 -1
  23. package/index.d.ts +6 -8
  24. package/index.js +7 -5
  25. package/package.json +16 -16
  26. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -3
  27. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  28. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  29. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  30. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  31. package/plugins/package.json +3 -23
  32. package/public/assets/@mdi/font/css/materialdesignicons.min.css +1 -1
  33. package/src/actions/StyleSelector.vue +1 -1
  34. package/src/actions/actionHelper.js +13 -2
  35. package/src/actions/listActions.d.ts +4 -4
  36. package/src/actions/listActions.js +2 -2
  37. package/src/application/VcsApp.vue +96 -31
  38. package/src/application/VcsApp.vue.d.ts +297 -4
  39. package/src/application/VcsContainer.vue +26 -9
  40. package/src/application/VcsContainer.vue.d.ts +237 -0
  41. package/src/application/VcsMainMap.vue +7 -7
  42. package/src/application/VcsMainMap.vue.d.ts +2 -2
  43. package/src/application/VcsNavbar.vue +5 -1
  44. package/src/application/VcsSplashScreen.vue +24 -26
  45. package/src/application/VcsTextPageFooter.vue +2 -1
  46. package/src/components/buttons/VcsActionButtonList.vue +59 -3
  47. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  48. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +15 -13
  49. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +3 -4
  50. package/src/components/form-inputs-controls/VcsCoordinate.vue +4 -3
  51. package/src/components/form-inputs-controls/VcsSelect.vue +1 -4
  52. package/src/components/form-inputs-controls/VcsSlider.vue +0 -1
  53. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -4
  54. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -4
  55. package/src/components/form-inputs-controls/VcsTextField.vue +14 -0
  56. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +9 -0
  57. package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -5
  58. package/src/components/form-inputs-controls/vcsTextField.scss +1 -4
  59. package/src/components/form-output/VcsFormattedNumber.vue +6 -4
  60. package/src/components/form-output/VcsMarkdown.vue +15 -12
  61. package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
  62. package/src/components/form-output/markdownHelper.d.ts +30 -0
  63. package/src/components/form-output/markdownHelper.js +398 -0
  64. package/src/components/import/VcsFileDrop.vue +8 -5
  65. package/src/components/import/VcsImportComponent.vue +4 -3
  66. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  67. package/src/components/lists/VcsActionList.vue +4 -0
  68. package/src/components/lists/VcsList.vue +22 -37
  69. package/src/components/lists/VcsList.vue.d.ts +14 -55
  70. package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +17 -1
  71. package/src/components/lists/VcsListItemComponent.vue.d.ts +69 -0
  72. package/src/components/lists/VcsTreeview.vue +43 -16
  73. package/src/components/lists/VcsTreeview.vue.d.ts +14 -3
  74. package/src/components/lists/VcsTreeviewLeaf.vue +15 -6
  75. package/src/components/lists/VcsTreeviewSearchbar.vue +2 -2
  76. package/src/components/notification/VcsHelp.vue +1 -1
  77. package/src/components/notification/VcsHelp.vue.d.ts +3 -2
  78. package/src/components/section/VcsExpansionPanel.vue +2 -2
  79. package/src/components/section/VcsFormSection.vue +10 -4
  80. package/src/components/section/VcsFormSection.vue.d.ts +1 -2
  81. package/src/components/style/VcsTextMenu.vue +1 -1
  82. package/src/components/style/VcsVectorStyleComponent.vue +1 -1
  83. package/src/components/tables/VcsDataTable.vue +28 -22
  84. package/src/components/tables/VcsTable.vue +45 -62
  85. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  86. package/src/components/tables/VcsTableCell.vue +72 -0
  87. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  88. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +6 -5
  89. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
  90. package/src/components/viewpoint/VcsViewpointComponent.vue +2 -2
  91. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -2
  92. package/src/contentTree/LayerTree.vue +9 -27
  93. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  94. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  95. package/src/contentTree/contentTreeCollection.js +45 -11
  96. package/src/featureInfo/BalloonComponent.vue +14 -15
  97. package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
  98. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  99. package/src/featureInfo/abstractFeatureInfoView.d.ts +6 -0
  100. package/src/featureInfo/abstractFeatureInfoView.js +15 -7
  101. package/src/featureInfo/featureInfo.d.ts +5 -5
  102. package/src/featureInfo/featureInfo.js +51 -31
  103. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  104. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  105. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  106. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  107. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  108. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  109. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  110. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  111. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
  112. package/src/manager/collectionManager/collectionComponentClass.d.ts +1 -1
  113. package/src/manager/collectionManager/collectionComponentClass.js +2 -2
  114. package/src/manager/collectionManager/editorCollectionComponentClass.js +2 -1
  115. package/src/manager/panel/PanelComponent.vue +2 -9
  116. package/src/manager/panel/PanelManagerComponent.vue +7 -3
  117. package/src/manager/panel/panelHelper.js +3 -3
  118. package/src/manager/panel/panelManager.d.ts +9 -1
  119. package/src/manager/panel/panelManager.js +15 -3
  120. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -4
  121. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  122. package/src/manager/toolbox/SelectToolboxComponent.vue +7 -4
  123. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  124. package/src/manager/toolbox/ToolboxManager.vue +9 -6
  125. package/src/manager/toolbox/ToolboxManager.vue.d.ts +1 -0
  126. package/src/manager/window/WindowComponent.vue +12 -8
  127. package/src/manager/window/WindowComponentHeader.vue +29 -8
  128. package/src/manager/window/WindowComponentHeader.vue.d.ts +2 -0
  129. package/src/manager/window/WindowManager.vue +2 -2
  130. package/src/navigation/MapNavigation.vue +20 -0
  131. package/src/navigation/locatorHelper.js +1 -1
  132. package/src/navigation/overviewMap.js +1 -1
  133. package/src/notifier/NotifierComponent.vue +18 -15
  134. package/src/search/ResultItem.vue +18 -6
  135. package/src/search/ResultsComponent.vue +31 -20
  136. package/src/search/ResultsComponent.vue.d.ts +2 -1
  137. package/src/search/SearchComponent.vue +8 -14
  138. package/src/search/SearchComponent.vue.d.ts +1 -0
  139. package/src/siteConfig.js +8 -8
  140. package/src/styles/_typography.scss +0 -2
  141. package/src/styles/main.scss +0 -4
  142. package/src/uiConfig.d.ts +300 -5
  143. package/src/uiConfig.js +28 -16
  144. package/src/vcsUiApp.d.ts +7 -7
  145. package/src/vcsUiApp.js +10 -9
  146. package/src/vuePlugins/vuetify.js +3 -0
  147. package/dist/assets/ui-2ab43a16.css +0 -1
  148. package/dist/assets/vue-03b265aa.js +0 -6096
  149. package/src/application/markdownHelper.d.ts +0 -12
  150. package/src/application/markdownHelper.js +0 -70
  151. package/src/components/lists/VcsListItem.vue.d.ts +0 -27
  152. package/src/components/notification/VcsTooltip.vue +0 -156
  153. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  154. package/src/featureInfo/MarkdownComponent.vue +0 -16
  155. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  156. package/src/styles/_theming.scss +0 -73
  157. package/src/styles/settings.scss +0 -6
  158. package/src/styles/shades.scss +0 -4
  159. package/src/styles/variables.scss +0 -140
  160. package/src/styles/vcsFont.scss +0 -2
  161. package/src/styles/vcsGrid.scss +0 -3
@@ -1 +1 @@
1
- export * from "./vuetify-760ced3b.js";
1
+ export * from "./vuetify-88a2fabe.js";
package/index.d.ts CHANGED
@@ -116,8 +116,6 @@ export { default as VcsFormButton } from "./src/components/buttons/VcsFormButton
116
116
  export type * from "./src/components/buttons/VcsFormButton.vue.d.ts";
117
117
  export { default as VcsActionButtonList } from "./src/components/buttons/VcsActionButtonList.vue";
118
118
  export type * from "./src/components/buttons/VcsActionButtonList.vue.d.ts";
119
- export { default as VcsTooltip } from "./src/components/notification/VcsTooltip.vue";
120
- export type * from "./src/components/notification/VcsTooltip.vue.d.ts";
121
119
  export { default as VcsHelp } from "./src/components/notification/VcsHelp.vue";
122
120
  export type * from "./src/components/notification/VcsHelp.vue.d.ts";
123
121
  export { default as VcsTable } from "./src/components/tables/VcsTable.vue";
@@ -160,8 +158,8 @@ export { default as VcsTextPage } from "./src/application/VcsTextPage.vue";
160
158
  export type * from "./src/application/VcsTextPage.vue.d.ts";
161
159
  export { default as VcsList } from "./src/components/lists/VcsList.vue";
162
160
  export type * from "./src/components/lists/VcsList.vue.d.ts";
163
- export { default as VcsListItem } from "./src/components/lists/VcsListItem.vue";
164
- export type * from "./src/components/lists/VcsListItem.vue.d.ts";
161
+ export { default as VcsListItemComponent } from "./src/components/lists/VcsListItemComponent.vue";
162
+ export type * from "./src/components/lists/VcsListItemComponent.vue.d.ts";
165
163
  export { default as VcsTreeview } from "./src/components/lists/VcsTreeview.vue";
166
164
  export type * from "./src/components/lists/VcsTreeview.vue.d.ts";
167
165
  export { default as VcsTreeviewLeaf } from "./src/components/lists/VcsTreeviewLeaf.vue";
@@ -222,8 +220,8 @@ export * from "./src/components/modelHelper.js";
222
220
  export type * from "./src/components/modelHelper.d.ts";
223
221
  export { createMapButtonAction, createToggleAction, createOverviewMapAction, createModalAction, createLinkAction, createGoToViewpointAction, createZoomToFeatureAction } from "./src/actions/actionHelper.js";
224
222
  export type * from "./src/actions/actionHelper.d.ts";
225
- export { parseAndSanitizeMarkdown, replaceAttributes } from "./src/application/markdownHelper.js";
226
- export type * from "./src/application/markdownHelper.d.ts";
223
+ export { parseAndSanitizeMarkdown, renderTemplate } from "./src/components/form-output/markdownHelper.js";
224
+ export type * from "./src/components/form-output/markdownHelper.d.ts";
227
225
  export { createStateRefAction, StateActionState } from "./src/actions/stateRefAction.js";
228
226
  export type * from "./src/actions/stateRefAction.d.ts";
229
227
  export { createLayerToggleAction, createZoomToExtentAction, createExtentFeatureAction, setupExtentComponentActions } from "./src/actions/extentActions.js";
@@ -234,7 +232,7 @@ export { createListItemDeleteAction, createListItemBulkAction, createListExportA
234
232
  export type * from "./src/actions/listActions.d.ts";
235
233
  export { default as VcsCallback, executeCallbacks } from "./src/callback/vcsCallback.js";
236
234
  export type * from "./src/callback/vcsCallback.d.ts";
237
- export { default as VcsApp, setupMapNavbar, setupPluginMountedListeners, setupCategoryManagerWindow } from "./src/application/VcsApp.vue";
235
+ export { default as VcsApp, setupMapNavbar, setupPluginMountedListeners, setupCategoryManagerWindow, categoryManagerWindowId } from "./src/application/VcsApp.vue";
238
236
  export type * from "./src/application/VcsApp.vue.d.ts";
239
237
  export { default as ContentTreeCollection, createContentTreeCollection } from "./src/contentTree/contentTreeCollection.js";
240
238
  export type * from "./src/contentTree/contentTreeCollection.d.ts";
@@ -266,7 +264,7 @@ export { getWindowComponentOptions, default as OverviewMap } from "./src/navigat
266
264
  export type * from "./src/navigation/overviewMap.d.ts";
267
265
  export { createVueI18n, setupI18n } from "./src/vuePlugins/i18n.js";
268
266
  export type * from "./src/vuePlugins/i18n.d.ts";
269
- export { createVcsThemes, createVcsVuetify, getColorByKey, getDefaultPrimaryColor, useItemHeight } from "./src/vuePlugins/vuetify.js";
267
+ export { createVcsThemes, createVcsVuetify, isDark, getDefaultPrimaryColor, getColorByKey, useItemHeight, useFontSize } from "./src/vuePlugins/vuetify.js";
270
268
  export type * from "./src/vuePlugins/vuetify.d.ts";
271
269
  export { downloadURI, downloadBlob, downloadText, downloadCanvas } from "./src/downloadHelper.js";
272
270
  export type * from "./src/downloadHelper.d.ts";
package/index.js CHANGED
@@ -13,8 +13,8 @@ export {
13
13
  } from './src/actions/actionHelper.js';
14
14
  export {
15
15
  parseAndSanitizeMarkdown,
16
- replaceAttributes,
17
- } from './src/application/markdownHelper.js';
16
+ renderTemplate,
17
+ } from './src/components/form-output/markdownHelper.js';
18
18
  export {
19
19
  createStateRefAction,
20
20
  StateActionState,
@@ -58,6 +58,7 @@ export {
58
58
  setupMapNavbar,
59
59
  setupPluginMountedListeners,
60
60
  setupCategoryManagerWindow,
61
+ categoryManagerWindowId,
61
62
  } from './src/application/VcsApp.vue';
62
63
  export { default as VcsAppWrapper } from './src/application/VcsAppWrapper.vue';
63
64
  export { default as VcsMap } from './src/application/VcsMap.vue';
@@ -188,9 +189,11 @@ export { i18nPluginSymbol } from './src/i18n/i18nCollection.js';
188
189
  export {
189
190
  createVcsThemes,
190
191
  createVcsVuetify,
191
- getColorByKey,
192
+ isDark,
192
193
  getDefaultPrimaryColor,
194
+ getColorByKey,
193
195
  useItemHeight,
196
+ useFontSize,
194
197
  } from './src/vuePlugins/vuetify.js';
195
198
  export {
196
199
  downloadURI,
@@ -231,7 +234,6 @@ export { default as VcsButton } from './src/components/buttons/VcsButton.vue';
231
234
  export { default as VcsToolButton } from './src/components/buttons/VcsToolButton.vue';
232
235
  export { default as VcsFormButton } from './src/components/buttons/VcsFormButton.vue';
233
236
  export { default as VcsActionButtonList } from './src/components/buttons/VcsActionButtonList.vue';
234
- export { default as VcsTooltip } from './src/components/notification/VcsTooltip.vue';
235
237
  export { default as VcsHelp } from './src/components/notification/VcsHelp.vue';
236
238
  export { default as VcsTable } from './src/components/tables/VcsTable.vue';
237
239
  export { default as VcsDataTable } from './src/components/tables/VcsDataTable.vue';
@@ -258,7 +260,7 @@ export {
258
260
  validateActions,
259
261
  } from './src/components/lists/VcsActionList.vue';
260
262
  export { default as VcsList } from './src/components/lists/VcsList.vue';
261
- export { default as VcsListItem } from './src/components/lists/VcsListItem.vue';
263
+ export { default as VcsListItemComponent } from './src/components/lists/VcsListItemComponent.vue';
262
264
  export { default as VcsTreeview } from './src/components/lists/VcsTreeview.vue';
263
265
  export { default as VcsTreeviewLeaf } from './src/components/lists/VcsTreeviewLeaf.vue';
264
266
  export { default as VcsTreeviewSearchbar } from './src/components/lists/VcsTreeviewSearchbar.vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/ui",
3
- "version": "6.0.0-rc.3",
3
+ "version": "6.0.0-rc.5",
4
4
  "author": "Virtual City Systems",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -50,8 +50,8 @@
50
50
  "@vcsuite/parsers": "^1.0.3",
51
51
  "dompurify": "^3.1.6",
52
52
  "fast-deep-equal": "^3.1.3",
53
- "marked": "^13.0.2",
54
- "semver": "^7.5.4",
53
+ "marked": "^14.0.0",
54
+ "semver": "^7.6.3",
55
55
  "uuid": "^10.0.0",
56
56
  "vue-i18n": "^9.13.1"
57
57
  },
@@ -59,33 +59,33 @@
59
59
  "@vcmap-cesium/engine": "^10.0.1",
60
60
  "@vcmap/core": "6.0.0-rc.3",
61
61
  "ol": "^10.0.0",
62
- "vue": "~3.4.27",
63
- "vuetify": "^3.6.13"
62
+ "vue": "~3.4.38",
63
+ "vuetify": "^3.7.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@histoire/plugin-vue": "^0.17.17",
67
67
  "@vcmap/rollup-plugin-vcs-ol": "^1.0.2",
68
68
  "@vcsuite/eslint-config": "^3.0.5",
69
- "@vitejs/plugin-vue": "^5.0.4",
70
- "@vitest/coverage-v8": "^1.6.0",
69
+ "@vitejs/plugin-vue": "^5.1.2",
70
+ "@vitest/coverage-v8": "^2.0.5",
71
71
  "@vue/test-utils": "^2.4.6",
72
72
  "eslint-import-resolver-alias": "^1.1.2",
73
73
  "eslint-plugin-vuetify": "^2.4.0",
74
74
  "histoire": "^0.17.17",
75
75
  "jest-canvas-mock": "^2.5.2",
76
- "jsdoc": "^3.6.7",
76
+ "jsdoc": "^4.0.3",
77
77
  "jsdoc-plugin-intersection": "^1.0.4",
78
- "jsdoc-plugin-typescript": "^2.0.6",
79
- "jsdom": "^22.1.0",
78
+ "jsdoc-plugin-typescript": "^2.2.1",
79
+ "jsdom": "^24.1.1",
80
80
  "resize-observer-polyfill": "1.5.1",
81
81
  "rollup-plugin-strip-pragma": "^1.0.0",
82
- "sass": "^1.77.1",
83
- "tar": "^6.1.14",
82
+ "sass": "^1.77.8",
83
+ "tar": "^7.4.3",
84
84
  "typescript": "^5.4.5",
85
- "vite": "^5.2.11",
86
- "vite-plugin-vuetify": "^2.0.3",
87
- "vitest": "^1.6.0",
88
- "vue-tsc": "^2.0.17"
85
+ "vite": "^5.4.1",
86
+ "vite-plugin-vuetify": "^2.0.4",
87
+ "vitest": "^2.0.5",
88
+ "vue-tsc": "^2.0.29"
89
89
  },
90
90
  "stylelint": {
91
91
  "extends": "stylelint-config-standard",
@@ -77,7 +77,7 @@
77
77
  :disabled="disabled"
78
78
  id="arrayInput"
79
79
  type="number"
80
- v-model="array"
80
+ v-model="state.arrayInput"
81
81
  :rules="[arrayTest]"
82
82
  />
83
83
  </v-col>
@@ -272,7 +272,7 @@
272
272
  />
273
273
  </v-col>
274
274
  </v-row>
275
- <VcsCoordinate :disabled="disabled" v-model="array" />
275
+ <VcsCoordinate :disabled="disabled" v-model="state.arrayInput" />
276
276
  </v-container>
277
277
  </template>
278
278
  </VcsFormSection>
@@ -556,7 +556,6 @@
556
556
  return {
557
557
  // no object-destruction of reactive objects! or use toRef()
558
558
  state: plugin.state,
559
- array: ref([1, 2, 3]),
560
559
  // do not put the whole config here, since it would become reactive
561
560
  selectOptions: plugin.config.selectOptions,
562
561
  form,
@@ -10,29 +10,36 @@
10
10
  @click="toggle(module)"
11
11
  >
12
12
  {{ module.name || module.configUrl }}
13
- <VcsTooltip
13
+ <v-icon
14
14
  v-if="module.description && toggleable"
15
- :tooltip="module.description"
15
+ right
16
+ v-bind="{ ...$attrs, ...props }"
16
17
  >
17
- <template #activator="{ props }">
18
- <v-icon right v-bind="{ ...$attrs, ...props }">
19
- mdi-help-circle
20
- </v-icon>
21
- </template>
22
- </VcsTooltip>
18
+ mdi-help-circle
19
+ </v-icon>
20
+ <v-tooltip
21
+ v-if="module.description && toggleable"
22
+ :text="module.description"
23
+ activator="parent"
24
+ />
23
25
  </v-chip>
24
26
  </v-list>
25
27
  </v-container>
26
28
  </template>
27
29
 
28
30
  <script>
29
- import { VcsTooltip } from '@vcmap/ui';
30
- import { VChip, VContainer, VIcon, VList } from 'vuetify/components';
31
+ import {
32
+ VChip,
33
+ VContainer,
34
+ VIcon,
35
+ VList,
36
+ VTooltip,
37
+ } from 'vuetify/components';
31
38
 
32
39
  export default {
33
40
  name: 'ModulesListComponent',
34
41
  components: {
35
- VcsTooltip,
42
+ VTooltip,
36
43
  VContainer,
37
44
  VList,
38
45
  VChip,
@@ -65,6 +65,7 @@ export default function searchExample(config) {
65
65
  config.lines ?? defaultLines,
66
66
  config.withIcon ?? true,
67
67
  config.withPOI ?? true,
68
+ config.withActions ?? true,
68
69
  );
69
70
  app.search.add(impl, name);
70
71
  },
@@ -36,17 +36,42 @@ function randomPOI(title) {
36
36
  return feature;
37
37
  }
38
38
 
39
+ function getRandomIcon() {
40
+ const keys = Object.keys(Icons);
41
+ const index = Math.floor(keys.length * Math.random());
42
+ return `$${keys[index]}`;
43
+ }
44
+
39
45
  /**
40
46
  * @param {string} line
41
47
  * @param {boolean} withIcon
42
48
  * @param {boolean} withPOI
49
+ * @param {boolean} withActions
43
50
  * @returns {import("@vcmap/ui").ResultItem}
44
51
  */
45
- function lineToResultItem(line, withIcon, withPOI) {
52
+ function lineToResultItem(line, withIcon, withPOI, withActions) {
46
53
  let icon;
47
54
  if (withIcon) {
48
- const icons = Object.keys(Icons);
49
- icon = icons[Math.floor(Math.random() * icons.length)];
55
+ icon = getRandomIcon();
56
+ }
57
+
58
+ let actions;
59
+ if (withActions) {
60
+ actions = [
61
+ {
62
+ name: 'action-1',
63
+ icon,
64
+ callback() {
65
+ console.log('Action 1');
66
+ },
67
+ },
68
+ {
69
+ name: 'action-2',
70
+ callback() {
71
+ console.log('Action 2');
72
+ },
73
+ },
74
+ ];
50
75
  }
51
76
 
52
77
  let clicked;
@@ -64,6 +89,7 @@ function lineToResultItem(line, withIcon, withPOI) {
64
89
  icon,
65
90
  clicked,
66
91
  feature,
92
+ actions,
67
93
  };
68
94
  }
69
95
 
@@ -75,19 +101,23 @@ export default class SearchImpl {
75
101
  * @param {string[]} lines
76
102
  * @param {boolean} withIcon
77
103
  * @param {boolean} withPOI
104
+ * @param {boolean} withActions
78
105
  */
79
- constructor(lines, withIcon, withPOI) {
106
+ constructor(lines, withIcon, withPOI, withActions) {
80
107
  this.name = name;
81
108
  this.lines = lines;
82
109
  this.withIcon = withIcon;
83
110
  this.withPOI = withPOI;
111
+ this.withActions = withActions;
84
112
  }
85
113
 
86
114
  search(query) {
87
115
  return Promise.resolve(
88
116
  this.lines
89
117
  .filter((l) => l.toLowerCase().includes(query.toLowerCase()))
90
- .map((line) => lineToResultItem(line, this.withIcon, this.withPOI)),
118
+ .map((line) =>
119
+ lineToResultItem(line, this.withIcon, this.withPOI, this.withActions),
120
+ ),
91
121
  );
92
122
  }
93
123
 
@@ -227,7 +227,8 @@ export default async function toolboxExample() {
227
227
  this._stopWatching = watch(
228
228
  () => disabled.value,
229
229
  () => {
230
- selectToolboxAction.disabled = disabled.value;
230
+ app.toolboxManager.get(selectToolboxComponent.id).action.disabled =
231
+ disabled.value;
231
232
  app.toolboxManager.get(
232
233
  groupToolboxComponentExampleOptions.id,
233
234
  ).disabled = disabled.value;
@@ -1,27 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@vcmap/print": "^1.0.2",
4
- "@vcmap/swipe-tool": "^1.0.3",
5
- "@vcmap/export": "^1.0.1",
6
- "@vcmap/shadow": "^2.0.0",
7
- "@vcmap/draw": "^2.0.0",
8
- "@vcmap/create-link": "^1.0.1",
9
- "@vcmap/search-nominatim": "^1.0.1",
10
- "@vcmap/multi-view": "^1.1.0",
11
- "@vcmap/cesium-filters": "^1.0.1",
12
- "@vcmap/viewshed": "^2.0.1",
13
- "@vcmap/measurement": "^1.0.2",
14
- "@vcmap/flight": "^1.1.0",
15
- "@vcmap/transparent-terrain": "^1.0.1",
16
- "@vcmap/search-coordinate": "^1.0.0",
17
- "@vcmap/clipping-tool": "^1.0.0",
18
- "@vcmap/height-profile": "^1.0.0",
19
- "@vcmap/search-wfs": "^1.0.0",
20
- "@vcmap/search-esri": "^1.0.0",
21
- "@vcmap/link-button": "^1.0.0",
22
- "@vcmap/walk": "^1.0.2"
23
- },
24
- "optionalDependencies": {
25
- "@vcmap/planning": "^5.2.0"
3
+ "@vcmap/print": "https://github.com/virtualcitySYSTEMS/map-print.git#main",
4
+ "@vcmap/multi-view": "https://github.com/virtualcitySYSTEMS/map-multi-view.git",
5
+ "@vcmap/transparent-terrain": "https://github.com/virtualcitySYSTEMS/map-transparent-terrain.git"
26
6
  }
27
7
  }