@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.
- package/build/buildHelpers.js +60 -11
- package/build/bundle.js +1 -1
- package/build/info/publish.js +25 -31
- package/build/lintTypes.js +5 -0
- package/config/base.config.json +2 -1
- package/config/dev.config.json +7 -1
- package/config/www.config.json +25 -22
- package/dist/assets/@mdi/font/css/{materialdesignicons.min-7a4f6be0.css → materialdesignicons.min-680621ca.css} +1 -1
- package/dist/assets/{cesium-cb4dbfba.js → cesium-126f111a.js} +272 -385
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-72f21835.js → core-1c8b8674.js} +1417 -1453
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol-2d33bc8b.js → ol-27f9b3f3.js} +233 -329
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-7214428e.css +1 -0
- package/dist/assets/{ui-2ab43a16.js → ui-7214428e.js} +9573 -9438
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue-c78a5f76.js +6083 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-760ced3b.css → vuetify-88a2fabe.css} +2 -2
- package/dist/assets/{vuetify-760ced3b.js → vuetify-88a2fabe.js} +7672 -7877
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +6 -8
- package/index.js +7 -5
- package/package.json +16 -16
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -3
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
- package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
- package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
- package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
- package/plugins/package.json +3 -23
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +1 -1
- package/src/actions/StyleSelector.vue +1 -1
- package/src/actions/actionHelper.js +13 -2
- package/src/actions/listActions.d.ts +4 -4
- package/src/actions/listActions.js +2 -2
- package/src/application/VcsApp.vue +96 -31
- package/src/application/VcsApp.vue.d.ts +297 -4
- package/src/application/VcsContainer.vue +26 -9
- package/src/application/VcsContainer.vue.d.ts +237 -0
- package/src/application/VcsMainMap.vue +7 -7
- package/src/application/VcsMainMap.vue.d.ts +2 -2
- package/src/application/VcsNavbar.vue +5 -1
- package/src/application/VcsSplashScreen.vue +24 -26
- package/src/application/VcsTextPageFooter.vue +2 -1
- package/src/components/buttons/VcsActionButtonList.vue +59 -3
- package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +15 -13
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +3 -4
- package/src/components/form-inputs-controls/VcsCoordinate.vue +4 -3
- package/src/components/form-inputs-controls/VcsSelect.vue +1 -4
- package/src/components/form-inputs-controls/VcsSlider.vue +0 -1
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -4
- package/src/components/form-inputs-controls/VcsTextArea.vue +1 -4
- package/src/components/form-inputs-controls/VcsTextField.vue +14 -0
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +9 -0
- package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -5
- package/src/components/form-inputs-controls/vcsTextField.scss +1 -4
- package/src/components/form-output/VcsFormattedNumber.vue +6 -4
- package/src/components/form-output/VcsMarkdown.vue +15 -12
- package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
- package/src/components/form-output/markdownHelper.d.ts +30 -0
- package/src/components/form-output/markdownHelper.js +398 -0
- package/src/components/import/VcsFileDrop.vue +8 -5
- package/src/components/import/VcsImportComponent.vue +4 -3
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
- package/src/components/lists/VcsActionList.vue +4 -0
- package/src/components/lists/VcsList.vue +22 -37
- package/src/components/lists/VcsList.vue.d.ts +14 -55
- package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +17 -1
- package/src/components/lists/VcsListItemComponent.vue.d.ts +69 -0
- package/src/components/lists/VcsTreeview.vue +43 -16
- package/src/components/lists/VcsTreeview.vue.d.ts +14 -3
- package/src/components/lists/VcsTreeviewLeaf.vue +15 -6
- package/src/components/lists/VcsTreeviewSearchbar.vue +2 -2
- package/src/components/notification/VcsHelp.vue +1 -1
- package/src/components/notification/VcsHelp.vue.d.ts +3 -2
- package/src/components/section/VcsExpansionPanel.vue +2 -2
- package/src/components/section/VcsFormSection.vue +10 -4
- package/src/components/section/VcsFormSection.vue.d.ts +1 -2
- package/src/components/style/VcsTextMenu.vue +1 -1
- package/src/components/style/VcsVectorStyleComponent.vue +1 -1
- package/src/components/tables/VcsDataTable.vue +28 -22
- package/src/components/tables/VcsTable.vue +45 -62
- package/src/components/tables/VcsTable.vue.d.ts +30 -17
- package/src/components/tables/VcsTableCell.vue +72 -0
- package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +6 -5
- package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
- package/src/components/viewpoint/VcsViewpointComponent.vue +2 -2
- package/src/components/viewpoint/VcsViewpointEditor.vue +2 -2
- package/src/contentTree/LayerTree.vue +9 -27
- package/src/contentTree/LayerTree.vue.d.ts +1 -1
- package/src/contentTree/contentTreeCollection.d.ts +1 -0
- package/src/contentTree/contentTreeCollection.js +45 -11
- package/src/featureInfo/BalloonComponent.vue +14 -15
- package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
- package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
- package/src/featureInfo/abstractFeatureInfoView.d.ts +6 -0
- package/src/featureInfo/abstractFeatureInfoView.js +15 -7
- package/src/featureInfo/featureInfo.d.ts +5 -5
- package/src/featureInfo/featureInfo.js +51 -31
- package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
- package/src/featureInfo/iframeFeatureInfoView.js +15 -5
- package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
- package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownFeatureInfoView.js +9 -11
- package/src/featureInfo/tableFeatureInfoView.js +13 -4
- package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
- package/src/manager/collectionManager/collectionComponentClass.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.js +2 -2
- package/src/manager/collectionManager/editorCollectionComponentClass.js +2 -1
- package/src/manager/panel/PanelComponent.vue +2 -9
- package/src/manager/panel/PanelManagerComponent.vue +7 -3
- package/src/manager/panel/panelHelper.js +3 -3
- package/src/manager/panel/panelManager.d.ts +9 -1
- package/src/manager/panel/panelManager.js +15 -3
- package/src/manager/toolbox/GroupToolboxComponent.vue +8 -4
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue +7 -4
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/ToolboxManager.vue +9 -6
- package/src/manager/toolbox/ToolboxManager.vue.d.ts +1 -0
- package/src/manager/window/WindowComponent.vue +12 -8
- package/src/manager/window/WindowComponentHeader.vue +29 -8
- package/src/manager/window/WindowComponentHeader.vue.d.ts +2 -0
- package/src/manager/window/WindowManager.vue +2 -2
- package/src/navigation/MapNavigation.vue +20 -0
- package/src/navigation/locatorHelper.js +1 -1
- package/src/navigation/overviewMap.js +1 -1
- package/src/notifier/NotifierComponent.vue +18 -15
- package/src/search/ResultItem.vue +18 -6
- package/src/search/ResultsComponent.vue +31 -20
- package/src/search/ResultsComponent.vue.d.ts +2 -1
- package/src/search/SearchComponent.vue +8 -14
- package/src/search/SearchComponent.vue.d.ts +1 -0
- package/src/siteConfig.js +8 -8
- package/src/styles/_typography.scss +0 -2
- package/src/styles/main.scss +0 -4
- package/src/uiConfig.d.ts +300 -5
- package/src/uiConfig.js +28 -16
- package/src/vcsUiApp.d.ts +7 -7
- package/src/vcsUiApp.js +10 -9
- package/src/vuePlugins/vuetify.js +3 -0
- package/dist/assets/ui-2ab43a16.css +0 -1
- package/dist/assets/vue-03b265aa.js +0 -6096
- package/src/application/markdownHelper.d.ts +0 -12
- package/src/application/markdownHelper.js +0 -70
- package/src/components/lists/VcsListItem.vue.d.ts +0 -27
- package/src/components/notification/VcsTooltip.vue +0 -156
- package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
- package/src/featureInfo/MarkdownComponent.vue +0 -16
- package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
- package/src/styles/_theming.scss +0 -73
- package/src/styles/settings.scss +0 -6
- package/src/styles/shades.scss +0 -4
- package/src/styles/variables.scss +0 -140
- package/src/styles/vcsFont.scss +0 -2
- package/src/styles/vcsGrid.scss +0 -3
@@ -1,13 +1,18 @@
|
|
1
1
|
<template>
|
2
|
-
<v-list-item
|
2
|
+
<v-list-item v-if="item" v-bind="$attrs">
|
3
3
|
<template #prepend v-if="item.icon">
|
4
4
|
<v-icon>
|
5
5
|
{{ item.icon }}
|
6
6
|
</v-icon>
|
7
7
|
</template>
|
8
|
-
<
|
9
|
-
<
|
10
|
-
|
8
|
+
<template #title>
|
9
|
+
<v-list-item-title>
|
10
|
+
<span v-html="marked" />
|
11
|
+
</v-list-item-title>
|
12
|
+
</template>
|
13
|
+
<v-tooltip activator="parent">
|
14
|
+
{{ $st('search.select') }}
|
15
|
+
</v-tooltip>
|
11
16
|
<template #append>
|
12
17
|
<VcsActionButtonList
|
13
18
|
v-if="hasActions"
|
@@ -21,7 +26,12 @@
|
|
21
26
|
|
22
27
|
<script>
|
23
28
|
import { computed } from 'vue';
|
24
|
-
import {
|
29
|
+
import {
|
30
|
+
VIcon,
|
31
|
+
VListItem,
|
32
|
+
VListItemTitle,
|
33
|
+
VTooltip,
|
34
|
+
} from 'vuetify/components';
|
25
35
|
import VcsActionButtonList from '../components/buttons/VcsActionButtonList.vue';
|
26
36
|
|
27
37
|
/**
|
@@ -38,7 +48,7 @@
|
|
38
48
|
partials.forEach((partial) => {
|
39
49
|
replacement = replacement.replaceAll(
|
40
50
|
new RegExp(`(^|[^>])(${partial})`, 'ig'),
|
41
|
-
'<span>$1<span class="primary
|
51
|
+
'<span>$1<span class="text-primary">$2</span></span>',
|
42
52
|
);
|
43
53
|
});
|
44
54
|
}
|
@@ -58,6 +68,8 @@
|
|
58
68
|
VcsActionButtonList,
|
59
69
|
VIcon,
|
60
70
|
VListItem,
|
71
|
+
VListItemTitle,
|
72
|
+
VTooltip,
|
61
73
|
},
|
62
74
|
props: {
|
63
75
|
query: {
|
@@ -1,15 +1,16 @@
|
|
1
1
|
<template>
|
2
2
|
<v-list
|
3
|
-
density="compact"
|
4
3
|
class="ma-0 overflow-y-auto vcs-search-results"
|
5
|
-
v-model="highlighted"
|
4
|
+
v-model:selected="highlighted"
|
6
5
|
>
|
7
6
|
<ResultItem
|
8
7
|
:item="item"
|
9
8
|
:query="query"
|
10
|
-
class="cursor-pointer
|
11
|
-
|
9
|
+
class="cursor-pointer"
|
10
|
+
:class="{ 'vcs-search-result-border': index < items.length - 1 }"
|
11
|
+
v-for="(item, index) in items"
|
12
12
|
:key="index"
|
13
|
+
:value="item.value"
|
13
14
|
/>
|
14
15
|
</v-list>
|
15
16
|
</template>
|
@@ -22,7 +23,7 @@
|
|
22
23
|
/**
|
23
24
|
* @description ResultsComponent listing all available result items in a scrollable list
|
24
25
|
* @vue-prop {string} query - The query string forwarded to mark results within resultItem component.
|
25
|
-
* @vue-prop {Array<ResultItem>} results - Array of results.
|
26
|
+
* @vue-prop {Array<import("./search.js").ResultItem>} results - Array of results.
|
26
27
|
* @vue-computed {import("vue").Ref<string>} highlighted - The highlighted result item. Updates also on feature select.
|
27
28
|
*/
|
28
29
|
export default {
|
@@ -42,23 +43,27 @@
|
|
42
43
|
},
|
43
44
|
},
|
44
45
|
setup(props) {
|
45
|
-
const
|
46
|
+
const items = computed(() => {
|
47
|
+
return props.results.map((item, index) => ({
|
48
|
+
...item,
|
49
|
+
value: index,
|
50
|
+
}));
|
51
|
+
});
|
52
|
+
const selectedRef = ref([]);
|
46
53
|
/** @type {import("@src/vcsUiApp.js").default} */
|
47
54
|
const app = inject('vcsApp');
|
48
55
|
const selectedListener = app.featureInfo.featureChanged.addEventListener(
|
49
56
|
(feature) => {
|
50
|
-
if (
|
51
|
-
|
52
|
-
|
53
|
-
props.results[highlightedRef.value].feature === feature
|
54
|
-
) {
|
57
|
+
if (selectedRef.value.length > 0) {
|
58
|
+
const [index] = selectedRef.value;
|
59
|
+
if (feature && items.value[index].feature === feature) {
|
55
60
|
return;
|
56
61
|
}
|
57
|
-
|
62
|
+
selectedRef.value = [];
|
58
63
|
} else if (feature) {
|
59
|
-
|
60
|
-
(r) => r.feature === feature,
|
61
|
-
|
64
|
+
selectedRef.value = [
|
65
|
+
items.value.findIndex((r) => r.feature === feature),
|
66
|
+
];
|
62
67
|
}
|
63
68
|
},
|
64
69
|
);
|
@@ -68,14 +73,16 @@
|
|
68
73
|
});
|
69
74
|
|
70
75
|
return {
|
76
|
+
items,
|
71
77
|
highlighted: computed({
|
72
78
|
get() {
|
73
|
-
return
|
79
|
+
return selectedRef.value;
|
74
80
|
},
|
75
81
|
set(value) {
|
76
|
-
|
77
|
-
|
78
|
-
|
82
|
+
selectedRef.value = value;
|
83
|
+
const [index] = value;
|
84
|
+
if (index >= 0) {
|
85
|
+
const item = items.value[index];
|
79
86
|
item.clicked();
|
80
87
|
}
|
81
88
|
},
|
@@ -85,8 +92,12 @@
|
|
85
92
|
};
|
86
93
|
</script>
|
87
94
|
|
88
|
-
<style scoped>
|
95
|
+
<style lang="scss" scoped>
|
89
96
|
.vcs-search-results {
|
90
97
|
max-height: 400px;
|
91
98
|
}
|
99
|
+
.vcs-search-result-border {
|
100
|
+
border-bottom: thin solid;
|
101
|
+
border-color: rgb(var(--v-theme-base-lighten-2));
|
102
|
+
}
|
92
103
|
</style>
|
@@ -8,7 +8,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
8
8
|
required: true;
|
9
9
|
};
|
10
10
|
}, {
|
11
|
-
|
11
|
+
items: import("vue").ComputedRef<any[]>;
|
12
|
+
highlighted: import("vue").WritableComputedRef<never[]>;
|
12
13
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
13
14
|
query: {
|
14
15
|
type: StringConstructor;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
<template>
|
2
2
|
<v-sheet>
|
3
3
|
<span class="d-flex justify-space-between align-center mt-1 ml-2">
|
4
|
-
<v-icon class="pa-1"> $vcsSearch </v-icon>
|
4
|
+
<v-icon class="pa-1" :size="itemHeight - 8"> $vcsSearch </v-icon>
|
5
5
|
<VcsTextField
|
6
6
|
class="d-inline-block user-select-none w-100 mx-1"
|
7
7
|
autofocus
|
8
8
|
:loading="searching"
|
9
9
|
clearable
|
10
|
-
dense
|
11
10
|
:placeholder="$t('search.placeholder')"
|
12
11
|
v-model.trim="query"
|
13
12
|
@keydown.enter="search"
|
14
13
|
@input="reset"
|
14
|
+
@click:clear="reset"
|
15
15
|
/>
|
16
16
|
</span>
|
17
17
|
<v-divider class="mt-1 base-darken-1" v-if="!!results.length" />
|
@@ -26,18 +26,8 @@
|
|
26
26
|
</template>
|
27
27
|
|
28
28
|
<style lang="scss" scoped>
|
29
|
-
:deep(.v-
|
30
|
-
|
31
|
-
padding: 0 !important;
|
32
|
-
}
|
33
|
-
fieldset,
|
34
|
-
input {
|
35
|
-
border-color: transparent !important;
|
36
|
-
}
|
37
|
-
}
|
38
|
-
:deep(.v-icon .v-icon__component) {
|
39
|
-
width: 16px;
|
40
|
-
height: 16px;
|
29
|
+
:deep(.v-field .v-field__outline *) {
|
30
|
+
border-color: transparent !important;
|
41
31
|
}
|
42
32
|
.user-select-none {
|
43
33
|
user-select: none;
|
@@ -51,6 +41,7 @@
|
|
51
41
|
import VcsTextField from '../components/form-inputs-controls/VcsTextField.vue';
|
52
42
|
import ResultsComponent from './ResultsComponent.vue';
|
53
43
|
import VcsFormButton from '../components/buttons/VcsFormButton.vue';
|
44
|
+
import { useItemHeight } from '../vuePlugins/vuetify.js';
|
54
45
|
|
55
46
|
/**
|
56
47
|
* @description Stylized search component providing an input field for search inputs.
|
@@ -103,6 +94,8 @@
|
|
103
94
|
clear();
|
104
95
|
});
|
105
96
|
|
97
|
+
const itemHeight = useItemHeight();
|
98
|
+
|
106
99
|
return {
|
107
100
|
query,
|
108
101
|
searching,
|
@@ -111,6 +104,7 @@
|
|
111
104
|
clear,
|
112
105
|
search,
|
113
106
|
zoomToAll,
|
107
|
+
itemHeight,
|
114
108
|
};
|
115
109
|
},
|
116
110
|
};
|
@@ -6,5 +6,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
6
6
|
clear: () => void;
|
7
7
|
search: () => Promise<void>;
|
8
8
|
zoomToAll: () => void;
|
9
|
+
itemHeight: import("vue").ComputedRef<number>;
|
9
10
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
|
10
11
|
export default _default;
|
package/src/siteConfig.js
CHANGED
@@ -44,25 +44,25 @@ const defaultHeaderTitle = 'VC Map';
|
|
44
44
|
* @returns {() => void}
|
45
45
|
*/
|
46
46
|
export default function createSiteConfig(uiConfig) {
|
47
|
-
if (typeof uiConfig.config.
|
48
|
-
setFavicon(uiConfig.config.
|
47
|
+
if (typeof uiConfig.config.favicon === 'string') {
|
48
|
+
setFavicon(uiConfig.config.favicon);
|
49
49
|
}
|
50
50
|
|
51
|
-
if (typeof uiConfig.config.
|
52
|
-
setHeaderTitle(uiConfig.config.
|
51
|
+
if (typeof uiConfig.config.headerTitle === 'string') {
|
52
|
+
setHeaderTitle(uiConfig.config.headerTitle);
|
53
53
|
}
|
54
54
|
|
55
55
|
const updateFavicon = () => {
|
56
|
-
if (typeof uiConfig.config.
|
57
|
-
setFavicon(uiConfig.config.
|
56
|
+
if (typeof uiConfig.config.favicon === 'string') {
|
57
|
+
setFavicon(uiConfig.config.favicon);
|
58
58
|
} else {
|
59
59
|
setFavicon(defaultFavicon);
|
60
60
|
}
|
61
61
|
};
|
62
62
|
|
63
63
|
const updateHeaderTitle = () => {
|
64
|
-
if (typeof uiConfig.config.
|
65
|
-
setHeaderTitle(uiConfig.config.
|
64
|
+
if (typeof uiConfig.config.headerTitle === 'string') {
|
65
|
+
setHeaderTitle(uiConfig.config.headerTitle);
|
66
66
|
} else {
|
67
67
|
setHeaderTitle(defaultHeaderTitle);
|
68
68
|
}
|
package/src/styles/main.scss
CHANGED
package/src/uiConfig.d.ts
CHANGED
@@ -88,6 +88,50 @@ export type UiConfigObject = {
|
|
88
88
|
* - an optional flag whether to show the Locator in the map.
|
89
89
|
*/
|
90
90
|
showLocator?: boolean | undefined;
|
91
|
+
/**
|
92
|
+
* - can be used to hide the default Header of the map
|
93
|
+
*/
|
94
|
+
hideHeader?: boolean | undefined;
|
95
|
+
/**
|
96
|
+
* - can be used to hide the integrated Search bar
|
97
|
+
*/
|
98
|
+
hideSearch?: boolean | undefined;
|
99
|
+
/**
|
100
|
+
* - can be used to hide the default Map Buttons
|
101
|
+
*/
|
102
|
+
hideMapButtons?: boolean | undefined;
|
103
|
+
/**
|
104
|
+
* - can be used to hide the toolbox
|
105
|
+
*/
|
106
|
+
hideToolbox?: boolean | undefined;
|
107
|
+
/**
|
108
|
+
* - can be used to hide the navigation
|
109
|
+
*/
|
110
|
+
hideMapNavigation?: boolean | undefined;
|
111
|
+
/**
|
112
|
+
* - can be used to hide the footer
|
113
|
+
*/
|
114
|
+
hideFooter?: boolean | undefined;
|
115
|
+
/**
|
116
|
+
* - can be used to hide the myWorkspace button
|
117
|
+
*/
|
118
|
+
hideMyWorkspace?: boolean | undefined;
|
119
|
+
/**
|
120
|
+
* - can be used to hide the contentTree
|
121
|
+
*/
|
122
|
+
hideContentTree?: boolean | undefined;
|
123
|
+
/**
|
124
|
+
* - can be used to hide the legend
|
125
|
+
*/
|
126
|
+
hideLegend?: boolean | undefined;
|
127
|
+
/**
|
128
|
+
* - can be used to hide the settings Window
|
129
|
+
*/
|
130
|
+
hideSettings?: boolean | undefined;
|
131
|
+
/**
|
132
|
+
* - can be used to activate the overviewMap on startup
|
133
|
+
*/
|
134
|
+
overviewMapActiveOnStartup?: boolean | undefined;
|
91
135
|
/**
|
92
136
|
* - the display quality settings
|
93
137
|
*/
|
@@ -146,6 +190,17 @@ export type UiConfigObject = {
|
|
146
190
|
* @property {string} [favicon] - the favicon to set
|
147
191
|
* @property {string} [headerTitle] - the title to display in the tab of the browser
|
148
192
|
* @property {boolean} [showLocator] - an optional flag whether to show the Locator in the map.
|
193
|
+
* @property {boolean} [hideHeader] - can be used to hide the default Header of the map
|
194
|
+
* @property {boolean} [hideSearch] - can be used to hide the integrated Search bar
|
195
|
+
* @property {boolean} [hideMapButtons] - can be used to hide the default Map Buttons
|
196
|
+
* @property {boolean} [hideToolbox] - can be used to hide the toolbox
|
197
|
+
* @property {boolean} [hideMapNavigation] - can be used to hide the navigation
|
198
|
+
* @property {boolean} [hideFooter] - can be used to hide the footer
|
199
|
+
* @property {boolean} [hideMyWorkspace] - can be used to hide the myWorkspace button
|
200
|
+
* @property {boolean} [hideContentTree] - can be used to hide the contentTree
|
201
|
+
* @property {boolean} [hideLegend] - can be used to hide the legend
|
202
|
+
* @property {boolean} [hideSettings] - can be used to hide the settings Window
|
203
|
+
* @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
|
149
204
|
* @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
|
150
205
|
*/
|
151
206
|
/**
|
@@ -157,20 +212,260 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
|
|
157
212
|
*/
|
158
213
|
constructor(getDynamicModuleId: () => string);
|
159
214
|
/**
|
160
|
-
* @type {import("vue").
|
215
|
+
* @type {import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>}
|
161
216
|
* @private
|
162
217
|
*/
|
163
218
|
private _config;
|
219
|
+
/**
|
220
|
+
* @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
|
221
|
+
*/
|
222
|
+
_readonlyConfig: import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<{
|
223
|
+
[x: string]: any;
|
224
|
+
} & UiConfigObject>>;
|
164
225
|
/**
|
165
226
|
* @type {Array<function():void>}
|
166
227
|
* @private
|
167
228
|
*/
|
168
229
|
private _listeners;
|
169
230
|
/**
|
170
|
-
* @type {import("vue").
|
231
|
+
* @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
|
171
232
|
*/
|
172
|
-
get config():
|
173
|
-
[x: string]:
|
174
|
-
|
233
|
+
get config(): {
|
234
|
+
readonly [x: string]: any;
|
235
|
+
/**
|
236
|
+
* - the company logo to display. this will override any and all css overrides.
|
237
|
+
*/
|
238
|
+
readonly logo?: string | undefined;
|
239
|
+
/**
|
240
|
+
* - an alternative logo to display in mobile view
|
241
|
+
*/
|
242
|
+
readonly mobileLogo?: string | undefined;
|
243
|
+
/**
|
244
|
+
* - an optional title to display next to the company logo
|
245
|
+
*/
|
246
|
+
readonly appTitle?: string | undefined;
|
247
|
+
/**
|
248
|
+
* - an optional primary color to use in all themes
|
249
|
+
*/
|
250
|
+
readonly primaryColor?: string | undefined;
|
251
|
+
/**
|
252
|
+
* - an optional flag whether to activate feature info on startup (default active)
|
253
|
+
*/
|
254
|
+
readonly startingFeatureInfo?: boolean | undefined;
|
255
|
+
/**
|
256
|
+
* - mouse event, when position display is updated. Either 'click' (default) or 'move'.
|
257
|
+
*/
|
258
|
+
readonly positionDisplayEventType?: string | undefined;
|
259
|
+
/**
|
260
|
+
* - an optional URL to a help landing page
|
261
|
+
*/
|
262
|
+
readonly helpBaseUrl?: string | undefined;
|
263
|
+
/**
|
264
|
+
* - an option imprint, will show a link in the footer. Default title is 'footer.imprint.title'.
|
265
|
+
*/
|
266
|
+
readonly imprint?: {
|
267
|
+
readonly title?: string | undefined;
|
268
|
+
readonly url?: string | {
|
269
|
+
readonly hash: string;
|
270
|
+
readonly host: string;
|
271
|
+
readonly hostname: string;
|
272
|
+
readonly href: string;
|
273
|
+
readonly toString: () => string;
|
274
|
+
readonly origin: string;
|
275
|
+
readonly password: string;
|
276
|
+
readonly pathname: string;
|
277
|
+
readonly port: string;
|
278
|
+
readonly protocol: string;
|
279
|
+
readonly search: string;
|
280
|
+
readonly searchParams: ReadonlyMap<string, string | null>;
|
281
|
+
readonly username: string;
|
282
|
+
readonly toJSON: () => string;
|
283
|
+
} | undefined;
|
284
|
+
readonly content?: string | undefined;
|
285
|
+
} | undefined;
|
286
|
+
/**
|
287
|
+
* - an option dataProtection, will show a link in the footer. Default title is 'footer.dataProtection.title'.
|
288
|
+
*/
|
289
|
+
readonly dataProtection?: {
|
290
|
+
readonly title?: string | undefined;
|
291
|
+
readonly url?: string | {
|
292
|
+
readonly hash: string;
|
293
|
+
readonly host: string;
|
294
|
+
readonly hostname: string;
|
295
|
+
readonly href: string;
|
296
|
+
readonly toString: () => string;
|
297
|
+
readonly origin: string;
|
298
|
+
readonly password: string;
|
299
|
+
readonly pathname: string;
|
300
|
+
readonly port: string;
|
301
|
+
readonly protocol: string;
|
302
|
+
readonly search: string;
|
303
|
+
readonly searchParams: ReadonlyMap<string, string | null>;
|
304
|
+
readonly username: string;
|
305
|
+
readonly toJSON: () => string;
|
306
|
+
} | undefined;
|
307
|
+
readonly content?: string | undefined;
|
308
|
+
} | undefined;
|
309
|
+
/**
|
310
|
+
* - an option splashScreen, will show a splash Screen on Map Load.
|
311
|
+
*/
|
312
|
+
readonly splashScreen?: {
|
313
|
+
readonly title?: string | undefined;
|
314
|
+
readonly icon?: string | undefined;
|
315
|
+
readonly content?: string | undefined;
|
316
|
+
readonly name?: string | undefined;
|
317
|
+
readonly checkBoxText?: string | undefined;
|
318
|
+
readonly buttonTitle?: string | undefined;
|
319
|
+
readonly menuEntry?: boolean | undefined;
|
320
|
+
readonly acceptInput?: boolean | undefined;
|
321
|
+
readonly position?: {
|
322
|
+
readonly width?: string | undefined;
|
323
|
+
readonly height?: string | undefined;
|
324
|
+
readonly maxHeight?: string | undefined;
|
325
|
+
readonly maxWidth?: string | undefined;
|
326
|
+
} | undefined;
|
327
|
+
} | undefined;
|
328
|
+
/**
|
329
|
+
* - an option customScreen, will show a Custom Menu Point that opens a window with custom content.
|
330
|
+
*/
|
331
|
+
readonly customScreen?: {
|
332
|
+
readonly title?: string | undefined;
|
333
|
+
readonly icon?: string | undefined;
|
334
|
+
readonly content?: string | undefined;
|
335
|
+
readonly name?: string | undefined;
|
336
|
+
readonly windowPosition?: {
|
337
|
+
/**
|
338
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
339
|
+
*/
|
340
|
+
readonly left?: string | number | undefined;
|
341
|
+
/**
|
342
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
343
|
+
*/
|
344
|
+
readonly top?: string | number | undefined;
|
345
|
+
/**
|
346
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
347
|
+
*/
|
348
|
+
readonly right?: string | number | undefined;
|
349
|
+
/**
|
350
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
351
|
+
*/
|
352
|
+
readonly bottom?: string | number | undefined;
|
353
|
+
/**
|
354
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
355
|
+
*/
|
356
|
+
readonly width?: string | number | undefined;
|
357
|
+
/**
|
358
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
359
|
+
*/
|
360
|
+
readonly height?: string | number | undefined;
|
361
|
+
/**
|
362
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
363
|
+
*/
|
364
|
+
readonly maxHeight?: string | number | undefined;
|
365
|
+
/**
|
366
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
367
|
+
*/
|
368
|
+
readonly maxWidth?: string | number | undefined;
|
369
|
+
/**
|
370
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
371
|
+
*/
|
372
|
+
readonly minHeight?: string | number | undefined;
|
373
|
+
/**
|
374
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
375
|
+
*/
|
376
|
+
readonly minWidth?: string | number | undefined;
|
377
|
+
} | undefined;
|
378
|
+
} | undefined;
|
379
|
+
/**
|
380
|
+
* - the favicon to set
|
381
|
+
*/
|
382
|
+
readonly favicon?: string | undefined;
|
383
|
+
/**
|
384
|
+
* - the title to display in the tab of the browser
|
385
|
+
*/
|
386
|
+
readonly headerTitle?: string | undefined;
|
387
|
+
/**
|
388
|
+
* - an optional flag whether to show the Locator in the map.
|
389
|
+
*/
|
390
|
+
readonly showLocator?: boolean | undefined;
|
391
|
+
/**
|
392
|
+
* - can be used to hide the default Header of the map
|
393
|
+
*/
|
394
|
+
readonly hideHeader?: boolean | undefined;
|
395
|
+
/**
|
396
|
+
* - can be used to hide the integrated Search bar
|
397
|
+
*/
|
398
|
+
readonly hideSearch?: boolean | undefined;
|
399
|
+
/**
|
400
|
+
* - can be used to hide the default Map Buttons
|
401
|
+
*/
|
402
|
+
readonly hideMapButtons?: boolean | undefined;
|
403
|
+
/**
|
404
|
+
* - can be used to hide the toolbox
|
405
|
+
*/
|
406
|
+
readonly hideToolbox?: boolean | undefined;
|
407
|
+
/**
|
408
|
+
* - can be used to hide the navigation
|
409
|
+
*/
|
410
|
+
readonly hideMapNavigation?: boolean | undefined;
|
411
|
+
/**
|
412
|
+
* - can be used to hide the footer
|
413
|
+
*/
|
414
|
+
readonly hideFooter?: boolean | undefined;
|
415
|
+
/**
|
416
|
+
* - can be used to hide the myWorkspace button
|
417
|
+
*/
|
418
|
+
readonly hideMyWorkspace?: boolean | undefined;
|
419
|
+
/**
|
420
|
+
* - can be used to hide the contentTree
|
421
|
+
*/
|
422
|
+
readonly hideContentTree?: boolean | undefined;
|
423
|
+
/**
|
424
|
+
* - can be used to hide the legend
|
425
|
+
*/
|
426
|
+
readonly hideLegend?: boolean | undefined;
|
427
|
+
/**
|
428
|
+
* - can be used to hide the settings Window
|
429
|
+
*/
|
430
|
+
readonly hideSettings?: boolean | undefined;
|
431
|
+
/**
|
432
|
+
* - can be used to activate the overviewMap on startup
|
433
|
+
*/
|
434
|
+
readonly overviewMapActiveOnStartup?: boolean | undefined;
|
435
|
+
/**
|
436
|
+
* - the display quality settings
|
437
|
+
*/
|
438
|
+
readonly displayQuality?: {
|
439
|
+
readonly startingQualityLevel?: import("@vcmap/core").DisplayQualityLevel | undefined;
|
440
|
+
readonly startingMobileQualityLevel?: import("@vcmap/core").DisplayQualityLevel | undefined;
|
441
|
+
readonly low?: {
|
442
|
+
readonly sse?: number | undefined;
|
443
|
+
readonly fxaa?: boolean | undefined;
|
444
|
+
readonly fogEnabled?: boolean | undefined;
|
445
|
+
readonly fogDensity?: number | undefined;
|
446
|
+
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
447
|
+
readonly resolutionScale?: number | undefined;
|
448
|
+
readonly layerSSEFactor?: number | undefined;
|
449
|
+
} | undefined;
|
450
|
+
readonly medium?: {
|
451
|
+
readonly sse?: number | undefined;
|
452
|
+
readonly fxaa?: boolean | undefined;
|
453
|
+
readonly fogEnabled?: boolean | undefined;
|
454
|
+
readonly fogDensity?: number | undefined;
|
455
|
+
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
456
|
+
readonly resolutionScale?: number | undefined;
|
457
|
+
readonly layerSSEFactor?: number | undefined;
|
458
|
+
} | undefined;
|
459
|
+
readonly high?: {
|
460
|
+
readonly sse?: number | undefined;
|
461
|
+
readonly fxaa?: boolean | undefined;
|
462
|
+
readonly fogEnabled?: boolean | undefined;
|
463
|
+
readonly fogDensity?: number | undefined;
|
464
|
+
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
465
|
+
readonly resolutionScale?: number | undefined;
|
466
|
+
readonly layerSSEFactor?: number | undefined;
|
467
|
+
} | undefined;
|
468
|
+
} | undefined;
|
469
|
+
};
|
175
470
|
}
|
176
471
|
import { Collection } from '@vcmap/core';
|