@vcmap/ui 6.0.0-rc.2 → 6.0.0-rc.3
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/build.js +40 -60
- package/build/buildHelpers.js +2 -8
- package/build/info/conf.json +1 -1
- package/config/projects.config.json +2 -1
- package/config/splashscreen.config.json +45 -0
- package/dist/.htaccess +7 -0
- package/dist/assets/@mdi/font/README.md +25 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min-7a4f6be0.css +3 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.cbf44a.js → core-72f21835.js} +673 -641
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol.86e93c.js → ol-2d33bc8b.js} +42505 -44282
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-2ab43a16.css +1 -0
- package/dist/assets/{ui.7c276c.js → ui-2ab43a16.js} +12026 -12100
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.4d18fe.css → vuetify-760ced3b.css} +1 -1
- package/dist/assets/{vuetify.4d18fe.js → vuetify-760ced3b.js} +5720 -5662
- package/dist/assets/vuetify.js +1 -1
- package/dist/index.html +11 -10
- package/index.d.ts +7 -5
- package/index.html +5 -5
- package/index.js +3 -3
- package/lib/olLib.js +84 -23
- package/package.json +5 -5
- package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +70 -30
- package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
- package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +21 -8
- package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
- package/public/assets/@mdi/font/README.md +25 -0
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
- package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/src/actions/actionHelper.js +20 -20
- package/src/actions/flightActions.js +5 -5
- package/src/actions/listActions.d.ts +0 -7
- package/src/actions/listActions.js +4 -20
- package/src/actions/stateRefAction.js +2 -2
- package/src/application/VcsApp.vue +52 -27
- package/src/application/VcsApp.vue.d.ts +1 -0
- package/src/application/VcsAttributions.vue +2 -13
- package/src/application/VcsAttributionsFooter.vue +10 -11
- package/src/application/VcsPositionDisplay.vue +8 -23
- package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
- package/src/application/VcsSettings.vue +10 -17
- package/src/application/VcsSplashScreen.vue +25 -42
- package/src/application/VcsSplashScreen.vue.d.ts +0 -2
- package/src/application/VcsTextPage.vue +12 -43
- package/src/application/VcsTextPage.vue.d.ts +4 -8
- package/src/application/VcsTextPageFooter.vue +22 -40
- package/src/components/extent/VcsExtentEditor.vue +1 -1
- package/src/components/flight/VcsFlightAnchorsComponent.vue +63 -36
- package/src/components/flight/VcsFlightComponent.vue +16 -21
- package/src/components/flight/VcsFlightPlayer.vue +27 -5
- package/src/components/form-inputs-controls/VcsCheckbox.vue +9 -5
- package/src/components/form-inputs-controls/VcsCoordinate.vue +13 -1
- package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsDatePicker.vue +34 -60
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -63
- package/src/components/form-inputs-controls/VcsFileInput.vue +17 -18
- package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +17 -3
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +39 -27
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsSlider.vue +14 -1
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue +26 -22
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +6 -4
- package/src/components/form-inputs-controls/VcsWizardStep.vue +1 -1
- package/src/components/form-inputs-controls/vcsTextField.scss +8 -8
- package/src/components/form-output/VcsFormattedNumber.vue +15 -1
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +9 -0
- package/src/components/lists/VcsActionList.vue +7 -7
- package/src/components/lists/VcsList.vue +10 -17
- package/src/components/lists/VcsList.vue.d.ts +3 -7
- package/src/components/lists/VcsListItem.vue +51 -21
- package/src/components/lists/VcsListItem.vue.d.ts +11 -5
- package/src/components/section/VcsExpansionPanel.vue +101 -0
- package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
- package/src/components/style/MenuWrapper.vue +24 -26
- package/src/components/style/MenuWrapper.vue.d.ts +4 -4
- package/src/components/style/VcsFillMenu.vue +9 -16
- package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
- package/src/components/style/VcsFillSelector.vue +13 -16
- package/src/components/style/VcsImageMenu.vue +8 -25
- package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
- package/src/components/style/VcsImageSelector.vue +102 -167
- package/src/components/style/VcsImageSelector.vue.d.ts +15 -15
- package/src/components/style/VcsStrokeMenu.vue +8 -15
- package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
- package/src/components/style/VcsStrokeSelector.vue +11 -18
- package/src/components/style/VcsTextMenu.vue +9 -12
- package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
- package/src/components/style/VcsTextSelector.vue +79 -95
- package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
- package/src/components/style/VcsVectorStyleComponent.vue +7 -18
- package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
- package/src/components/style/composables.d.ts +0 -14
- package/src/components/style/composables.js +0 -49
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +39 -6
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
- package/src/components/viewpoint/VcsViewpointComponent.vue +21 -8
- package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/contentTreeItem.js +7 -7
- package/src/featureInfo/featureInfo.js +8 -10
- package/src/init.d.ts +5 -38
- package/src/init.js +19 -18
- package/src/legend/StyleLegendItem.vue +4 -9
- package/src/legend/VcsLegend.vue +28 -54
- package/src/manager/buttonManager.js +4 -4
- package/src/manager/collectionManager/CollectionComponent.vue +17 -42
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
- package/src/manager/collectionManager/CollectionComponentList.vue +10 -8
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
- package/src/manager/collectionManager/CollectionManager.vue +1 -1
- package/src/manager/collectionManager/collectionComponentClass.js +6 -9
- package/src/manager/collectionManager/collectionManager.js +10 -10
- package/src/manager/collectionManager/editorCollectionComponentClass.js +4 -4
- package/src/manager/contextMenu/contextMenuManager.js +2 -2
- package/src/manager/navbarManager.js +2 -2
- package/src/manager/panel/panelManager.js +3 -3
- package/src/manager/toolbox/toolboxManager.js +10 -10
- package/src/manager/window/windowManager.d.ts +2 -2
- package/src/manager/window/windowManager.js +4 -4
- package/src/search/search.js +2 -2
- package/src/siteConfig.js +1 -1
- package/src/state.js +4 -4
- package/src/vcsUiApp.d.ts +14 -10
- package/src/vcsUiApp.js +1 -1
- package/src/vuePlugins/vuetify.d.ts +2 -0
- package/src/vuePlugins/vuetify.js +11 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
- package/dist/assets/index-8eGauqjA.js +0 -1
- package/dist/assets/ui.7c276c.css +0 -1
- package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/src/application/VcsCustomScreen.vue +0 -45
- package/src/application/VcsCustomScreen.vue.d.ts +0 -15
- /package/dist/assets/{cesium.0b750d.js → cesium-cb4dbfba.js} +0 -0
- /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
- /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
- /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
- /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
- /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
- /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
- /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
- /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
- /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
- /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
- /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
- /package/dist/assets/{vue.a3cd64.js → vue-03b265aa.js} +0 -0
- /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
- /package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +0 -0
- /package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +0 -0
@@ -9,12 +9,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
9
9
|
selectable: any;
|
10
10
|
overflowCount: any;
|
11
11
|
actions: import("vue").ComputedRef<any>;
|
12
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
12
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "openList"[], "openList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
13
13
|
open: {
|
14
14
|
type: BooleanConstructor;
|
15
15
|
default: boolean;
|
16
16
|
};
|
17
|
-
}
|
17
|
+
}>> & {
|
18
|
+
onOpenList?: ((...args: any[]) => any) | undefined;
|
19
|
+
}, {
|
18
20
|
open: boolean;
|
19
21
|
}, {}>;
|
20
22
|
export default _default;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<template>
|
2
|
-
<v-container class="py-0 px-0">
|
2
|
+
<v-container class="py-0 px-0 collection-component-content">
|
3
3
|
<vcs-list
|
4
4
|
:items="items.slice(0, limit)"
|
5
5
|
:draggable="draggable"
|
@@ -36,13 +36,14 @@
|
|
36
36
|
* @vue-event {string} openList
|
37
37
|
*/
|
38
38
|
export default {
|
39
|
-
name: '
|
39
|
+
name: 'CollectionComponentContent',
|
40
40
|
components: {
|
41
41
|
VcsButton,
|
42
42
|
VcsList,
|
43
43
|
VSheet,
|
44
44
|
VContainer,
|
45
45
|
},
|
46
|
+
emits: ['openList'],
|
46
47
|
setup(_props, { emit }) {
|
47
48
|
/**
|
48
49
|
* @type {CollectionComponentClass}
|
@@ -89,12 +90,12 @@
|
|
89
90
|
<style lang="scss" scoped>
|
90
91
|
:deep(.v-list) {
|
91
92
|
.v-list-item {
|
92
|
-
padding:
|
93
|
+
padding-left: 24px;
|
94
|
+
padding-inline-start: 24px !important;
|
93
95
|
}
|
94
96
|
.v-list-item__selected {
|
95
|
-
|
96
|
-
|
97
|
-
padding-left: 24px !important;
|
97
|
+
padding-left: 20px !important;
|
98
|
+
padding-inline-start: 20px !important;
|
98
99
|
}
|
99
100
|
}
|
100
101
|
</style>
|
@@ -13,5 +13,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
13
13
|
targetIndex: any;
|
14
14
|
}): void;
|
15
15
|
openCollectionComponentList(): void;
|
16
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
16
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "openList"[], "openList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
|
17
|
+
onOpenList?: ((...args: any[]) => any) | undefined;
|
18
|
+
}, {}, {}>;
|
17
19
|
export default _default;
|
@@ -1,11 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<div>
|
3
|
-
<div
|
4
|
-
|
5
|
-
|
6
|
-
>
|
7
|
-
<div class="d-flex justify-space-between">
|
8
|
-
<div class="d-flex align-center gc-1 pl-2">
|
2
|
+
<div class="collection-component-list">
|
3
|
+
<div v-if="!hideHeader" class="pr-2 pl-4 py-1">
|
4
|
+
<div class="d-flex justify-space-between inner-header">
|
5
|
+
<div class="d-flex align-center gc-1">
|
9
6
|
<span>
|
10
7
|
{{ $st(title) }}
|
11
8
|
</span>
|
@@ -93,6 +90,7 @@
|
|
93
90
|
VcsList,
|
94
91
|
VSheet,
|
95
92
|
},
|
93
|
+
emits: ['closeList'],
|
96
94
|
setup(_props, { emit }) {
|
97
95
|
/**
|
98
96
|
* @type {import("./collectionComponentClass.js").CollectionComponentClass}
|
@@ -136,4 +134,8 @@
|
|
136
134
|
};
|
137
135
|
</script>
|
138
136
|
|
139
|
-
<style lang="scss" scoped
|
137
|
+
<style lang="scss" scoped>
|
138
|
+
.inner-header {
|
139
|
+
height: calc(var(--v-vcs-item-height) - 8px);
|
140
|
+
}
|
141
|
+
</style>
|
@@ -31,7 +31,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
31
31
|
targetIndex: any;
|
32
32
|
}): void;
|
33
33
|
closeList(): void;
|
34
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
34
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "closeList"[], "closeList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
35
35
|
showLessButton: {
|
36
36
|
type: BooleanConstructor;
|
37
37
|
default: boolean;
|
@@ -40,7 +40,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
40
40
|
type: BooleanConstructor;
|
41
41
|
default: boolean;
|
42
42
|
};
|
43
|
-
}
|
43
|
+
}>> & {
|
44
|
+
onCloseList?: ((...args: any[]) => any) | undefined;
|
45
|
+
}, {
|
44
46
|
hideHeader: boolean;
|
45
47
|
showLessButton: boolean;
|
46
48
|
}, {}>;
|
@@ -4,6 +4,7 @@
|
|
4
4
|
:header-actions="actions"
|
5
5
|
:action-button-list-overflow-count="overflowCount"
|
6
6
|
v-bind="{ ...$attrs }"
|
7
|
+
class="collection-component-standalone"
|
7
8
|
>
|
8
9
|
<collection-component-list
|
9
10
|
v-if="componentListView"
|
@@ -16,7 +17,7 @@
|
|
16
17
|
|
17
18
|
<script>
|
18
19
|
import { computed, getCurrentInstance, inject, ref } from 'vue';
|
19
|
-
import VcsFormSection from '../../components/
|
20
|
+
import VcsFormSection from '../../components/section/VcsFormSection.vue';
|
20
21
|
import { createSelectionActions } from '../../components/lists/VcsList.vue';
|
21
22
|
import CollectionComponentList from './CollectionComponentList.vue';
|
22
23
|
import CollectionComponentContent from './CollectionComponentContent.vue';
|
@@ -27,7 +28,7 @@
|
|
27
28
|
* The collectionComponent must be passed via {@link https://vuejs.org/api/composition-api-dependency-injection.html |provide }.
|
28
29
|
*/
|
29
30
|
export default {
|
30
|
-
name: '
|
31
|
+
name: 'CollectionComponentStandalone',
|
31
32
|
components: {
|
32
33
|
CollectionComponentList,
|
33
34
|
CollectionComponentContent,
|
@@ -3,13 +3,12 @@ import { getLogger } from '@vcsuite/logger';
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
4
4
|
import { computed, ref, shallowRef, watch } from 'vue';
|
5
5
|
import { parseBoolean, parseNumber } from '@vcsuite/parsers';
|
6
|
-
import { check } from '@vcsuite/check';
|
6
|
+
import { check, oneOf } from '@vcsuite/check';
|
7
7
|
import { validateAction } from '../../components/lists/VcsActionList.vue';
|
8
8
|
import { sortByWeight } from '../buttonManager.js';
|
9
9
|
import {
|
10
10
|
createListItemBulkAction,
|
11
11
|
createListItemDeleteAction,
|
12
|
-
createListItemRenameAction,
|
13
12
|
} from '../../actions/listActions.js';
|
14
13
|
import { sortByOwner } from '../navbarManager.js';
|
15
14
|
|
@@ -56,7 +55,7 @@ function destroyListItem(listItem) {
|
|
56
55
|
/**
|
57
56
|
* Renames the title of an item for VcsObject based items.
|
58
57
|
* @param {import("@vcmap/core").VcsObject} item
|
59
|
-
* @param {import("../../components/lists/VcsList").VcsListItem} listItem
|
58
|
+
* @param {import("../../components/lists/VcsList.vue").VcsListItem} listItem
|
60
59
|
* @param {string} newTitle
|
61
60
|
*/
|
62
61
|
function titleChanged(item, listItem, newTitle) {
|
@@ -77,7 +76,7 @@ export function createSupportedMapMappingFunction(
|
|
77
76
|
supportedMaps,
|
78
77
|
mapCollection,
|
79
78
|
) {
|
80
|
-
check(supportedMaps, [
|
79
|
+
check(supportedMaps, oneOf([String], Function));
|
81
80
|
|
82
81
|
return (item, _c, listItem) => {
|
83
82
|
const mapNames =
|
@@ -359,11 +358,9 @@ class CollectionComponentClass {
|
|
359
358
|
destroyFunctions: [],
|
360
359
|
};
|
361
360
|
if (this.renamable.value) {
|
362
|
-
listItem.
|
363
|
-
|
364
|
-
|
365
|
-
}),
|
366
|
-
);
|
361
|
+
listItem.renamable = {
|
362
|
+
name: this._actionTitles.renameTitle,
|
363
|
+
};
|
367
364
|
listItem.titleChanged = (newTitle) =>
|
368
365
|
titleChanged(item, listItem, newTitle);
|
369
366
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { VcsEvent, Collection } from '@vcmap/core';
|
2
2
|
import { reactive } from 'vue';
|
3
|
-
import { check,
|
3
|
+
import { check, maybe, oneOf } from '@vcsuite/check';
|
4
4
|
import { validateActions } from '../../components/lists/VcsActionList.vue';
|
5
5
|
import CollectionComponentClass from './collectionComponentClass.js';
|
6
6
|
|
@@ -133,7 +133,7 @@ class CollectionManager {
|
|
133
133
|
*/
|
134
134
|
add(collectionComponentOptions, owner) {
|
135
135
|
check(collectionComponentOptions, { collection: Collection });
|
136
|
-
check(owner,
|
136
|
+
check(owner, oneOf(String, Symbol));
|
137
137
|
|
138
138
|
if (
|
139
139
|
collectionComponentOptions.id &&
|
@@ -220,9 +220,9 @@ class CollectionManager {
|
|
220
220
|
owner,
|
221
221
|
collectionComponentIds = [],
|
222
222
|
) {
|
223
|
-
|
223
|
+
check(predicate, maybe(Function));
|
224
224
|
check(mappingFunction, Function);
|
225
|
-
check(owner,
|
225
|
+
check(owner, oneOf(String, Symbol));
|
226
226
|
check(collectionComponentIds, [String]);
|
227
227
|
|
228
228
|
/** @type {ItemMapping} */
|
@@ -260,7 +260,7 @@ class CollectionManager {
|
|
260
260
|
*/
|
261
261
|
removeMappingFunction(mappingFunction, owner) {
|
262
262
|
check(mappingFunction, Function);
|
263
|
-
check(owner,
|
263
|
+
check(owner, oneOf(String, Symbol));
|
264
264
|
|
265
265
|
[...this._collectionComponents.values()].forEach((collectionComponent) => {
|
266
266
|
collectionComponent.removeItemMapping({ mappingFunction, owner });
|
@@ -279,7 +279,7 @@ class CollectionManager {
|
|
279
279
|
*/
|
280
280
|
addFilterFunction(filterFunction, owner, collectionComponentIds = []) {
|
281
281
|
check(filterFunction, Function);
|
282
|
-
check(owner,
|
282
|
+
check(owner, oneOf(String, Symbol));
|
283
283
|
check(collectionComponentIds, [String]);
|
284
284
|
|
285
285
|
/** @type {ItemFilter} */
|
@@ -316,7 +316,7 @@ class CollectionManager {
|
|
316
316
|
*/
|
317
317
|
removeFilterFunction(filterFunction, owner) {
|
318
318
|
check(filterFunction, Function);
|
319
|
-
check(owner,
|
319
|
+
check(owner, oneOf(String, Symbol));
|
320
320
|
|
321
321
|
[...this._collectionComponents.values()].forEach((collectionComponent) => {
|
322
322
|
collectionComponent.removeItemFilter({ filterFunction, owner });
|
@@ -334,7 +334,7 @@ class CollectionManager {
|
|
334
334
|
* @param {Array<string>} [collectionComponentIds] list of collectionComponents this mappingFunction should be used on. If empty, actions are applied to all managed collectionComponents.
|
335
335
|
*/
|
336
336
|
addActions(actions, owner, collectionComponentIds = []) {
|
337
|
-
check(owner,
|
337
|
+
check(owner, oneOf(String, Symbol));
|
338
338
|
check(collectionComponentIds, [String]);
|
339
339
|
|
340
340
|
if (!validateActions(actions)) {
|
@@ -367,7 +367,7 @@ class CollectionManager {
|
|
367
367
|
* @param {string | symbol} owner
|
368
368
|
*/
|
369
369
|
removeActions(actions, owner) {
|
370
|
-
check(owner,
|
370
|
+
check(owner, oneOf(String, Symbol));
|
371
371
|
|
372
372
|
const idx = this._itemActions.findIndex((a) => a.actions === actions);
|
373
373
|
if (idx > -1) {
|
@@ -386,7 +386,7 @@ class CollectionManager {
|
|
386
386
|
* @param {string | symbol} owner
|
387
387
|
*/
|
388
388
|
removeOwner(owner) {
|
389
|
-
check(owner,
|
389
|
+
check(owner, oneOf(String, Symbol));
|
390
390
|
|
391
391
|
[...this._collectionComponents.values()].forEach((collectionComponent) => {
|
392
392
|
if (collectionComponent.owner === owner) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { nextTick, reactive, watch } from 'vue';
|
2
|
-
import { check,
|
2
|
+
import { check, maybe, oneOf } from '@vcsuite/check';
|
3
3
|
import { WindowSlot } from '../window/windowManager.js';
|
4
4
|
import CollectionComponentClass from './collectionComponentClass.js';
|
5
5
|
import { createListEditAction } from '../../actions/listActions.js';
|
@@ -65,9 +65,9 @@ export function makeEditorCollectionComponentClass(
|
|
65
65
|
parentId = 'category-manager',
|
66
66
|
) {
|
67
67
|
check(collectionComponent, CollectionComponentClass);
|
68
|
-
check(editingOptions.editor,
|
69
|
-
|
70
|
-
|
68
|
+
check(editingOptions.editor, oneOf(Object, Function));
|
69
|
+
check(editingOptions.multiEditor, maybe(Object));
|
70
|
+
check(editingOptions.predicate, maybe(Function));
|
71
71
|
|
72
72
|
const editorCollectionComponent =
|
73
73
|
/** @type {EditorCollectionComponentClass} */ collectionComponent;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { CesiumMap, BaseOLMap, VcsEvent } from '@vcmap/core';
|
2
2
|
import { unByKey } from 'ol/Observable.js';
|
3
|
-
import { check } from '@vcsuite/check';
|
3
|
+
import { check, oneOf } from '@vcsuite/check';
|
4
4
|
import ContextMenuInteraction from './contextMenuInteraction.js';
|
5
5
|
import { vcsAppSymbol } from '../../pluginHelper.js';
|
6
6
|
import { validateAction } from '../../components/lists/VcsActionList.vue';
|
@@ -176,7 +176,7 @@ class ContextMenuManager {
|
|
176
176
|
*/
|
177
177
|
addEventHandler(handler, owner) {
|
178
178
|
check(handler, Function);
|
179
|
-
check(owner,
|
179
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
180
180
|
|
181
181
|
this._ensureInteraction();
|
182
182
|
this._eventHandlers.push({ owner, handler });
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { check } from '@vcsuite/check';
|
1
|
+
import { check, ofEnum } from '@vcsuite/check';
|
2
2
|
import ButtonManager, { sortByWeight } from './buttonManager.js';
|
3
3
|
import { vcsAppSymbol } from '../pluginHelper.js';
|
4
4
|
|
@@ -89,7 +89,7 @@ class NavbarManager extends ButtonManager {
|
|
89
89
|
* @returns {import("./buttonManager.js").ButtonComponent}
|
90
90
|
*/
|
91
91
|
add(buttonComponentOptions, owner, location) {
|
92
|
-
check(location,
|
92
|
+
check(location, ofEnum(ButtonLocation));
|
93
93
|
const buttonComponent = super.add(buttonComponentOptions, owner);
|
94
94
|
buttonComponent[locationSymbol] = location;
|
95
95
|
return buttonComponent;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { reactive } from 'vue';
|
2
2
|
import { VcsEvent } from '@vcmap/core';
|
3
|
-
import { check } from '@vcsuite/check';
|
3
|
+
import { check, ofEnum, oneOf } from '@vcsuite/check';
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
5
5
|
import { parseBoolean } from '@vcsuite/parsers';
|
6
6
|
import { vcsAppSymbol } from '../../pluginHelper.js';
|
@@ -279,8 +279,8 @@ class PanelManager {
|
|
279
279
|
* @returns {PanelComponent}
|
280
280
|
*/
|
281
281
|
add(panelComponentOptions, owner, location) {
|
282
|
-
check(owner,
|
283
|
-
check(location,
|
282
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
283
|
+
check(location, ofEnum(PanelLocation));
|
284
284
|
|
285
285
|
const id = panelComponentOptions.id || uuidv4();
|
286
286
|
const { component, position: panelPosition } = panelComponentOptions;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { VcsEvent } from '@vcmap/core';
|
2
|
-
import { check,
|
2
|
+
import { check, maybe, ofEnum, oneOf, optional } from '@vcsuite/check';
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
4
4
|
import { reactive, shallowReactive } from 'vue';
|
5
5
|
import { vcsAppSymbol } from '../../pluginHelper.js';
|
@@ -230,7 +230,7 @@ class ToolboxManager {
|
|
230
230
|
}
|
231
231
|
|
232
232
|
set toolboxName(name) {
|
233
|
-
check(name,
|
233
|
+
check(name, oneOf(String, defaultToolboxName));
|
234
234
|
|
235
235
|
if (this._toolboxName !== name) {
|
236
236
|
this._toolboxName = name;
|
@@ -285,9 +285,9 @@ class ToolboxManager {
|
|
285
285
|
* @returns {SingleToolboxComponent|SelectToolboxComponent|import("vue").ShallowReactive<GroupToolboxComponent>}
|
286
286
|
*/
|
287
287
|
add(toolboxComponentOptions, owner) {
|
288
|
-
|
289
|
-
check(toolboxComponentOptions.type,
|
290
|
-
check(owner,
|
288
|
+
check(toolboxComponentOptions.id, maybe(String));
|
289
|
+
check(toolboxComponentOptions.type, ofEnum(ToolboxType));
|
290
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
291
291
|
|
292
292
|
if (toolboxComponentOptions.id && this.has(toolboxComponentOptions.id)) {
|
293
293
|
throw new Error(
|
@@ -335,13 +335,13 @@ class ToolboxManager {
|
|
335
335
|
...ActionPattern,
|
336
336
|
selected: Function,
|
337
337
|
currentIndex: Number,
|
338
|
-
disabled:
|
338
|
+
disabled: optional(Boolean),
|
339
339
|
tools: [
|
340
340
|
{
|
341
341
|
name: String,
|
342
|
-
title:
|
342
|
+
title: optional(String),
|
343
343
|
icon: String,
|
344
|
-
disabled:
|
344
|
+
disabled: optional(Boolean),
|
345
345
|
},
|
346
346
|
],
|
347
347
|
});
|
@@ -357,8 +357,8 @@ class ToolboxManager {
|
|
357
357
|
};
|
358
358
|
} else {
|
359
359
|
check(toolboxComponentOptions.icon, String);
|
360
|
-
|
361
|
-
|
360
|
+
check(toolboxComponentOptions.title, maybe(String));
|
361
|
+
check(toolboxComponentOptions.disabled, maybe(Boolean));
|
362
362
|
const {
|
363
363
|
icon,
|
364
364
|
title = undefined,
|
@@ -19,7 +19,7 @@ export function isSlotPosition(windowPosition: WindowPosition): boolean;
|
|
19
19
|
* headerComponent?: import("vue").Component<T, unknown, unknown>,
|
20
20
|
* state? : Partial<WindowState>,
|
21
21
|
* position? : Partial<WindowPositionOptions>,
|
22
|
-
* slot
|
22
|
+
* slot?: WindowSlot,
|
23
23
|
* props?: T,
|
24
24
|
* provides?: Record<string, unknown>
|
25
25
|
* }} WindowComponentOptions
|
@@ -136,7 +136,7 @@ export type WindowComponentOptions<T extends Object = Object> = {
|
|
136
136
|
headerComponent?: import("vue").Component<T, unknown, unknown>;
|
137
137
|
state?: Partial<WindowState>;
|
138
138
|
position?: Partial<WindowPositionOptions>;
|
139
|
-
slot
|
139
|
+
slot?: WindowSlot;
|
140
140
|
props?: T;
|
141
141
|
provides?: Record<string, unknown>;
|
142
142
|
};
|
@@ -2,7 +2,7 @@ import { computed, reactive, ref } from 'vue';
|
|
2
2
|
import { VcsEvent } from '@vcmap/core';
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
4
4
|
import { parseEnumValue } from '@vcsuite/parsers';
|
5
|
-
import { check } from '@vcsuite/check';
|
5
|
+
import { check, oneOf } from '@vcsuite/check';
|
6
6
|
import { vcsAppSymbol } from '../../pluginHelper.js';
|
7
7
|
|
8
8
|
/**
|
@@ -109,7 +109,7 @@ export function isSlotPosition(windowPosition) {
|
|
109
109
|
* headerComponent?: import("vue").Component<T, unknown, unknown>,
|
110
110
|
* state? : Partial<WindowState>,
|
111
111
|
* position? : Partial<WindowPositionOptions>,
|
112
|
-
* slot
|
112
|
+
* slot?: WindowSlot,
|
113
113
|
* props?: T,
|
114
114
|
* provides?: Record<string, unknown>
|
115
115
|
* }} WindowComponentOptions
|
@@ -563,7 +563,7 @@ class WindowManager {
|
|
563
563
|
* @returns {WindowComponent}
|
564
564
|
*/
|
565
565
|
add(windowComponentOptions, owner) {
|
566
|
-
check(owner,
|
566
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
567
567
|
|
568
568
|
if (
|
569
569
|
windowComponentOptions.id &&
|
@@ -747,7 +747,7 @@ class WindowManager {
|
|
747
747
|
*/
|
748
748
|
addExternalIdToZIndex(id, owner) {
|
749
749
|
check(id, String);
|
750
|
-
check(owner,
|
750
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
751
751
|
|
752
752
|
if (this.has(id)) {
|
753
753
|
throw new Error(`Id ${id} already belongs to a window id`);
|
package/src/search/search.js
CHANGED
@@ -10,7 +10,7 @@ import {
|
|
10
10
|
Viewpoint,
|
11
11
|
} from '@vcmap/core';
|
12
12
|
import { shallowRef } from 'vue';
|
13
|
-
import { check } from '@vcsuite/check';
|
13
|
+
import { check, oneOf } from '@vcsuite/check';
|
14
14
|
import { Icon } from 'ol/style.js';
|
15
15
|
import { getLogger } from '@vcsuite/logger';
|
16
16
|
import { vcsAppSymbol } from '../pluginHelper.js';
|
@@ -183,7 +183,7 @@ class Search extends IndexedCollection {
|
|
183
183
|
* @param {number=} index
|
184
184
|
*/
|
185
185
|
add(item, owner, index) {
|
186
|
-
check(owner,
|
186
|
+
check(owner, oneOf(String, vcsAppSymbol));
|
187
187
|
check(item.search, Function);
|
188
188
|
|
189
189
|
item[searchImplOwnerSymbol] = owner;
|
package/src/siteConfig.js
CHANGED
package/src/state.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { check } from '@vcsuite/check';
|
1
|
+
import { check, optional } from '@vcsuite/check';
|
2
2
|
import { getLogger } from '@vcsuite/logger';
|
3
3
|
import { Viewpoint } from '@vcmap/core';
|
4
4
|
|
@@ -257,9 +257,9 @@ export function getStateFromURL(url) {
|
|
257
257
|
*/
|
258
258
|
export function setStateToUrl(state, url) {
|
259
259
|
check(state, {
|
260
|
-
activeMap:
|
261
|
-
activeViewpoint:
|
262
|
-
activeObliqueCollection:
|
260
|
+
activeMap: optional(String),
|
261
|
+
activeViewpoint: optional(Object),
|
262
|
+
activeObliqueCollection: optional(String),
|
263
263
|
layers: Array,
|
264
264
|
plugins: Array,
|
265
265
|
moduleIds: [String],
|
package/src/vcsUiApp.d.ts
CHANGED
@@ -275,7 +275,14 @@ declare class VcsUiApp extends VcsApp {
|
|
275
275
|
theme: import("vuetify").ThemeInstance & {
|
276
276
|
install: (app: import("vue").App<any>) => void;
|
277
277
|
};
|
278
|
-
icons:
|
278
|
+
icons: {
|
279
|
+
defaultSet: string;
|
280
|
+
aliases: Partial<import("vuetify").IconAliases>;
|
281
|
+
sets: Record<string, import("vuetify").IconSet>; /**
|
282
|
+
* @type {Array<function():void>}
|
283
|
+
* @private
|
284
|
+
*/
|
285
|
+
};
|
279
286
|
locale: {
|
280
287
|
isRtl: import("vue").Ref<boolean>;
|
281
288
|
rtl: import("vue").Ref<Record<string, boolean>>;
|
@@ -306,7 +313,7 @@ declare class VcsUiApp extends VcsApp {
|
|
306
313
|
toISO: (date: unknown) => string;
|
307
314
|
startOfDay: (date: unknown) => unknown;
|
308
315
|
endOfDay: (date: unknown) => unknown;
|
309
|
-
startOfWeek: (date: unknown) => unknown;
|
316
|
+
startOfWeek: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown;
|
310
317
|
endOfWeek: (date: unknown) => unknown;
|
311
318
|
startOfMonth: (date: unknown) => unknown;
|
312
319
|
endOfMonth: (date: unknown) => unknown;
|
@@ -329,8 +336,8 @@ declare class VcsUiApp extends VcsApp {
|
|
329
336
|
getYear: (date: unknown) => number;
|
330
337
|
setYear: (date: unknown, year: number) => unknown;
|
331
338
|
getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
|
332
|
-
getWeekArray: (date: unknown) => unknown[][];
|
333
|
-
getWeekdays: () => string[];
|
339
|
+
getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
|
340
|
+
getWeekdays: (firstDayOfWeek?: string | number | undefined) => string[];
|
334
341
|
getMonth: (date: unknown) => number;
|
335
342
|
setMonth: (date: unknown, month: number) => unknown;
|
336
343
|
getDate: (date: unknown) => number;
|
@@ -343,15 +350,12 @@ declare class VcsUiApp extends VcsApp {
|
|
343
350
|
setMinutes: (date: unknown, minutes: number) => unknown;
|
344
351
|
};
|
345
352
|
};
|
346
|
-
goTo:
|
347
|
-
rtl: import("vue").Ref<boolean>;
|
348
|
-
options: Record<string, any>;
|
349
|
-
};
|
353
|
+
goTo: import("vuetify").GoToInstance;
|
350
354
|
};
|
351
355
|
/**
|
352
|
-
* @returns {import("vue-i18n").
|
356
|
+
* @returns {import("vue-i18n").Composer<{}, {}, {}, string, string, string>}
|
353
357
|
*/
|
354
|
-
get vueI18n(): import("vue-i18n").
|
358
|
+
get vueI18n(): import("vue-i18n").Composer<{}, {}, {}, string, string, string>;
|
355
359
|
/**
|
356
360
|
* @returns {CategoryManager}
|
357
361
|
*/
|
package/src/vcsUiApp.js
CHANGED
@@ -64,6 +64,8 @@ export function createVcsThemes() {
|
|
64
64
|
},
|
65
65
|
variables: {
|
66
66
|
'hover-opacity': 0.16,
|
67
|
+
'high-emphasis-opacity': 1,
|
68
|
+
'medium-emphasis-opacity': 1,
|
67
69
|
'vcs-item-height': '40px',
|
68
70
|
'vcs-font-size': '15px',
|
69
71
|
'vcs-font-family': 'Titillium Web',
|
@@ -144,6 +146,15 @@ export function createVcsVuetify(i18n) {
|
|
144
146
|
density: 'compact',
|
145
147
|
ripple: false,
|
146
148
|
},
|
149
|
+
VColorPicker: {
|
150
|
+
elevation: 0,
|
151
|
+
tile: true,
|
152
|
+
},
|
153
|
+
VExpansionPanel: {
|
154
|
+
ripple: false,
|
155
|
+
elevation: 0,
|
156
|
+
tile: true,
|
157
|
+
},
|
147
158
|
},
|
148
159
|
defaultAssets: {
|
149
160
|
font: {
|