@vcmap/ui 6.0.0-rc.2 → 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 (278) hide show
  1. package/build/build.js +40 -60
  2. package/build/buildHelpers.js +62 -19
  3. package/build/bundle.js +1 -1
  4. package/build/info/conf.json +1 -1
  5. package/build/info/publish.js +25 -31
  6. package/build/lintTypes.js +5 -0
  7. package/config/base.config.json +2 -1
  8. package/config/dev.config.json +7 -1
  9. package/config/projects.config.json +2 -1
  10. package/config/splashscreen.config.json +45 -0
  11. package/config/www.config.json +25 -22
  12. package/dist/.htaccess +7 -0
  13. package/dist/assets/@mdi/font/README.md +25 -0
  14. package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
  15. package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  16. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  17. package/dist/assets/{cesium.0b750d.js → cesium-126f111a.js} +272 -385
  18. package/dist/assets/cesium.js +1 -1
  19. package/dist/assets/{core.cbf44a.js → core-1c8b8674.js} +2015 -2019
  20. package/dist/assets/core.js +1 -1
  21. package/dist/assets/{ol.86e93c.js → ol-27f9b3f3.js} +42521 -44394
  22. package/dist/assets/ol.js +1 -1
  23. package/dist/assets/ui-7214428e.css +1 -0
  24. package/dist/assets/{ui.7c276c.js → ui-7214428e.js} +13968 -13907
  25. package/dist/assets/ui.js +1 -1
  26. package/dist/assets/vue-c78a5f76.js +6083 -0
  27. package/dist/assets/vue.js +1 -1
  28. package/dist/assets/{vuetify.4d18fe.css → vuetify-88a2fabe.css} +2 -2
  29. package/dist/assets/{vuetify.4d18fe.js → vuetify-88a2fabe.js} +7793 -7940
  30. package/dist/assets/vuetify.js +1 -1
  31. package/dist/index.html +11 -10
  32. package/index.d.ts +11 -11
  33. package/index.html +5 -5
  34. package/index.js +9 -7
  35. package/lib/olLib.js +84 -23
  36. package/package.json +19 -19
  37. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
  38. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +71 -32
  39. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
  40. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
  41. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +21 -8
  42. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  43. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  44. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  45. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
  46. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  47. package/plugins/package.json +3 -23
  48. package/public/assets/@mdi/font/README.md +25 -0
  49. package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
  50. package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  51. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  52. package/src/actions/StyleSelector.vue +1 -1
  53. package/src/actions/actionHelper.js +33 -22
  54. package/src/actions/flightActions.js +5 -5
  55. package/src/actions/listActions.d.ts +4 -11
  56. package/src/actions/listActions.js +6 -22
  57. package/src/actions/stateRefAction.js +2 -2
  58. package/src/application/VcsApp.vue +147 -57
  59. package/src/application/VcsApp.vue.d.ts +298 -4
  60. package/src/application/VcsAttributions.vue +2 -13
  61. package/src/application/VcsAttributionsFooter.vue +10 -11
  62. package/src/application/VcsContainer.vue +26 -9
  63. package/src/application/VcsContainer.vue.d.ts +237 -0
  64. package/src/application/VcsMainMap.vue +7 -7
  65. package/src/application/VcsMainMap.vue.d.ts +2 -2
  66. package/src/application/VcsNavbar.vue +5 -1
  67. package/src/application/VcsPositionDisplay.vue +8 -23
  68. package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
  69. package/src/application/VcsSettings.vue +10 -17
  70. package/src/application/VcsSplashScreen.vue +21 -40
  71. package/src/application/VcsSplashScreen.vue.d.ts +0 -2
  72. package/src/application/VcsTextPage.vue +12 -43
  73. package/src/application/VcsTextPage.vue.d.ts +4 -8
  74. package/src/application/VcsTextPageFooter.vue +23 -40
  75. package/src/components/buttons/VcsActionButtonList.vue +59 -3
  76. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  77. package/src/components/extent/VcsExtentEditor.vue +1 -1
  78. package/src/components/flight/VcsFlightAnchorsComponent.vue +63 -36
  79. package/src/components/flight/VcsFlightComponent.vue +16 -21
  80. package/src/components/flight/VcsFlightPlayer.vue +27 -5
  81. package/src/components/form-inputs-controls/VcsCheckbox.vue +9 -5
  82. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +15 -13
  83. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +3 -4
  84. package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -4
  85. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
  86. package/src/components/form-inputs-controls/VcsDatePicker.vue +34 -60
  87. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -63
  88. package/src/components/form-inputs-controls/VcsFileInput.vue +17 -18
  89. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
  90. package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
  91. package/src/components/form-inputs-controls/VcsRadio.vue +17 -3
  92. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  93. package/src/components/form-inputs-controls/VcsSelect.vue +40 -31
  94. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +5 -2
  95. package/src/components/form-inputs-controls/VcsSlider.vue +13 -1
  96. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +1 -0
  97. package/src/components/form-inputs-controls/VcsTextArea.vue +27 -26
  98. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
  99. package/src/components/form-inputs-controls/VcsTextField.vue +20 -4
  100. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +9 -0
  101. package/src/components/form-inputs-controls/VcsWizardStep.vue +3 -6
  102. package/src/components/form-inputs-controls/vcsTextField.scss +9 -12
  103. package/src/components/form-output/VcsFormattedNumber.vue +21 -5
  104. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +9 -0
  105. package/src/components/form-output/VcsMarkdown.vue +15 -12
  106. package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
  107. package/src/components/form-output/markdownHelper.d.ts +30 -0
  108. package/src/components/form-output/markdownHelper.js +398 -0
  109. package/src/components/import/VcsFileDrop.vue +8 -5
  110. package/src/components/import/VcsImportComponent.vue +4 -3
  111. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  112. package/src/components/lists/VcsActionList.vue +11 -7
  113. package/src/components/lists/VcsList.vue +30 -52
  114. package/src/components/lists/VcsList.vue.d.ts +14 -59
  115. package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +68 -22
  116. package/src/components/lists/VcsListItemComponent.vue.d.ts +69 -0
  117. package/src/components/lists/VcsTreeview.vue +43 -16
  118. package/src/components/lists/VcsTreeview.vue.d.ts +14 -3
  119. package/src/components/lists/VcsTreeviewLeaf.vue +15 -6
  120. package/src/components/lists/VcsTreeviewSearchbar.vue +2 -2
  121. package/src/components/notification/VcsHelp.vue +1 -1
  122. package/src/components/notification/VcsHelp.vue.d.ts +3 -2
  123. package/src/components/section/VcsExpansionPanel.vue +101 -0
  124. package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
  125. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +10 -4
  126. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +1 -2
  127. package/src/components/style/MenuWrapper.vue +24 -26
  128. package/src/components/style/MenuWrapper.vue.d.ts +4 -4
  129. package/src/components/style/VcsFillMenu.vue +9 -16
  130. package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
  131. package/src/components/style/VcsFillSelector.vue +13 -16
  132. package/src/components/style/VcsImageMenu.vue +8 -25
  133. package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
  134. package/src/components/style/VcsImageSelector.vue +102 -167
  135. package/src/components/style/VcsImageSelector.vue.d.ts +15 -15
  136. package/src/components/style/VcsStrokeMenu.vue +8 -15
  137. package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
  138. package/src/components/style/VcsStrokeSelector.vue +11 -18
  139. package/src/components/style/VcsTextMenu.vue +9 -12
  140. package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
  141. package/src/components/style/VcsTextSelector.vue +79 -95
  142. package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
  143. package/src/components/style/VcsVectorStyleComponent.vue +8 -19
  144. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
  145. package/src/components/style/composables.d.ts +0 -14
  146. package/src/components/style/composables.js +0 -49
  147. package/src/components/tables/VcsDataTable.vue +28 -22
  148. package/src/components/tables/VcsTable.vue +45 -62
  149. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  150. package/src/components/tables/VcsTableCell.vue +72 -0
  151. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  152. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +43 -9
  153. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
  154. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
  155. package/src/components/viewpoint/VcsViewpointComponent.vue +23 -10
  156. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -1
  157. package/src/contentTree/LayerTree.vue +9 -27
  158. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  159. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  160. package/src/contentTree/contentTreeCollection.js +45 -11
  161. package/src/contentTree/contentTreeItem.d.ts +2 -2
  162. package/src/contentTree/contentTreeItem.js +7 -7
  163. package/src/featureInfo/BalloonComponent.vue +14 -15
  164. package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
  165. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  166. package/src/featureInfo/abstractFeatureInfoView.d.ts +6 -0
  167. package/src/featureInfo/abstractFeatureInfoView.js +15 -7
  168. package/src/featureInfo/featureInfo.d.ts +5 -5
  169. package/src/featureInfo/featureInfo.js +59 -41
  170. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  171. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  172. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  173. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  174. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  175. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  176. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  177. package/src/init.d.ts +5 -38
  178. package/src/init.js +19 -18
  179. package/src/legend/StyleLegendItem.vue +4 -9
  180. package/src/legend/VcsLegend.vue +28 -54
  181. package/src/manager/buttonManager.js +4 -4
  182. package/src/manager/collectionManager/CollectionComponent.vue +17 -42
  183. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
  184. package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
  185. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
  186. package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
  187. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
  188. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  189. package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
  190. package/src/manager/collectionManager/CollectionManager.vue +1 -1
  191. package/src/manager/collectionManager/collectionComponentClass.d.ts +1 -1
  192. package/src/manager/collectionManager/collectionComponentClass.js +7 -10
  193. package/src/manager/collectionManager/collectionManager.js +10 -10
  194. package/src/manager/collectionManager/editorCollectionComponentClass.js +6 -5
  195. package/src/manager/contextMenu/contextMenuManager.js +2 -2
  196. package/src/manager/navbarManager.js +2 -2
  197. package/src/manager/panel/PanelComponent.vue +2 -9
  198. package/src/manager/panel/PanelManagerComponent.vue +7 -3
  199. package/src/manager/panel/panelHelper.js +3 -3
  200. package/src/manager/panel/panelManager.d.ts +9 -1
  201. package/src/manager/panel/panelManager.js +18 -6
  202. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -4
  203. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  204. package/src/manager/toolbox/SelectToolboxComponent.vue +7 -4
  205. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  206. package/src/manager/toolbox/ToolboxManager.vue +9 -6
  207. package/src/manager/toolbox/ToolboxManager.vue.d.ts +1 -0
  208. package/src/manager/toolbox/toolboxManager.js +10 -10
  209. package/src/manager/window/WindowComponent.vue +12 -8
  210. package/src/manager/window/WindowComponentHeader.vue +29 -8
  211. package/src/manager/window/WindowComponentHeader.vue.d.ts +2 -0
  212. package/src/manager/window/WindowManager.vue +2 -2
  213. package/src/manager/window/windowManager.d.ts +2 -2
  214. package/src/manager/window/windowManager.js +4 -4
  215. package/src/navigation/MapNavigation.vue +20 -0
  216. package/src/navigation/locatorHelper.js +1 -1
  217. package/src/navigation/overviewMap.js +1 -1
  218. package/src/notifier/NotifierComponent.vue +18 -15
  219. package/src/search/ResultItem.vue +18 -6
  220. package/src/search/ResultsComponent.vue +31 -20
  221. package/src/search/ResultsComponent.vue.d.ts +2 -1
  222. package/src/search/SearchComponent.vue +8 -14
  223. package/src/search/SearchComponent.vue.d.ts +1 -0
  224. package/src/search/search.js +2 -2
  225. package/src/siteConfig.js +9 -9
  226. package/src/state.js +4 -4
  227. package/src/styles/_typography.scss +0 -2
  228. package/src/styles/main.scss +0 -4
  229. package/src/uiConfig.d.ts +300 -5
  230. package/src/uiConfig.js +28 -16
  231. package/src/vcsUiApp.d.ts +21 -17
  232. package/src/vcsUiApp.js +11 -10
  233. package/src/vuePlugins/vuetify.d.ts +2 -0
  234. package/src/vuePlugins/vuetify.js +14 -0
  235. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  236. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
  237. package/dist/assets/index-8eGauqjA.js +0 -1
  238. package/dist/assets/ui.7c276c.css +0 -1
  239. package/dist/assets/vue.a3cd64.js +0 -6096
  240. package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  241. package/src/application/VcsCustomScreen.vue +0 -45
  242. package/src/application/VcsCustomScreen.vue.d.ts +0 -15
  243. package/src/application/markdownHelper.d.ts +0 -12
  244. package/src/application/markdownHelper.js +0 -70
  245. package/src/components/lists/VcsListItem.vue.d.ts +0 -21
  246. package/src/components/notification/VcsTooltip.vue +0 -156
  247. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  248. package/src/featureInfo/MarkdownComponent.vue +0 -16
  249. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  250. package/src/styles/_theming.scss +0 -73
  251. package/src/styles/settings.scss +0 -6
  252. package/src/styles/shades.scss +0 -4
  253. package/src/styles/variables.scss +0 -140
  254. package/src/styles/vcsFont.scss +0 -2
  255. package/src/styles/vcsGrid.scss +0 -3
  256. /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
  257. /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
  258. /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
  259. /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
  260. /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
  261. /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
  262. /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
  263. /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
  264. /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
  265. /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
  266. /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
  267. /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
  268. /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
  269. /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
  270. /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
  271. /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
  272. /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
  273. /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
  274. /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
  275. /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
  276. /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
  277. /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
  278. /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
