@vcmap/ui 6.1.13 → 6.2.0-rc.1
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 +2 -2
- package/build/buildHelpers.js +2 -3
- package/build/buildTypes.js +1 -1
- package/build/commonViteConfig.js +0 -1
- package/build/lintTypes.js +1 -1
- package/config/dev.config.json +4 -0
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-171d1d84.js → core-de8e51b5.js} +2 -2
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-4f308e45.css +1 -0
- package/dist/assets/{ui-78b0084c.js → ui-4f308e45.js} +9084 -8706
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-d26d8a53.js → vuetify-99195777.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +4 -0
- package/index.js +5 -0
- package/package.json +4 -46
- package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +2 -3
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +0 -1
- package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +3 -3
- package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +6 -6
- package/plugins/@vcmap-show-case/hello-world/src/index.js +0 -6
- package/plugins/@vcmap-show-case/hello-world/tests/helloWorld.spec.js +1 -1
- package/plugins/@vcmap-show-case/panel-tester/src/IframePanelExample.vue +1 -1
- package/plugins/@vcmap-show-case/panel-tester/src/ImgPanelExample.vue +1 -1
- package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +1 -1
- package/plugins/@vcmap-show-case/panel-tester/src/TextPanelExample.vue +1 -1
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +1 -1
- package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +5 -5
- package/plugins/@vcmap-show-case/window-tester/src/MyCustomHeader.vue +1 -0
- package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +1 -1
- package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +1 -1
- package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +1 -1
- package/src/application/MapsGroupMobileMenu.vue +6 -5
- package/src/application/MapsGroupMobileMenu.vue.d.ts +3 -1
- package/src/application/VcsApp.vue +36 -46
- package/src/application/VcsApp.vue.d.ts +19 -45
- package/src/application/VcsAppWrapper.vue +4 -4
- package/src/application/VcsAttributions.vue +12 -12
- package/src/application/VcsAttributionsFooter.vue +27 -27
- package/src/application/VcsContainer.vue +50 -51
- package/src/application/VcsContainer.vue.d.ts +14 -2
- package/src/application/VcsMainMap.vue +2 -2
- package/src/application/VcsMap.vue +16 -16
- package/src/application/VcsNavbar.vue +17 -15
- package/src/application/VcsNavbarMobile.vue +15 -15
- package/src/application/VcsObliqueFooter.vue +10 -9
- package/src/application/VcsPositionDisplay.vue +8 -8
- package/src/application/VcsTextPage.vue +10 -10
- package/src/application/VcsTextPageFooter.vue +9 -9
- package/src/application/uiConfigHelper.d.ts +6 -0
- package/src/application/uiConfigHelper.js +19 -0
- package/src/callback/stopRotationCallback.js +0 -1
- package/src/callback/toggleToolbarButtonCallback.d.ts +48 -0
- package/src/callback/toggleToolbarButtonCallback.js +115 -0
- package/src/components/attrsHelpers.js +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +5 -5
- package/src/components/buttons/VcsButton.vue +26 -26
- package/src/components/buttons/VcsFormButton.vue +31 -31
- package/src/components/buttons/VcsToolButton.vue +29 -29
- package/src/components/extent/VcsExtent.vue +1 -1
- package/src/components/extent/VcsExtentEditor.vue +1 -1
- package/src/components/flight/VcsFlightAnchorsComponent.vue +2 -2
- package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +1 -4
- package/src/components/flight/VcsFlightEditor.vue +1 -0
- package/src/components/flight/VcsFlightEditor.vue.d.ts +4 -2
- package/src/components/flight/VcsFlightPlayer.vue +1 -1
- package/src/components/form-inputs-controls/VcsCheckbox.vue +23 -23
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +20 -20
- package/src/components/form-inputs-controls/VcsCoordinate.vue +3 -3
- package/src/components/form-inputs-controls/VcsDatePicker.vue +7 -7
- package/src/components/form-inputs-controls/VcsFileInput.vue +14 -14
- package/src/components/form-inputs-controls/VcsLabel.vue +26 -26
- package/src/components/form-inputs-controls/VcsRadio.vue +27 -27
- package/src/components/form-inputs-controls/VcsSelect.vue +78 -78
- package/src/components/form-inputs-controls/VcsSlider.vue +43 -43
- package/src/components/form-inputs-controls/VcsTextArea.vue +47 -47
- package/src/components/form-inputs-controls/VcsTextField.vue +4 -4
- package/src/components/form-inputs-controls/VcsWizard.vue +4 -4
- package/src/components/form-output/VcsFormattedNumber.vue +11 -11
- package/src/components/form-output/VcsMarkdown.vue +23 -22
- package/src/components/form-output/markdownHelper.js +1 -1
- package/src/components/import/VcsImportComponent.vue +1 -0
- package/src/components/import/VcsImportComponent.vue.d.ts +4 -2
- package/src/components/lists/VcsActionList.vue +14 -14
- package/src/components/lists/VcsList.vue +24 -20
- package/src/components/lists/VcsList.vue.d.ts +4 -6
- package/src/components/lists/VcsListItemComponent.vue +28 -8
- package/src/components/lists/VcsTreeNode.vue +138 -38
- package/src/components/lists/VcsTreeview.vue +65 -23
- package/src/components/lists/VcsTreeview.vue.d.ts +34 -9
- package/src/components/lists/VcsTreeviewSearchbar.vue +50 -50
- package/src/components/lists/VcsTreeviewTitle.vue +13 -13
- package/src/components/lists/dragHelper.d.ts +118 -0
- package/src/components/lists/dragHelper.js +325 -0
- package/src/components/lists/listHelper.d.ts +3 -2
- package/src/components/lists/listHelper.js +8 -1
- package/src/components/notification/VcsBadge.vue +12 -12
- package/src/components/notification/VcsHelp.vue +9 -9
- package/src/components/notification/VcsHelpTooltip.vue +1 -1
- package/src/components/style/StyleMenuWrapper.vue +1 -1
- package/src/components/tables/VcsDataTable.vue +3 -2
- package/src/components/tables/VcsDataTable.vue.d.ts +4 -2
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +1 -1
- package/src/components/vector-properties/VcsFeatureTransforms.vue +1 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
- package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +4 -2
- package/src/contentTree/LayerSwap.vue +149 -0
- package/src/contentTree/LayerSwap.vue.d.ts +27 -0
- package/src/contentTree/LayerTree.vue +53 -3
- package/src/contentTree/LayerTree.vue.d.ts +3 -0
- package/src/contentTree/contentTreeCollection.js +0 -1
- package/src/i18n/de.d.ts +63 -55
- package/src/i18n/de.js +5 -0
- package/src/i18n/en.d.ts +63 -55
- package/src/i18n/en.js +5 -0
- package/src/init.js +1 -1
- package/src/manager/collectionManager/CollectionComponent.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentContent.vue +2 -2
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +1 -4
- package/src/manager/collectionManager/CollectionComponentList.vue +14 -13
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +3 -7
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +2 -2
- package/src/manager/collectionManager/CollectionManager.vue +2 -2
- package/src/manager/panel/PanelComponent.vue +40 -39
- package/src/manager/panel/PanelComponent.vue.d.ts +4 -2
- package/src/manager/panel/PanelManagerComponent.vue +13 -13
- package/src/manager/panel/PanelManagerComponent.vue.d.ts +4 -2
- package/src/manager/panel/panelHelper.js +19 -21
- package/src/manager/toolbox/GroupToolboxComponent.vue +9 -8
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +5 -2
- package/src/manager/toolbox/SelectToolboxComponent.vue +9 -8
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +5 -2
- package/src/manager/toolbox/ToolboxManagerComponent.vue +23 -23
- package/src/manager/window/WindowComponent.vue +12 -12
- package/src/manager/window/WindowComponent.vue.d.ts +7 -4
- package/src/manager/window/WindowComponentHeader.vue +24 -24
- package/src/manager/window/WindowComponentHeader.vue.d.ts +7 -4
- package/src/manager/window/WindowManager.vue +41 -41
- package/src/navigation/MapNavCompass.vue +4 -3
- package/src/navigation/MapNavCompass.vue.d.ts +4 -2
- package/src/navigation/ObliqueRotation.vue +1 -0
- package/src/navigation/ObliqueRotation.vue.d.ts +4 -2
- package/src/navigation/OrientationToolsButton.vue +1 -1
- package/src/navigation/TiltSlider.vue +35 -35
- package/src/navigation/VcsCompass.vue +18 -13
- package/src/navigation/VcsCompass.vue.d.ts +6 -2
- package/src/navigation/VcsZoomButton.vue +1 -0
- package/src/navigation/VcsZoomButton.vue.d.ts +5 -2
- package/src/navigation/locatorHelper.js +1 -1
- package/src/notifier/NotifierComponent.vue +1 -1
- package/src/pluginHelper.js +2 -1
- package/src/search/ResultItem.vue +1 -0
- package/src/search/SearchComponent.vue +35 -35
- package/src/search/markText.js +2 -2
- package/src/state.d.ts +12 -1
- package/src/state.js +59 -4
- package/src/uiConfig.d.ts +30 -3
- package/src/uiConfig.js +4 -1
- package/src/vcsUiApp.js +20 -0
- package/dist/assets/ui-78b0084c.css +0 -1
- /package/dist/assets/{cesium-76fff1d7.js → cesium-ac6c193a.js} +0 -0
- /package/dist/assets/{ol-76b9c9e3.js → ol-94c57f2e.js} +0 -0
- /package/dist/assets/{vue-859ae1f4.js → vue-62303c82.js} +0 -0
- /package/dist/assets/{vuetify-d26d8a53.css → vuetify-99195777.css} +0 -0
|
@@ -55,14 +55,6 @@
|
|
|
55
55
|
</v-menu>
|
|
56
56
|
</div>
|
|
57
57
|
</template>
|
|
58
|
-
<style lang="scss" scoped>
|
|
59
|
-
.marginToTop {
|
|
60
|
-
margin-top: 3px;
|
|
61
|
-
}
|
|
62
|
-
.marginToBottom {
|
|
63
|
-
margin-bottom: 3px;
|
|
64
|
-
}
|
|
65
|
-
</style>
|
|
66
58
|
<script>
|
|
67
59
|
import { computed, ref } from 'vue';
|
|
68
60
|
import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
|
|
@@ -96,6 +88,7 @@
|
|
|
96
88
|
required: true,
|
|
97
89
|
},
|
|
98
90
|
},
|
|
91
|
+
emits: ['click', 'toggle'],
|
|
99
92
|
setup(props) {
|
|
100
93
|
const open = ref(false);
|
|
101
94
|
|
|
@@ -127,3 +120,11 @@
|
|
|
127
120
|
},
|
|
128
121
|
};
|
|
129
122
|
</script>
|
|
123
|
+
<style lang="scss" scoped>
|
|
124
|
+
.marginToTop {
|
|
125
|
+
margin-top: 3px;
|
|
126
|
+
}
|
|
127
|
+
.marginToBottom {
|
|
128
|
+
margin-bottom: 3px;
|
|
129
|
+
}
|
|
130
|
+
</style>
|
|
@@ -9,10 +9,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
9
9
|
hasActiveAction: import("vue").ComputedRef<boolean>;
|
|
10
10
|
toolboxHeight: import("vue").ComputedRef<number>;
|
|
11
11
|
xs: import("vue").Ref<boolean>;
|
|
12
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
12
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "toggle")[], "click" | "toggle", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
13
|
group: {
|
|
14
14
|
type: ObjectConstructor;
|
|
15
15
|
required: true;
|
|
16
16
|
};
|
|
17
|
-
}
|
|
17
|
+
}>> & {
|
|
18
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
19
|
+
onToggle?: ((...args: any[]) => any) | undefined;
|
|
20
|
+
}, {}, {}>;
|
|
18
21
|
export default _default;
|
|
@@ -70,14 +70,6 @@
|
|
|
70
70
|
</v-menu>
|
|
71
71
|
</div>
|
|
72
72
|
</template>
|
|
73
|
-
<style lang="scss" scoped>
|
|
74
|
-
.marginToTop {
|
|
75
|
-
margin-top: 3px;
|
|
76
|
-
}
|
|
77
|
-
.marginToBottom {
|
|
78
|
-
margin-bottom: 3px;
|
|
79
|
-
}
|
|
80
|
-
</style>
|
|
81
73
|
<script>
|
|
82
74
|
import { ref, computed } from 'vue';
|
|
83
75
|
import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
|
|
@@ -105,6 +97,7 @@
|
|
|
105
97
|
required: true,
|
|
106
98
|
},
|
|
107
99
|
},
|
|
100
|
+
emits: ['click', 'toggle'],
|
|
108
101
|
setup() {
|
|
109
102
|
const open = ref(false);
|
|
110
103
|
const fontSize = useFontSize();
|
|
@@ -120,3 +113,11 @@
|
|
|
120
113
|
},
|
|
121
114
|
};
|
|
122
115
|
</script>
|
|
116
|
+
<style lang="scss" scoped>
|
|
117
|
+
.marginToTop {
|
|
118
|
+
margin-top: 3px;
|
|
119
|
+
}
|
|
120
|
+
.marginToBottom {
|
|
121
|
+
margin-bottom: 3px;
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
@@ -7,10 +7,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7
7
|
open: import("vue").Ref<boolean>;
|
|
8
8
|
toolboxHeight: import("vue").ComputedRef<number>;
|
|
9
9
|
xs: import("vue").Ref<boolean>;
|
|
10
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
10
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "toggle")[], "click" | "toggle", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
11
|
group: {
|
|
12
12
|
type: ObjectConstructor;
|
|
13
13
|
required: true;
|
|
14
14
|
};
|
|
15
|
-
}
|
|
15
|
+
}>> & {
|
|
16
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
17
|
+
onToggle?: ((...args: any[]) => any) | undefined;
|
|
18
|
+
}, {}, {}>;
|
|
16
19
|
export default _default;
|
|
@@ -56,29 +56,6 @@
|
|
|
56
56
|
</v-toolbar>
|
|
57
57
|
</template>
|
|
58
58
|
|
|
59
|
-
<style lang="scss" scoped>
|
|
60
|
-
.vcs-toolbox__secondary {
|
|
61
|
-
&.vcs-toolbox.v-theme {
|
|
62
|
-
&--light {
|
|
63
|
-
background-color: rgba(var(--v-theme-primary-lighten-3));
|
|
64
|
-
}
|
|
65
|
-
&--dark {
|
|
66
|
-
background-color: rgba(var(--v-theme-primary-darken-4));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
.vcs-toolbox {
|
|
71
|
-
margin-top: 2px;
|
|
72
|
-
width: fit-content;
|
|
73
|
-
}
|
|
74
|
-
.mobileToolbox {
|
|
75
|
-
bottom: 0px !important;
|
|
76
|
-
position: absolute !important;
|
|
77
|
-
left: 50% !important;
|
|
78
|
-
transform: translateX(-50%) !important;
|
|
79
|
-
}
|
|
80
|
-
</style>
|
|
81
|
-
|
|
82
59
|
<script>
|
|
83
60
|
import { inject, ref, computed, watch, onUnmounted, reactive } from 'vue';
|
|
84
61
|
import { useDisplay } from 'vuetify';
|
|
@@ -259,3 +236,26 @@
|
|
|
259
236
|
},
|
|
260
237
|
};
|
|
261
238
|
</script>
|
|
239
|
+
|
|
240
|
+
<style lang="scss" scoped>
|
|
241
|
+
.vcs-toolbox__secondary {
|
|
242
|
+
&.vcs-toolbox.v-theme {
|
|
243
|
+
&--light {
|
|
244
|
+
background-color: rgba(var(--v-theme-primary-lighten-3));
|
|
245
|
+
}
|
|
246
|
+
&--dark {
|
|
247
|
+
background-color: rgba(var(--v-theme-primary-darken-4));
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
.vcs-toolbox {
|
|
252
|
+
margin-top: 2px;
|
|
253
|
+
width: fit-content;
|
|
254
|
+
}
|
|
255
|
+
.mobileToolbox {
|
|
256
|
+
bottom: 0px !important;
|
|
257
|
+
position: absolute !important;
|
|
258
|
+
left: 50% !important;
|
|
259
|
+
transform: translateX(-50%) !important;
|
|
260
|
+
}
|
|
261
|
+
</style>
|
|
@@ -38,16 +38,6 @@
|
|
|
38
38
|
</v-sheet>
|
|
39
39
|
</template>
|
|
40
40
|
|
|
41
|
-
<style scoped>
|
|
42
|
-
.marginToTop {
|
|
43
|
-
margin-top: 2px;
|
|
44
|
-
}
|
|
45
|
-
.marginTablet {
|
|
46
|
-
margin-top: calc(var(--v-vcs-font-size) * 3 + 6px);
|
|
47
|
-
margin-bottom: 2px;
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
50
|
-
|
|
51
41
|
<script>
|
|
52
42
|
import { computed, inject, provide, ref } from 'vue';
|
|
53
43
|
import { VDivider, VSheet } from 'vuetify/components';
|
|
@@ -67,11 +57,11 @@
|
|
|
67
57
|
*/
|
|
68
58
|
export default {
|
|
69
59
|
name: 'WindowComponent',
|
|
70
|
-
inheritAttrs: false,
|
|
71
60
|
components: {
|
|
72
61
|
VSheet,
|
|
73
62
|
VDivider,
|
|
74
63
|
},
|
|
64
|
+
inheritAttrs: false,
|
|
75
65
|
props: {
|
|
76
66
|
windowState: {
|
|
77
67
|
type: Object,
|
|
@@ -79,7 +69,6 @@
|
|
|
79
69
|
},
|
|
80
70
|
isOnTop: {
|
|
81
71
|
type: Boolean,
|
|
82
|
-
required: true,
|
|
83
72
|
default: false,
|
|
84
73
|
},
|
|
85
74
|
slotWindow: {
|
|
@@ -87,6 +76,7 @@
|
|
|
87
76
|
required: true,
|
|
88
77
|
},
|
|
89
78
|
},
|
|
79
|
+
emits: ['mousedown', 'moved'],
|
|
90
80
|
setup(props, { emit }) {
|
|
91
81
|
const app = inject('vcsApp');
|
|
92
82
|
const { provides } = app.windowManager.get(props.windowState.id);
|
|
@@ -177,3 +167,13 @@
|
|
|
177
167
|
},
|
|
178
168
|
};
|
|
179
169
|
</script>
|
|
170
|
+
|
|
171
|
+
<style scoped>
|
|
172
|
+
.marginToTop {
|
|
173
|
+
margin-top: 2px;
|
|
174
|
+
}
|
|
175
|
+
.marginTablet {
|
|
176
|
+
margin-top: calc(var(--v-vcs-font-size) * 3 + 6px);
|
|
177
|
+
margin-bottom: 2px;
|
|
178
|
+
}
|
|
179
|
+
</style>
|
|
@@ -5,7 +5,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5
5
|
};
|
|
6
6
|
isOnTop: {
|
|
7
7
|
type: BooleanConstructor;
|
|
8
|
-
required: true;
|
|
9
8
|
default: boolean;
|
|
10
9
|
};
|
|
11
10
|
slotWindow: {
|
|
@@ -23,19 +22,23 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
23
22
|
dragStart: (e: DragEvent) => void;
|
|
24
23
|
dragEnd: (endEvent: DragEvent) => void;
|
|
25
24
|
mousedown: (e: MouseEvent) => void;
|
|
26
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
25
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mousedown" | "moved")[], "mousedown" | "moved", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
26
|
windowState: {
|
|
28
27
|
type: ObjectConstructor;
|
|
29
28
|
required: true;
|
|
30
29
|
};
|
|
31
30
|
isOnTop: {
|
|
32
31
|
type: BooleanConstructor;
|
|
33
|
-
required: true;
|
|
34
32
|
default: boolean;
|
|
35
33
|
};
|
|
36
34
|
slotWindow: {
|
|
37
35
|
type: ObjectConstructor;
|
|
38
36
|
required: true;
|
|
39
37
|
};
|
|
40
|
-
}
|
|
38
|
+
}>> & {
|
|
39
|
+
onMousedown?: ((...args: any[]) => any) | undefined;
|
|
40
|
+
onMoved?: ((...args: any[]) => any) | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
isOnTop: boolean;
|
|
43
|
+
}, {}>;
|
|
41
44
|
export default _default;
|
|
@@ -58,29 +58,6 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
</template>
|
|
60
60
|
|
|
61
|
-
<style lang="scss" scoped>
|
|
62
|
-
.window-component-header {
|
|
63
|
-
max-height: calc(var(--v-vcs-font-size) * 2 - 10px);
|
|
64
|
-
|
|
65
|
-
h3 {
|
|
66
|
-
line-height: calc(var(--v-vcs-font-size) * 2 - 10px);
|
|
67
|
-
}
|
|
68
|
-
.v-divider--vertical.v-divider--inset {
|
|
69
|
-
margin-top: 2px;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
.user-select-none {
|
|
73
|
-
user-select: none;
|
|
74
|
-
}
|
|
75
|
-
.vcs-window-header-title {
|
|
76
|
-
width: 10px;
|
|
77
|
-
white-space: nowrap;
|
|
78
|
-
overflow: hidden;
|
|
79
|
-
text-overflow: ellipsis;
|
|
80
|
-
flex: 1;
|
|
81
|
-
}
|
|
82
|
-
</style>
|
|
83
|
-
|
|
84
61
|
<script>
|
|
85
62
|
import { VIcon, VDivider, VTooltip } from 'vuetify/components';
|
|
86
63
|
import { computed, getCurrentInstance, ref } from 'vue';
|
|
@@ -116,7 +93,6 @@
|
|
|
116
93
|
},
|
|
117
94
|
isOnTop: {
|
|
118
95
|
type: Boolean,
|
|
119
|
-
required: true,
|
|
120
96
|
default: false,
|
|
121
97
|
},
|
|
122
98
|
slotWindow: {
|
|
@@ -124,6 +100,7 @@
|
|
|
124
100
|
required: true,
|
|
125
101
|
},
|
|
126
102
|
},
|
|
103
|
+
emits: ['pin', 'close'],
|
|
127
104
|
setup(props, { emit }) {
|
|
128
105
|
const pin = () => {
|
|
129
106
|
emit('pin');
|
|
@@ -178,3 +155,26 @@
|
|
|
178
155
|
},
|
|
179
156
|
};
|
|
180
157
|
</script>
|
|
158
|
+
|
|
159
|
+
<style lang="scss" scoped>
|
|
160
|
+
.window-component-header {
|
|
161
|
+
max-height: calc(var(--v-vcs-font-size) * 2 - 10px);
|
|
162
|
+
|
|
163
|
+
h3 {
|
|
164
|
+
line-height: calc(var(--v-vcs-font-size) * 2 - 10px);
|
|
165
|
+
}
|
|
166
|
+
.v-divider--vertical.v-divider--inset {
|
|
167
|
+
margin-top: 2px;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
.user-select-none {
|
|
171
|
+
user-select: none;
|
|
172
|
+
}
|
|
173
|
+
.vcs-window-header-title {
|
|
174
|
+
width: 10px;
|
|
175
|
+
white-space: nowrap;
|
|
176
|
+
overflow: hidden;
|
|
177
|
+
text-overflow: ellipsis;
|
|
178
|
+
flex: 1;
|
|
179
|
+
}
|
|
180
|
+
</style>
|
|
@@ -5,7 +5,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5
5
|
};
|
|
6
6
|
isOnTop: {
|
|
7
7
|
type: BooleanConstructor;
|
|
8
|
-
required: true;
|
|
9
8
|
default: boolean;
|
|
10
9
|
};
|
|
11
10
|
slotWindow: {
|
|
@@ -22,19 +21,23 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
22
21
|
headerTooltip: import("vue").ComputedRef<string>;
|
|
23
22
|
infoAction: import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction | undefined;
|
|
24
23
|
xs: import("vue").Ref<boolean>;
|
|
25
|
-
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
24
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "pin")[], "close" | "pin", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
26
25
|
windowState: {
|
|
27
26
|
type: ObjectConstructor;
|
|
28
27
|
required: true;
|
|
29
28
|
};
|
|
30
29
|
isOnTop: {
|
|
31
30
|
type: BooleanConstructor;
|
|
32
|
-
required: true;
|
|
33
31
|
default: boolean;
|
|
34
32
|
};
|
|
35
33
|
slotWindow: {
|
|
36
34
|
type: ObjectConstructor;
|
|
37
35
|
required: true;
|
|
38
36
|
};
|
|
39
|
-
}
|
|
37
|
+
}>> & {
|
|
38
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
39
|
+
onPin?: ((...args: any[]) => any) | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
isOnTop: boolean;
|
|
42
|
+
}, {}>;
|
|
40
43
|
export default _default;
|
|
@@ -36,47 +36,6 @@
|
|
|
36
36
|
</div>
|
|
37
37
|
</template>
|
|
38
38
|
|
|
39
|
-
<style scoped lang="scss">
|
|
40
|
-
.mobile > div:not(#window-component--searchId) {
|
|
41
|
-
position: fixed;
|
|
42
|
-
left: 0;
|
|
43
|
-
right: 0;
|
|
44
|
-
z-index: 2;
|
|
45
|
-
display: contents;
|
|
46
|
-
width: 100% !important;
|
|
47
|
-
max-width: 100% !important;
|
|
48
|
-
inset: unset !important;
|
|
49
|
-
border-radius: 0 !important;
|
|
50
|
-
overflow: auto;
|
|
51
|
-
bottom: 0 !important;
|
|
52
|
-
max-height: 50% !important;
|
|
53
|
-
}
|
|
54
|
-
.mobile > div {
|
|
55
|
-
transition: transform 0.4s ease;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.mobile > #window-component--searchId {
|
|
59
|
-
position: fixed !important;
|
|
60
|
-
top: calc(var(--v-vcs-font-size) * 5 + 28px) !important;
|
|
61
|
-
left: 5px !important;
|
|
62
|
-
right: calc(var(--v-vcs-font-size) * 5 + 2px) !important;
|
|
63
|
-
z-index: 2;
|
|
64
|
-
border-radius: 4px !important;
|
|
65
|
-
width: inherit !important;
|
|
66
|
-
padding-right: 1px !important;
|
|
67
|
-
.py-1 {
|
|
68
|
-
padding: 0px !important;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
.mobile > #window-component--searchId > div > div {
|
|
72
|
-
border-radius: 4px !important;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.oblique > #window-component--searchId {
|
|
76
|
-
right: calc(var(--v-vcs-font-size) * 6.25 + 2px) !important;
|
|
77
|
-
}
|
|
78
|
-
</style>
|
|
79
|
-
|
|
80
39
|
<script>
|
|
81
40
|
import { computed, inject, onUnmounted, ref, watch } from 'vue';
|
|
82
41
|
import { useDisplay } from 'vuetify';
|
|
@@ -358,3 +317,44 @@
|
|
|
358
317
|
},
|
|
359
318
|
};
|
|
360
319
|
</script>
|
|
320
|
+
|
|
321
|
+
<style scoped lang="scss">
|
|
322
|
+
.mobile > div:not(#window-component--searchId) {
|
|
323
|
+
position: fixed;
|
|
324
|
+
left: 0;
|
|
325
|
+
right: 0;
|
|
326
|
+
z-index: 2;
|
|
327
|
+
display: contents;
|
|
328
|
+
width: 100% !important;
|
|
329
|
+
max-width: 100% !important;
|
|
330
|
+
inset: unset !important;
|
|
331
|
+
border-radius: 0 !important;
|
|
332
|
+
overflow: auto;
|
|
333
|
+
bottom: 0 !important;
|
|
334
|
+
max-height: 50% !important;
|
|
335
|
+
}
|
|
336
|
+
.mobile > div {
|
|
337
|
+
transition: transform 0.4s ease;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.mobile > #window-component--searchId {
|
|
341
|
+
position: fixed !important;
|
|
342
|
+
top: calc(var(--v-vcs-font-size) * 5 + 28px) !important;
|
|
343
|
+
left: 5px !important;
|
|
344
|
+
right: calc(var(--v-vcs-font-size) * 5 + 2px) !important;
|
|
345
|
+
z-index: 2;
|
|
346
|
+
border-radius: 4px !important;
|
|
347
|
+
width: inherit !important;
|
|
348
|
+
padding-right: 1px !important;
|
|
349
|
+
.py-1 {
|
|
350
|
+
padding: 0px !important;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
.mobile > #window-component--searchId > div > div {
|
|
354
|
+
border-radius: 4px !important;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.oblique > #window-component--searchId {
|
|
358
|
+
right: calc(var(--v-vcs-font-size) * 6.25 + 2px) !important;
|
|
359
|
+
}
|
|
360
|
+
</style>
|
|
@@ -177,6 +177,10 @@
|
|
|
177
177
|
default: false,
|
|
178
178
|
},
|
|
179
179
|
},
|
|
180
|
+
emits: ['direction-click'],
|
|
181
|
+
setup() {
|
|
182
|
+
return { alignment: ref('') };
|
|
183
|
+
},
|
|
180
184
|
methods: {
|
|
181
185
|
emit(event, dir) {
|
|
182
186
|
if (this.canEmit) {
|
|
@@ -186,9 +190,6 @@
|
|
|
186
190
|
}
|
|
187
191
|
},
|
|
188
192
|
},
|
|
189
|
-
setup() {
|
|
190
|
-
return { alignment: ref('') };
|
|
191
|
-
},
|
|
192
193
|
};
|
|
193
194
|
</script>
|
|
194
195
|
|
|
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
11
11
|
alignment: import("vue").Ref<string>;
|
|
12
12
|
}, any, {}, {
|
|
13
13
|
emit(event: any, dir: any): void;
|
|
14
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
14
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "direction-click"[], "direction-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
15
15
|
canEmit: {
|
|
16
16
|
type: BooleanConstructor;
|
|
17
17
|
default: boolean;
|
|
@@ -20,7 +20,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
20
|
type: BooleanConstructor;
|
|
21
21
|
default: boolean;
|
|
22
22
|
};
|
|
23
|
-
}
|
|
23
|
+
}>> & {
|
|
24
|
+
"onDirection-click"?: ((...args: any[]) => any) | undefined;
|
|
25
|
+
}, {
|
|
24
26
|
canEmit: boolean;
|
|
25
27
|
hideTicks: boolean;
|
|
26
28
|
}, {}>;
|
|
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
};
|
|
11
11
|
}, any, any, {}, {
|
|
12
12
|
input(rotation: any): void;
|
|
13
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
13
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
14
|
modelValue: {
|
|
15
15
|
type: NumberConstructor;
|
|
16
16
|
required: true;
|
|
@@ -20,7 +20,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
20
|
default: boolean;
|
|
21
21
|
required: false;
|
|
22
22
|
};
|
|
23
|
-
}
|
|
23
|
+
}>> & {
|
|
24
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
25
|
+
}, {
|
|
24
26
|
disabled: boolean;
|
|
25
27
|
}, {}>;
|
|
26
28
|
export default _default;
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
></v-tooltip>
|
|
15
15
|
</v-card>
|
|
16
16
|
</template>
|
|
17
|
-
<style lang="scss" scoped></style>
|
|
18
17
|
<script>
|
|
19
18
|
import { VCard, VIcon, VTooltip } from 'vuetify/components';
|
|
20
19
|
import { computed } from 'vue';
|
|
@@ -67,3 +66,4 @@
|
|
|
67
66
|
},
|
|
68
67
|
};
|
|
69
68
|
</script>
|
|
69
|
+
<style lang="scss" scoped></style>
|
|
@@ -28,41 +28,6 @@
|
|
|
28
28
|
</v-card>
|
|
29
29
|
</template>
|
|
30
30
|
|
|
31
|
-
<style lang="scss" scoped>
|
|
32
|
-
.v-slider.v-input--vertical {
|
|
33
|
-
:deep(.v-slider-track__fill) {
|
|
34
|
-
width: 2px;
|
|
35
|
-
}
|
|
36
|
-
:deep(.v-slider-track__tick--first) {
|
|
37
|
-
bottom: 0;
|
|
38
|
-
}
|
|
39
|
-
:deep(.v-slider-track__tick--last) {
|
|
40
|
-
bottom: 100%;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.vcs-tilt-slider {
|
|
45
|
-
margin-top: 6px;
|
|
46
|
-
margin-bottom: 10px;
|
|
47
|
-
:deep(.v-slider-thumb__surface) {
|
|
48
|
-
border-radius: 3px;
|
|
49
|
-
width: 16px;
|
|
50
|
-
height: 4px;
|
|
51
|
-
margin-top: 10px;
|
|
52
|
-
box-shadow: none !important;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
:deep(.v-slider-thumb__surface::before) {
|
|
56
|
-
--v-focus-opacity: 0;
|
|
57
|
-
--v-hover-opacity: 0;
|
|
58
|
-
--v-pressed-opacity: 0;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.v-input--vertical :deep(.v-input__control) {
|
|
62
|
-
min-height: calc(var(--v-vcs-font-size) * 4);
|
|
63
|
-
}
|
|
64
|
-
</style>
|
|
65
|
-
|
|
66
31
|
<script>
|
|
67
32
|
import { computed, defineComponent } from 'vue';
|
|
68
33
|
import { VCard, VSlider, VTooltip } from 'vuetify/components';
|
|
@@ -115,3 +80,38 @@
|
|
|
115
80
|
},
|
|
116
81
|
});
|
|
117
82
|
</script>
|
|
83
|
+
|
|
84
|
+
<style lang="scss" scoped>
|
|
85
|
+
.v-slider.v-input--vertical {
|
|
86
|
+
:deep(.v-slider-track__fill) {
|
|
87
|
+
width: 2px;
|
|
88
|
+
}
|
|
89
|
+
:deep(.v-slider-track__tick--first) {
|
|
90
|
+
bottom: 0;
|
|
91
|
+
}
|
|
92
|
+
:deep(.v-slider-track__tick--last) {
|
|
93
|
+
bottom: 100%;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.vcs-tilt-slider {
|
|
98
|
+
margin-top: 6px;
|
|
99
|
+
margin-bottom: 10px;
|
|
100
|
+
:deep(.v-slider-thumb__surface) {
|
|
101
|
+
border-radius: 3px;
|
|
102
|
+
width: 16px;
|
|
103
|
+
height: 4px;
|
|
104
|
+
margin-top: 10px;
|
|
105
|
+
box-shadow: none !important;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
:deep(.v-slider-thumb__surface::before) {
|
|
109
|
+
--v-focus-opacity: 0;
|
|
110
|
+
--v-hover-opacity: 0;
|
|
111
|
+
--v-pressed-opacity: 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.v-input--vertical :deep(.v-input__control) {
|
|
115
|
+
min-height: calc(var(--v-vcs-font-size) * 4);
|
|
116
|
+
}
|
|
117
|
+
</style>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
transform: `rotate(${compassRotation}deg)`,
|
|
5
5
|
transition: 'transform 0.2s ease',
|
|
6
6
|
}"
|
|
7
|
-
@click="
|
|
7
|
+
@click="alignNorth"
|
|
8
8
|
class="d-flex flex-column justify-center align-center position-relative rounded-circle user-select-none vcs-compass"
|
|
9
9
|
elevation="1"
|
|
10
10
|
:height="height"
|
|
@@ -13,17 +13,18 @@
|
|
|
13
13
|
<span>N</span>
|
|
14
14
|
<MapNavCompass
|
|
15
15
|
class="position-absolute top-0 bottom-0 right-0 left-0 text-primary"
|
|
16
|
-
@click="$event.stopPropagation()"
|
|
16
|
+
@click="!xs && $event.stopPropagation()"
|
|
17
17
|
@direction-click="$emit('update:modelValue', $event)"
|
|
18
|
-
:can-emit="
|
|
18
|
+
:can-emit="
|
|
19
|
+
!disabled && !xs && (viewMode === '3d' || viewMode === 'oblique')
|
|
20
|
+
"
|
|
19
21
|
:hide-ticks="viewMode === 'oblique'"
|
|
20
22
|
/>
|
|
21
23
|
</v-sheet>
|
|
22
24
|
</template>
|
|
23
|
-
<style lang="scss" scoped></style>
|
|
24
25
|
<script>
|
|
25
26
|
import { computed, ref } from 'vue';
|
|
26
|
-
|
|
27
|
+
import { useDisplay } from 'vuetify';
|
|
27
28
|
import { VSheet } from 'vuetify/components';
|
|
28
29
|
import MapNavCompass from './MapNavCompass.vue';
|
|
29
30
|
import { useFontSize } from '../vuePlugins/vuetify.js';
|
|
@@ -55,23 +56,26 @@
|
|
|
55
56
|
required: false,
|
|
56
57
|
},
|
|
57
58
|
},
|
|
58
|
-
|
|
59
|
+
emits: ['update:modelValue'],
|
|
60
|
+
setup(props, { emit }) {
|
|
59
61
|
const rotationValue = ref(props.modelValue);
|
|
60
62
|
|
|
63
|
+
const { xs } = useDisplay();
|
|
61
64
|
const fontSize = useFontSize();
|
|
62
|
-
const height = computed(() =>
|
|
63
|
-
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
const width = computed(() => {
|
|
67
|
-
return fontSize.value * 5;
|
|
68
|
-
});
|
|
65
|
+
const height = computed(() => fontSize.value * 5);
|
|
66
|
+
const width = computed(() => fontSize.value * 5);
|
|
69
67
|
|
|
70
68
|
return {
|
|
69
|
+
xs,
|
|
71
70
|
rotationValue,
|
|
72
71
|
compassRotation: computed(() => -1 * rotationValue.value),
|
|
73
72
|
height,
|
|
74
73
|
width,
|
|
74
|
+
alignNorth() {
|
|
75
|
+
if (props.modelValue % 360 !== 0) {
|
|
76
|
+
emit('update:modelValue', 0);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
75
79
|
};
|
|
76
80
|
},
|
|
77
81
|
watch: {
|
|
@@ -87,3 +91,4 @@
|
|
|
87
91
|
},
|
|
88
92
|
};
|
|
89
93
|
</script>
|
|
94
|
+
<style lang="scss" scoped></style>
|