@vcmap/ui 5.0.0-rc.24 → 5.0.0-rc.26
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 +132 -14
- package/build/buildHelpers.js +196 -92
- package/build/bundle.js +56 -0
- package/build/commonViteConfig.js +2 -2
- package/config/base.config.json +29 -2
- package/config/dev.config.json +29 -1
- package/config/www.config.json +81 -39
- package/dist/assets/@mdi/font/LICENSE +20 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +3 -0
- package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-85d9e53a.js → AxisAlignedBoundingBox-4140c51f.js} +1 -1
- package/dist/assets/cesium/Workers/{BoundingRectangle-1ee7eb47.js → BoundingRectangle-c714b156.js} +1 -1
- package/dist/assets/cesium/Workers/{BoxGeometry-3b2be784.js → BoxGeometry-6f3da43d.js} +1 -1
- package/dist/assets/cesium/Workers/{Color-f107c84d.js → Color-8a565ff2.js} +5 -5
- package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-78d71993.js → CoplanarPolygonGeometryLibrary-4b4d4096.js} +1 -1
- package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-50d99b33.js → CorridorGeometryLibrary-7b94502b.js} +1 -1
- package/dist/assets/cesium/Workers/{CylinderGeometry-51b0d9bf.js → CylinderGeometry-ca070b87.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseGeometry-bcfb5d87.js → EllipseGeometry-122e51fa.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-e94f8472.js → EllipseGeometryLibrary-4d326efc.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-28e3a1bb.js → EllipseOutlineGeometry-16cc2bd7.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidGeometry-b222fa63.js → EllipsoidGeometry-cb148ca2.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-38a3fb5b.js → EllipsoidOutlineGeometry-0fa10c79.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-8c89f28c.js → EllipsoidTangentPlane-6dd1b7af.js} +1 -1
- package/dist/assets/cesium/Workers/{FrustumGeometry-bdd3a04d.js → FrustumGeometry-ee73037c.js} +1 -1
- package/dist/assets/cesium/Workers/{GeometryAttribute-153115c5.js → GeometryAttribute-ff5b4fb1.js} +1 -1
- package/dist/assets/cesium/Workers/{GeometryPipeline-acb2399c.js → GeometryPipeline-1f8fbf05.js} +1 -1
- package/dist/assets/cesium/Workers/{IntersectionTests-271e513e.js → IntersectionTests-70d39ba9.js} +1 -1
- package/dist/assets/cesium/Workers/{OrientedBoundingBox-5e04e31f.js → OrientedBoundingBox-159cf1d6.js} +1 -1
- package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-6762b65b.js → PolygonGeometryLibrary-076a5d25.js} +1 -1
- package/dist/assets/cesium/Workers/{PolygonPipeline-7dc7a431.js → PolygonPipeline-b9f2810a.js} +1 -1
- package/dist/assets/cesium/Workers/{PolylinePipeline-15fde655.js → PolylinePipeline-639192e0.js} +1 -1
- package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-ba7dfed5.js → PolylineVolumeGeometryLibrary-b73549fb.js} +1 -1
- package/dist/assets/cesium/Workers/{PrimitivePipeline-68f0b9a2.js → PrimitivePipeline-10ede1b6.js} +1 -1
- package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-8eaf23da.js → RectangleGeometryLibrary-c35a7356.js} +1 -1
- package/dist/assets/cesium/Workers/{TerrainEncoding-eb8a645a.js → TerrainEncoding-668d242f.js} +1 -1
- package/dist/assets/cesium/Workers/{Transforms-f6451f99.js → Transforms-a2a85221.js} +14 -0
- package/dist/assets/cesium/Workers/{WallGeometryLibrary-feef3109.js → WallGeometryLibrary-1938bf0d.js} +1 -1
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +1 -1
- package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCircleGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSphereGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
- package/dist/assets/cesium/Workers/createWallGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/package.js +1 -1
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/dist/assets/{cesium.253914.js → cesium.305b7c.js} +58656 -33170
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/core.f3d6d4.js +19060 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-f94d5be3.js +1 -0
- package/dist/assets/{ol.1c946a.js → ol.39cc05.js} +27344 -12118
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.74022f.css +5 -0
- package/dist/assets/ui.74022f.js +13466 -0
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue.c1ece7.js → vue.9b8c6e.js} +834 -598
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.6efa21.css → vuetify.30486f.css} +1 -1
- package/dist/assets/{vuetify.6efa21.js → vuetify.30486f.js} +343 -103
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +7 -6
- package/index.html +14 -6
- package/index.js +19 -2
- package/lib/olLib.js +19 -16
- package/package.json +15 -14
- package/plugins/@vcmap/create-link/fallbackCreateLink.vue +0 -2
- package/plugins/@vcmap/simple-graph/index.js +1 -1
- package/plugins/@vcmap-show-case/README.md +2 -1
- package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +55 -79
- package/plugins/@vcmap-show-case/category-tester/CategoriesExample.vue +135 -0
- package/plugins/@vcmap-show-case/category-tester/CollectionComponentOptions.vue +209 -0
- package/plugins/@vcmap-show-case/category-tester/index.js +19 -1
- package/plugins/@vcmap-show-case/collection-manager-example/CollectionManagerExample.vue +182 -0
- package/plugins/@vcmap-show-case/collection-manager-example/README.md +3 -0
- package/plugins/@vcmap-show-case/collection-manager-example/index.js +74 -0
- package/plugins/@vcmap-show-case/collection-manager-example/package.json +5 -0
- package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +20 -3
- package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +21 -0
- package/plugins/@vcmap-show-case/switch-map-callback-example/SwitchMapCallback.js +47 -0
- package/plugins/@vcmap-show-case/switch-map-callback-example/config.json +3 -0
- package/plugins/@vcmap-show-case/switch-map-callback-example/index.js +34 -0
- package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +5 -0
- package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +0 -1
- package/plugins/package.json +3 -1
- package/public/assets/@mdi/font/LICENSE +20 -0
- package/public/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +3 -0
- package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/public/assets/favicon-128.png +0 -0
- package/public/assets/favicon-180.png +0 -0
- package/public/assets/favicon-192.png +0 -0
- package/public/assets/favicon-32.png +0 -0
- package/src/application/VcsApp.vue +38 -8
- package/src/application/VcsAttributions.vue +20 -5
- package/src/application/VcsAttributionsFooter.vue +0 -1
- package/src/application/VcsNavbar.vue +29 -22
- package/src/callback/activateLayersCallback.js +54 -0
- package/src/callback/applyLayerStyleCallback.js +63 -0
- package/src/callback/deactivateLayersCallback.js +54 -0
- package/src/callback/goToViewpointCallback.js +54 -0
- package/src/callback/vcsCallback.js +66 -0
- package/src/components/buttons/VcsActionButtonList.vue +28 -10
- package/src/components/buttons/VcsButton.vue +38 -100
- package/src/components/buttons/VcsFormButton.vue +6 -4
- package/src/components/buttons/VcsToolButton.vue +161 -0
- package/src/components/form-inputs-controls/VcsDatePicker.vue +19 -5
- package/src/components/form-inputs-controls/VcsFormSection.vue +0 -1
- package/src/components/form-inputs-controls/VcsSelect.vue +16 -2
- package/src/components/form-inputs-controls/VcsSlider.vue +72 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +24 -13
- package/src/components/form-inputs-controls/VcsWizard.vue +13 -14
- package/src/components/form-inputs-controls/VcsWizardStep.vue +0 -1
- package/src/components/lists/VcsList.vue +3 -2
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -1
- package/src/components/tables/VcsDataTable.vue +5 -5
- package/src/components/tables/VcsTable.vue +1 -1
- package/src/contentTree/LayerTree.vue +15 -9
- package/src/contentTree/contentTreeCollection.js +1 -1
- package/src/contentTree/contentTreeItem.js +22 -3
- package/src/contentTree/groupContentTreeItem.js +1 -0
- package/src/contentTree/layerContentTreeItem.js +4 -14
- package/src/contentTree/layerGroupContentTreeItem.js +4 -14
- package/src/contentTree/obliqueCollectionContentTreeItem.js +4 -0
- package/src/contentTree/viewpointContentTreeItem.js +1 -0
- package/src/featureInfo/BalloonComponent.vue +0 -1
- package/src/featureInfo/abstractFeatureInfoView.js +16 -1
- package/src/featureInfo/featureInfo.js +45 -56
- package/src/i18n/de.js +5 -2
- package/src/i18n/en.js +5 -2
- package/src/i18n/i18nCollection.js +1 -2
- package/src/init.js +1 -4
- package/src/legend/vcsLegend.vue +1 -1
- package/src/manager/buttonManager.js +15 -0
- package/src/manager/{categoryManager/CategoryComponent.vue → collectionManager/CollectionComponent.vue} +57 -66
- package/src/manager/collectionManager/CollectionComponentList.vue +62 -0
- package/src/manager/collectionManager/CollectionComponentProvider.vue +38 -0
- package/src/manager/collectionManager/CollectionManager.vue +43 -0
- package/src/manager/collectionManager/categoryManager.js +83 -0
- package/src/manager/collectionManager/collectionComponent.js +453 -0
- package/src/manager/collectionManager/collectionManager.js +432 -0
- package/src/manager/navbarManager.js +5 -4
- package/src/manager/toolbox/GroupToolboxComponent.vue +5 -7
- package/src/manager/toolbox/SelectToolboxComponent.vue +6 -9
- package/src/manager/toolbox/ToolboxManager.vue +4 -5
- package/src/manager/window/WindowComponentHeader.vue +0 -4
- package/src/manager/window/WindowManager.vue +22 -5
- package/src/navigation/mapNavigation.vue +34 -8
- package/src/navigation/overviewMap.js +7 -1
- package/src/notifier/notifierComponent.vue +0 -1
- package/src/pluginHelper.js +5 -0
- package/src/search/resultItem.vue +0 -1
- package/src/search/searchComponent.vue +7 -9
- package/src/styles/_theming.scss +0 -16
- package/src/styles/_typography.scss +2 -2
- package/src/styles/main.scss +8 -0
- package/src/styles/vcsFont.scss +1 -22
- package/src/vcsUiApp.js +76 -12
- package/src/vuePlugins/i18n.js +18 -19
- package/src/vuePlugins/vuetify.js +0 -1
- package/dist/assets/core.3a8205.js +0 -18426
- package/dist/assets/index.91ae2d55.js +0 -1
- package/dist/assets/ui.0025be.css +0 -5
- package/dist/assets/ui.0025be.js +0 -18534
- package/plugins/@vcmap-show-case/category-tester/Categories.vue +0 -291
- package/plugins/@vcmap-show-case/category-tester/Category.vue +0 -164
- package/src/manager/categoryManager/CategoryComponentList.vue +0 -82
- package/src/manager/categoryManager/CategoryManager.vue +0 -47
- package/src/manager/categoryManager/categoryManager.js +0 -633
- package/start.js +0 -9
- /package/{src/assets/favicon-128.png → dist/assets/favicon-128.4c4ce5.png} +0 -0
- /package/{src/assets/favicon-180.png → dist/assets/favicon-180.5b99c0.png} +0 -0
- /package/{src/assets/favicon-192.png → dist/assets/favicon-192.0e205e.png} +0 -0
- /package/{src/assets/favicon-32.png → dist/assets/favicon-32.6b9add.png} +0 -0
- /package/dist/assets/{favicon.decf54cc.svg → favicon.d5ec97.svg} +0 -0
- /package/dist/assets/font/{TitilliumWeb-Regular.woff2 → TitilliumWeb-Regular.9ca076.woff2} +0 -0
- /package/{src → public}/assets/favicon.svg +0 -0
- /package/{src → public}/assets/font/OFL.txt +0 -0
- /package/{src → public}/assets/font/TitilliumWeb-Regular.woff2 +0 -0
- /package/src/{assets/logo-mobile.svg → logo-mobile.svg} +0 -0
- /package/src/{assets/logo.svg → logo.svg} +0 -0
@@ -18,9 +18,9 @@
|
|
18
18
|
@blur="onBlur"
|
19
19
|
@keydown.esc="onEscape"
|
20
20
|
@keydown="$emit('keydown', $event)"
|
21
|
-
:value="visibleValue"
|
22
21
|
:type="type"
|
23
22
|
outlined
|
23
|
+
v-model="visibleValue"
|
24
24
|
v-bind="{ ...$attrs, ...attrs }"
|
25
25
|
v-on="{ ...$listeners, ...on }"
|
26
26
|
:height="isDense ? 24 : 32"
|
@@ -127,6 +127,12 @@
|
|
127
127
|
.v-text-field__suffix {
|
128
128
|
padding-left: 4px;
|
129
129
|
}
|
130
|
+
.v-input__prepend-outer {
|
131
|
+
margin-right: 4px;
|
132
|
+
}
|
133
|
+
.v-icon {
|
134
|
+
font-size: 16px;
|
135
|
+
}
|
130
136
|
fieldset {
|
131
137
|
border-radius: 2px;
|
132
138
|
border-color: var(--v-base-base);
|
@@ -212,18 +218,23 @@
|
|
212
218
|
!(attrs.disabled || attrs.disabled === '')
|
213
219
|
);
|
214
220
|
});
|
215
|
-
const visibleValue = computed(
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
221
|
+
const visibleValue = computed({
|
222
|
+
get() {
|
223
|
+
if (
|
224
|
+
attrs.type === 'number' &&
|
225
|
+
attrs.value &&
|
226
|
+
props.unit &&
|
227
|
+
!focus.value &&
|
228
|
+
!hover.value
|
229
|
+
) {
|
230
|
+
return `${attrs.value} ${props.unit}`;
|
231
|
+
} else {
|
232
|
+
return attrs.value ?? '';
|
233
|
+
}
|
234
|
+
},
|
235
|
+
set(event) {
|
236
|
+
emit('input', event);
|
237
|
+
},
|
227
238
|
});
|
228
239
|
const type = computed(() => {
|
229
240
|
if (attrs.type === 'number' && !focus.value) {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
vertical
|
4
4
|
:value="value"
|
5
5
|
@change="(newValue) => $emit('input', newValue)"
|
6
|
-
class="rounded-0"
|
6
|
+
class="rounded-0 pb-1"
|
7
7
|
>
|
8
8
|
<slot />
|
9
9
|
</v-stepper>
|
@@ -41,15 +41,15 @@
|
|
41
41
|
.v-stepper__label {
|
42
42
|
color: map-get($shades, 'black');
|
43
43
|
}
|
44
|
-
&--
|
45
|
-
background-color: rgba(34, 34, 34, 0.1);
|
44
|
+
&--complete {
|
46
45
|
.v-stepper__label {
|
47
|
-
color:
|
46
|
+
color: map-get($shades, 'black');
|
48
47
|
}
|
49
48
|
}
|
50
|
-
&--
|
49
|
+
&--active {
|
50
|
+
background-color: rgba(34, 34, 34, 0.1);
|
51
51
|
.v-stepper__label {
|
52
|
-
color:
|
52
|
+
color: var(--v-primary-base);
|
53
53
|
}
|
54
54
|
}
|
55
55
|
.v-stepper__step__step::before {
|
@@ -68,15 +68,15 @@
|
|
68
68
|
.v-stepper__label {
|
69
69
|
color: map-get($shades, 'white');
|
70
70
|
}
|
71
|
-
&--
|
72
|
-
background-color: rgba(255, 255, 255, 0.17);
|
71
|
+
&--complete {
|
73
72
|
.v-stepper__label {
|
74
|
-
color:
|
73
|
+
color: map-get($shades, 'white');
|
75
74
|
}
|
76
75
|
}
|
77
|
-
&--
|
76
|
+
&--active {
|
77
|
+
background-color: rgba(255, 255, 255, 0.17);
|
78
78
|
.v-stepper__label {
|
79
|
-
color:
|
79
|
+
color: var(--v-primary-base);
|
80
80
|
}
|
81
81
|
}
|
82
82
|
.v-stepper__step__step {
|
@@ -113,7 +113,6 @@
|
|
113
113
|
color: transparent;
|
114
114
|
position: relative;
|
115
115
|
margin-top: 1px;
|
116
|
-
margin-right: 5px;
|
117
116
|
&:before {
|
118
117
|
content: '\25cf';
|
119
118
|
font-size: 18px;
|
@@ -130,8 +129,8 @@
|
|
130
129
|
}
|
131
130
|
}
|
132
131
|
}
|
133
|
-
.v-stepper__content.v-stepper__wrapper {
|
134
|
-
margin: 4px 0;
|
132
|
+
.v-stepper__content .v-stepper__wrapper {
|
133
|
+
margin: 4px 0 4px 4px;
|
135
134
|
}
|
136
135
|
}
|
137
136
|
}
|
@@ -41,7 +41,6 @@
|
|
41
41
|
:actions="actions"
|
42
42
|
:block-overflow="true"
|
43
43
|
:overflow-count="actionButtonListOverflowCount"
|
44
|
-
small
|
45
44
|
/>
|
46
45
|
</v-list-item-content>
|
47
46
|
</v-list-item>
|
@@ -109,7 +108,6 @@
|
|
109
108
|
:actions="item.actions"
|
110
109
|
:block-overflow="true"
|
111
110
|
:overflow-count="actionButtonListOverflowCount"
|
112
|
-
small
|
113
111
|
/>
|
114
112
|
</v-list-item-action>
|
115
113
|
</v-list-item>
|
@@ -565,6 +563,9 @@
|
|
565
563
|
.v-icon {
|
566
564
|
font-size: 16px;
|
567
565
|
}
|
566
|
+
&:last-child {
|
567
|
+
min-width: auto;
|
568
|
+
}
|
568
569
|
}
|
569
570
|
.v-list-item__content {
|
570
571
|
flex-wrap: nowrap;
|
@@ -83,7 +83,7 @@
|
|
83
83
|
<v-row dense no-gutters justify="center" class="align-center">
|
84
84
|
<v-menu offset-y dense>
|
85
85
|
<template #activator="{ on, attrs }">
|
86
|
-
<VcsButton
|
86
|
+
<VcsButton color="primary" v-bind="attrs" v-on="on">
|
87
87
|
{{ itemsPerPageRef }}
|
88
88
|
<v-icon>mdi-chevron-down</v-icon>
|
89
89
|
</VcsButton>
|
@@ -107,7 +107,6 @@
|
|
107
107
|
{{ $t('components.vcsDataTable.ofItems') }} {{ numberOfItems }}
|
108
108
|
</span>
|
109
109
|
<VcsButton
|
110
|
-
small
|
111
110
|
icon="mdi-chevron-left"
|
112
111
|
@click="formerPage"
|
113
112
|
tooltip="components.vcsDataTable.formerPage"
|
@@ -115,7 +114,6 @@
|
|
115
114
|
class="ml-1"
|
116
115
|
/>
|
117
116
|
<VcsButton
|
118
|
-
small
|
119
117
|
icon="mdi-chevron-right"
|
120
118
|
@click="nextPage"
|
121
119
|
tooltip="components.vcsDataTable.nextPage"
|
@@ -344,8 +342,10 @@
|
|
344
342
|
|
345
343
|
&.v-data-table__mobile-row {
|
346
344
|
justify-content: left;
|
347
|
-
height: 27px;
|
348
345
|
min-height: auto;
|
346
|
+
.v-data-table__mobile-row__header {
|
347
|
+
min-width: 50px;
|
348
|
+
}
|
349
349
|
}
|
350
350
|
}
|
351
351
|
}
|
@@ -375,7 +375,7 @@
|
|
375
375
|
}
|
376
376
|
}
|
377
377
|
|
378
|
-
.v-btn.vcs-button
|
378
|
+
.v-btn.vcs-button {
|
379
379
|
height: 100% !important;
|
380
380
|
display: block;
|
381
381
|
}
|
@@ -1,16 +1,22 @@
|
|
1
1
|
<template>
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
<div>
|
3
|
+
<VcsTreeview
|
4
|
+
v-if="tree && tree.length"
|
5
|
+
:items="tree"
|
6
|
+
:open.sync="open"
|
7
|
+
:show-searchbar="true"
|
8
|
+
:searchbar-placeholder="'content.search.placeholder'"
|
9
|
+
item-children="visibleChildren"
|
10
|
+
/>
|
11
|
+
<v-sheet v-else class="ma-2">
|
12
|
+
{{ $t('content.empty') }}
|
13
|
+
</v-sheet>
|
14
|
+
</div>
|
10
15
|
</template>
|
11
16
|
|
12
17
|
<script>
|
13
18
|
import { inject } from 'vue';
|
19
|
+
import { VSheet } from 'vuetify/lib';
|
14
20
|
import VcsTreeview from '../components/lists/VcsTreeview.vue';
|
15
21
|
|
16
22
|
/**
|
@@ -19,7 +25,7 @@
|
|
19
25
|
*/
|
20
26
|
export default {
|
21
27
|
name: 'VcsLayerTree',
|
22
|
-
components: { VcsTreeview },
|
28
|
+
components: { VcsTreeview, VSheet },
|
23
29
|
props: {
|
24
30
|
windowState: {
|
25
31
|
type: Object,
|
@@ -7,6 +7,7 @@ import {
|
|
7
7
|
createStateRefAction,
|
8
8
|
StateActionState,
|
9
9
|
} from '../actions/stateRefAction.js';
|
10
|
+
import { executeCallbacks } from '../callback/vcsCallback.js';
|
10
11
|
|
11
12
|
/**
|
12
13
|
* @typedef {Object} ContentTreeItemOptions
|
@@ -17,6 +18,9 @@ import {
|
|
17
18
|
* @property {number} [weight] - optional weighting of the item. higher weights come first.
|
18
19
|
* @property {string} [infoUrl] - optional info url providing link with additional information.
|
19
20
|
* @property {boolean} [initOpen=false] - groups being initially open or not.
|
21
|
+
* @property {VcsCallbackOptions} [onClick] - optional callback actions executed on click
|
22
|
+
* @property {VcsCallbackOptions} [onActivate] - optional callback actions executed on activation of the item
|
23
|
+
* @property {VcsCallbackOptions} [onDeactivate] - optional callback actions executed on deactivation of the item
|
20
24
|
*/
|
21
25
|
|
22
26
|
/**
|
@@ -157,7 +161,21 @@ class ContentTreeItem {
|
|
157
161
|
* @type {boolean}
|
158
162
|
*/
|
159
163
|
this.initOpen = parseBoolean(options.initOpen, false);
|
160
|
-
|
164
|
+
/**
|
165
|
+
* @type {Array<VcsCallbackOptions>}
|
166
|
+
* @protected
|
167
|
+
*/
|
168
|
+
this._onClick = options.onClick ?? [];
|
169
|
+
/**
|
170
|
+
* @type {Array<VcsCallbackOptions>}
|
171
|
+
* @protected
|
172
|
+
*/
|
173
|
+
this._onActivate = options.onActivate ?? [];
|
174
|
+
/**
|
175
|
+
* @type {Array<VcsCallbackOptions>}
|
176
|
+
* @protected
|
177
|
+
*/
|
178
|
+
this._onDeactivate = options.onDeactivate ?? [];
|
161
179
|
/**
|
162
180
|
* @type {VcsEvent<number>}
|
163
181
|
*/
|
@@ -426,8 +444,9 @@ class ContentTreeItem {
|
|
426
444
|
* A callback called once the item is clicked.
|
427
445
|
* @returns {Promise<void>}
|
428
446
|
*/
|
429
|
-
|
430
|
-
|
447
|
+
async clicked() {
|
448
|
+
executeCallbacks(this._app, this._onClick);
|
449
|
+
}
|
431
450
|
|
432
451
|
/**
|
433
452
|
* Returns a readonly TreeViewItem used for rendering the current item.
|
@@ -9,11 +9,11 @@ import component from '../actions/styleSelector.vue';
|
|
9
9
|
import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
|
10
10
|
import { vcsAppSymbol } from '../pluginHelper.js';
|
11
11
|
import { contentTreeClassRegistry } from './contentTreeItem.js';
|
12
|
+
import { executeCallbacks } from '../callback/vcsCallback.js';
|
12
13
|
|
13
14
|
/**
|
14
15
|
* @typedef {ContentTreeItemOptions} LayerContentTreeItemOptions
|
15
16
|
* @property {string} layerName
|
16
|
-
* @property {Array<string>} layerNamesToDeactivate list of LayerNames which should be deactivated if the click activates the layer
|
17
17
|
*/
|
18
18
|
|
19
19
|
/**
|
@@ -86,14 +86,6 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
|
|
86
86
|
*/
|
87
87
|
this._layerName = options.layerName;
|
88
88
|
|
89
|
-
/**
|
90
|
-
* @type {Array<string>}
|
91
|
-
* @private
|
92
|
-
*/
|
93
|
-
this._layerNamesToDeactivate = Array.isArray(options.layerNamesToDeactivate)
|
94
|
-
? options.layerNamesToDeactivate.slice()
|
95
|
-
: [];
|
96
|
-
|
97
89
|
/**
|
98
90
|
* @type {Array<Function>}
|
99
91
|
* @private
|
@@ -238,15 +230,14 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
|
|
238
230
|
}
|
239
231
|
|
240
232
|
async clicked() {
|
233
|
+
await super.clicked();
|
241
234
|
if (this._layer) {
|
242
235
|
if (this.state === StateActionState.INACTIVE) {
|
243
236
|
await this._layer.activate();
|
244
|
-
this.
|
245
|
-
.map((n) => this._app.layers.getByKey(n))
|
246
|
-
.filter((l) => l)
|
247
|
-
.forEach((l) => l.deactivate());
|
237
|
+
executeCallbacks(this._app, this._onActivate);
|
248
238
|
} else {
|
249
239
|
this._layer.deactivate();
|
240
|
+
executeCallbacks(this._app, this._onDeactivate);
|
250
241
|
}
|
251
242
|
}
|
252
243
|
}
|
@@ -257,7 +248,6 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
|
|
257
248
|
toJSON() {
|
258
249
|
const config = super.toJSON();
|
259
250
|
config.layerName = this._layerName;
|
260
|
-
config.layerNamesToDeactivate = this._layerNamesToDeactivate.slice();
|
261
251
|
return config;
|
262
252
|
}
|
263
253
|
|
@@ -6,11 +6,11 @@ import {
|
|
6
6
|
setViewpointAction,
|
7
7
|
} from './layerContentTreeItem.js';
|
8
8
|
import { StateActionState } from '../actions/stateRefAction.js';
|
9
|
+
import { executeCallbacks } from '../callback/vcsCallback.js';
|
9
10
|
|
10
11
|
/**
|
11
12
|
* @typedef {ContentTreeItemOptions} LayerGroupContentTreeItemOptions
|
12
13
|
* @property {Array<string>} layerNames list of LayerNames which should be activated on click
|
13
|
-
* @property {Array<string>} layerNamesToDeactivate list of LayerNames which should be deactivated on click if the click activates the layer in layerNames
|
14
14
|
* @property {string} [defaultViewpoint] - the name of an optional default viewpoint
|
15
15
|
*/
|
16
16
|
|
@@ -63,14 +63,6 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
|
|
63
63
|
? options.layerNames.slice()
|
64
64
|
: [];
|
65
65
|
|
66
|
-
/**
|
67
|
-
* @type {Array<string>}
|
68
|
-
* @private
|
69
|
-
*/
|
70
|
-
this._layerNamesToDeactivate = Array.isArray(options.layerNamesToDeactivate)
|
71
|
-
? options.layerNamesToDeactivate.slice()
|
72
|
-
: [];
|
73
|
-
|
74
66
|
/**
|
75
67
|
* @type {Array<function():void>}
|
76
68
|
* @private
|
@@ -152,18 +144,17 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
|
|
152
144
|
* @returns {Promise<void>}
|
153
145
|
*/
|
154
146
|
async clicked() {
|
147
|
+
await super.clicked();
|
155
148
|
const layers = this._layers;
|
156
149
|
const activate = layers.some((l) => !(l.active || l.loading));
|
157
150
|
if (activate) {
|
158
151
|
await Promise.all(layers.map((l) => l.activate()));
|
159
|
-
this.
|
160
|
-
.map((n) => this._app.layers.getByKey(n))
|
161
|
-
.filter((l) => l)
|
162
|
-
.forEach((l) => l.deactivate());
|
152
|
+
executeCallbacks(this._app, this._onActivate);
|
163
153
|
} else {
|
164
154
|
layers.forEach((l) => {
|
165
155
|
l.deactivate();
|
166
156
|
});
|
157
|
+
executeCallbacks(this._app, this._onDeactivate);
|
167
158
|
}
|
168
159
|
}
|
169
160
|
|
@@ -173,7 +164,6 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
|
|
173
164
|
toJSON() {
|
174
165
|
const config = super.toJSON();
|
175
166
|
config.layerNames = this._layerNames.slice();
|
176
|
-
config.layerNamesToDeactivate = this._layerNamesToDeactivate.slice();
|
177
167
|
if (this._defaultViewpoint) {
|
178
168
|
config.defaultViewpoint = this._defaultViewpoint;
|
179
169
|
}
|
@@ -3,6 +3,7 @@ import VcsObjectContentTreeItem from './vcsObjectContentTreeItem.js';
|
|
3
3
|
import { setViewpointAction } from './layerContentTreeItem.js';
|
4
4
|
import { StateActionState } from '../actions/stateRefAction.js';
|
5
5
|
import { contentTreeClassRegistry } from './contentTreeItem.js';
|
6
|
+
import { executeCallbacks } from '../callback/vcsCallback.js';
|
6
7
|
|
7
8
|
/**
|
8
9
|
* @typedef {ContentTreeItemOptions} ObliqueCollectionContentTreeItemOptions
|
@@ -139,6 +140,7 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
|
|
139
140
|
}
|
140
141
|
|
141
142
|
async clicked() {
|
143
|
+
await super.clicked();
|
142
144
|
if (
|
143
145
|
this.visible &&
|
144
146
|
this._collection &&
|
@@ -151,9 +153,11 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
|
|
151
153
|
if (this.state === StateActionState.INACTIVE) {
|
152
154
|
this.state = StateActionState.LOADING;
|
153
155
|
await map.setCollection(this._collection, vp);
|
156
|
+
executeCallbacks(this._app, this._onActivate);
|
154
157
|
} else if (this.state === StateActionState.ACTIVE) {
|
155
158
|
this.state = StateActionState.INACTIVE;
|
156
159
|
await map.setCollection(defaultCollection, vp);
|
160
|
+
executeCallbacks(this._app, this._onDeactivate);
|
157
161
|
}
|
158
162
|
}
|
159
163
|
}
|
@@ -172,6 +172,21 @@ export function applyAttributeFilter(attributes, keys, result = {}) {
|
|
172
172
|
return result;
|
173
173
|
}
|
174
174
|
|
175
|
+
/**
|
176
|
+
* Filters all olcs attributes, not provided as keys
|
177
|
+
* @param {Object<string, *>} attributes
|
178
|
+
* @param {Array<string>} keys
|
179
|
+
* @returns {Object}
|
180
|
+
*/
|
181
|
+
export function applyOlcsAttributeFilter(attributes, keys = []) {
|
182
|
+
return Object.keys(attributes)
|
183
|
+
.filter((key) => keys.includes(key) || !/^olcs_/.test(key))
|
184
|
+
.reduce((obj, key) => {
|
185
|
+
obj[key] = attributes[key];
|
186
|
+
return obj;
|
187
|
+
}, {});
|
188
|
+
}
|
189
|
+
|
175
190
|
/**
|
176
191
|
* Abstract class to be extended by FeatureInfoView classes
|
177
192
|
* Subclasses must always provide a component and may overwrite class methods.
|
@@ -265,7 +280,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
265
280
|
if (this.keyMapping) {
|
266
281
|
applyKeyMapping(attributes, this.keyMapping);
|
267
282
|
}
|
268
|
-
return attributes;
|
283
|
+
return applyOlcsAttributeFilter(attributes, this.attributeKeys);
|
269
284
|
}
|
270
285
|
|
271
286
|
/**
|