@@ -4,6 +4,243 @@ declare const _default: import("vue").DefineComponent<{
4
4
  required: true;
5
5
  };
6
6
  }, {
7
+ config: {
8
+ readonly [x: string]: any;
9
+ /**
10
+ * - the company logo to display. this will override any and all css overrides.
11
+ */
12
+ readonly logo?: string | undefined;
13
+ /**
14
+ * - an alternative logo to display in mobile view
15
+ */
16
+ readonly mobileLogo?: string | undefined;
17
+ /**
18
+ * - an optional title to display next to the company logo
19
+ */
20
+ readonly appTitle?: string | undefined;
21
+ /**
22
+ * - an optional primary color to use in all themes
23
+ */
24
+ readonly primaryColor?: string | undefined;
25
+ /**
26
+ * - an optional flag whether to activate feature info on startup (default active)
27
+ */
28
+ readonly startingFeatureInfo?: boolean | undefined;
29
+ /**
30
+ * - mouse event, when position display is updated. Either 'click' (default) or 'move'.
31
+ */
32
+ readonly positionDisplayEventType?: string | undefined;
33
+ /**
34
+ * - an optional URL to a help landing page
35
+ */
36
+ readonly helpBaseUrl?: string | undefined;
37
+ /**
38
+ * - an option imprint, will show a link in the footer. Default title is 'footer.imprint.title'.
39
+ */
40
+ readonly imprint?: {
41
+ readonly title?: string | undefined;
42
+ readonly url?: string | {
43
+ readonly hash: string;
44
+ readonly host: string;
45
+ readonly hostname: string;
46
+ readonly href: string;
47
+ readonly toString: () => string;
48
+ readonly origin: string;
49
+ readonly password: string;
50
+ readonly pathname: string;
51
+ readonly port: string;
52
+ readonly protocol: string;
53
+ readonly search: string;
54
+ readonly searchParams: ReadonlyMap<string, string | null>;
55
+ readonly username: string;
56
+ readonly toJSON: () => string;
57
+ } | undefined;
58
+ readonly content?: string | undefined;
59
+ } | undefined;
60
+ /**
61
+ * - an option dataProtection, will show a link in the footer. Default title is 'footer.dataProtection.title'.
62
+ */
63
+ readonly dataProtection?: {
64
+ readonly title?: string | undefined;
65
+ readonly url?: string | {
66
+ readonly hash: string;
67
+ readonly host: string;
68
+ readonly hostname: string;
69
+ readonly href: string;
70
+ readonly toString: () => string;
71
+ readonly origin: string;
72
+ readonly password: string;
73
+ readonly pathname: string;
74
+ readonly port: string;
75
+ readonly protocol: string;
76
+ readonly search: string;
77
+ readonly searchParams: ReadonlyMap<string, string | null>;
78
+ readonly username: string;
79
+ readonly toJSON: () => string;
80
+ } | undefined;
81
+ readonly content?: string | undefined;
82
+ } | undefined;
83
+ /**
84
+ * - an option splashScreen, will show a splash Screen on Map Load.
85
+ */
86
+ readonly splashScreen?: {
87
+ readonly title?: string | undefined;
88
+ readonly icon?: string | undefined;
89
+ readonly content?: string | undefined;
90
+ readonly name?: string | undefined;
91
+ readonly checkBoxText?: string | undefined;
92
+ readonly buttonTitle?: string | undefined;
93
+ readonly menuEntry?: boolean | undefined;
94
+ readonly acceptInput?: boolean | undefined;
95
+ readonly position?: {
96
+ readonly width?: string | undefined;
97
+ readonly height?: string | undefined;
98
+ readonly maxHeight?: string | undefined;
99
+ readonly maxWidth?: string | undefined;
100
+ } | undefined;
101
+ } | undefined;
102
+ /**
103
+ * - an option customScreen, will show a Custom Menu Point that opens a window with custom content.
104
+ */
105
+ readonly customScreen?: {
106
+ readonly title?: string | undefined;
107
+ readonly icon?: string | undefined;
108
+ readonly content?: string | undefined;
109
+ readonly name?: string | undefined;
110
+ readonly windowPosition?: {
111
+ /**
112
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
113
+ */
114
+ readonly left?: string | number | undefined;
115
+ /**
116
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
117
+ */
118
+ readonly top?: string | number | undefined;
119
+ /**
120
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
121
+ */
122
+ readonly right?: string | number | undefined;
123
+ /**
124
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
125
+ */
126
+ readonly bottom?: string | number | undefined;
127
+ /**
128
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
129
+ */
130
+ readonly width?: string | number | undefined;
131
+ /**
132
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
133
+ */
134
+ readonly height?: string | number | undefined;
135
+ /**
136
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
137
+ */
138
+ readonly maxHeight?: string | number | undefined;
139
+ /**
140
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
141
+ */
142
+ readonly maxWidth?: string | number | undefined;
143
+ /**
144
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
145
+ */
146
+ readonly minHeight?: string | number | undefined;
147
+ /**
148
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
149
+ */
150
+ readonly minWidth?: string | number | undefined;
151
+ } | undefined;
152
+ } | undefined;
153
+ /**
154
+ * - the favicon to set
155
+ */
156
+ readonly favicon?: string | undefined;
157
+ /**
158
+ * - the title to display in the tab of the browser
159
+ */
160
+ readonly headerTitle?: string | undefined;
161
+ /**
162
+ * - an optional flag whether to show the Locator in the map.
163
+ */
164
+ readonly showLocator?: boolean | undefined;
165
+ /**
166
+ * - can be used to hide the default Header of the map
167
+ */
168
+ readonly hideHeader?: boolean | undefined;
169
+ /**
170
+ * - can be used to hide the integrated Search bar
171
+ */
172
+ readonly hideSearch?: boolean | undefined;
173
+ /**
174
+ * - can be used to hide the default Map Buttons
175
+ */
176
+ readonly hideMapButtons?: boolean | undefined;
177
+ /**
178
+ * - can be used to hide the toolbox
179
+ */
180
+ readonly hideToolbox?: boolean | undefined;
181
+ /**
182
+ * - can be used to hide the navigation
183
+ */
184
+ readonly hideMapNavigation?: boolean | undefined;
185
+ /**
186
+ * - can be used to hide the footer
187
+ */
188
+ readonly hideFooter?: boolean | undefined;
189
+ /**
190
+ * - can be used to hide the myWorkspace button
191
+ */
192
+ readonly hideMyWorkspace?: boolean | undefined;
193
+ /**
194
+ * - can be used to hide the contentTree
195
+ */
196
+ readonly hideContentTree?: boolean | undefined;
197
+ /**
198
+ * - can be used to hide the legend
199
+ */
200
+ readonly hideLegend?: boolean | undefined;
201
+ /**
202
+ * - can be used to hide the settings Window
203
+ */
204
+ readonly hideSettings?: boolean | undefined;
205
+ /**
206
+ * - can be used to activate the overviewMap on startup
207
+ */
208
+ readonly overviewMapActiveOnStartup?: boolean | undefined;
209
+ /**
210
+ * - the display quality settings
211
+ */
212
+ readonly displayQuality?: {
213
+ readonly startingQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
214
+ readonly startingMobileQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
215
+ readonly low?: {
216
+ readonly sse?: number | undefined;
217
+ readonly fxaa?: boolean | undefined;
218
+ readonly fogEnabled?: boolean | undefined;
219
+ readonly fogDensity?: number | undefined;
220
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
221
+ readonly resolutionScale?: number | undefined;
222
+ readonly layerSSEFactor?: number | undefined;
223
+ } | undefined;
224
+ readonly medium?: {
225
+ readonly sse?: number | undefined;
226
+ readonly fxaa?: boolean | undefined;
227
+ readonly fogEnabled?: boolean | undefined;
228
+ readonly fogDensity?: number | undefined;
229
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
230
+ readonly resolutionScale?: number | undefined;
231
+ readonly layerSSEFactor?: number | undefined;
232
+ } | undefined;
233
+ readonly high?: {
234
+ readonly sse?: number | undefined;
235
+ readonly fxaa?: boolean | undefined;
236
+ readonly fogEnabled?: boolean | undefined;
237
+ readonly fogDensity?: number | undefined;
238
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
239
+ readonly resolutionScale?: number | undefined;
240
+ readonly layerSSEFactor?: number | undefined;
241
+ } | undefined;
242
+ } | undefined;
243
+ };
7
244
  xs: import("vue").Ref<boolean>;
8
245
  mobileLogo: import("vue").ComputedRef<any>;
9
246
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -8,27 +8,27 @@
8
8
  <style lang="scss" scoped></style>
9
9
 
10
10
  <script>
11
- import { inject, onMounted, onUnmounted, ref } from 'vue';
11
+ import { inject, onMounted, onUnmounted, ref, computed } from 'vue';
12
12
  import { v4 as uuid } from 'uuid';
13
13
  import MapNavigation from '../navigation/MapNavigation.vue';
14
14
  import VcsMap from './VcsMap.vue';
15
15
 
16
16
  export function setupMapNavigation(app) {
17
- const showMapNavigation = ref(app.maps.size < 1);
17
+ const mapSize = ref(app.maps.size);
18
18
 
19
19
  const listeners = [
20
20
  app.maps.added.addEventListener(() => {
21
- showMapNavigation.value = true;
21
+ mapSize.value = app.maps.size;
22
22
  }),
23
23
  app.maps.removed.addEventListener(() => {
24
- if (app.maps.size < 1) {
25
- showMapNavigation.value = false;
26
- }
24
+ mapSize.value = app.maps.size;
27
25
  }),
28
26
  ];
29
27
 
30
28
  return {
31
- showMapNavigation,
29
+ showMapNavigation: computed(() => {
30
+ return mapSize.value > 0 && !app.uiConfig.config.hideMapNavigation;
31
+ }),
32
32
  destroy: () => {
33
33
  listeners.forEach((cb) => cb());
34
34
  },
@@ -1,9 +1,9 @@
1
1
  export function setupMapNavigation(app: any): {
2
- showMapNavigation: import("vue").Ref<boolean>;
2
+ showMapNavigation: import("vue").ComputedRef<boolean>;
3
3
  destroy: () => void;
4
4
  };
5
5
  declare const _default: import("vue").DefineComponent<{}, {
6
6
  mapId: string;
7
- showMapNavigation: import("vue").Ref<boolean>;
7
+ showMapNavigation: import("vue").ComputedRef<boolean>;
8
8
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
9
9
  export default _default;
@@ -14,6 +14,7 @@
14
14
  <VcsActionButtonList
15
15
  :actions="mapActions"
16
16
  :overflow-count="3"
17
+ :force-overflow="false"
17
18
  button="VcsToolButton"
18
19
  />
19
20
  <v-divider
@@ -28,6 +29,7 @@
28
29
  <VcsActionButtonList
29
30
  :actions="contentActions"
30
31
  :overflow-count="xs ? 3 : 4"
32
+ :force-overflow="false"
31
33
  button="VcsToolButton"
32
34
  />
33
35
  <v-divider
@@ -38,6 +40,7 @@
38
40
  />
39
41
  <VcsActionButtonList
40
42
  :actions="toolActions"
43
+ :force-overflow="false"
41
44
  v-if="mdAndUp"
42
45
  button="VcsToolButton"
43
46
  />
@@ -62,6 +65,7 @@
62
65
  <div class="d-flex">
63
66
  <VcsActionButtonList
64
67
  :actions="projectActions"
68
+ :force-overflow="false"
65
69
  button="VcsToolButton"
66
70
  />
67
71
  <v-divider
@@ -186,7 +190,7 @@
186
190
  );
187
191
 
188
192
  const logo = computed(() => {
189
- return app.uiConfig.config.value.logo ?? VcsDefaultLogo;
193
+ return app.uiConfig.config.logo ?? VcsDefaultLogo;
190
194
  });
191
195
 
192
196
  const { searchAction, destroy: destroySearchAction } =
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <span
3
- class="d-flex gc-1 px-1"
3
+ class="d-flex gc-2 px-1 h-100 align-center"
4
4
  :class="{ 'vcs-position-display': positionDisplayAction.active }"
5
5
  >
6
6
  <VcsButton
7
7
  :tooltip="positionDisplayAction.title"
8
8
  :icon="positionDisplayAction.icon"
9
9
  @click.stop="positionDisplayAction.callback($event)"
10
- :custom-classes="customClasses"
10
+ :class="{ 'bg-primary': positionDisplayAction.active }"
11
11
  >
12
12
  </VcsButton>
13
13
  <template
@@ -17,17 +17,20 @@
17
17
  prefix="x:"
18
18
  :model-value="transformedPosition[0]"
19
19
  :fraction-digits="fractionDigits"
20
+ class="pa-0"
20
21
  />
21
22
  <VcsFormattedNumber
22
23
  no-padding
23
24
  prefix="y:"
24
25
  :model-value="transformedPosition[1]"
25
26
  :fraction-digits="fractionDigits"
27
+ class="pa-0"
26
28
  />
27
29
  <VcsFormattedNumber
28
30
  v-if="transformedPosition[2]"
29
31
  prefix="z:"
30
32
  :model-value="transformedPosition[2]"
33
+ class="pa-0"
31
34
  />
32
35
  </template>
33
36
  <v-menu v-if="positionDisplayAction.active">
@@ -36,10 +39,10 @@
36
39
  v-bind="props"
37
40
  tooltip="footer.positionDisplay.projection"
38
41
  icon="mdi-chevron-down"
39
- :custom-classes="customClasses"
42
+ class="bg-primary"
40
43
  />
41
44
  </template>
42
- <v-list selectable density="compact" v-model:selected="selectedEPSG">
45
+ <v-list selectable v-model:selected="selectedEPSG">
43
46
  <v-list-item v-for="(item, i) in items" :key="i" :value="item.value">
44
47
  <v-list-item-title>{{ $st(item.text) }}</v-list-item-title>
45
48
  </v-list-item>
@@ -49,22 +52,10 @@
49
52
  </template>
50
53
 
51
54
  <style lang="scss" scoped>
52
- @import '../styles/shades.scss';
53
-
54
55
  .vcs-position-display {
55
- height: 22px;
56
56
  background-color: rgb(var(--v-theme-primary));
57
57
  span {
58
- color: map-get($shades, 'white');
59
- }
60
-
61
- :deep(.vcs-formatted-number),
62
- :deep(.vcs-formatted-number span) {
63
- font-size: unset;
64
- line-height: unset;
65
- }
66
- :deep(.vcs-formatted-number-dense) {
67
- line-height: unset;
58
+ color: rgb(var(--v-theme-on-primary));
68
59
  }
69
60
  }
70
61
  </style>
@@ -89,7 +80,6 @@
89
80
 
90
81
  /**
91
82
  * @description Activates an interaction to display the mouse click or mouse move position, depending on the uiConfig property 'positionDisplayEventType'
92
- * @vue-computed {string[]} customClasses - changes button color depending on state
93
83
  * @vue-computed {import("ol").Coordinate} transformedPosition - position in selected projection
94
84
  * @vue-computed {number} fractionDigits - number of digits depending on selected projection
95
85
  */
@@ -174,10 +164,6 @@
174
164
  },
175
165
  });
