@vcmap/ui 6.2.0-rc.1 → 6.2.0-rc.2
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 +52 -7
- package/config/dev.config.json +28 -0
- package/config/pano.config.json +420 -0
- package/config/projects.config.json +5 -0
- package/dist/assets/cesium/Workers/{chunk-P6TRGU3S.js → chunk-2PFJ45KC.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-7ZZ5LMZY.js → chunk-35ALNMG5.js} +15 -15
- package/dist/assets/cesium/Workers/{chunk-7YIOHQWH.js → chunk-35EJBV7X.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-EJVGYGLF.js → chunk-3E3OH65K.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-JBSKHTNX.js → chunk-4FHUY275.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-Z2QP3CXW.js → chunk-565T3GIE.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-IZGUQO6Q.js → chunk-5LGDCKCZ.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-3IFRSGEY.js → chunk-6JXJYBWN.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-WGDFYAGC.js → chunk-6RAEC3AW.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-44QAAS4P.js → chunk-6Z67VIOY.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-NGZJIN5Z.js → chunk-ADDGROZ6.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-GBT7MJ6X.js → chunk-ASYGMBRG.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-C4WPMOKT.js → chunk-BABDQOWA.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-IBRIWOCM.js → chunk-BQHHGIFB.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-LLAF3CPH.js → chunk-C33B4KHN.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-JXVLNVXC.js → chunk-CMCR2ZK4.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-3HQMMUPU.js → chunk-EGGJIATZ.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-RJM36CNY.js → chunk-EWS5LXAB.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-OPP2SKMA.js → chunk-FDXPBTSX.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-QN6TBED4.js → chunk-FIFQP4YX.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-JISPSEF3.js → chunk-HOGDZ2EB.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-2PTKXHJB.js → chunk-I4NB77NH.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-QQOZO7KO.js → chunk-JX4A2BCF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-XIUSRWL6.js → chunk-K6PDUSH6.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-KHZNBFOH.js → chunk-KFHZFU5O.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-U5HSOKPQ.js → chunk-KYGXRFA6.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-56EDBCGT.js → chunk-LNWNAP2C.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-YCDZX5LS.js → chunk-LWN2B3KW.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-TI3TRKIC.js → chunk-LXLABO2L.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-C3EQ27WF.js → chunk-MB6B2UUL.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-57H6I3SV.js → chunk-MZSRINXK.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-ZVUUPJEM.js → chunk-NBI3GZSK.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-O72GZTSE.js → chunk-NUAXNUP5.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-M24KHENR.js → chunk-PNZR4RLL.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-HJMNR3GC.js → chunk-Q4K22DSJ.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-2LOWCAMW.js → chunk-Q4OS4EFN.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-TK5IIG2F.js → chunk-QLIMO7TQ.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-EDLRS3AW.js → chunk-RQ4F6YFU.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-JSQJDZI4.js → chunk-SB67D3JL.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-RTJKHZWU.js → chunk-SS6WRJ5J.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-L5GODJAR.js → chunk-TC4NTWIJ.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-IZJ42N4W.js → chunk-TKNA6WSZ.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-HP5XLODI.js → chunk-VQYEP77L.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-YSIJTJ7N.js → chunk-WKS5H3VW.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-XWOUPGUF.js → chunk-WPGX7DEA.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-6SQMLVGV.js → chunk-X3EPFVG3.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-NDDI2LWR.js → chunk-XH7MSR3A.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-FFLMY4TE.js → chunk-YDEBBUNQ.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-YK3QIKY7.js → chunk-YSVI7YNN.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-BVKITG4N.js → chunk-YVAS5WPH.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-X7IQYYHF.js → chunk-Z4QVAZM6.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-LJ2JQHJT.js → chunk-ZXOK77EW.js} +7 -7
- package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
- package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +20 -20
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
- package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
- package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
- package/dist/assets/cesium/Workers/transcodeKTX2.js +7 -7
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/dist/assets/{cesium-ac6c193a.js → cesium-8dd00805.js} +44609 -44606
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/core-6b5c0363.js +34173 -0
- package/dist/assets/core-workers/panoramaImageWorker.js +1 -0
- package/dist/assets/core-workers/panoramaImageWorker.js-0ce7d2f3.js +34 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/start.js +3 -1
- package/dist/assets/ui-aadb7707.css +1 -0
- package/dist/assets/{ui-4f308e45.js → ui-aadb7707.js} +7917 -7606
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-99195777.js → vuetify-533fb61b.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +8 -0
- package/index.js +4 -0
- package/package.json +4 -4
- package/plugins/@vcmap-show-case/panorama-inspector/package.json +10 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugInfo.vue +86 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugTools.vue +259 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaInspector.vue +31 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/api.js +161 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/index.js +57 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/showClickInteraction.js +20 -0
- package/src/actions/actionHelper.js +138 -26
- package/src/application/VcsApp.vue +11 -0
- package/src/application/VcsApp.vue.d.ts +4 -0
- package/src/application/VcsContainer.vue.d.ts +4 -0
- package/src/application/VcsNavbar.vue +2 -1
- package/src/callback/activateMapCallback.d.ts +30 -0
- package/src/callback/activateMapCallback.js +63 -0
- package/src/callback/activateOverviewMapCallback.d.ts +7 -0
- package/src/callback/activateOverviewMapCallback.js +26 -0
- package/src/callback/deactivateOverviewMapCallback.d.ts +7 -0
- package/src/callback/deactivateOverviewMapCallback.js +20 -0
- package/src/components/lists/VcsGroupedList.vue +10 -2
- package/src/components/lists/VcsTreeNode.vue +3 -0
- package/src/components/plugins/AbstractWorkspaceItemCreator.vue +104 -0
- package/src/components/plugins/AbstractWorkspaceItemCreator.vue.d.ts +82 -0
- package/src/components/section/VcsExpansionPanel.vue +13 -3
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -1
- package/src/contentTree/LayerSwap.vue +15 -6
- package/src/featureInfo/featureInfo.js +6 -25
- package/src/featureInfo/iframeWmsFeatureInfoView.d.ts +10 -0
- package/src/featureInfo/iframeWmsFeatureInfoView.js +42 -0
- package/src/i18n/de.d.ts +4 -0
- package/src/i18n/de.js +3 -0
- package/src/i18n/en.d.ts +4 -0
- package/src/i18n/en.js +3 -0
- package/src/legend/VcsLegend.vue +5 -1
- package/src/navigation/MapNavigation.vue +60 -18
- package/src/navigation/MapNavigation.vue.d.ts +1 -0
- package/src/navigation/TiltSlider.vue +10 -2
- package/src/navigation/TiltSlider.vue.d.ts +20 -0
- package/src/navigation/VcsCompass.vue +3 -1
- package/src/navigation/overviewMap.d.ts +5 -0
- package/src/navigation/overviewMap.js +17 -0
- package/src/search/ResultsComponent.vue +8 -1
- package/src/search/SearchComponent.vue +3 -17
- package/src/search/SearchComponent.vue.d.ts +1 -2
- package/src/search/search.d.ts +13 -0
- package/src/search/search.js +21 -1
- package/src/uiConfig.d.ts +9 -0
- package/src/uiConfig.js +1 -0
- package/dist/assets/core-de8e51b5.js +0 -26236
- package/dist/assets/ui-4f308e45.css +0 -1
- /package/dist/assets/{ol-94c57f2e.js → ol-f58f403b.js} +0 -0
- /package/dist/assets/{vue-62303c82.js → vue-d7691a29.js} +0 -0
- /package/dist/assets/{vuetify-99195777.css → vuetify-533fb61b.css} +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
|
2
|
+
showFooter: {
|
|
3
|
+
type: BooleanConstructor;
|
|
4
|
+
default: boolean;
|
|
5
|
+
};
|
|
6
|
+
showAdd: {
|
|
7
|
+
type: BooleanConstructor;
|
|
8
|
+
default: boolean;
|
|
9
|
+
};
|
|
10
|
+
disableAdd: {
|
|
11
|
+
type: BooleanConstructor;
|
|
12
|
+
default: boolean;
|
|
13
|
+
};
|
|
14
|
+
tooltipAdd: {
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
default: string;
|
|
17
|
+
};
|
|
18
|
+
newButtonTitle: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
default: string;
|
|
21
|
+
};
|
|
22
|
+
disableNew: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
tooltipNew: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
actions: {
|
|
31
|
+
type: ArrayConstructor;
|
|
32
|
+
default: () => never[];
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
workspaceHidden: import("vue").ComputedRef<boolean>;
|
|
36
|
+
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("addClicked" | "newClicked")[], "addClicked" | "newClicked", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
|
+
showFooter: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: boolean;
|
|
40
|
+
};
|
|
41
|
+
showAdd: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
45
|
+
disableAdd: {
|
|
46
|
+
type: BooleanConstructor;
|
|
47
|
+
default: boolean;
|
|
48
|
+
};
|
|
49
|
+
tooltipAdd: {
|
|
50
|
+
type: StringConstructor;
|
|
51
|
+
default: string;
|
|
52
|
+
};
|
|
53
|
+
newButtonTitle: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
57
|
+
disableNew: {
|
|
58
|
+
type: BooleanConstructor;
|
|
59
|
+
default: boolean;
|
|
60
|
+
};
|
|
61
|
+
tooltipNew: {
|
|
62
|
+
type: StringConstructor;
|
|
63
|
+
default: string;
|
|
64
|
+
};
|
|
65
|
+
actions: {
|
|
66
|
+
type: ArrayConstructor;
|
|
67
|
+
default: () => never[];
|
|
68
|
+
};
|
|
69
|
+
}>> & {
|
|
70
|
+
onAddClicked?: ((...args: any[]) => any) | undefined;
|
|
71
|
+
onNewClicked?: ((...args: any[]) => any) | undefined;
|
|
72
|
+
}, {
|
|
73
|
+
actions: unknown[];
|
|
74
|
+
showFooter: boolean;
|
|
75
|
+
showAdd: boolean;
|
|
76
|
+
disableAdd: boolean;
|
|
77
|
+
tooltipAdd: string;
|
|
78
|
+
newButtonTitle: string;
|
|
79
|
+
disableNew: boolean;
|
|
80
|
+
tooltipNew: string;
|
|
81
|
+
}, {}>;
|
|
82
|
+
export default _default;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
VExpansionPanelText,
|
|
5
5
|
VExpansionPanelTitle,
|
|
6
6
|
VIcon,
|
|
7
|
-
VTooltip,
|
|
8
7
|
VListItemTitle,
|
|
8
|
+
VTooltip,
|
|
9
9
|
} from 'vuetify/components';
|
|
10
10
|
import { computed, ref, useSlots } from 'vue';
|
|
11
11
|
import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
|
|
@@ -96,7 +96,9 @@
|
|
|
96
96
|
line-height: 1.2;
|
|
97
97
|
padding: 0 8px;
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
:deep(.v-list-item-title) > span {
|
|
100
|
+
font-weight: bold;
|
|
101
|
+
}
|
|
100
102
|
.vcs-panel-title__append {
|
|
101
103
|
width: 90%;
|
|
102
104
|
display: inline-block;
|
|
@@ -104,8 +106,16 @@
|
|
|
104
106
|
text-overflow: ellipsis;
|
|
105
107
|
vertical-align: bottom;
|
|
106
108
|
}
|
|
107
|
-
|
|
108
109
|
:deep(.v-expansion-panel-text__wrapper) {
|
|
109
110
|
padding: 0 0;
|
|
110
111
|
}
|
|
111
112
|
</style>
|
|
113
|
+
|
|
114
|
+
<style lang="scss">
|
|
115
|
+
.v-expansion-panels {
|
|
116
|
+
z-index: auto;
|
|
117
|
+
> div:not(:last-child):has(.vcs-expansion-panel) {
|
|
118
|
+
border-bottom: 1px solid rgb(var(--v-theme-base-lighten-2));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
</style>
|
|
@@ -84,7 +84,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
84
84
|
} | undefined;
|
|
85
85
|
getEyeOffset: (feature: import("ol/Feature.js", { with: { "resolution-mode": "import" } }).default<import("ol/geom.js", { with: { "resolution-mode": "import" } }).Geometry>) => import("@vcmap-cesium/engine", { with: { "resolution-mode": "import" } }).Cartesian3 | undefined;
|
|
86
86
|
heightAboveGround: number | undefined;
|
|
87
|
-
getHeightAboveGround: (feature: import("ol/Feature.js", { with: { "resolution-mode": "import" } }).default<import("ol/geom.js", { with: { "resolution-mode": "import" } }).Geometry>) => number;
|
|
87
|
+
getHeightAboveGround: (feature: import("ol/Feature.js", { with: { "resolution-mode": "import" } }).default<import("ol/geom.js", { with: { "resolution-mode": "import" } }).Geometry>) => number | undefined;
|
|
88
88
|
skirt: number;
|
|
89
89
|
getSkirt: (feature: import("ol/Feature.js", { with: { "resolution-mode": "import" } }).default<import("ol/geom.js", { with: { "resolution-mode": "import" } }).Geometry>) => number;
|
|
90
90
|
groundLevel: number | undefined;
|
|
@@ -72,11 +72,15 @@
|
|
|
72
72
|
const wmsGroupItemsMap = getWmsGroupItemsMap(app);
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
* @param {import("@vcmap/core").Layer}l
|
|
75
|
+
* @param {import("@vcmap/core").Layer} l
|
|
76
76
|
* @returns {boolean}
|
|
77
77
|
*/
|
|
78
78
|
const layerFilter = (l) => {
|
|
79
|
-
return
|
|
79
|
+
return (
|
|
80
|
+
l.active &&
|
|
81
|
+
l[moduleIdSymbol] !== volatileModuleId &&
|
|
82
|
+
l.isSupported(app.maps.activeMap)
|
|
83
|
+
);
|
|
80
84
|
};
|
|
81
85
|
|
|
82
86
|
function getLayerTreeItems() {
|
|
@@ -101,11 +105,16 @@
|
|
|
101
105
|
|
|
102
106
|
const items = shallowRef(getLayerTreeItems());
|
|
103
107
|
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
108
|
+
const listeners = [
|
|
109
|
+
app.layers.stateChanged.addEventListener(() => {
|
|
110
|
+
items.value = getLayerTreeItems();
|
|
111
|
+
}),
|
|
112
|
+
app.maps.mapActivated.addEventListener(() => {
|
|
113
|
+
items.value = getLayerTreeItems();
|
|
114
|
+
}),
|
|
115
|
+
];
|
|
107
116
|
|
|
108
|
-
onUnmounted(() =>
|
|
117
|
+
onUnmounted(() => listeners.forEach((l) => l()));
|
|
109
118
|
|
|
110
119
|
return {
|
|
111
120
|
items,
|
|
@@ -229,10 +229,7 @@ export function getGroupedFeatureList(app, features, position = undefined) {
|
|
|
229
229
|
if (layerName) {
|
|
230
230
|
if (!groups[layerName]) {
|
|
231
231
|
const title = app.layers.getByKey(layerName)?.properties?.title;
|
|
232
|
-
groups[layerName] = {
|
|
233
|
-
name: layerName,
|
|
234
|
-
title: title || layerName,
|
|
235
|
-
};
|
|
232
|
+
groups[layerName] = { name: layerName, title: title || layerName };
|
|
236
233
|
}
|
|
237
234
|
listItem.group = layerName;
|
|
238
235
|
}
|
|
@@ -265,10 +262,7 @@ export function createFeatureInfoSession(app) {
|
|
|
265
262
|
stopped.destroy();
|
|
266
263
|
};
|
|
267
264
|
|
|
268
|
-
return {
|
|
269
|
-
stopped,
|
|
270
|
-
stop,
|
|
271
|
-
};
|
|
265
|
+
return { stopped, stop };
|
|
272
266
|
}
|
|
273
267
|
|
|
274
268
|
/**
|
|
@@ -307,11 +301,7 @@ function setupFeatureInfoTool(app) {
|
|
|
307
301
|
}
|
|
308
302
|
if (!app.toolboxManager.has('featureInfo')) {
|
|
309
303
|
app.toolboxManager.add(
|
|
310
|
-
{
|
|
311
|
-
id: 'featureInfo',
|
|
312
|
-
type: ToolboxType.SINGLE,
|
|
313
|
-
action,
|
|
314
|
-
},
|
|
304
|
+
{ id: 'featureInfo', type: ToolboxType.SINGLE, action },
|
|
315
305
|
vcsAppSymbol,
|
|
316
306
|
{ desktop: true, tablet: true, mobile: true },
|
|
317
307
|
);
|
|
@@ -743,11 +733,7 @@ class FeatureInfo extends Collection {
|
|
|
743
733
|
}
|
|
744
734
|
}
|
|
745
735
|
this._app.windowManager.add(
|
|
746
|
-
{
|
|
747
|
-
id: this._windowId,
|
|
748
|
-
...windowComponentOptions,
|
|
749
|
-
props,
|
|
750
|
-
},
|
|
736
|
+
{ id: this._windowId, ...windowComponentOptions, props },
|
|
751
737
|
vcsAppSymbol,
|
|
752
738
|
);
|
|
753
739
|
|
|
@@ -821,13 +807,8 @@ class FeatureInfo extends Collection {
|
|
|
821
807
|
{
|
|
822
808
|
id,
|
|
823
809
|
component: ClusterFeatureComponent,
|
|
824
|
-
props: reactive({
|
|
825
|
-
|
|
826
|
-
groups,
|
|
827
|
-
}),
|
|
828
|
-
state: {
|
|
829
|
-
headerTitle: 'featureInfo.cluster.headerTitle',
|
|
830
|
-
},
|
|
810
|
+
props: reactive({ items, groups }),
|
|
811
|
+
state: { headerTitle: 'featureInfo.cluster.headerTitle' },
|
|
831
812
|
slot: WindowSlot.DYNAMIC_LEFT,
|
|
832
813
|
},
|
|
833
814
|
vcsAppSymbol,
|
|
@@ -7,6 +7,8 @@ export type IframeWmsFeatureInfoViewOptions = import("./abstractFeatureInfoView.
|
|
|
7
7
|
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoViewOptions & { infoFormat: string, title?: string }} IframeWmsFeatureInfoViewOptions
|
|
8
8
|
* @property {string} infoFormat - Specifies the response format of WMS GetFeatureInfo
|
|
9
9
|
* @property {string} [title] - optional title for the <iframe>
|
|
10
|
+
* @property {string} [sandbox] - optional sandbox attribute for the <iframe>
|
|
11
|
+
* @property {boolean} [disableSandbox] - optional flag to disable the sandbox attribute for the <iframe>
|
|
10
12
|
*/
|
|
11
13
|
/**
|
|
12
14
|
* @class
|
|
@@ -26,6 +28,14 @@ declare class IframeWmsFeatureInfoView extends AbstractFeatureInfoView {
|
|
|
26
28
|
* @type {string|undefined}
|
|
27
29
|
*/
|
|
28
30
|
title: string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* @type {string}
|
|
33
|
+
*/
|
|
34
|
+
sandbox: string;
|
|
35
|
+
/**
|
|
36
|
+
* @type {boolean}
|
|
37
|
+
*/
|
|
38
|
+
disableSandbox: boolean;
|
|
29
39
|
/**
|
|
30
40
|
* Gets feature info from WMS GetFeatureInfo in html/text format
|
|
31
41
|
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
|
@@ -6,6 +6,8 @@ import IframeComponent from './IframeComponent.vue';
|
|
|
6
6
|
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoViewOptions & { infoFormat: string, title?: string }} IframeWmsFeatureInfoViewOptions
|
|
7
7
|
* @property {string} infoFormat - Specifies the response format of WMS GetFeatureInfo
|
|
8
8
|
* @property {string} [title] - optional title for the <iframe>
|
|
9
|
+
* @property {string} [sandbox] - optional sandbox attribute for the <iframe>
|
|
10
|
+
* @property {boolean} [disableSandbox] - optional flag to disable the sandbox attribute for the <iframe>
|
|
9
11
|
*/
|
|
10
12
|
|
|
11
13
|
/**
|
|
@@ -35,6 +37,39 @@ class IframeWmsFeatureInfoView extends AbstractFeatureInfoView {
|
|
|
35
37
|
* @type {string|undefined}
|
|
36
38
|
*/
|
|
37
39
|
this.title = options.title || undefined;
|
|
40
|
+
/**
|
|
41
|
+
* @type {string}
|
|
42
|
+
*/
|
|
43
|
+
this.sandbox = options.sandbox || '';
|
|
44
|
+
/**
|
|
45
|
+
* @type {boolean}
|
|
46
|
+
*/
|
|
47
|
+
this.disableSandbox = options.disableSandbox || false;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @param {import("../vcsUiApp.js").default} app
|
|
52
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
|
53
|
+
* @param {import("@vcmap/core").Layer} layer
|
|
54
|
+
* @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
|
|
55
|
+
*/
|
|
56
|
+
getWindowComponentOptions(app, featureInfo, layer) {
|
|
57
|
+
const componentOptions = super.getWindowComponentOptions(
|
|
58
|
+
app,
|
|
59
|
+
featureInfo,
|
|
60
|
+
layer,
|
|
61
|
+
);
|
|
62
|
+
const resolution = app.maps.activeMap.getCurrentResolution(
|
|
63
|
+
featureInfo.position,
|
|
64
|
+
);
|
|
65
|
+
componentOptions.props.src =
|
|
66
|
+
layer.featureProvider.wmsSource.getFeatureInfoUrl(
|
|
67
|
+
featureInfo.position,
|
|
68
|
+
resolution,
|
|
69
|
+
getOlProj('EPSG:3857'),
|
|
70
|
+
{ INFO_FORMAT: this.infoFormat },
|
|
71
|
+
);
|
|
72
|
+
return componentOptions;
|
|
38
73
|
}
|
|
39
74
|
|
|
40
75
|
/**
|
|
@@ -52,6 +87,7 @@ class IframeWmsFeatureInfoView extends AbstractFeatureInfoView {
|
|
|
52
87
|
{ INFO_FORMAT: this.infoFormat },
|
|
53
88
|
),
|
|
54
89
|
title: this.title,
|
|
90
|
+
...(!this.disableSandbox && { sandbox: this.sandbox }),
|
|
55
91
|
};
|
|
56
92
|
}
|
|
57
93
|
|
|
@@ -66,6 +102,12 @@ class IframeWmsFeatureInfoView extends AbstractFeatureInfoView {
|
|
|
66
102
|
if (this.title) {
|
|
67
103
|
config.title = this.title;
|
|
68
104
|
}
|
|
105
|
+
if (this.sandbox) {
|
|
106
|
+
config.sandbox = this.sandbox;
|
|
107
|
+
}
|
|
108
|
+
if (this.disableSandbox) {
|
|
109
|
+
config.disableSandbox = this.disableSandbox;
|
|
110
|
+
}
|
|
69
111
|
return config;
|
|
70
112
|
}
|
|
71
113
|
}
|
package/src/i18n/de.d.ts
CHANGED
|
@@ -114,6 +114,7 @@ declare namespace messages {
|
|
|
114
114
|
let CesiumMap: string;
|
|
115
115
|
let OpenlayersMap: string;
|
|
116
116
|
let ObliqueMap: string;
|
|
117
|
+
let PanoramaMap: string;
|
|
117
118
|
}
|
|
118
119
|
namespace menu {
|
|
119
120
|
let tooltip: string;
|
|
@@ -205,8 +206,11 @@ declare namespace messages {
|
|
|
205
206
|
export let pin: string;
|
|
206
207
|
export let close: string;
|
|
207
208
|
export let add: string;
|
|
209
|
+
let _new: string;
|
|
210
|
+
export { _new as new };
|
|
208
211
|
export let apply: string;
|
|
209
212
|
export let cancel: string;
|
|
213
|
+
export let addToMyWorkspace: string;
|
|
210
214
|
export namespace _import {
|
|
211
215
|
let submit: string;
|
|
212
216
|
let fileDrop: string;
|
package/src/i18n/de.js
CHANGED
|
@@ -14,6 +14,7 @@ const messages = {
|
|
|
14
14
|
CesiumMap: '3D-Karte',
|
|
15
15
|
OpenlayersMap: '2D-Karte',
|
|
16
16
|
ObliqueMap: 'Schrägluftbildkarte',
|
|
17
|
+
PanoramaMap: 'Panoramabildkarte',
|
|
17
18
|
},
|
|
18
19
|
menu: {
|
|
19
20
|
tooltip: 'Menü',
|
|
@@ -93,8 +94,10 @@ const messages = {
|
|
|
93
94
|
pin: 'Fenster andocken',
|
|
94
95
|
close: 'Fenster schließen',
|
|
95
96
|
add: 'Hinzufügen',
|
|
97
|
+
new: 'Neu',
|
|
96
98
|
apply: 'Anwenden',
|
|
97
99
|
cancel: 'Abbrechen',
|
|
100
|
+
addToMyWorkspace: 'Zu Mein Arbeitsbereich hinzufügen',
|
|
98
101
|
import: {
|
|
99
102
|
submit: 'Importieren',
|
|
100
103
|
fileDrop: 'Dateien hierher ziehen',
|
package/src/i18n/en.d.ts
CHANGED
|
@@ -114,6 +114,7 @@ declare namespace messages {
|
|
|
114
114
|
let CesiumMap: string;
|
|
115
115
|
let OpenlayersMap: string;
|
|
116
116
|
let ObliqueMap: string;
|
|
117
|
+
let PanoramaMap: string;
|
|
117
118
|
}
|
|
118
119
|
namespace menu {
|
|
119
120
|
let tooltip: string;
|
|
@@ -205,8 +206,11 @@ declare namespace messages {
|
|
|
205
206
|
export let pin: string;
|
|
206
207
|
export let close: string;
|
|
207
208
|
export let add: string;
|
|
209
|
+
let _new: string;
|
|
210
|
+
export { _new as new };
|
|
208
211
|
export let apply: string;
|
|
209
212
|
export let cancel: string;
|
|
213
|
+
export let addToMyWorkspace: string;
|
|
210
214
|
export namespace _import {
|
|
211
215
|
let submit: string;
|
|
212
216
|
let fileDrop: string;
|
package/src/i18n/en.js
CHANGED
|
@@ -14,6 +14,7 @@ const messages = {
|
|
|
14
14
|
CesiumMap: '3D map',
|
|
15
15
|
OpenlayersMap: '2D map',
|
|
16
16
|
ObliqueMap: 'Oblique imagery map',
|
|
17
|
+
PanoramaMap: 'Panorama imagery map',
|
|
17
18
|
},
|
|
18
19
|
menu: {
|
|
19
20
|
tooltip: 'Menu',
|
|
@@ -93,8 +94,10 @@ const messages = {
|
|
|
93
94
|
pin: 'Dock window',
|
|
94
95
|
close: 'Close window',
|
|
95
96
|
add: 'Add',
|
|
97
|
+
new: 'New',
|
|
96
98
|
apply: 'Apply',
|
|
97
99
|
cancel: 'Cancel',
|
|
100
|
+
addToMyWorkspace: 'Add to My Workspace',
|
|
98
101
|
import: {
|
|
99
102
|
submit: 'Import',
|
|
100
103
|
fileDrop: 'Drop files here',
|
package/src/legend/VcsLegend.vue
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
<v-sheet class="overflow-y-auto vcs-legend">
|
|
3
3
|
<v-expansion-panels
|
|
4
4
|
variant="accordion"
|
|
5
|
+
flat
|
|
5
6
|
multiple
|
|
6
7
|
v-if="entries.length > 0"
|
|
7
8
|
v-model="panels"
|
|
8
|
-
class="rounded-0"
|
|
9
|
+
class="rounded-0 legend-panels"
|
|
9
10
|
>
|
|
10
11
|
<vcs-expansion-panel
|
|
11
12
|
v-for="(entry, i) in entries"
|
|
@@ -142,4 +143,7 @@
|
|
|
142
143
|
background-color: rgb(var(--v-theme-base-lighten-2));
|
|
143
144
|
z-index: 1;
|
|
144
145
|
}
|
|
146
|
+
.legend-panels .vcs-expansion-panel:not(:last-child) {
|
|
147
|
+
border-bottom: 1px solid rgb(var(--v-theme-base-lighten-2));
|
|
148
|
+
}
|
|
145
149
|
</style>
|
|
@@ -35,8 +35,13 @@
|
|
|
35
35
|
:disabled="movementApiCallsDisabled"
|
|
36
36
|
/>
|
|
37
37
|
</v-row>
|
|
38
|
-
<v-row justify="center" v-if="is3D">
|
|
39
|
-
<TiltSlider
|
|
38
|
+
<v-row justify="center" v-if="is3D || isPanorama">
|
|
39
|
+
<TiltSlider
|
|
40
|
+
v-model="tilt"
|
|
41
|
+
:disabled="movementApiCallsDisabled"
|
|
42
|
+
:max-tilt="isPanorama ? 89 : undefined"
|
|
43
|
+
:min-tilt="isPanorama ? -89 : undefined"
|
|
44
|
+
/>
|
|
40
45
|
</v-row>
|
|
41
46
|
<v-row v-if="!hideRotationButton && is3D" justify="center">
|
|
42
47
|
<OrientationToolsButton
|
|
@@ -79,6 +84,7 @@
|
|
|
79
84
|
ObliqueViewDirection,
|
|
80
85
|
startRotation,
|
|
81
86
|
rotationMapControlSymbol,
|
|
87
|
+
PanoramaMap,
|
|
82
88
|
} from '@vcmap/core';
|
|
83
89
|
import { VContainer, VRow } from 'vuetify/components';
|
|
84
90
|
import { useDisplay } from 'vuetify';
|
|
@@ -207,6 +213,7 @@
|
|
|
207
213
|
THREE_D: '3d',
|
|
208
214
|
TWO_D: '2d',
|
|
209
215
|
OBLIQUE: 'oblique',
|
|
216
|
+
PANORAMA: 'panorama',
|
|
210
217
|
};
|
|
211
218
|
|
|
212
219
|
function getViewModeForMap(map) {
|
|
@@ -214,6 +221,8 @@
|
|
|
214
221
|
return OrientationToolsViewMode.OBLIQUE;
|
|
215
222
|
} else if (map instanceof CesiumMap) {
|
|
216
223
|
return OrientationToolsViewMode.THREE_D;
|
|
224
|
+
} else if (map instanceof PanoramaMap) {
|
|
225
|
+
return OrientationToolsViewMode.PANORAMA;
|
|
217
226
|
}
|
|
218
227
|
return OrientationToolsViewMode.TWO_D;
|
|
219
228
|
}
|
|
@@ -225,16 +234,24 @@
|
|
|
225
234
|
* @returns {Promise<void>}
|
|
226
235
|
*/
|
|
227
236
|
async function zoom(map, out = false, zoomFactor = 2) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
237
|
+
if (map instanceof PanoramaMap) {
|
|
238
|
+
if (out) {
|
|
239
|
+
map.panoramaCameraController.zoomOut();
|
|
240
|
+
} else {
|
|
241
|
+
map.panoramaCameraController.zoomIn();
|
|
242
|
+
}
|
|
231
243
|
} else {
|
|
232
|
-
viewpoint
|
|
244
|
+
const viewpoint = await map.getViewpoint();
|
|
245
|
+
if (out) {
|
|
246
|
+
viewpoint.distance *= zoomFactor;
|
|
247
|
+
} else {
|
|
248
|
+
viewpoint.distance /= zoomFactor;
|
|
249
|
+
}
|
|
250
|
+
viewpoint.animate = true;
|
|
251
|
+
viewpoint.duration = 0.5;
|
|
252
|
+
viewpoint.cameraPosition = null;
|
|
253
|
+
await map.gotoViewpoint(viewpoint);
|
|
233
254
|
}
|
|
234
|
-
viewpoint.animate = true;
|
|
235
|
-
viewpoint.duration = 0.5;
|
|
236
|
-
viewpoint.cameraPosition = null;
|
|
237
|
-
await map.gotoViewpoint(viewpoint);
|
|
238
255
|
}
|
|
239
256
|
|
|
240
257
|
/**
|
|
@@ -314,11 +331,22 @@
|
|
|
314
331
|
return headingRef.value;
|
|
315
332
|
},
|
|
316
333
|
async set(headingValue) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
334
|
+
if (app.maps.activeMap instanceof PanoramaMap) {
|
|
335
|
+
const { camera } = app.maps.activeMap.getCesiumWidget();
|
|
336
|
+
camera.setView({
|
|
337
|
+
orientation: {
|
|
338
|
+
heading: CesiumMath.toRadians(headingValue),
|
|
339
|
+
pitch: camera.pitch,
|
|
340
|
+
roll: camera.roll,
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
} else {
|
|
344
|
+
const vp = await app.maps.activeMap.getViewpoint();
|
|
345
|
+
delete vp.cameraPosition;
|
|
346
|
+
vp.heading = headingValue;
|
|
347
|
+
vp.animate = true;
|
|
348
|
+
app.maps.activeMap.gotoViewpoint(vp);
|
|
349
|
+
}
|
|
322
350
|
},
|
|
323
351
|
});
|
|
324
352
|
|
|
@@ -327,9 +355,20 @@
|
|
|
327
355
|
return tiltRef.value;
|
|
328
356
|
},
|
|
329
357
|
set(tiltValue) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
358
|
+
if (app.maps.activeMap instanceof PanoramaMap) {
|
|
359
|
+
const { camera } = app.maps.activeMap.getCesiumWidget();
|
|
360
|
+
camera.setView({
|
|
361
|
+
orientation: {
|
|
362
|
+
heading: camera.heading,
|
|
363
|
+
pitch: CesiumMath.toRadians(tiltValue),
|
|
364
|
+
roll: camera.roll,
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
} else {
|
|
368
|
+
const vp = app.maps.activeMap.getViewpointSync(); // XXX make async and debounce
|
|
369
|
+
vp.pitch = tiltValue;
|
|
370
|
+
app.maps.activeMap.gotoViewpoint(vp);
|
|
371
|
+
}
|
|
333
372
|
},
|
|
334
373
|
});
|
|
335
374
|
|
|
@@ -420,6 +459,9 @@
|
|
|
420
459
|
isOblique: computed(
|
|
421
460
|
() => viewMode.value === OrientationToolsViewMode.OBLIQUE,
|
|
422
461
|
),
|
|
462
|
+
isPanorama: computed(
|
|
463
|
+
() => viewMode.value === OrientationToolsViewMode.PANORAMA,
|
|
464
|
+
),
|
|
423
465
|
zoomIn() {
|
|
424
466
|
zoom(app.maps.activeMap);
|
|
425
467
|
}, // debounce?
|
|
@@ -7,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
7
7
|
tilt: import("vue").WritableComputedRef<number>;
|
|
8
8
|
is3D: import("vue").ComputedRef<boolean>;
|
|
9
9
|
isOblique: import("vue").ComputedRef<boolean>;
|
|
10
|
+
isPanorama: import("vue").ComputedRef<boolean>;
|
|
10
11
|
zoomIn(): void;
|
|
11
12
|
zoomOut(): void;
|
|
12
13
|
overviewAction: {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
:track-color="'base-lighten-3'"
|
|
13
13
|
thumb-color="base-darken-4"
|
|
14
14
|
track-fill-color="'base-darken-4'"
|
|
15
|
-
:max="
|
|
16
|
-
:min="
|
|
15
|
+
:max="maxTilt"
|
|
16
|
+
:min="minTilt"
|
|
17
17
|
direction="vertical"
|
|
18
18
|
hide-details
|
|
19
19
|
class="vcs-tilt-slider"
|
|
@@ -51,6 +51,14 @@
|
|
|
51
51
|
required: false,
|
|
52
52
|
default: false,
|
|
53
53
|
},
|
|
54
|
+
minTilt: {
|
|
55
|
+
type: Number,
|
|
56
|
+
default: -90,
|
|
57
|
+
},
|
|
58
|
+
maxTilt: {
|
|
59
|
+
type: Number,
|
|
60
|
+
default: 0,
|
|
61
|
+
},
|
|
54
62
|
},
|
|
55
63
|
setup(props, { emit }) {
|
|
56
64
|
const fontSize = useFontSize();
|
|
@@ -8,6 +8,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
required: false;
|
|
9
9
|
default: boolean;
|
|
10
10
|
};
|
|
11
|
+
minTilt: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
maxTilt: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
default: number;
|
|
18
|
+
};
|
|
11
19
|
}, {
|
|
12
20
|
localValue: import("vue").Ref<any>;
|
|
13
21
|
tickSize: import("vue").ComputedRef<number>;
|
|
@@ -15,6 +23,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
23
|
props: import("@vue/shared").LooseRequired<{
|
|
16
24
|
readonly disabled: boolean;
|
|
17
25
|
readonly modelValue: number;
|
|
26
|
+
readonly minTilt: number;
|
|
27
|
+
readonly maxTilt: number;
|
|
18
28
|
} & {}>;
|
|
19
29
|
minWidth: import("vue").ComputedRef<number>;
|
|
20
30
|
minHeight: import("vue").ComputedRef<number>;
|
|
@@ -28,7 +38,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
38
|
required: false;
|
|
29
39
|
default: boolean;
|
|
30
40
|
};
|
|
41
|
+
minTilt: {
|
|
42
|
+
type: NumberConstructor;
|
|
43
|
+
default: number;
|
|
44
|
+
};
|
|
45
|
+
maxTilt: {
|
|
46
|
+
type: NumberConstructor;
|
|
47
|
+
default: number;
|
|
48
|
+
};
|
|
31
49
|
}>>, {
|
|
32
50
|
disabled: boolean;
|
|
51
|
+
minTilt: number;
|
|
52
|
+
maxTilt: number;
|
|
33
53
|
}, {}>;
|
|
34
54
|
export default _default;
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
@click="!xs && $event.stopPropagation()"
|
|
17
17
|
@direction-click="$emit('update:modelValue', $event)"
|
|
18
18
|
:can-emit="
|
|
19
|
-
!disabled &&
|
|
19
|
+
!disabled &&
|
|
20
|
+
!xs &&
|
|
21
|
+
(viewMode === '3d' || viewMode === 'oblique' || viewMode === 'panorama')
|
|
20
22
|
"
|
|
21
23
|
:hide-ticks="viewMode === 'oblique'"
|
|
22
24
|
/>
|
|
@@ -5,6 +5,11 @@ export function getWindowComponentOptions(): import("../manager/window/windowMan
|
|
|
5
5
|
export const overviewMapWindowId: "overview-map-container";
|
|
6
6
|
export const overviewMapLayerSymbol: unique symbol;
|
|
7
7
|
export default OverviewMap;
|
|
8
|
+
/**
|
|
9
|
+
* panorama behavior
|
|
10
|
+
* 1. in panorama, only allow clicking on a footprint
|
|
11
|
+
* 2. in other maps, if you click directly on a panorama footprint, switch maps and go to image (same as clicking on the footprint in the main map)
|
|
12
|
+
*/
|
|
8
13
|
/**
|
|
9
14
|
* A 2D OverviewMap for cesium, openlayers and oblique map.
|
|
10
15
|
* Baselayers are added to the OverviewMap using `showInOverviewMap` flag within the properties bag of a layer configuration.
|