@vcmap/ui 6.0.0-rc.8 → 6.0.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 (191) hide show
  1. package/README.md +2 -0
  2. package/build/buildHelpers.js +1 -1
  3. package/build/commonViteConfig.js +7 -0
  4. package/config/aerowest.config.json +12 -2
  5. package/config/analysis.config.json +17 -0
  6. package/config/base.config.json +19 -5
  7. package/config/components-show-case.config.json +53 -0
  8. package/config/concepts-show-case.config.json +39 -0
  9. package/config/dev.config.json +164 -105
  10. package/config/dynamic-layer.config.json +32 -0
  11. package/config/hello-world.config.json +11 -0
  12. package/config/projects.config.json +9 -1
  13. package/config/solar.config.json +65 -0
  14. package/config/vectorTile.config.json +70 -0
  15. package/config/www.config.json +34 -13
  16. package/dist/assets/{cesium-2ec6aae0.js → cesium-00deba88.js} +4672 -4704
  17. package/dist/assets/cesium.js +1 -1
  18. package/dist/assets/{core-6f2522e5.js → core-a599e8b6.js} +7932 -7342
  19. package/dist/assets/core.js +1 -1
  20. package/dist/assets/{ol-b0e134cb.js → ol-21bbc740.js} +12206 -11711
  21. package/dist/assets/ol.js +1 -1
  22. package/dist/assets/ui-adeddc7d.css +1 -0
  23. package/dist/assets/{ui-bf3d1f84.js → ui-adeddc7d.js} +10415 -9588
  24. package/dist/assets/ui.js +1 -1
  25. package/dist/assets/vue.js +1 -1
  26. package/dist/assets/{vuetify-99bf601c.css → vuetify-c0e02f11.css} +1 -1
  27. package/dist/assets/{vuetify-99bf601c.js → vuetify-c0e02f11.js} +5313 -5294
  28. package/dist/assets/vuetify.js +1 -1
  29. package/index.d.ts +4 -0
  30. package/index.js +2 -0
  31. package/lib/olLib.js +6 -0
  32. package/package.json +12 -12
  33. package/plugins/@vcmap-show-case/README.md +15 -6
  34. package/plugins/@vcmap-show-case/category-tester/package.json +1 -1
  35. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +23 -23
  36. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +2 -8
  37. package/plugins/@vcmap-show-case/collection-manager-example/package.json +1 -1
  38. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +10 -8
  39. package/plugins/@vcmap-show-case/context-menu-tester/package.json +1 -1
  40. package/plugins/@vcmap-show-case/extent-example/package.json +1 -1
  41. package/plugins/@vcmap-show-case/flight-component-example/package.json +1 -1
  42. package/plugins/@vcmap-show-case/form-inputs-example/package.json +1 -1
  43. package/plugins/@vcmap-show-case/hello-world/package.json +1 -1
  44. package/plugins/@vcmap-show-case/icons-example/package.json +1 -1
  45. package/plugins/@vcmap-show-case/notifier-tester/package.json +1 -1
  46. package/plugins/@vcmap-show-case/panel-tester/package.json +1 -1
  47. package/plugins/@vcmap-show-case/plugin-editors/package.json +1 -1
  48. package/plugins/@vcmap-show-case/plugin-editors/src/index.js +17 -6
  49. package/plugins/@vcmap-show-case/project-selector/package.json +1 -9
  50. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +22 -31
  51. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +15 -23
  52. package/plugins/@vcmap-show-case/projection-example/README.md +3 -0
  53. package/plugins/@vcmap-show-case/projection-example/package.json +5 -0
  54. package/plugins/@vcmap-show-case/projection-example/src/ProjectionExample.vue +73 -0
  55. package/plugins/@vcmap-show-case/{table-example → projection-example}/src/index.js +22 -11
  56. package/plugins/@vcmap-show-case/search-example/package.json +1 -1
  57. package/plugins/@vcmap-show-case/simple-graph/package.json +1 -4
  58. package/plugins/@vcmap-show-case/style-input-example/package.json +1 -1
  59. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +2 -2
  60. package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +2 -1
  61. package/plugins/@vcmap-show-case/switch-map-callback-example/src/index.js +4 -1
  62. package/plugins/@vcmap-show-case/theming-example/package.json +1 -1
  63. package/plugins/@vcmap-show-case/toolbox-example/package.json +1 -1
  64. package/plugins/@vcmap-show-case/vector-properties-example/package.json +1 -1
  65. package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +1 -1
  66. package/plugins/@vcmap-show-case/window-tester/package.json +1 -1
  67. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +1 -1
  68. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +5 -1
  69. package/plugins/@vcmap-show-case/wizard-example/package.json +1 -1
  70. package/plugins/package.json +23 -3
  71. package/src/actions/flightActions.js +40 -20
  72. package/src/actions/listActions.d.ts +1 -1
  73. package/src/actions/listActions.js +1 -1
  74. package/src/application/VcsApp.vue +3 -0
  75. package/src/application/VcsApp.vue.d.ts +15 -0
  76. package/src/application/VcsAttributions.vue +1 -1
  77. package/src/application/VcsAttributionsFooter.vue +1 -1
  78. package/src/application/VcsContainer.vue +0 -1
  79. package/src/application/VcsContainer.vue.d.ts +15 -0
  80. package/src/application/VcsObliqueFooter.vue +110 -0
  81. package/src/application/VcsObliqueFooter.vue.d.ts +4 -0
  82. package/src/application/VcsTextPageFooter.vue +1 -0
  83. package/src/application/attributionsHelper.js +10 -6
  84. package/src/components/buttons/VcsButton.vue +2 -2
  85. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  86. package/src/components/buttons/VcsFormButton.vue +2 -2
  87. package/src/components/buttons/VcsFormButton.vue.d.ts +1 -1
  88. package/src/components/buttons/VcsToolButton.vue +2 -2
  89. package/src/components/buttons/VcsToolButton.vue.d.ts +1 -1
  90. package/src/components/composables.d.ts +2 -2
  91. package/src/components/composables.js +3 -5
  92. package/src/components/flight/VcsFlightPlayer.vue +26 -20
  93. package/src/components/form-inputs-controls/VcsCheckbox.vue +11 -5
  94. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -1
  95. package/src/components/form-inputs-controls/VcsDatePicker.vue +23 -3
  96. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -1
  97. package/src/components/form-inputs-controls/VcsFileInput.vue +3 -3
  98. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -1
  99. package/src/components/form-inputs-controls/VcsLabel.vue +10 -1
  100. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +9 -0
  101. package/src/components/form-inputs-controls/VcsRadio.vue +4 -0
  102. package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
  103. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +3 -3
  104. package/src/components/form-inputs-controls/VcsSlider.vue +2 -2
  105. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +1 -1
  106. package/src/components/form-inputs-controls/VcsTextArea.vue +2 -2
  107. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -1
  108. package/src/components/form-inputs-controls/VcsTextField.vue +3 -3
  109. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +1 -1
  110. package/src/components/form-inputs-controls/VcsWizard.vue +2 -2
  111. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +1 -1
  112. package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -2
  113. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +3 -3
  114. package/src/components/import/VcsImportComponent.vue +3 -3
  115. package/src/components/lists/VcsActionList.vue +1 -1
  116. package/src/components/lists/VcsList.vue +56 -39
  117. package/src/components/lists/VcsListItemComponent.vue +14 -12
  118. package/src/components/lists/VcsListItemComponent.vue.d.ts +5 -28
  119. package/src/components/lists/VcsTreeview.vue +4 -2
  120. package/src/components/lists/VcsTreeview.vue.d.ts +1 -1
  121. package/src/components/notification/VcsHelp.vue +0 -1
  122. package/src/components/notification/VcsHelpTooltip.vue +48 -0
  123. package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
  124. package/src/components/projection/VcsProjection.vue +329 -0
  125. package/src/components/projection/VcsProjection.vue.d.ts +7 -0
  126. package/src/components/section/VcsFormSection.vue +0 -1
  127. package/src/components/section/VcsFormSection.vue.d.ts +1 -1
  128. package/src/components/tables/VcsDataTable.vue +15 -4
  129. package/src/components/tables/VcsDataTable.vue.d.ts +13 -2
  130. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +17 -1
  131. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +10 -1
  132. package/src/components/vector-properties/VcsFeatureTransforms.vue +39 -5
  133. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
  134. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +44 -24
  135. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +27 -2
  136. package/src/components/viewpoint/VcsViewpointComponent.vue +6 -6
  137. package/src/contentTree/contentTreeCollection.js +12 -1
  138. package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
  139. package/src/featureInfo/abstractFeatureInfoView.d.ts +9 -0
  140. package/src/featureInfo/abstractFeatureInfoView.js +20 -3
  141. package/src/i18n/de.d.ts +93 -39
  142. package/src/i18n/de.js +68 -22
  143. package/src/i18n/en.d.ts +93 -39
  144. package/src/i18n/en.js +64 -18
  145. package/src/legend/StyleLegendItem.vue +1 -5
  146. package/src/legend/VcsLegend.vue +9 -10
  147. package/src/legend/VcsLegend.vue.d.ts +1 -1
  148. package/src/legend/legendHelper.js +6 -1
  149. package/src/manager/collectionManager/collectionComponentClass.js +9 -5
  150. package/src/manager/collectionManager/editorCollectionComponentClass.js +5 -3
  151. package/src/manager/toolbox/GroupToolboxComponent.vue +6 -1
  152. package/src/manager/toolbox/SelectToolboxComponent.vue +6 -2
  153. package/src/manager/toolbox/ToolboxManagerComponent.vue +7 -2
  154. package/src/manager/window/WindowComponentHeader.vue +1 -1
  155. package/src/manager/window/windowManager.d.ts +59 -3
  156. package/src/manager/window/windowManager.js +23 -2
  157. package/src/navigation/MapNavCompass.vue +166 -140
  158. package/src/navigation/MapNavCompass.vue.d.ts +3 -1
  159. package/src/navigation/MapNavigation.vue +22 -5
  160. package/src/navigation/VcsCompass.vue +2 -1
  161. package/src/navigation/overviewMap.js +4 -1
  162. package/src/obliqueFallbackWarnings.d.ts +5 -0
  163. package/src/obliqueFallbackWarnings.js +54 -0
  164. package/src/styles/main.scss +2 -2
  165. package/src/uiConfig.d.ts +30 -0
  166. package/src/uiConfig.js +3 -0
  167. package/src/vcsUiApp.d.ts +37 -10
  168. package/src/vcsUiApp.js +4 -0
  169. package/src/vuePlugins/i18n.js +1 -0
  170. package/src/vuePlugins/vuetify.js +2 -0
  171. package/dist/assets/ui-bf3d1f84.css +0 -1
  172. package/plugins/@vcmap-show-case/buttons-example/README.md +0 -4
  173. package/plugins/@vcmap-show-case/buttons-example/package.json +0 -5
  174. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +0 -281
  175. package/plugins/@vcmap-show-case/buttons-example/src/index.js +0 -51
  176. package/plugins/@vcmap-show-case/config-editor/README.md +0 -3
  177. package/plugins/@vcmap-show-case/config-editor/package.json +0 -5
  178. package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +0 -62
  179. package/plugins/@vcmap-show-case/config-editor/src/index.js +0 -49
  180. package/plugins/@vcmap-show-case/list-example/README.md +0 -3
  181. package/plugins/@vcmap-show-case/list-example/package.json +0 -5
  182. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +0 -403
  183. package/plugins/@vcmap-show-case/list-example/src/index.js +0 -46
  184. package/plugins/@vcmap-show-case/table-example/README.md +0 -3
  185. package/plugins/@vcmap-show-case/table-example/package.json +0 -5
  186. package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +0 -203
  187. package/plugins/@vcmap-show-case/textfields-example/README.md +0 -3
  188. package/plugins/@vcmap-show-case/textfields-example/package.json +0 -5
  189. package/plugins/@vcmap-show-case/textfields-example/src/TextfieldsExample.vue +0 -115
  190. package/plugins/@vcmap-show-case/textfields-example/src/index.js +0 -64
  191. /package/dist/assets/{vue-43880c5a.js → vue-8269279d.js} +0 -0