176
166
 
177
- const customClasses = computed(() => {
178
- return positionDisplayAction.active ? ['primary'] : [];
179
- });
180
-
181
167
  const transformedPosition = computed(() => {
182
168
  if (position.value.length > 0) {
183
169
  return mercatorProjection.transformTo(
@@ -198,7 +184,6 @@
198
184
  fractionDigits,
199
185
  selectedEPSG,
200
186
  items,
201
- customClasses,
202
187
  };
203
188
  },
204
189
  };
@@ -13,6 +13,5 @@ declare const _default: import("vue").DefineComponent<{}, {
13
13
  text: any;
14
14
  value: string;
15
15
  }[]>;
16
- customClasses: import("vue").ComputedRef<string[]>;
17
16
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
18
17
  export default _default;
@@ -19,20 +19,18 @@
19
19
  {{ $t('settings.displayQuality.title') }}
20
20
  </VcsLabel>
21
21
  </v-row>
22
- <v-row v-if="is3D" no-gutters class="quality-slider-padding">
22
+ <v-row v-if="is3D" no-gutters>
23
23
  <VcsSlider
24
- step="1"
24
+ :step="1"
25
25
  v-model="displaySettings"
26
- type="number"
27
- max="2"
28
- min="0"
29
- ticks="always"
30
- tick-size="5"
31
- :tick-labels="[
32
- $t('settings.displayQuality.level.low'),
33
- $t('settings.displayQuality.level.medium'),
34
- $t('settings.displayQuality.level.high'),
35
- ]"
26
+ :max="2"
27
+ :min="0"
28
+ show-ticks="always"
29
+ :ticks="{
30
+ 0: $t('settings.displayQuality.level.low'),
31
+ 1: $t('settings.displayQuality.level.medium'),
32
+ 2: $t('settings.displayQuality.level.high'),
33
+ }"
36
34
  />
