@vcmap/ui 5.0.0-rc.26 → 5.0.0-rc.27
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/buildCesium.js +7 -0
- package/config/dev.config.json +4 -0
- package/dist/assets/cesium/ThirdParty/Workers/basis_transcoder.js +21 -0
- package/dist/assets/cesium/ThirdParty/Workers/draco_decoder_nodejs.js +117 -0
- package/dist/assets/cesium/ThirdParty/Workers/package.json +1 -0
- package/dist/assets/cesium/ThirdParty/Workers/pako_deflate.min.js +2 -0
- package/dist/assets/cesium/ThirdParty/Workers/pako_inflate.min.js +2 -0
- package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -0
- package/dist/assets/cesium/ThirdParty/basis_transcoder.wasm +0 -0
- package/dist/assets/cesium/ThirdParty/draco_decoder.wasm +0 -0
- package/dist/assets/cesium/ThirdParty/google-earth-dbroot-parser.js +8337 -0
- package/dist/assets/{cesium.305b7c.js → cesium.82fdbe.js} +4 -4
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.f3d6d4.js → core.df069a.js} +2 -2
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-1cff371d.js +1 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/style/icon-marker-blue.534e37.png +0 -0
- package/dist/assets/style/icon-marker-green.0b6a92.png +0 -0
- package/dist/assets/style/icon-marker-o-blue.7b6d62.png +0 -0
- package/dist/assets/style/icon-marker-o-green.c863c0.png +0 -0
- package/dist/assets/style/icon-marker-o-red.93ff58.png +0 -0
- package/dist/assets/style/icon-marker-o.036477.png +0 -0
- package/dist/assets/style/icon-marker-red.313d03.png +0 -0
- package/dist/assets/style/icon-marker.70960f.png +0 -0
- package/dist/assets/style/icon-pin-blue.7be369.png +0 -0
- package/dist/assets/style/icon-pin-green.cbb935.png +0 -0
- package/dist/assets/style/icon-pin-red.3f25b2.png +0 -0
- package/dist/assets/style/icon-pin.b7ce77.png +0 -0
- package/dist/assets/{ui.74022f.css → ui.3ed7ff.css} +2 -2
- package/dist/assets/ui.3ed7ff.js +14763 -0
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.30486f.js → vuetify.614278.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.js +17 -1
- package/package.json +1 -1
- package/plugins/@vcmap/create-link/index.js +8 -8
- package/plugins/@vcmap-show-case/collection-manager-example/index.js +6 -1
- package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +36 -8
- package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +0 -19
- package/plugins/@vcmap-show-case/form-inputs-example/index.js +1 -2
- package/plugins/@vcmap-show-case/style-input-example/README.md +4 -0
- package/plugins/@vcmap-show-case/style-input-example/index.js +42 -0
- package/plugins/@vcmap-show-case/style-input-example/package.json +5 -0
- package/plugins/@vcmap-show-case/style-input-example/styleExample.vue +191 -0
- package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +12 -13
- package/plugins/@vcmap-show-case/window-tester/windowExampleToggleChild.vue +44 -0
- package/public/assets/style/icon-marker-blue.png +0 -0
- package/public/assets/style/icon-marker-green.png +0 -0
- package/public/assets/style/icon-marker-o-blue.png +0 -0
- package/public/assets/style/icon-marker-o-green.png +0 -0
- package/public/assets/style/icon-marker-o-red.png +0 -0
- package/public/assets/style/icon-marker-o.png +0 -0
- package/public/assets/style/icon-marker-red.png +0 -0
- package/public/assets/style/icon-marker.png +0 -0
- package/public/assets/style/icon-pin-blue.png +0 -0
- package/public/assets/style/icon-pin-green.png +0 -0
- package/public/assets/style/icon-pin-red.png +0 -0
- package/public/assets/style/icon-pin.png +0 -0
- package/src/actions/actionHelper.js +1 -0
- package/src/application/VcsApp.vue +7 -1
- package/src/components/buttons/VcsActionButtonList.vue +1 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -2
- package/src/components/form-inputs-controls/VcsFormSection.vue +59 -9
- package/src/components/form-inputs-controls/VcsLabel.vue +10 -0
- package/src/components/form-inputs-controls/VcsRadioGrid.vue +175 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +3 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +12 -0
- package/src/components/icons/+all.js +4 -0
- package/src/components/icons/EditVerticesIcon.vue +39 -0
- package/src/components/lists/VcsActionList.vue +2 -0
- package/src/components/style/MenuWrapper.vue +138 -0
- package/src/components/style/VcsFillMenu.vue +61 -0
- package/src/components/style/VcsFillSelector.vue +45 -0
- package/src/components/style/VcsImageMenu.vue +84 -0
- package/src/components/style/VcsImageSelector.vue +609 -0
- package/src/components/style/VcsStrokeMenu.vue +73 -0
- package/src/components/style/VcsStrokeSelector.vue +87 -0
- package/src/components/style/VcsTextMenu.vue +81 -0
- package/src/components/style/VcsTextSelector.vue +271 -0
- package/src/components/style/VcsVectorStyleComponent.vue +119 -0
- package/src/components/style/composables.js +84 -0
- package/src/contentTree/contentTreeCollection.js +1 -0
- package/src/i18n/de.js +51 -17
- package/src/i18n/en.js +56 -22
- package/src/legend/vcsLegend.vue +7 -5
- package/src/manager/collectionManager/CollectionComponent.vue +9 -17
- package/src/manager/collectionManager/CollectionComponentList.vue +22 -9
- package/src/manager/collectionManager/CollectionManager.vue +20 -1
- package/src/manager/collectionManager/collectionComponent.js +11 -0
- package/src/manager/window/WindowComponent.vue +2 -1
- package/src/manager/window/WindowManager.vue +23 -9
- package/src/manager/window/windowHelper.js +76 -4
- package/src/manager/window/windowManager.js +38 -6
- package/src/vcsUiApp.js +1 -0
- package/dist/assets/index-f94d5be3.js +0 -1
- package/dist/assets/ui.74022f.js +0 -13466
- /package/dist/assets/{ol.39cc05.js → ol.90a5d0.js} +0 -0
- /package/dist/assets/{vue.9b8c6e.js → vue.537ff3.js} +0 -0
- /package/dist/assets/{vuetify.30486f.css → vuetify.614278.css} +0 -0
@@ -11,12 +11,14 @@ import { vcsAppSymbol } from '../../pluginHelper.js';
|
|
11
11
|
* @property {string} STATIC - Static windows cannot be moved and will be positioned top-left.
|
12
12
|
* @property {string} DYNAMIC_LEFT - Positioned top-left, if no static window is present. Can be moved by user interaction.
|
13
13
|
* @property {string} DYNAMIC_RIGHT - Positioned top-right. Can be moved by user interaction.
|
14
|
+
* @property {string} DYNAMIC_CHILD - Positioned top-right of a parent window. Can be moved by user interaction. Will be moved with parent window, if docked. Requires parentId.
|
14
15
|
* @property {string} DETACHED - Positioned at initial provided position. Can be moved by user interaction.
|
15
16
|
*/
|
16
17
|
export const WindowSlot = {
|
17
18
|
STATIC: 'static',
|
18
19
|
DYNAMIC_LEFT: 'dynamicLeft',
|
19
20
|
DYNAMIC_RIGHT: 'dynamicRight',
|
21
|
+
DYNAMIC_CHILD: 'dynamicChild',
|
20
22
|
DETACHED: 'detached',
|
21
23
|
};
|
22
24
|
|
@@ -102,11 +104,12 @@ export function isSlotPosition(windowPosition) {
|
|
102
104
|
/**
|
103
105
|
* @typedef WindowComponentOptions
|
104
106
|
* @property {string} [id] Optional ID, If not provided an uuid will be generated.
|
107
|
+
* @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
|
105
108
|
* @property {import("vue").Component} component Main Component which is shown below the header.
|
106
109
|
* @property {import("vue").Component} [headerComponent] Replaces the Header Component.
|
107
110
|
* @property {WindowState} [state]
|
108
|
-
* @property {WindowPositionOptions} [position] Will be
|
109
|
-
* @property {WindowSlot} [slot]
|
111
|
+
* @property {WindowPositionOptions} [position] Will be merged with default position for slot
|
112
|
+
* @property {WindowSlot} [slot]
|
110
113
|
* @property {Object} [props]
|
111
114
|
* @property {Object} [provides]
|
112
115
|
*/
|
@@ -130,10 +133,11 @@ export function isSlotPosition(windowPosition) {
|
|
130
133
|
/**
|
131
134
|
* @typedef WindowComponent
|
132
135
|
* @property {string} id
|
136
|
+
* @property {string} [parentId]
|
133
137
|
* @property {import("vue").Component} component
|
134
138
|
* @property {import("vue").Component} [headerComponent]
|
135
139
|
* @property {WindowState} state
|
136
|
-
* @property {WindowPosition} position
|
140
|
+
* @property {WindowPosition} [position]
|
137
141
|
* @property {WindowPositionOptions} initialPositionOptions
|
138
142
|
* @property {import("vue").Ref<WindowSlot>} slot
|
139
143
|
* @property {WindowSlot} initialSlot
|
@@ -225,9 +229,16 @@ function setWindowPosition(windowComponent, windowPositionOptions) {
|
|
225
229
|
const initialWindowPosition = windowPositionFromOptions(
|
226
230
|
windowComponent.initialPositionOptions,
|
227
231
|
);
|
232
|
+
const isInitialPosition = compareWindowPositions(
|
233
|
+
windowPosition,
|
234
|
+
initialWindowPosition,
|
235
|
+
);
|
228
236
|
windowComponent.state.dockable =
|
229
|
-
windowComponent.slot.value === WindowSlot.DETACHED &&
|
230
|
-
|
237
|
+
windowComponent.slot.value === WindowSlot.DETACHED && !isInitialPosition;
|
238
|
+
|
239
|
+
if (isInitialPosition) {
|
240
|
+
windowComponent.slot.value = windowComponent.initialSlot;
|
241
|
+
}
|
231
242
|
}
|
232
243
|
|
233
244
|
/**
|
@@ -299,6 +310,12 @@ class WindowManager {
|
|
299
310
|
this._windowComponents.delete(id);
|
300
311
|
this._handleSlotsChanged(windowComponent.slot.value);
|
301
312
|
this.removed.raiseEvent(windowComponent);
|
313
|
+
const child = Array.from(this._windowComponents.values()).find(
|
314
|
+
({ parentId }) => id === parentId,
|
315
|
+
);
|
316
|
+
if (child) {
|
317
|
+
this.remove(child.id);
|
318
|
+
}
|
302
319
|
}
|
303
320
|
}
|
304
321
|
|
@@ -369,6 +386,9 @@ class WindowManager {
|
|
369
386
|
if (slot === WindowSlot.DYNAMIC_RIGHT) {
|
370
387
|
return { ...position, ...WindowPositions.TOP_RIGHT };
|
371
388
|
}
|
389
|
+
if (slot === WindowSlot.DYNAMIC_CHILD) {
|
390
|
+
return { ...position, ...WindowPositions.TOP_LEFT };
|
391
|
+
}
|
372
392
|
return position || WindowPositions.DETACHED;
|
373
393
|
}
|
374
394
|
|
@@ -449,6 +469,14 @@ class WindowManager {
|
|
449
469
|
const slotOption =
|
450
470
|
windowComponentOptions.slot?.value || windowComponentOptions.slot;
|
451
471
|
const slot = parseEnumValue(slotOption, WindowSlot, WindowSlot.DETACHED);
|
472
|
+
if (
|
473
|
+
slot === WindowSlot.DYNAMIC_CHILD &&
|
474
|
+
!this.has(windowComponentOptions.parentId)
|
475
|
+
) {
|
476
|
+
throw new Error(
|
477
|
+
`The mandatory parent window with id ${windowComponentOptions.parentId} is not registered. Add the parent window or choose another slot than dynamicChild.`,
|
478
|
+
);
|
479
|
+
}
|
452
480
|
const windowPositionOptions = this._getPositionOptionsForSlot(
|
453
481
|
slot,
|
454
482
|
windowComponentOptions.position,
|
@@ -491,6 +519,9 @@ class WindowManager {
|
|
491
519
|
get id() {
|
492
520
|
return id;
|
493
521
|
},
|
522
|
+
get parentId() {
|
523
|
+
return windowComponentOptions?.parentId;
|
524
|
+
},
|
494
525
|
get state() {
|
495
526
|
return state;
|
496
527
|
},
|
@@ -561,11 +592,12 @@ class WindowManager {
|
|
561
592
|
}
|
562
593
|
this._removeWindowAtSlot(component.initialSlot);
|
563
594
|
component.slot.value = component.initialSlot;
|
595
|
+
component.state.dockable = false;
|
564
596
|
const dockedPosition = this._getPositionOptionsForSlot(
|
565
597
|
component.initialSlot,
|
566
598
|
component.initialPositionOptions,
|
567
599
|
);
|
568
|
-
|
600
|
+
windowPositionFromOptions(dockedPosition, component.position);
|
569
601
|
this._windowPositionsCache.delete(id);
|
570
602
|
}
|
571
603
|
|
package/src/vcsUiApp.js
CHANGED
@@ -617,6 +617,7 @@ class VcsUiApp extends VcsApp {
|
|
617
617
|
config.uiConfig = this._uiConfig.serializeModule(moduleId);
|
618
618
|
config.featureInfo = this._featureInfo.serializeModule(moduleId);
|
619
619
|
config.i18n = this._i18n.serializeModule(moduleId);
|
620
|
+
config.contentTree = this._contentTree.serializeModule(moduleId);
|
620
621
|
config.plugins = this._plugins.serializeModule(moduleId);
|
621
622
|
return config;
|
622
623
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{initAppFromAppConfig as p}from"./ui.74022f.js";p("#app","app.config.json");
|