@@ -1 +1 @@
1
- export * from "./vuetify-99bf601c.js";
1
+ export * from "./vuetify-c0e02f11.js";
package/index.d.ts CHANGED
@@ -190,6 +190,8 @@ export { default as VcsExtent } from "./src/components/extent/VcsExtent.vue";
190
190
  export type * from "./src/components/extent/VcsExtent.vue.d.ts";
191
191
  export { default as VcsExtentEditor } from "./src/components/extent/VcsExtentEditor.vue";
192
192
  export type * from "./src/components/extent/VcsExtentEditor.vue.d.ts";
193
+ export { default as VcsProjection } from "./src/components/projection/VcsProjection.vue";
194
+ export type * from "./src/components/projection/VcsProjection.vue.d.ts";
193
195
  export { default as VcsViewpointComponent } from "./src/components/viewpoint/VcsViewpointComponent.vue";
194
196
  export type * from "./src/components/viewpoint/VcsViewpointComponent.vue.d.ts";
195
197
  export { default as VcsViewpointEditor } from "./src/components/viewpoint/VcsViewpointEditor.vue";
@@ -294,6 +296,8 @@ export { getProvidedFlightInstance, setupFlightAnchorEditingListener } from "./s
294
296
  export type * from "./src/components/flight/composables.d.ts";