37
35
  </v-row>
38
36
  <v-row no-gutters>
@@ -170,8 +168,3 @@
170
168
  },
171
169
  };
172
170
  </script>
173
- <style scoped>
174
- .quality-slider-padding {
175
- padding-bottom: 20px !important;
176
- }
177
- </style>
@@ -9,36 +9,31 @@
9
9
  persistent
10
10
  >
11
11
  <v-card>
12
- <div class="px-2 pt-2 pb-1">
13
- <v-card-text>
14
- <VcsMarked :content="splashScreenText"></VcsMarked>
12
+ <v-card-text>
13
+ <VcsMarkdown :content="$st(options.content)" />
14
+ <VcsCheckbox v-if="options.acceptInput" v-model="checkBox">
15
+ <template #label>
16
+ <VcsMarkdown
17
+ :content="$st(options.checkBoxText)"
18
+ class="marked-checkbox-content"
19
+ />
20
+ </template>
21
+ </VcsCheckbox>
22
+ </v-card-text>
15
23
 
16
- <v-row class="mt-2" v-if="options.acceptInput" no-gutters>
17
- <v-col class="align-center d-flex">
18
- <VcsCheckbox v-model="checkBox"> </VcsCheckbox>
19
-
20
- <VcsLabel>
21
- <div
22
- v-html="splashScreenCheckboxText"
23
- class="marked-checkbox-content"
24
- ></div>
25
- </VcsLabel>
26
- </v-col>
27
- </v-row>
28
- </v-card-text>
29
-
30
- <v-card-actions>
24
+ <v-card-actions>
25
+ <v-row no-gutters>
31
26
  <v-col class="text-right">
