@vcmap/ui 6.0.0-rc.8 → 6.0.0
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/README.md +2 -0
- package/build/buildHelpers.js +1 -1
- package/build/commonViteConfig.js +7 -0
- package/config/aerowest.config.json +12 -2
- package/config/analysis.config.json +17 -0
- package/config/base.config.json +19 -5
- package/config/components-show-case.config.json +53 -0
- package/config/concepts-show-case.config.json +39 -0
- package/config/dev.config.json +164 -105
- package/config/dynamic-layer.config.json +32 -0
- package/config/hello-world.config.json +11 -0
- package/config/projects.config.json +9 -1
- package/config/solar.config.json +65 -0
- package/config/vectorTile.config.json +70 -0
- package/config/www.config.json +34 -13
- package/dist/assets/{cesium-2ec6aae0.js → cesium-00deba88.js} +4672 -4704
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-6f2522e5.js → core-a599e8b6.js} +7932 -7342
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol-b0e134cb.js → ol-21bbc740.js} +12206 -11711
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-adeddc7d.css +1 -0
- package/dist/assets/{ui-bf3d1f84.js → ui-adeddc7d.js} +10415 -9588
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-99bf601c.css → vuetify-c0e02f11.css} +1 -1
- package/dist/assets/{vuetify-99bf601c.js → vuetify-c0e02f11.js} +5313 -5294
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +4 -0
- package/index.js +2 -0
- package/lib/olLib.js +6 -0
- package/package.json +12 -12
- package/plugins/@vcmap-show-case/README.md +15 -6
- package/plugins/@vcmap-show-case/category-tester/package.json +1 -1
- package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +23 -23
- package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +2 -8
- package/plugins/@vcmap-show-case/collection-manager-example/package.json +1 -1
- package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +10 -8
- package/plugins/@vcmap-show-case/context-menu-tester/package.json +1 -1
- package/plugins/@vcmap-show-case/extent-example/package.json +1 -1
- package/plugins/@vcmap-show-case/flight-component-example/package.json +1 -1
- package/plugins/@vcmap-show-case/form-inputs-example/package.json +1 -1
- package/plugins/@vcmap-show-case/hello-world/package.json +1 -1
- package/plugins/@vcmap-show-case/icons-example/package.json +1 -1
- package/plugins/@vcmap-show-case/notifier-tester/package.json +1 -1
- package/plugins/@vcmap-show-case/panel-tester/package.json +1 -1
- package/plugins/@vcmap-show-case/plugin-editors/package.json +1 -1
- package/plugins/@vcmap-show-case/plugin-editors/src/index.js +17 -6
- package/plugins/@vcmap-show-case/project-selector/package.json +1 -9
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +22 -31
- package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +15 -23
- package/plugins/@vcmap-show-case/projection-example/README.md +3 -0
- package/plugins/@vcmap-show-case/projection-example/package.json +5 -0
- package/plugins/@vcmap-show-case/projection-example/src/ProjectionExample.vue +73 -0
- package/plugins/@vcmap-show-case/{table-example → projection-example}/src/index.js +22 -11
- package/plugins/@vcmap-show-case/search-example/package.json +1 -1
- package/plugins/@vcmap-show-case/simple-graph/package.json +1 -4
- package/plugins/@vcmap-show-case/style-input-example/package.json +1 -1
- package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +2 -2
- package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +2 -1
- package/plugins/@vcmap-show-case/switch-map-callback-example/src/index.js +4 -1
- package/plugins/@vcmap-show-case/theming-example/package.json +1 -1
- package/plugins/@vcmap-show-case/toolbox-example/package.json +1 -1
- package/plugins/@vcmap-show-case/vector-properties-example/package.json +1 -1
- package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +1 -1
- package/plugins/@vcmap-show-case/window-tester/package.json +1 -1
- package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +1 -1
- package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +5 -1
- package/plugins/@vcmap-show-case/wizard-example/package.json +1 -1
- package/plugins/package.json +23 -3
- package/src/actions/flightActions.js +40 -20
- package/src/actions/listActions.d.ts +1 -1
- package/src/actions/listActions.js +1 -1
- package/src/application/VcsApp.vue +3 -0
- package/src/application/VcsApp.vue.d.ts +15 -0
- package/src/application/VcsAttributions.vue +1 -1
- package/src/application/VcsAttributionsFooter.vue +1 -1
- package/src/application/VcsContainer.vue +0 -1
- package/src/application/VcsContainer.vue.d.ts +15 -0
- package/src/application/VcsObliqueFooter.vue +110 -0
- package/src/application/VcsObliqueFooter.vue.d.ts +4 -0
- package/src/application/VcsTextPageFooter.vue +1 -0
- package/src/application/attributionsHelper.js +10 -6
- package/src/components/buttons/VcsButton.vue +2 -2
- package/src/components/buttons/VcsButton.vue.d.ts +1 -1
- package/src/components/buttons/VcsFormButton.vue +2 -2
- package/src/components/buttons/VcsFormButton.vue.d.ts +1 -1
- package/src/components/buttons/VcsToolButton.vue +2 -2
- package/src/components/buttons/VcsToolButton.vue.d.ts +1 -1
- package/src/components/composables.d.ts +2 -2
- package/src/components/composables.js +3 -5
- package/src/components/flight/VcsFlightPlayer.vue +26 -20
- package/src/components/form-inputs-controls/VcsCheckbox.vue +11 -5
- package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -1
- package/src/components/form-inputs-controls/VcsDatePicker.vue +23 -3
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsFileInput.vue +3 -3
- package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsLabel.vue +10 -1
- package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +9 -0
- package/src/components/form-inputs-controls/VcsRadio.vue +4 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +3 -3
- package/src/components/form-inputs-controls/VcsSlider.vue +2 -2
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsTextArea.vue +2 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsTextField.vue +3 -3
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +2 -2
- package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -2
- package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +3 -3
- package/src/components/import/VcsImportComponent.vue +3 -3
- package/src/components/lists/VcsActionList.vue +1 -1
- package/src/components/lists/VcsList.vue +56 -39
- package/src/components/lists/VcsListItemComponent.vue +14 -12
- package/src/components/lists/VcsListItemComponent.vue.d.ts +5 -28
- package/src/components/lists/VcsTreeview.vue +4 -2
- package/src/components/lists/VcsTreeview.vue.d.ts +1 -1
- package/src/components/notification/VcsHelp.vue +0 -1
- package/src/components/notification/VcsHelpTooltip.vue +48 -0
- package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
- package/src/components/projection/VcsProjection.vue +329 -0
- package/src/components/projection/VcsProjection.vue.d.ts +7 -0
- package/src/components/section/VcsFormSection.vue +0 -1
- package/src/components/section/VcsFormSection.vue.d.ts +1 -1
- package/src/components/tables/VcsDataTable.vue +15 -4
- package/src/components/tables/VcsDataTable.vue.d.ts +13 -2
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +17 -1
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +10 -1
- package/src/components/vector-properties/VcsFeatureTransforms.vue +39 -5
- package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +44 -24
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +27 -2
- package/src/components/viewpoint/VcsViewpointComponent.vue +6 -6
- package/src/contentTree/contentTreeCollection.js +12 -1
- package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
- package/src/featureInfo/abstractFeatureInfoView.d.ts +9 -0
- package/src/featureInfo/abstractFeatureInfoView.js +20 -3
- package/src/i18n/de.d.ts +93 -39
- package/src/i18n/de.js +68 -22
- package/src/i18n/en.d.ts +93 -39
- package/src/i18n/en.js +64 -18
- package/src/legend/StyleLegendItem.vue +1 -5
- package/src/legend/VcsLegend.vue +9 -10
- package/src/legend/VcsLegend.vue.d.ts +1 -1
- package/src/legend/legendHelper.js +6 -1
- package/src/manager/collectionManager/collectionComponentClass.js +9 -5
- package/src/manager/collectionManager/editorCollectionComponentClass.js +5 -3
- package/src/manager/toolbox/GroupToolboxComponent.vue +6 -1
- package/src/manager/toolbox/SelectToolboxComponent.vue +6 -2
- package/src/manager/toolbox/ToolboxManagerComponent.vue +7 -2
- package/src/manager/window/WindowComponentHeader.vue +1 -1
- package/src/manager/window/windowManager.d.ts +59 -3
- package/src/manager/window/windowManager.js +23 -2
- package/src/navigation/MapNavCompass.vue +166 -140
- package/src/navigation/MapNavCompass.vue.d.ts +3 -1
- package/src/navigation/MapNavigation.vue +22 -5
- package/src/navigation/VcsCompass.vue +2 -1
- package/src/navigation/overviewMap.js +4 -1
- package/src/obliqueFallbackWarnings.d.ts +5 -0
- package/src/obliqueFallbackWarnings.js +54 -0
- package/src/styles/main.scss +2 -2
- package/src/uiConfig.d.ts +30 -0
- package/src/uiConfig.js +3 -0
- package/src/vcsUiApp.d.ts +37 -10
- package/src/vcsUiApp.js +4 -0
- package/src/vuePlugins/i18n.js +1 -0
- package/src/vuePlugins/vuetify.js +2 -0
- package/dist/assets/ui-bf3d1f84.css +0 -1
- package/plugins/@vcmap-show-case/buttons-example/README.md +0 -4
- package/plugins/@vcmap-show-case/buttons-example/package.json +0 -5
- package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +0 -281
- package/plugins/@vcmap-show-case/buttons-example/src/index.js +0 -51
- package/plugins/@vcmap-show-case/config-editor/README.md +0 -3
- package/plugins/@vcmap-show-case/config-editor/package.json +0 -5
- package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +0 -62
- package/plugins/@vcmap-show-case/config-editor/src/index.js +0 -49
- package/plugins/@vcmap-show-case/list-example/README.md +0 -3
- package/plugins/@vcmap-show-case/list-example/package.json +0 -5
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +0 -403
- package/plugins/@vcmap-show-case/list-example/src/index.js +0 -46
- package/plugins/@vcmap-show-case/table-example/README.md +0 -3
- package/plugins/@vcmap-show-case/table-example/package.json +0 -5
- package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +0 -203
- package/plugins/@vcmap-show-case/textfields-example/README.md +0 -3
- package/plugins/@vcmap-show-case/textfields-example/package.json +0 -5
- package/plugins/@vcmap-show-case/textfields-example/src/TextfieldsExample.vue +0 -115
- package/plugins/@vcmap-show-case/textfields-example/src/index.js +0 -64
- /package/dist/assets/{vue-43880c5a.js → vue-8269279d.js} +0 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import { ref, toRaw } from 'vue';
|
3
|
+
import { mercatorProjection } from '@vcmap/core';
|
4
|
+
import { VContainer, VCol, VRow, VSwitch } from 'vuetify/components';
|
5
|
+
import { VcsProjection, VcsFormButton, VcsLabel } from '@vcmap/ui';
|
6
|
+
|
7
|
+
const projectionOptions = ref(mercatorProjection.toJSON());
|
8
|
+
const required = ref(false);
|
9
|
+
const hideRequestButton = ref(false);
|
10
|
+
const hideAlias = ref(false);
|
11
|
+
function reset() {
|
12
|
+
projectionOptions.value = mercatorProjection.toJSON();
|
13
|
+
console.log(mercatorProjection.toJSON());
|
14
|
+
}
|
15
|
+
</script>
|
16
|
+
|
17
|
+
<template>
|
18
|
+
<div>
|
19
|
+
<v-container>
|
20
|
+
<v-row no-gutters>
|
21
|
+
<v-col>
|
22
|
+
<VcsLabel>
|
23
|
+
{{ $t('required') }}
|
24
|
+
</VcsLabel>
|
25
|
+
</v-col>
|
26
|
+
<v-col>
|
27
|
+
<v-switch v-model="required" />
|
28
|
+
</v-col>
|
29
|
+
</v-row>
|
30
|
+
<v-row no-gutters>
|
31
|
+
<v-col>
|
32
|
+
<VcsLabel>
|
33
|
+
{{ $t('hideRequestButton') }}
|
34
|
+
</VcsLabel>
|
35
|
+
</v-col>
|
36
|
+
<v-col>
|
37
|
+
<v-switch v-model="hideRequestButton" />
|
38
|
+
</v-col>
|
39
|
+
</v-row>
|
40
|
+
<v-row no-gutters>
|
41
|
+
<v-col>
|
42
|
+
<VcsLabel>
|
43
|
+
{{ $t('hideAlias') }}
|
44
|
+
</VcsLabel>
|
45
|
+
</v-col>
|
46
|
+
<v-col>
|
47
|
+
<v-switch v-model="hideAlias" />
|
48
|
+
</v-col>
|
49
|
+
</v-row>
|
50
|
+
<v-row no-gutters>
|
51
|
+
<v-col>
|
52
|
+
<vcs-form-button @click="reset" class="w-100"
|
53
|
+
>Reset Web Mercator</vcs-form-button
|
54
|
+
>
|
55
|
+
</v-col>
|
56
|
+
</v-row>
|
57
|
+
</v-container>
|
58
|
+
<vcs-projection
|
59
|
+
v-model="projectionOptions"
|
60
|
+
:required="required"
|
61
|
+
:hide-request-button="hideRequestButton"
|
62
|
+
:hide-alias="hideAlias"
|
63
|
+
class="pa-1"
|
64
|
+
></vcs-projection>
|
65
|
+
<div class="d-flex gc-2 justify-end mr-2">
|
66
|
+
<vcs-form-button @click="console.log(toRaw(projectionOptions))">{{
|
67
|
+
$t('projectionExample.log')
|
68
|
+
}}</vcs-form-button>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
</template>
|
72
|
+
|
73
|
+
<style scoped lang="scss"></style>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { ButtonLocation, createToggleAction, WindowSlot } from '@vcmap/ui';
|
2
2
|
import packageJSON from '../package.json';
|
3
|
-
import
|
3
|
+
import ProjectionExample from './ProjectionExample.vue';
|
4
4
|
|
5
5
|
/**
|
6
6
|
* @returns {VcsPlugin}
|
7
7
|
*/
|
8
|
-
export default async function
|
8
|
+
export default async function projectionExample() {
|
9
9
|
return {
|
10
10
|
get name() {
|
11
11
|
return packageJSON.name;
|
@@ -16,21 +16,20 @@ export default async function iconsExample() {
|
|
16
16
|
get mapVersion() {
|
17
17
|
return packageJSON.mapVersion;
|
18
18
|
},
|
19
|
-
|
19
|
+
initialize(app) {
|
20
20
|
const { action, destroy } = createToggleAction(
|
21
21
|
{
|
22
|
-
name: '
|
23
|
-
title: '
|
22
|
+
name: 'Projection Example',
|
23
|
+
title: 'Projection Example Plugin',
|
24
|
+
icon: '$vcsBoundingBox',
|
24
25
|
},
|
25
26
|
{
|
26
|
-
id: '
|
27
|
-
component:
|
27
|
+
id: 'projection-example',
|
28
|
+
component: ProjectionExample,
|
28
29
|
slot: WindowSlot.DYNAMIC_LEFT,
|
29
30
|
state: {
|
30
|
-
headerTitle: '
|
31
|
-
|
32
|
-
position: {
|
33
|
-
width: 500,
|
31
|
+
headerTitle: 'Projection Example',
|
32
|
+
headerIcon: '$vcsBoundingBox',
|
34
33
|
},
|
35
34
|
},
|
36
35
|
app.windowManager,
|
@@ -39,6 +38,18 @@ export default async function iconsExample() {
|
|
39
38
|
app.navbarManager.add({ action }, packageJSON.name, ButtonLocation.TOOL);
|
40
39
|
this._destroyAction = destroy;
|
41
40
|
},
|
41
|
+
i18n: {
|
42
|
+
de: {
|
43
|
+
projectionExample: {
|
44
|
+
openDialog: 'Dialog öffnen',
|
45
|
+
log: 'Log',
|
46
|
+
},
|
47
|
+
},
|
48
|
+
en: {
|
49
|
+
openDialog: 'Open Dialog',
|
50
|
+
log: 'Log',
|
51
|
+
},
|
52
|
+
},
|
42
53
|
destroy() {
|
43
54
|
if (this._destroyAction) {
|
44
55
|
this._destroyAction();
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# @vcmap-show-case/switch-map-callback-example
|
2
2
|
|
3
|
-
This plugin
|
3
|
+
This plugin demonstrates the concept of `VcsCallback` by adding a MapSwitcherCallback to the uiApp.
|
4
4
|
|
5
5
|
This can be used to switch the map i the ContentTree,
|
6
|
-
on Click of
|
6
|
+
on Click of a ContentTreeItem.
|
7
7
|
|
8
8
|
```json
|
9
9
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { version, name } from '../package.json';
|
1
|
+
import { version, mapVersion, name } from '../package.json';
|
2
2
|
import SwitchMapCallback from './switchMapCallback.js';
|
3
3
|
|
4
4
|
/**
|
@@ -13,6 +13,9 @@ export default function switchMapCallbackExample() {
|
|
13
13
|
get version() {
|
14
14
|
return version;
|
15
15
|
},
|
16
|
+
get mapVersion() {
|
17
|
+
return mapVersion;
|
18
|
+
},
|
16
19
|
/**
|
17
20
|
* @param {import("@vcmap/ui").VcsUiApp} vcsUiApp
|
18
21
|
*/
|
@@ -1,6 +1,10 @@
|
|
1
1
|
<template>
|
2
2
|
<v-container>
|
3
|
-
<VcsFormButton
|
3
|
+
<VcsFormButton
|
4
|
+
v-for="num in [1, 2]"
|
5
|
+
:key="num"
|
6
|
+
@click.stop="toggle(num)"
|
7
|
+
class="ma-1"
|
4
8
|
>toggle child {{ num }}</VcsFormButton
|
5
9
|
>
|
6
10
|
</v-container>
|
package/plugins/package.json
CHANGED
@@ -1,11 +1,31 @@
|
|
1
1
|
{
|
2
2
|
"dependencies": {
|
3
3
|
"@vcmap/print": "https://github.com/virtualcitySYSTEMS/map-print.git#main",
|
4
|
-
"@vcmap/multi-view": "https://github.com/virtualcitySYSTEMS/map-multi-view.git",
|
5
|
-
"@vcmap/transparent-terrain": "https://github.com/virtualcitySYSTEMS/map-transparent-terrain.git",
|
6
4
|
"@vcmap/walk": "https://github.com/virtualcitySYSTEMS/map-walk.git#main",
|
7
5
|
"@vcmap/clipping-tool": "https://github.com/virtualcitySYSTEMS/map-clipping-tool.git#main",
|
6
|
+
"@vcmap/transparent-terrain": "https://github.com/virtualcitySYSTEMS/map-transparent-terrain.git#main",
|
7
|
+
"@vcmap/height-profile": "https://github.com/virtualcitySYSTEMS/map-heightprofile.git#main",
|
8
|
+
"@vcmap/flight": "https://github.com/virtualcitySYSTEMS/map-flight.git#main",
|
9
|
+
"@vcmap/swipe-tool": "https://github.com/virtualcitySYSTEMS/map-swipe-tool.git#main",
|
10
|
+
"@vcmap/export": "https://github.com/virtualcitySYSTEMS/map-export.git#main",
|
8
11
|
"@vcmap/viewshed": "https://github.com/virtualcitySYSTEMS/map-viewshed.git#main",
|
9
|
-
"@vcmap/
|
12
|
+
"@vcmap/measurement": "^2.0.0-rc.2",
|
13
|
+
"@vcmap/multi-view": "https://github.com/virtualcitySYSTEMS/map-multi-view.git#main",
|
14
|
+
"@vcmap/draw": "https://github.com/virtualcitySYSTEMS/map-draw.git#main",
|
15
|
+
"@vcmap/shadow": "https://github.com/virtualcitySYSTEMS/map-shadow.git#main",
|
16
|
+
"@vcmap/search-wfs": "https://github.com/virtualcitySYSTEMS/map-search-wfs.git#main",
|
17
|
+
"@vcmap/search-esri": "https://github.com/virtualcitySYSTEMS/map-search-esri.git#main",
|
18
|
+
"@vcmap/search-coordinate": "https://github.com/virtualcitySYSTEMS/map-search-coordinate.git#main",
|
19
|
+
"@vcmap/link-button": "https://github.com/virtualcitySYSTEMS/map-link-button.git#main",
|
20
|
+
"@vcmap/cesium-filters": "https://github.com/virtualcitySYSTEMS/map-cesium-filters.git#main",
|
21
|
+
"@vcmap/search-nominatim": "https://github.com/virtualcitySYSTEMS/map-search-nominatim.git#main",
|
22
|
+
"@vcmap/create-link": "https://github.com/virtualcitySYSTEMS/map-create-link.git#main",
|
23
|
+
"@vcmap/module-selector": "^2.0.0",
|
24
|
+
"@vcmap/dynamic-layer": "git+ssh://git@gitlab.virtualcitysystems.de/vcsuite/npm/vcmap/dynamic-layer.git#feature-idra-catalogue",
|
25
|
+
"@vcmap/line-of-sight": "git+ssh://git@gitlab.virtualcitysystems.de/vcsuite/npm/vcmap/line-of-sight.git#feature-v1"
|
26
|
+
},
|
27
|
+
"optionalDependencies": {
|
28
|
+
"@vcmap/planning": "^6.0.0-rc.2",
|
29
|
+
"@vcmap/solar-revenue": "^2.0.0-rc.1"
|
10
30
|
}
|
11
31
|
}
|
@@ -36,33 +36,54 @@ export function createPlayAction(app, instance) {
|
|
36
36
|
} else {
|
37
37
|
player = await app.flights.setPlayerForFlight(instance);
|
38
38
|
if (player) {
|
39
|
-
stateListener = player.stateChanged.addEventListener((state) => {
|
40
|
-
if (state === 'stopped') {
|
41
|
-
action.icon = '$vcsPlayCircle';
|
42
|
-
action.title = 'flight.playTooltip';
|
43
|
-
} else if (state === 'paused') {
|
44
|
-
action.icon = '$vcsPlayCircle';
|
45
|
-
action.title = 'flight.playTooltip';
|
46
|
-
} else {
|
47
|
-
action.icon = 'mdi-pause';
|
48
|
-
action.title = 'flight.pauseTooltip';
|
49
|
-
}
|
50
|
-
});
|
51
|
-
destroyListener = player.destroyed.addEventListener(() => {
|
52
|
-
player = null;
|
53
|
-
action.icon = '$vcsPlayCircle';
|
54
|
-
stateListener();
|
55
|
-
destroyListener();
|
56
|
-
});
|
57
39
|
player.play();
|
58
40
|
}
|
59
41
|
}
|
60
42
|
},
|
61
43
|
});
|
62
44
|
|
45
|
+
function updateAction(state) {
|
46
|
+
if (state === 'stopped' || state === 'paused') {
|
47
|
+
action.icon = '$vcsPlayCircle';
|
48
|
+
action.title = 'flight.playTooltip';
|
49
|
+
} else {
|
50
|
+
action.icon = 'mdi-pause';
|
51
|
+
action.title = 'flight.pauseTooltip';
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
function destroyPlayer() {
|
56
|
+
player = undefined;
|
57
|
+
updateAction('stopped');
|
58
|
+
stateListener?.();
|
59
|
+
destroyListener?.();
|
60
|
+
}
|
61
|
+
|
62
|
+
function checkPlayer(_player) {
|
63
|
+
if (_player?.flightInstanceName === instance.name) {
|
64
|
+
player = _player;
|
65
|
+
updateAction(player.state);
|
66
|
+
stateListener = player.stateChanged.addEventListener((state) => {
|
67
|
+
updateAction(state);
|
68
|
+
});
|
69
|
+
destroyListener = player.destroyed.addEventListener(() => {
|
70
|
+
destroyPlayer();
|
71
|
+
});
|
72
|
+
} else {
|
73
|
+
destroyPlayer();
|
74
|
+
}
|
75
|
+
}
|
76
|
+
const playerListener = app.flights.playerChanged.addEventListener(
|
77
|
+
(_player) => {
|
78
|
+
checkPlayer(_player);
|
79
|
+
},
|
80
|
+
);
|
81
|
+
checkPlayer(app.flights.player);
|
82
|
+
|
63
83
|
return {
|
64
84
|
action,
|
65
85
|
destroy: () => {
|
86
|
+
playerListener();
|
66
87
|
if (player) {
|
67
88
|
player.stop();
|
68
89
|
player.destroy();
|
@@ -348,7 +369,7 @@ export async function createFlightVisualizationAction(
|
|
348
369
|
const action = reactive({
|
349
370
|
name: 'components.flight.hidePath',
|
350
371
|
title: 'components.flight.hidePath',
|
351
|
-
icon: '
|
372
|
+
icon: '$vcsEye',
|
352
373
|
active,
|
353
374
|
async callback() {
|
354
375
|
if (!flightVis) {
|
@@ -360,7 +381,6 @@ export async function createFlightVisualizationAction(
|
|
360
381
|
await flightVis.activate();
|
361
382
|
}
|
362
383
|
this.active = !this.active;
|
363
|
-
this.icon = this.active ? 'mdi-eye-outline' : 'mdi-eye-off-outline';
|
364
384
|
},
|
365
385
|
});
|
366
386
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* Creates an action for
|
2
|
+
* Creates an action for deleting an item in a VcsList.
|
3
3
|
* @param {import("@vcmap/core").Collection<T>} collection
|
4
4
|
* @param {T} item
|
5
5
|
* @param {Partial<import("./actionHelper.js").ActionOptions>} [actionOptions={}]
|
@@ -9,7 +9,7 @@ import { vcsAppSymbol } from '../pluginHelper.js';
|
|
9
9
|
import { NotificationType } from '../notifier/notifier.js';
|
10
10
|
|
11
11
|
/**
|
12
|
-
* Creates an action for
|
12
|
+
* Creates an action for deleting an item in a VcsList.
|
13
13
|
* @param {import("@vcmap/core").Collection<T>} collection
|
14
14
|
* @param {T} item
|
15
15
|
* @param {Partial<import("./actionHelper.js").ActionOptions>} [actionOptions={}]
|
@@ -15,6 +15,7 @@
|
|
15
15
|
class="d-flex gc-1 pa-0"
|
16
16
|
>
|
17
17
|
<VcsPositionDisplay />
|
18
|
+
<VcsObliqueFooter />
|
18
19
|
<VcsTextPageFooter
|
19
20
|
v-if="imprint"
|
20
21
|
:text-page="imprint"
|
@@ -66,6 +67,7 @@
|
|
66
67
|
import VcsLegend from '../legend/VcsLegend.vue';
|
67
68
|
import { getLegendEntries } from '../legend/legendHelper.js';
|
68
69
|
import VcsAttributionsFooter from './VcsAttributionsFooter.vue';
|
70
|
+
import VcsObliqueFooter from './VcsObliqueFooter.vue';
|
69
71
|
import VcsTextPageFooter from './VcsTextPageFooter.vue';
|
70
72
|
import VcsSplashScreen from './VcsSplashScreen.vue';
|
71
73
|
import VcsTextPage from './VcsTextPage.vue';
|
@@ -723,6 +725,7 @@
|
|
723
725
|
VcsPositionDisplay,
|
724
726
|
VcsAttributionsFooter,
|
725
727
|
VcsTextPageFooter,
|
728
|
+
VcsObliqueFooter,
|
726
729
|
VcsSplashScreen,
|
727
730
|
VcsNavbar,
|
728
731
|
VContainer,
|
@@ -110,6 +110,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
110
110
|
* - mouse event, when position display is updated. Either 'click' (default) or 'move'.
|
111
111
|
*/
|
112
112
|
readonly positionDisplayEventType?: string | undefined;
|
113
|
+
/**
|
114
|
+
* - A template for rendering information of the current image in oblique mode, e.g. '{{ name }}' printing the image's name
|
115
|
+
*/
|
116
|
+
readonly obliqueFooterTemplate?: string | undefined;
|
113
117
|
/**
|
114
118
|
* - an optional URL to a help landing page
|
115
119
|
*/
|
@@ -282,10 +286,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
282
286
|
* - can be used to hide the settings Window
|
283
287
|
*/
|
284
288
|
readonly hideSettings?: boolean | undefined;
|
289
|
+
/**
|
290
|
+
* - can be used to hide the oblique name in the footer
|
291
|
+
*/
|
292
|
+
readonly hideObliqueFooter?: boolean | undefined;
|
285
293
|
/**
|
286
294
|
* - can be used to activate the overviewMap on startup
|
287
295
|
*/
|
288
296
|
readonly overviewMapActiveOnStartup?: boolean | undefined;
|
297
|
+
/**
|
298
|
+
* - can be used to activate a contentTree on startup
|
299
|
+
*/
|
300
|
+
readonly contentTreeActiveOnStartup?: boolean | undefined;
|
289
301
|
/**
|
290
302
|
* - the display quality settings
|
291
303
|
*/
|
@@ -300,6 +312,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
300
312
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
301
313
|
readonly resolutionScale?: number | undefined;
|
302
314
|
readonly layerSSEFactor?: number | undefined;
|
315
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
303
316
|
} | undefined;
|
304
317
|
readonly medium?: {
|
305
318
|
readonly sse?: number | undefined;
|
@@ -309,6 +322,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
309
322
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
310
323
|
readonly resolutionScale?: number | undefined;
|
311
324
|
readonly layerSSEFactor?: number | undefined;
|
325
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
312
326
|
} | undefined;
|
313
327
|
readonly high?: {
|
314
328
|
readonly sse?: number | undefined;
|
@@ -318,6 +332,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
318
332
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
319
333
|
readonly resolutionScale?: number | undefined;
|
320
334
|
readonly layerSSEFactor?: number | undefined;
|
335
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
321
336
|
} | undefined;
|
322
337
|
} | undefined;
|
323
338
|
/**
|
@@ -12,7 +12,7 @@
|
|
12
12
|
:key="attribution.provider"
|
13
13
|
:title="`${$st(attribution.provider)} ${attribution.year}`"
|
14
14
|
>
|
15
|
-
<a :href="attribution.url" target="_blank">
|
15
|
+
<a :href="attribution.url ? attribution.url : null" target="_blank">
|
16
16
|
{{ $st(attribution.provider) }} {{ attribution.year }}
|
17
17
|
</a>
|
18
18
|
</v-list-item-subtitle>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
class="attribution"
|
9
9
|
:key="attribution.provider"
|
10
10
|
>
|
11
|
-
<a :href="attribution.url" target="_blank">
|
11
|
+
<a :href="attribution.url ? attribution.url : null" target="_blank">
|
12
12
|
{{ $st(attribution.provider) }} <span>{{ attribution.years }}</span>
|
13
13
|
</a>
|
14
14
|
</span>
|
@@ -30,6 +30,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
30
30
|
* - mouse event, when position display is updated. Either 'click' (default) or 'move'.
|
31
31
|
*/
|
32
32
|
readonly positionDisplayEventType?: string | undefined;
|
33
|
+
/**
|
34
|
+
* - A template for rendering information of the current image in oblique mode, e.g. '{{ name }}' printing the image's name
|
35
|
+
*/
|
36
|
+
readonly obliqueFooterTemplate?: string | undefined;
|
33
37
|
/**
|
34
38
|
* - an optional URL to a help landing page
|
35
39
|
*/
|
@@ -202,10 +206,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
202
206
|
* - can be used to hide the settings Window
|
203
207
|
*/
|
204
208
|
readonly hideSettings?: boolean | undefined;
|
209
|
+
/**
|
210
|
+
* - can be used to hide the oblique name in the footer
|
211
|
+
*/
|
212
|
+
readonly hideObliqueFooter?: boolean | undefined;
|
205
213
|
/**
|
206
214
|
* - can be used to activate the overviewMap on startup
|
207
215
|
*/
|
208
216
|
readonly overviewMapActiveOnStartup?: boolean | undefined;
|
217
|
+
/**
|
218
|
+
* - can be used to activate a contentTree on startup
|
219
|
+
*/
|
220
|
+
readonly contentTreeActiveOnStartup?: boolean | undefined;
|
209
221
|
/**
|
210
222
|
* - the display quality settings
|
211
223
|
*/
|
@@ -220,6 +232,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
220
232
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
221
233
|
readonly resolutionScale?: number | undefined;
|
222
234
|
readonly layerSSEFactor?: number | undefined;
|
235
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
223
236
|
} | undefined;
|
224
237
|
readonly medium?: {
|
225
238
|
readonly sse?: number | undefined;
|
@@ -229,6 +242,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
229
242
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
230
243
|
readonly resolutionScale?: number | undefined;
|
231
244
|
readonly layerSSEFactor?: number | undefined;
|
245
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
232
246
|
} | undefined;
|
233
247
|
readonly high?: {
|
234
248
|
readonly sse?: number | undefined;
|
@@ -238,6 +252,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
238
252
|
readonly fogScreenSpaceErrorFactor?: number | undefined;
|
239
253
|
readonly resolutionScale?: number | undefined;
|
240
254
|
readonly layerSSEFactor?: number | undefined;
|
255
|
+
readonly msaa?: 1 | 2 | 4 | 8 | undefined;
|
241
256
|
} | undefined;
|
242
257
|
} | undefined;
|
243
258
|
/**
|