295
297
  export { default as VcsFeatureEditingWindow, EditorTransformationIcons, getAllowedEditorTransformationModes } from "./src/components/vector-properties/VcsFeatureEditingWindow.vue";
296
298
  export type * from "./src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts";
299
+ export { LegendType, StyleRowType } from "./src/legend/legendHelper.js";
300
+ export type * from "./src/legend/legendHelper.d.ts";
297
301
 
298
302
  declare module 'vue' {
299
303
  interface ComponentCustomProperties {
package/index.js CHANGED
@@ -281,6 +281,7 @@ export { default as VcsTextSelector } from './src/components/style/VcsTextSelect
281
281
  export { default as VcsTextMenu } from './src/components/style/VcsTextMenu.vue';
282
282
  export { default as VcsExtent } from './src/components/extent/VcsExtent.vue';
283
283
  export { default as VcsExtentEditor } from './src/components/extent/VcsExtentEditor.vue';
284
+ export { default as VcsProjection } from './src/components/projection/VcsProjection.vue';
284
285
  export {
285
286
  default as VcsVectorStyleComponent,
286
287
  VectorStyleMenus,
@@ -315,3 +316,4 @@ export * from './src/application/attributionsHelper.js';
315
316
  export * from './src/components/attrsHelpers.js';
316
317
  export * from './src/components/modelHelper.js';
317
318
  export * from './src/components/composables.js';
319
+ export { LegendType, StyleRowType } from './src/legend/legendHelper.js';
package/lib/olLib.js CHANGED
@@ -63,6 +63,7 @@ export {isSorted as ol$array$isSorted} from 'ol/array';
63
63
  export {assert as ol$asserts$assert} from 'ol/asserts';
64
64
  export {createExtent as ol$centerconstraint$createExtent} from 'ol/centerconstraint';
65
65
  export {none as ol$centerconstraint$none} from 'ol/centerconstraint';
66
+ export {NO_COLOR as ol$color$NO_COLOR} from 'ol/color';
66
67
  export {asString as ol$color$asString} from 'ol/color';
67
68
  export {withAlpha as ol$color$withAlpha} from 'ol/color';
68
69
  export {rgbaToLcha as ol$color$rgbaToLcha} from 'ol/color';
@@ -488,6 +489,7 @@ export {default as ol$layer$Base} from 'ol/layer/Base';
488
489
  export {default as ol$layer$BaseImage} from 'ol/layer/BaseImage';
489
490
  export {default as ol$layer$BaseTile} from 'ol/layer/BaseTile';
490
491
  export {default as ol$layer$BaseVector} from 'ol/layer/BaseVector';
492
+ export {default as ol$layer$Flow} from 'ol/layer/Flow';
491
493
  export {default as ol$layer$Graticule} from 'ol/layer/Graticule';
492
494
  export {GroupEvent as ol$layer$Group$GroupEvent} from 'ol/layer/Group';
493
495
  export {default as ol$layer$Group} from 'ol/layer/Group';
@@ -679,6 +681,10 @@ export {defaultOrder as ol$renderer$vector$defaultOrder} from 'ol/renderer/vecto
679
681
  export {getSquaredTolerance as ol$renderer$vector$getSquaredTolerance} from 'ol/renderer/vector';
680
682
  export {getTolerance as ol$renderer$vector$getTolerance} from 'ol/renderer/vector';
681
683
  export {renderFeature as ol$renderer$vector$renderFeature} from 'ol/renderer/vector';
684
+ export {U as ol$renderer$webgl$FlowLayer$U} from 'ol/renderer/webgl/FlowLayer';
685
+ export {A as ol$renderer$webgl$FlowLayer$A} from 'ol/renderer/webgl/FlowLayer';
686
+ export {V as ol$renderer$webgl$FlowLayer$V} from 'ol/renderer/webgl/FlowLayer';
687
+ export {default as ol$renderer$webgl$FlowLayer} from 'ol/renderer/webgl/FlowLayer';
682
688
  export {default as ol$renderer$webgl$Layer} from 'ol/renderer/webgl/Layer';
683
689
  export {default as ol$renderer$webgl$PointsLayer} from 'ol/renderer/webgl/PointsLayer';
684
690
  export {Uniforms as ol$renderer$webgl$TileLayer$Uniforms} from 'ol/renderer/webgl/TileLayer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/ui",
3
- "version": "6.0.0-rc.8",
3
+ "version": "6.0.0",
4
4
  "author": "Virtual City Systems",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -47,7 +47,7 @@
47
47
  "@intlify/core-base": "^9.13.1",
48
48
  "@vcsuite/check": "^2.1.0",
49
49
  "@vcsuite/logger": "^1.0.1",
50
- "@vcsuite/parsers": "^1.0.3",
50
+ "@vcsuite/parsers": "^2.0.0",
51
51
  "dompurify": "^3.1.6",
52
52
  "fast-deep-equal": "^3.1.3",
53
53
  "marked": "^14.0.0",
@@ -57,17 +57,17 @@
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@vcmap-cesium/engine": "^11.0.2",
60
- "@vcmap/core": "^6.0.0-rc.8",
61
- "ol": "^10.0.0",
60
+ "@vcmap/core": "^6.0.0",
61
+ "ol": "^10.2.1",
62
62
  "vue": "~3.4.38",
63
- "vuetify": "^3.7.1"
63
+ "vuetify": "^3.7.3"
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.1.2",
70
- "@vitest/coverage-v8": "^2.0.5",
69
+ "@vitejs/plugin-vue": "^5.1.4",
70
+ "@vitest/coverage-v8": "^2.1.3",
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",
@@ -76,16 +76,16 @@
76
76
  "jsdoc": "^4.0.3",
77
77
  "jsdoc-plugin-intersection": "^1.0.4",
78
78
  "jsdoc-plugin-typescript": "^2.2.1",
79
- "jsdom": "^24.1.1",
79
+ "jsdom": "^25.0.1",
80
80
  "resize-observer-polyfill": "1.5.1",
81
81
  "rollup-plugin-strip-pragma": "^1.0.0",
82
- "sass": "^1.77.8",
82
+ "sass": "^1.80.2",
83
83
  "tar": "^7.4.3",
84
84
  "typescript": "^5.4.5",
85
- "vite": "^5.4.1",
85
+ "vite": "^5.4.9",
86
86
  "vite-plugin-vuetify": "^2.0.4",
87
- "vitest": "^2.0.5",
88
- "vue-tsc": "^2.0.29"
87
+ "vitest": "^2.1.3",
88
+ "vue-tsc": "^2.1.6"
89
89
  },
90
90
  "stylelint": {
91
91
  "extends": "stylelint-config-standard",
@@ -4,25 +4,34 @@ This directory contains show-case plugins demonstrating the usage of VC Map UI c
4
4
 
5
5
  ## components
6
6
 
7
- - [buttons-example](./buttons-example/README.md)
8
7
  - [collection-manager-example](./collection-manager-example/README.md)
8
+ - [extent-example](./extent-example/README.md)
9
+ - [flight-example](./flight-example/README.md)
9
10
  - [form-inputs-example](./form-inputs-example/README.md)
10
11
  - [icons-example](./icons-example/README.md)
11
- - [list-example](./list-example/README.md)
12
+ - [custom-icons-example](./custom-icons-example/README.md)
12
13
  - [style-input-example](style-input-example/README.md)
13
- - [table-example](table-example/README.md)
14
- - [textfields-example](./textfields-example/README.md)
14
+ - [vector-properties-example](./vector-properties-example/README.md)
15
+ - [viewpoint-component-example](./viewpoint-component-example/README.md)
15
16
  - [wizard-example](./wizard-example/README.md)
17
+ - [projection-example](./projection-example/README.md)
18
+
19
+ For base components see [stories](../../story), which can be run with `npm run story:dev`.
20
+
21
+ > All components showcase plugins are part of the [components-show-case.config.json](../../config/components-show-case.config.json)
16
22
 
17
23
  ## concepts
18
24
 
19
25
  - [category-tester](category-tester/README.md)
20
- - [config-editor](./config-editor/README.md)
21
26
  - [context-menu-tester](./context-menu-tester/README.md)
22
27
  - [notifier-tester](./notifier-tester/README.md)
28
+ - [panel-tester](./panel-tester/README.md)
23
29
  - [plugin-editors](plugin-editors/README.md)
24
30
  - [project-selector](project-selector/README.md)
25
31
  - [simple-graph](simple-graph/README.md)
26
32
  - [switch-map-callback-example](switch-map-callback-example/README.md)
27
- - [theme-changer](theme-changer/README.md)
33
+ - [theming-example](./theming-example/README.md)
34
+ - [toolbox-example](./toolbox-example/README.md)
28
35
  - [window-tester](./window-tester/README.md)
36
+
37
+ > All concept showcase plugins are part of the [concepts-show-case.config.json](../../config/concepts-show-case.config.json)
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/category-tester",
3
3
  "version": "2.0.0",
4
- "mapVersion": "^6.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -7,7 +7,7 @@
7
7
  </VcsLabel>
8
8
  </v-col>
9
9
  <v-col>
10
- <VcsTextField id="title" clearable dense v-model="title" />
10
+ <VcsTextField id="title" clearable v-model="title" />
11
11
  </v-col>
12
12
  </v-row>
13
13
  <v-row no-gutters v-for="key in keys" :key="key">
@@ -17,14 +17,18 @@
17
17
  </VcsLabel>
18
18
  </v-col>
19
19
  <v-col>
20
- <VcsCheckbox :id="key" dense v-model="getComputed(key).value" />
20
+ <VcsCheckbox
21
+ :id="key"
22
+ :model-value="localOptions[key]"
23
+ @update:model-value="(v) => updateOption(key, v)"
24
+ />
21
25
  </v-col>
22
26
  </v-row>
23
27
  </v-container>
24
28
  </template>
25
29
 
26
30
  <script>
27
- import { computed, inject, isRef } from 'vue';
31
+ import { inject, isRef, reactive } from 'vue';
28
32
  import { VContainer, VRow, VCol } from 'vuetify/components';
29
33
  import { VcsCheckbox, VcsLabel, VcsTextField } from '@vcmap/ui';
30
34
 
@@ -43,29 +47,25 @@
43
47
  },
44
48
  setup() {
45
49
  const collectionComponent = inject('collectionComponent');
50
+ const localOptions = reactive({
51
+ draggable: collectionComponent.draggable,
52
+ selectable: collectionComponent.selectable,
53
+ singleSelect: collectionComponent.singleSelect,
54
+ renamable: collectionComponent.renamable,
55
+ removable: collectionComponent.removable,
56
+ });
46
57
 
47
58
  return {
48
59
  title: collectionComponent.title,
49
- keys: [
50
- 'draggable',
51
- 'selectable',
52
- 'singleSelect',
53
- 'renamable',
54
- 'removable',
55
- ],
56
- getComputed(key) {
57
- return computed({
58
- get() {
59
- return collectionComponent[key];
60
- },
61
- set(value) {
62
- if (isRef(collectionComponent[key])) {
63
- collectionComponent[key].value = value;
64
- } else {
65
- collectionComponent[key] = value;
66
- }
67
- },
68
- });
60
+ keys: Object.keys(localOptions),
61
+ localOptions,
62
+ updateOption(key, value) {
63
+ localOptions[key] = value;
64
+ if (isRef(collectionComponent[key])) {
65
+ collectionComponent[key].value = value;
66
+ } else {
67
+ collectionComponent[key] = value;
68
+ }
69
69
  },
70
70
  };
71
71
  },
@@ -12,7 +12,7 @@
12
12
  </VcsLabel>
13
13
  </v-col>
14
14
  <v-col>
15
- <VcsTextField id="name" clearable dense v-model="localConfig.name" />
15
+ <VcsTextField id="name" clearable v-model="localConfig.name" />
16
16
  </v-col>
17
17
  </v-row>
18
18
  <v-row no-gutters v-if="!multi">
@@ -22,12 +22,7 @@
22
22
  </VcsLabel>
23
23
  </v-col>
24
24
  <v-col>
25
- <VcsTextField
26
- id="title"
27
- clearable
28
- dense
29
- v-model="localConfig.title"
30
- />
25
+ <VcsTextField id="title" clearable v-model="localConfig.title" />
31
26
  </v-col>
32
27
  </v-row>
33
28
  <v-row no-gutters>
@@ -40,7 +35,6 @@
40
35
  <VcsTextField
41
36
  id="random"
42
37
  clearable
43
- dense
44
38
  type="number"
45
39
  v-model.number="localConfig.random"
46
40
  :placeholder="$t('categoryTester.fooEditor.ambiguous')"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/collection-manager-example",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -19,7 +19,6 @@
19
19
  <VcsSelect
20
20
  id="selectInput"
21
21
  :items="appCollections"
22
- dense
23
22
  v-model="selected"
24
23
  />
25
24
  </v-col>
@@ -71,13 +70,16 @@
71
70
  };
72
71
 
73
72
  function setupCollectionComponentStandalone() {
74
- const collectionComponent = new CollectionComponentClass({
75
- id: 'standalone',
76
- title: 'Collection Component Standalone',
77
- collection: new Collection(),
78
- renamable: true,
79
- selectable: true,
80
- });
73
+ const collectionComponent = new CollectionComponentClass(
74
+ {
75
+ id: 'standalone',
76
+ title: 'Collection Component Standalone',
77
+ collection: new Collection(),
78
+ renamable: true,
79
+ selectable: true,
80
+ },
81
+ owner,
82
+ );
81
83
 
82
84
  for (let i = 0; i <= 12; i++) {
83
85
  collectionComponent.collection.add({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/context-menu-tester",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/extent-example",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.1.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/flight-component-example",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/form-inputs-example",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -2,5 +2,5 @@
2
2
  "name": "@vcmap/hello-world",
3
3
  "description": "A small hello world plugin",
4
4
  "version": "1.0.8",
5
- "mapVersion": "^5.0.0"
5
+ "mapVersion": "^6.0"
6
6
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/icons-example",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/notifier-tester",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/panel-tester",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.1.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/plugin-editors",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0"
4
+ "mapVersion": "^6.0"
5
5
  }
@@ -1,13 +1,20 @@
1
1
  import { ButtonLocation, createToggleAction, WindowSlot } from '@vcmap/ui';
2
- import { name, version } from '../package.json';
2
+ import packageJSON from '../package.json';
3
3
  import component from './PluginEditors.vue';
4
4
  /**
5
5
  * @returns {VcsPlugin}
6
6
  */
7
7
  export default function pluginEditors() {
8
8
  return {
9
- name,
10
- version,
9
+ get name() {
10
+ return packageJSON.name;
11
+ },
12
+ get version() {
13
+ return packageJSON.version;
14
+ },
15
+ get mapVersion() {
16
+ return packageJSON.mapVersion;
17
+ },
11
18
  async initialize(app) {
12
19
  const { action, destroy } = createToggleAction(
13
20
  {
@@ -15,7 +22,7 @@ export default function pluginEditors() {
15
22
  title: 'Overview of Plugins with editors.',
16
23
  },
17
24
  {
18
- id: name,
25
+ id: packageJSON.name,
19
26
  component,
20
27
  slot: WindowSlot.DYNAMIC_LEFT,
21
28
  state: {
@@ -23,9 +30,13 @@ export default function pluginEditors() {
23
30
  },
24
31
  },
25
32
  app.windowManager,
26
- name,
33
+ packageJSON.name,
34
+ );
35
+ app.navbarManager.add(
36
+ { id: packageJSON.name, action },
37
+ packageJSON.name,
38
+ ButtonLocation.TOOL,
27
39
  );
28
- app.navbarManager.add({ id: name, action }, name, ButtonLocation.TOOL);
29
40
  this._destroyAction = destroy;
30
41
  },
31
42
  getConfigEditors() {
@@ -1,13 +1,5 @@
1
1
  {
2
2
  "name": "@vcmap-show-case/project-selector",
3
3
  "version": "1.0.0",
4
- "mapVersion": "^5.0.0",
5
- "dependencies": {
6
- "@vcsuite/check": "^1.1.2",
7
- "@vcsuite/logger": "^1.0.1"
8
- },
9
- "peerDependencies": {
10
- "@vcmap/ui": "^5.0.0-rc.11",
11
- "@vcmap/core": "^5.0.0-rc.5"
12
- }
4
+ "mapVersion": "^6.0"
13
5
  }
@@ -1,47 +1,38 @@
1
1
  <template>
2
2
  <v-container class="pa-0">
3
- <v-list color="rgba(0,0,0,0)">
4
- <v-chip
5
- v-for="(module, index) in modules"
6
- :key="index"
7
- class="mx-1"
8
- :color="module.active ? 'primary' : undefined"
9
- :disabled="!toggleable"
10
- @click="toggle(module)"
3
+ <v-chip
4
+ v-for="(module, index) in modules"
5
+ :key="index"
6
+ class="ma-1"
7
+ :color="module.active ? 'primary' : undefined"
8
+ :disabled="!toggleable"
9
+ @click="toggle(module)"
10
+ >
11
+ {{ module.name || module.configUrl }}
12
+ <v-icon
13
+ v-if="module.description && toggleable"
14
+ right
15
+ v-bind="{ ...$attrs, ...$props }"
11
16
  >
12
- {{ module.name || module.configUrl }}
13
- <v-icon
14
- v-if="module.description && toggleable"
15
- right
16
- v-bind="{ ...$attrs, ...$props }"
17
- >
18
- mdi-help-circle
19
- </v-icon>
20
- <v-tooltip
21
- v-if="module.description && toggleable"
22
- :text="module.description"
23
- activator="parent"
24
- />
25
- </v-chip>
26
- </v-list>
17
+ mdi-help-circle
18
+ </v-icon>
19
+ <v-tooltip
20
+ v-if="module.description && toggleable"
21
+ :text="module.description"
22
+ activator="parent"
23
+ />
24
+ </v-chip>
27
25
  </v-container>
28
26
  </template>
29
27
 
30
28
  <script>
31
- import {
32
- VChip,
33
- VContainer,
34
- VIcon,
35
- VList,
36
- VTooltip,
37
- } from 'vuetify/components';
29
+ import { VChip, VContainer, VIcon, VTooltip } from 'vuetify/components';
38
30
 
39
31
  export default {
40
32
  name: 'ModulesListComponent',
41
33
  components: {
42
34
  VTooltip,
43
35
  VContainer,
44
- VList,
45
36
  VChip,
46
37
  VIcon,
47
38
  },
@@ -4,28 +4,26 @@
4
4
  <v-list v-for="(project, index) in state.projects" :key="index">
5
5
  <v-card
6
6
  class="ma-1"
7
- :color="project.active ? 'base lighten-3' : undefined"
7
+ :title="project.name"
8
+ :subtitle="project.description"
9
+ :color="project.active ? 'base-lighten-3' : undefined"
8
10
  @click="selectProject(project)"
9
11
  hover
10
12
  outlined
11
13
  :loading="loading === project.name"
12
14
  >
13
- <v-list-item>
14
- <v-list-item-title class="font-weight-bold">
15
- {{ project.name }}
16
- </v-list-item-title>
17
- <v-list-item-subtitle>{{ project.description }}</v-list-item-subtitle>
15
+ <template #actions>
18
16
  <ModulesListComponent
19
17
  :modules="project.modules"
20
18
  @toggle-module="toggleModule"
21
19
  :toggleable="false"
22
20
  />
23
- <v-list-item-action>
24
- <v-avatar color="success" size="30" v-if="project.active">
25
- <v-icon>mdi-check</v-icon>
26
- </v-avatar>
27
- </v-list-item-action>
28
- </v-list-item>
21
+ </template>
22
+ <template #append>
23
+ <v-avatar color="success" size="30" v-if="project.active">
24
+ <v-icon>mdi-check</v-icon>
25
+ </v-avatar>
26
+ </template>
29
27
  </v-card>
30
28
  </v-list>
31
29
  <v-divider />
@@ -37,16 +35,12 @@
37
35
  </v-container>
38
36
  </template>
39
37
  <script>
40
- import { inject } from 'vue';
38
+ import { inject, ref } from 'vue';
41
39
  import {
42
40
  VList,
43
41
  VContainer,
44
42
  VCard,
45
43
  VIcon,
46
- VListItem,
47
- VListItemTitle,
48
- VListItemSubtitle,
49
- VListItemAction,
50
44
  VAvatar,
51
45
  VDivider,
52
46
  } from 'vuetify/components';
@@ -60,20 +54,18 @@
60
54
  VContainer,
61
55
  VCard,
62
56
  VIcon,
63
- VListItem,
64
- VListItemTitle,
65
- VListItemSubtitle,
66
- VListItemAction,
67
57
  VAvatar,
68
58
  VDivider,
69
59
  },
70
60
  setup() {
71
61
  const app = inject('vcsApp');
72
62
  const plugin = app.plugins.getByKey('@vcmap-show-case/project-selector');
63
+ const loading = ref(undefined);
64
+
73
65
  async function selectProject(project) {
74
- this.loading = project.name;
66
+ loading.value = project.name;
75
67
  await plugin.selectProject(app, project);
76
- this.loading = undefined;
68
+ loading.value = undefined;
77
69
  }
78
70
 
79
71
  async function toggleModule(module) {
@@ -0,0 +1,3 @@
1
+ # Extent Example
2
+
3
+ This is a show-case plugin demonstrating the usage of the [VcsProjection](../../../src/components/projection/VcsProjection.vue) component.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@vcmap-show-case/projection-example",
3
+ "version": "1.0.0",
4
+ "mapVersion": "^6.0"
5
+ }