32
27
  <VcsFormButton
33
28
  color="primary"
34
29
  variant="filled"
35
30
  @click="exitScreen"
36
- :disabled="!checkBox"
31
+ :disabled="options.acceptInput && !checkBox"
37
32
  >{{ $t(options.buttonTitle) }}</VcsFormButton
38
33
  >
39
34
  </v-col>
40
- </v-card-actions>
41
- </div>
35
+ </v-row>
36
+ </v-card-actions>
42
37
  </v-card>
43
38
  </v-dialog>
44
39
  </template>
@@ -52,18 +47,15 @@
52
47
  VRow,
53
48
  VCol,
54
49
  } from 'vuetify/components';
55
- import { computed, getCurrentInstance, ref } from 'vue';
56
- import { parseAndSanitizeMarkdown } from './markdownHelper.js';
50
+ import { computed, ref } from 'vue';
57
51
  import VcsFormButton from '../components/buttons/VcsFormButton.vue';
58
52
  import VcsCheckbox from '../components/form-inputs-controls/VcsCheckbox.vue';
59
- import VcsLabel from '../components/form-inputs-controls/VcsLabel.vue';
60
- import VcsMarked from '../components/form-output/VcsMarkdown.vue';
53
+ import VcsMarkdown from '../components/form-output/VcsMarkdown.vue';
61
54
  import { useProxiedAtomicModel } from '../components/modelHelper.js';
62
55
 
63
56
  export default {
64
57
  name: 'VcsSplashScreen',
65
58
  components: {
66
- VcsLabel,
67
59
  VDialog,
68
60
  VCard,
69
61
  VCardText,
@@ -72,7 +64,7 @@
72
64
  VcsCheckbox,
73
65
  VRow,
74
66
  VCol,
75
- VcsMarked,
67
+ VcsMarkdown,
76
68
  },
77
69
  props: {
78
70
  modelValue: {
@@ -87,19 +79,10 @@
87
79
  setup(props, { emit }) {
88
80
  const localValue = useProxiedAtomicModel(props, 'modelValue', emit);
89
81
 
90
- const vm = getCurrentInstance().proxy;
91
- const splashScreenText = computed(() => {
92
- return vm.$st(props.options.content);
93
- });
94
-
95
- const splashScreenCheckboxText = computed(() => {
96
- const translatedContent = vm.$st(props.options.checkBoxText);
97
- return parseAndSanitizeMarkdown(translatedContent);
98
- });
99
-
100
- const checkBox = ref(!props.options.acceptInput);
82
+ const checkBox = ref(false);
101
83
  const exitScreen = () => {
102
84
  localValue.value = false;
85
+ checkBox.value = false;
103
86
  };
104
87
 
105
88
  const position = computed(() => ({
@@ -112,8 +95,6 @@
112
95
  return {
113
96
  localValue,
114
97
  exitScreen,
115
- splashScreenText,
116
- splashScreenCheckboxText,
117
98
  checkBox,
118
99
  position,
119
100
  };
@@ -10,8 +10,6 @@ declare const _default: import("vue").DefineComponent<{
10
10
  }, {
11
11
  localValue: import("vue").Ref<any>;
12
12
  exitScreen: () => void;
13
- splashScreenText: import("vue").ComputedRef<any>;
14
- splashScreenCheckboxText: import("vue").ComputedRef<string>;
15
13
  checkBox: import("vue").Ref<boolean>;
16
14
  position: import("vue").ComputedRef<{
17
15
  width: any;
@@ -1,65 +1,34 @@
1
1
  <template>
2
- <v-sheet>
3
- <v-container>
4
- <VcsMarkdown :content="markedHtml"></VcsMarkdown>
5
- </v-container>
6
- </v-sheet>
2
+ <v-container>
3
+ <VcsMarkdown :content="$st(content)"></VcsMarkdown>
4
+ </v-container>
7
5
  </template>
8
6
 
9
7
  <style lang="scss" scoped>
10
- @import '../styles/shades.scss';
11
-
12
- .theme--light {
13
- a {
14
- color: map-get($shades, 'black');
15
- }
16
- }
17
- .theme--dark {
18
- a {
19
- color: map-get($shades, 'white');
20
- }
21
- }
22
- a {
23
- &:hover {
24
- color: var(--v-primary-base);
25
- }
26
- &:before {
27
- content: '\00a9';
28
- }
8
+ :deep(a) {
9
+ color: var(--v-text-color);
29
10
  }
30
11
  </style>
31
12
 
32
13
  <script>
33
- import { computed, getCurrentInstance } from 'vue';
34
- import { VContainer, VSheet } from 'vuetify/components';
14
+ import { VContainer } from 'vuetify/components';
35
15
  import VcsMarkdown from '../components/form-output/VcsMarkdown.vue';
36
16
 
37
17
  /**
38
- * @description Is a component to render and sanitize a String
39
- * @vue-prop {string} content - The markdown content to be rendered. Is translatable and will be sanitized.
18
+ * @description Container wrapper around VcsMarkdown
19
+ * @vue-prop {string} content - The markdown content to be rendered.
40
20
  */
41
21
  export default {
42
22
  name: 'VcsTextPage',
43
- components: {
44
- VSheet,
45
- VContainer,
46
- VcsMarkdown,
47
- },
48
23
  props: {
49
24
  content: {
50
25
  type: String,
51
- default: () => '',
26
+ required: true,
52
27
  },
53
28
  },
54
- setup(props) {
55
- const vm = getCurrentInstance().proxy;
56
- const markedHtml = computed(() => {
57
- return vm.$st(props.content);
58
- });
59
-
60
- return {
61
- markedHtml,
62
- };
29
+ components: {
30
+ VContainer,
31
+ VcsMarkdown,
63
32
  },
64
33
  };
65
34
  </script>