@vcmap/ui 6.0.0-rc.8 → 6.0.0-rc.9

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.
Files changed (73) hide show
  1. package/build/buildHelpers.js +1 -1
  2. package/config/base.config.json +3 -1
  3. package/config/dev.config.json +1 -3
  4. package/config/www.config.json +1 -3
  5. package/dist/assets/{cesium-2ec6aae0.js → cesium-a21a380a.js} +4672 -4704
  6. package/dist/assets/cesium.js +1 -1
  7. package/dist/assets/{core-6f2522e5.js → core-ccecb5f4.js} +4898 -4772
  8. package/dist/assets/core.js +1 -1
  9. package/dist/assets/{ol-b0e134cb.js → ol-3c6b9b5b.js} +12074 -11458
  10. package/dist/assets/ol.js +1 -1
  11. package/dist/assets/{ui-bf3d1f84.css → ui-8a8aef2a.css} +1 -1
  12. package/dist/assets/{ui-bf3d1f84.js → ui-8a8aef2a.js} +6321 -6241
  13. package/dist/assets/ui.js +1 -1
  14. package/dist/assets/vue.js +1 -1
  15. package/dist/assets/{vuetify-99bf601c.css → vuetify-ac50bfc8.css} +1 -1
  16. package/dist/assets/{vuetify-99bf601c.js → vuetify-ac50bfc8.js} +4795 -4779
  17. package/dist/assets/vuetify.js +1 -1
  18. package/index.d.ts +2 -0
  19. package/index.js +1 -0
  20. package/lib/olLib.js +6 -0
  21. package/package.json +4 -4
  22. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +5 -2
  23. package/plugins/package.json +19 -3
  24. package/src/application/VcsApp.vue.d.ts +3 -0
  25. package/src/application/VcsContainer.vue.d.ts +3 -0
  26. package/src/components/buttons/VcsButton.vue +2 -2
  27. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  28. package/src/components/buttons/VcsFormButton.vue +2 -2
  29. package/src/components/buttons/VcsFormButton.vue.d.ts +1 -1
  30. package/src/components/buttons/VcsToolButton.vue +2 -2
  31. package/src/components/buttons/VcsToolButton.vue.d.ts +1 -1
  32. package/src/components/composables.d.ts +2 -2
  33. package/src/components/composables.js +3 -5
  34. package/src/components/form-inputs-controls/VcsCheckbox.vue +11 -5
  35. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -1
  36. package/src/components/form-inputs-controls/VcsFileInput.vue +2 -2
  37. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -1
  38. package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
  39. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +1 -1
  40. package/src/components/form-inputs-controls/VcsSlider.vue +2 -2
  41. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +1 -1
  42. package/src/components/form-inputs-controls/VcsTextArea.vue +2 -2
  43. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -1
  44. package/src/components/form-inputs-controls/VcsTextField.vue +2 -2
  45. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +1 -1
  46. package/src/components/form-inputs-controls/VcsWizard.vue +2 -2
  47. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +1 -1
  48. package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -2
  49. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +1 -1
  50. package/src/components/lists/VcsList.vue +14 -10
  51. package/src/components/lists/VcsListItemComponent.vue +13 -11
  52. package/src/components/lists/VcsListItemComponent.vue.d.ts +9 -5
  53. package/src/components/lists/VcsTreeview.vue +2 -2
  54. package/src/components/lists/VcsTreeview.vue.d.ts +1 -1
  55. package/src/components/tables/VcsDataTable.vue +2 -2
  56. package/src/components/tables/VcsDataTable.vue.d.ts +1 -1
  57. package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
  58. package/src/featureInfo/abstractFeatureInfoView.js +3 -2
  59. package/src/i18n/de.d.ts +35 -30
  60. package/src/i18n/de.js +5 -0
  61. package/src/i18n/en.d.ts +35 -30
  62. package/src/i18n/en.js +5 -0
  63. package/src/manager/collectionManager/collectionComponentClass.js +5 -1
  64. package/src/manager/toolbox/ToolboxManagerComponent.vue +1 -1
  65. package/src/manager/window/windowManager.d.ts +59 -3
  66. package/src/manager/window/windowManager.js +23 -2
  67. package/src/obliqueFallbackWarnings.d.ts +5 -0
  68. package/src/obliqueFallbackWarnings.js +54 -0
  69. package/src/uiConfig.d.ts +3 -0
  70. package/src/vcsUiApp.d.ts +37 -10
  71. package/src/vcsUiApp.js +4 -0
  72. package/src/vuePlugins/i18n.js +1 -0
  73. /package/dist/assets/{vue-43880c5a.js → vue-bcc58dd1.js} +0 -0
@@ -94,13 +94,15 @@
94
94
  v-bind="$attrs"
95
95
  class="vcs-list-item-component"
96
96
  >
97
- <template #prepend>
98
- <v-icon v-if="item.icon">
99
- {{ item.icon }}
100
- </v-icon>
97
+ <template #prepend="scope">
98
+ <slot name="prepend" v-bind="scope">
99
+ <v-icon v-if="item.icon">
100
+ {{ item.icon }}
101
+ </v-icon>
102
+ </slot>
101
103
  </template>
102
- <template #title>
103
- <slot name="title" v-bind="{ item, dragging, tooltip }">
104
+ <template #title="scope">
105
+ <slot name="title" v-bind="{ ...scope, tooltip }">
104
106
  <v-list-item-title
105
107
  ref="title"
106
108
  :class="{ 'vcs-list-item__rename': rename }"
@@ -125,17 +127,17 @@
125
127
  </v-list-item-title>
126
128
  </slot>
127
129
  </template>
128
- <template #subtitle>
129
- <slot name="subtitle" v-bind="{ item }" />
130
+ <template #subtitle="scope">
131
+ <slot name="subtitle" v-bind="scope" />
130
132
  </template>
131
133
  <template #default="scope">
132
- <slot name="default" v-bind="{ ...scope, item, dragging, tooltip }" />
134
+ <slot name="default" v-bind="{ ...scope, tooltip }" />
133
135
  </template>
134
- <template #append="appendScope">
136
+ <template #append="scope">
135
137
  <slot
136
138
  name="append"
137
139
  v-bind="{
138
- ...appendScope,
140
+ ...scope,
139
141
  item,
140
142
  actions,
141
143
  actionButtonListOverflowCount,
@@ -3,17 +3,21 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}
3
3
  readonly [x: string]: any;
4
4
  };
5
5
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>, {
6
+ prepend?(_: {
7
+ isActive: boolean;
8
+ isOpen: boolean;
9
+ isSelected: boolean;
10
+ isIndeterminate: boolean;
11
+ select: (value: boolean) => void;
12
+ }): any;
6
13
  title?(_: {
7
- item: any;
8
- dragging: any;
9
14
  tooltip: string;
15
+ title?: string | number | undefined;
10
16
  }): any;
11
17
  subtitle?(_: {
12
- item: any;
18
+ subtitle?: string | number | undefined;
13
19
  }): any;
14
20
  default?(_: {
15
- item: any;
16
- dragging: any;
17
21
  tooltip: string;
18
22
  isActive: boolean;
19
23
  isOpen: boolean;
@@ -118,7 +118,7 @@
118
118
  import { VIcon } from 'vuetify/components';
119
119
  import { VTreeview } from 'vuetify/labs/VTreeview';
120
120
  import { useProxiedAtomicModel } from '../modelHelper.js';
121
- import { useForwardSlots } from '../composables.js';
121
+ import { getForwardSlots } from '../composables.js';
122
122
  import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
123
123
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
124
124
  import ImageElementInjector from '../ImageElementInjector.vue';
@@ -184,7 +184,7 @@
184
184
  .indexOf(q.toLocaleLowerCase());
185
185
  };
186
186
 
187
- const forwardSlots = useForwardSlots(slots, [
187
+ const forwardSlots = getForwardSlots(slots, [
188
188
  'append',
189
189
  'title',
190
190
  'prepend',
@@ -19,7 +19,7 @@ declare const _default: import("vue").DefineComponent<{
19
19
  iconSize: import("vue").ComputedRef<number>;
20
20
  localSearchValue: import("vue").Ref<any>;
21
21
  handleFilter: (value: string, q: string, item: Object) => number;
22
- forwardSlots: import("vue").ComputedRef<string[]>;
22
+ forwardSlots: string[];
23
23
  itemClicked(name: any, event: any): void;
24
24
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:search"[], "update:search", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
25
25
  items: {
@@ -133,7 +133,7 @@
133
133
  import VcsTreeviewSearchbar from '../lists/VcsTreeviewSearchbar.vue';
134
134
  import VcsButton from '../buttons/VcsButton.vue';
135
135
  import VcsCheckbox from '../form-inputs-controls/VcsCheckbox.vue';
136
- import { useForwardSlots } from '../composables.js';
136
+ import { getForwardSlots } from '../composables.js';
137
137
 
138
138
  /**
139
139
  * @typedef {Object} UpdateItemsEvent
@@ -363,7 +363,7 @@
363
363
  props.serverItemsLength > itemsPerPageRef.value,
364
364
  );
365
365
 
366
- const forwardSlots = useForwardSlots(slots, [
366
+ const forwardSlots = getForwardSlots(slots, [
367
367
  'prepend',
368
368
  'default',
369
369
  'append',
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
54
54
  handleSearch: () => void;
55
55
  translatedHeaders: ComputedRef<Object[]>;
56
56
  showFooter: import("vue").ComputedRef<boolean>;
57
- forwardSlots: import("vue").ComputedRef<string[]>;
57
+ forwardSlots: string[];
58
58
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
59
59
  headers: {
60
60
  type: ArrayConstructor;
@@ -151,7 +151,12 @@ class ObliqueCollectionContentTreeItem extends VcsObjectContentTreeItem {
151
151
  if (this.state === StateActionState.INACTIVE) {
152
152
  this.state = StateActionState.LOADING;
153
153
  await map.setCollection(this._collection, vp);
154
- executeCallbacks(this._app, this._onActivate);
154
+ if (map.collection === this._collection) {
155
+ executeCallbacks(this._app, this._onActivate);
156
+ } else {
157
+ // failed to activate collection
158
+ this.state = StateActionState.INACTIVE;
159
+ }
155
160
  } else if (this.state === StateActionState.ACTIVE) {
156
161
  this.state = StateActionState.INACTIVE;
157
162
  await map.setCollection(defaultCollection, vp);
@@ -430,15 +430,16 @@ class AbstractFeatureInfoView extends VcsObject {
430
430
  * @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
431
431
  */
432
432
  getWindowComponentOptions(app, featureInfo, layer) {
433
+ const props = this.getProperties(featureInfo, layer);
433
434
  return {
434
435
  state: getWindowState(app, this.window.state, {
435
- ...this.getAttributes(featureInfo.feature),
436
+ ...props.attributes,
436
437
  layerName: layer.properties?.title || layer.name,
437
438
  }),
438
439
  slot: this.window.slot ?? WindowSlot.DYNAMIC_RIGHT,
439
440
  component: this.component,
440
441
  position: this.window.position,
441
- props: this.getProperties(featureInfo, layer),
442
+ props,
442
443
  };
443
444
  }
444
445
 
package/src/i18n/de.d.ts CHANGED
@@ -156,10 +156,15 @@ declare namespace messages {
156
156
  let errorConnection: string;
157
157
  let errorPosition: string;
158
158
  }
159
+ namespace obliqueFallback {
160
+ export let message: string;
161
+ let title_5: string;
162
+ export { title_5 as title };
163
+ }
159
164
  }
160
165
  export namespace categoryManager {
161
- let title_5: string;
162
- export { title_5 as title };
166
+ let title_6: string;
167
+ export { title_6 as title };
163
168
  let tooltip_2: string;
164
169
  export { tooltip_2 as tooltip };
165
170
  }
@@ -236,8 +241,8 @@ declare namespace messages {
236
241
  export let general: string;
237
242
  let name_1: string;
238
243
  export { name_1 as name };
239
- let title_6: string;
240
- export { title_6 as title };
244
+ let title_7: string;
245
+ export { title_7 as title };
241
246
  export let titlePlaceholder: string;
242
247
  export let interpolation: string;
243
248
  export let duration: string;
@@ -270,8 +275,8 @@ declare namespace messages {
270
275
  export namespace viewpoint {
271
276
  let name_4: string;
272
277
  export { name_4 as name };
273
- let title_7: string;
274
- export { title_7 as title };
278
+ let title_8: string;
279
+ export { title_8 as title };
275
280
  let titlePlaceholder_1: string;
276
281
  export { titlePlaceholder_1 as titlePlaceholder };
277
282
  export let groundPosition: string;
@@ -296,8 +301,8 @@ declare namespace messages {
296
301
  let outOfRange: string;
297
302
  }
298
303
  export namespace extent {
299
- let title_8: string;
300
- export { title_8 as title };
304
+ let title_9: string;
305
+ export { title_9 as title };
301
306
  export let projection: string;
302
307
  export let min: string;
303
308
  export let max: string;
@@ -371,14 +376,14 @@ declare namespace messages {
371
376
  }
372
377
  }
373
378
  export namespace settings {
374
- let title_9: string;
375
- export { title_9 as title };
379
+ let title_10: string;
380
+ export { title_10 as title };
376
381
  let tooltip_3: string;
377
382
  export { tooltip_3 as tooltip };
378
383
  export let languageSelector: string;
379
384
  export namespace displayQuality {
380
- let title_10: string;
381
- export { title_10 as title };
385
+ let title_11: string;
386
+ export { title_11 as title };
382
387
  export namespace level {
383
388
  let low: string;
384
389
  let medium: string;
@@ -386,15 +391,15 @@ declare namespace messages {
386
391
  }
387
392
  }
388
393
  export namespace theme {
389
- let title_11: string;
390
- export { title_11 as title };
394
+ let title_12: string;
395
+ export { title_12 as title };
391
396
  export let dark: string;
392
397
  export let light: string;
393
398
  }
394
399
  }
395
400
  export namespace help_1 {
396
- let title_12: string;
397
- export { title_12 as title };
401
+ let title_13: string;
402
+ export { title_13 as title };
398
403
  let tooltip_4: string;
399
404
  export { tooltip_4 as tooltip };
400
405
  }
@@ -404,8 +409,8 @@ declare namespace messages {
404
409
  let deactivateToolTitle: string;
405
410
  }
406
411
  export namespace legend {
407
- let title_13: string;
408
- export { title_13 as title };
412
+ let title_14: string;
413
+ export { title_14 as title };
409
414
  let tooltip_5: string;
410
415
  export { tooltip_5 as tooltip };
411
416
  let empty_2: string;
@@ -414,8 +419,8 @@ declare namespace messages {
414
419
  export let defaultLabelText: string;
415
420
  }
416
421
  export namespace search_1 {
417
- let title_14: string;
418
- export { title_14 as title };
422
+ let title_15: string;
423
+ export { title_15 as title };
419
424
  let tooltip_6: string;
420
425
  export { tooltip_6 as tooltip };
421
426
  export let select: string;
@@ -431,31 +436,31 @@ declare namespace messages {
431
436
  export let miscellaneous: string;
432
437
  }
433
438
  export namespace footer {
434
- let title_15: string;
435
- export { title_15 as title };
439
+ let title_16: string;
440
+ export { title_16 as title };
436
441
  export namespace attributions {
437
- let title_16: string;
438
- export { title_16 as title };
442
+ let title_17: string;
443
+ export { title_17 as title };
439
444
  let tooltip_7: string;
440
445
  export { tooltip_7 as tooltip };
441
446
  let empty_3: string;
442
447
  export { empty_3 as empty };
443
448
  }
444
449
  export namespace imprint {
445
- let title_17: string;
446
- export { title_17 as title };
450
+ let title_18: string;
451
+ export { title_18 as title };
447
452
  let tooltip_8: string;
448
453
  export { tooltip_8 as tooltip };
449
454
  }
450
455
  export namespace dataProtection {
451
- let title_18: string;
452
- export { title_18 as title };
456
+ let title_19: string;
457
+ export { title_19 as title };
453
458
  let tooltip_9: string;
454
459
  export { tooltip_9 as tooltip };
455
460
  }
456
461
  export namespace positionDisplay {
457
- let title_19: string;
458
- export { title_19 as title };
462
+ let title_20: string;
463
+ export { title_20 as title };
459
464
  let projection_1: string;
460
465
  export { projection_1 as projection };
461
466
  }
package/src/i18n/de.js CHANGED
@@ -58,6 +58,11 @@ const messages = {
58
58
  'Während dem ermitteln Ihrer Position wurde die Verbindung verloren',
59
59
  errorPosition: 'Ihre Position kann leider nicht erfasst werden',
60
60
  },
61
+ obliqueFallback: {
62
+ message:
63
+ 'Für die aktuelle Position liegen bei dem ausgewählten Datensatz keine Daten vor',
64
+ title: 'Fehlende Daten',
65
+ },
61
66
  },
62
67
  categoryManager: {
63
68
  title: 'Mein Arbeitsbereich',
package/src/i18n/en.d.ts CHANGED
@@ -156,10 +156,15 @@ declare namespace messages {
156
156
  let errorConnection: string;
157
157
  let errorPosition: string;
158
158
  }
159
+ namespace obliqueFallback {
160
+ export let message: string;
161
+ let title_5: string;
162
+ export { title_5 as title };
163
+ }
159
164
  }
160
165
  export namespace categoryManager {
161
- let title_5: string;
162
- export { title_5 as title };
166
+ let title_6: string;
167
+ export { title_6 as title };
163
168
  let tooltip_2: string;
164
169
  export { tooltip_2 as tooltip };
165
170
  }
@@ -236,8 +241,8 @@ declare namespace messages {
236
241
  export let general: string;
237
242
  let name_1: string;
238
243
  export { name_1 as name };
239
- let title_6: string;
240
- export { title_6 as title };
244
+ let title_7: string;
245
+ export { title_7 as title };
241
246
  export let titlePlaceholder: string;
242
247
  export let interpolation: string;
243
248
  export let duration: string;
@@ -270,8 +275,8 @@ declare namespace messages {
270
275
  export namespace viewpoint {
271
276
  let name_4: string;
272
277
  export { name_4 as name };
273
- let title_7: string;
274
- export { title_7 as title };
278
+ let title_8: string;
279
+ export { title_8 as title };
275
280
  let titlePlaceholder_1: string;
276
281
  export { titlePlaceholder_1 as titlePlaceholder };
277
282
  export let groundPosition: string;
@@ -296,8 +301,8 @@ declare namespace messages {
296
301
  let outOfRange: string;
297
302
  }
298
303
  export namespace extent {
299
- let title_8: string;
300
- export { title_8 as title };
304
+ let title_9: string;
305
+ export { title_9 as title };
301
306
  export let projection: string;
302
307
  export let min: string;
303
308
  export let max: string;
@@ -371,14 +376,14 @@ declare namespace messages {
371
376
  }
372
377
  }
373
378
  export namespace settings {
374
- let title_9: string;
375
- export { title_9 as title };
379
+ let title_10: string;
380
+ export { title_10 as title };
376
381
  let tooltip_3: string;
377
382
  export { tooltip_3 as tooltip };
378
383
  export let languageSelector: string;
379
384
  export namespace displayQuality {
380
- let title_10: string;
381
- export { title_10 as title };
385
+ let title_11: string;
386
+ export { title_11 as title };
382
387
  export namespace level {
383
388
  let low: string;
384
389
  let medium: string;
@@ -386,15 +391,15 @@ declare namespace messages {
386
391
  }
387
392
  }
388
393
  export namespace theme {
389
- let title_11: string;
390
- export { title_11 as title };
394
+ let title_12: string;
395
+ export { title_12 as title };
391
396
  export let dark: string;
392
397
  export let light: string;
393
398
  }
394
399
  }
395
400
  export namespace help_1 {
396
- let title_12: string;
397
- export { title_12 as title };
401
+ let title_13: string;
402
+ export { title_13 as title };
398
403
  let tooltip_4: string;
399
404
  export { tooltip_4 as tooltip };
400
405
  }
@@ -404,8 +409,8 @@ declare namespace messages {
404
409
  let deactivateToolTitle: string;
405
410
  }
406
411
  export namespace legend {
407
- let title_13: string;
408
- export { title_13 as title };
412
+ let title_14: string;
413
+ export { title_14 as title };
409
414
  let tooltip_5: string;
410
415
  export { tooltip_5 as tooltip };
411
416
  let empty_2: string;
@@ -414,8 +419,8 @@ declare namespace messages {
414
419
  export let defaultLabelText: string;
415
420
  }
416
421
  export namespace search_1 {
417
- let title_14: string;
418
- export { title_14 as title };
422
+ let title_15: string;
423
+ export { title_15 as title };
419
424
  let tooltip_6: string;
420
425
  export { tooltip_6 as tooltip };
421
426
  export let select: string;
@@ -431,31 +436,31 @@ declare namespace messages {
431
436
  export let miscellaneous: string;
432
437
  }
433
438
  export namespace footer {
434
- let title_15: string;
435
- export { title_15 as title };
439
+ let title_16: string;
440
+ export { title_16 as title };
436
441
  export namespace attributions {
437
- let title_16: string;
438
- export { title_16 as title };
442
+ let title_17: string;
443
+ export { title_17 as title };
439
444
  let tooltip_7: string;
440
445
  export { tooltip_7 as tooltip };
441
446
  let empty_3: string;
442
447
  export { empty_3 as empty };
443
448
  }
444
449
  export namespace imprint {
445
- let title_17: string;
446
- export { title_17 as title };
450
+ let title_18: string;
451
+ export { title_18 as title };
447
452
  let tooltip_8: string;
448
453
  export { tooltip_8 as tooltip };
449
454
  }
450
455
  export namespace dataProtection {
451
- let title_18: string;
452
- export { title_18 as title };
456
+ let title_19: string;
457
+ export { title_19 as title };
453
458
  let tooltip_9: string;
454
459
  export { tooltip_9 as tooltip };
455
460
  }
456
461
  export namespace positionDisplay {
457
- let title_19: string;
458
- export { title_19 as title };
462
+ let title_20: string;
463
+ export { title_20 as title };
459
464
  let projection_1: string;
460
465
  export { projection_1 as projection };
461
466
  }
package/src/i18n/en.js CHANGED
@@ -58,6 +58,11 @@ const messages = {
58
58
  'The connection was lost while your position was being determined',
59
59
  errorPosition: 'Unfortunately, your position cannot be recorded',
60
60
  },
61
+ obliqueFallback: {
62
+ message:
63
+ 'There is no data for the current position and selected data set.',
64
+ title: 'Missing Data',
65
+ },
61
66
  },
62
67
  categoryManager: {
63
68
  title: 'My Workspace',
@@ -81,7 +81,11 @@ export function createSupportedMapMappingFunction(
81
81
  return (item, _c, listItem) => {
82
82
  const mapNames =
83
83
  typeof supportedMaps === 'function' ? supportedMaps(item) : supportedMaps;
84
- listItem.disabled = !mapNames.includes(mapCollection.activeMap.className);
84
+ if (mapCollection.activeMap) {
85
+ listItem.disabled = !mapNames.includes(mapCollection.activeMap.className);
86
+ } else {
87
+ listItem.disabled = true;
88
+ }
85
89
  listItem.destroyFunctions.push(
86
90
  mapCollection.mapActivated.addEventListener((map) => {
87
91
  listItem.disabled = !mapNames.includes(map.className);
@@ -33,7 +33,7 @@
33
33
  :active="group.action.active"
34
34
  :background="group.action.background"
35
35
  :disabled="group.action.disabled"
36
- @click="group.action.callback($event)"
36
+ @click.stop="group.action.callback($event)"
37
37
  v-bind="{ ...$attrs }"
38
38
  />
39
39
  </div>
@@ -17,7 +17,7 @@ export function isSlotPosition(windowPosition: WindowPosition): boolean;
17
17
  * parentId?: string,
18
18
  * component: import("vue").Component<T>,
19
19
  * headerComponent?: import("vue").Component<T>,
20
- * state? : Partial<WindowState>,
20
+ * state? : WindowStateOptions,
21
21
  * position? : Partial<WindowPositionOptions>,
22
22
  * slot?: WindowSlot,
23
23
  * props?: T,
@@ -28,16 +28,34 @@ export function isSlotPosition(windowPosition: WindowPosition): boolean;
28
28
  * @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
29
29
  * @property {import("vue").Component<T, unknown, unknown>} component Main Component which is shown below the header.
30
30
  * @property {import("vue").Component<T, unknown, unknown>} [headerComponent] Replaces the Header Component.
31
- * @property {Partial<WindowState>} [state]
31
+ * @property {WindowStateOptions} [state]
32
32
  * @property {Partial<WindowPositionOptions>} [position] Will be merged with default position for slot
33
33
  * @property {WindowSlot} [slot]
34
34
  * @property {T} [props]
35
35
  * @property {Object} [provides]
36
36
  */
37
+ /**
38
+ * @typedef {T|import('vue').Ref<T>|import('vue').ComputedRef<T>} OptionsOrRef
39
+ * @template T
40
+ */
41
+ /**
42
+ * @typedef {Object} WindowStateOptions
43
+ * @property {OptionsOrRef<boolean>} [hideHeader] be used to not show the header.
44
+ * @property {OptionsOrRef<boolean>} [hidePin] be used to not show the pin button.
45
+ * @property {OptionsOrRef<string|string[]>} [headerTitle] An optional translatable header. If an array is provided all elements are translated and joined afterward.
46
+ * @property {OptionsOrRef<string>} [headerIcon]
47
+ * @property {OptionsOrRef<Array<import("../../actions/actionHelper.js").VcsAction>>} [headerActions]
48
+ * @property {OptionsOrRef<number>} [headerActionsOverflow]
49
+ * @property {OptionsOrRef<string>} [infoUrl] An optional url referencing help or further information on the window's content.
50
+ * @property {OptionsOrRef<function():string>} [infoUrlCallback] An optional function returning an url referencing help or further information. Can be used for urls depending on the app's locale, e.g. app.getHelpUrl()
51
+ * @property {Record<string, string>} [styles] Can be used to add additional styles to the root WindowComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
52
+ * @property {Array<string>|Record<string,string>} [classes] Can be used to add additional classes to the root WindowComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
53
+ */
37
54
  /**
38
55
  * @typedef {Object} WindowState
39
56
  * @property {string} id
40
57
  * @property {string|vcsAppSymbol} owner Owner of the window, set by windowManager on add
58
+ * @property {string|undefined} parentId - the parent of this window
41
59
  * @property {boolean} [hideHeader] be used to not show the header.
42
60
  * @property {boolean} [hidePin] be used to not show the pin button.
43
61
  * @property {string|string[]} [headerTitle] An optional translatable header. If an array is provided all elements are translated and joined afterward.
@@ -134,18 +152,56 @@ export type WindowComponentOptions<T = any> = {
134
152
  parentId?: string;
135
153
  component: import("vue").Component<T>;
136
154
  headerComponent?: import("vue").Component<T>;
137
- state?: Partial<WindowState>;
155
+ state?: WindowStateOptions;
138
156
  position?: Partial<WindowPositionOptions>;
139
157
  slot?: WindowSlot;
140
158
  props?: T;
141
159
  provides?: Record<string, unknown>;
142
160
  };
161
+ export type OptionsOrRef<T> = T | import('vue').Ref<T> | import('vue').ComputedRef<T>;
162
+ export type WindowStateOptions = {
163
+ /**
164
+ * be used to not show the header.
165
+ */
166
+ hideHeader?: OptionsOrRef<boolean> | undefined;
167
+ /**
168
+ * be used to not show the pin button.
169
+ */
170
+ hidePin?: OptionsOrRef<boolean> | undefined;
171
+ /**
172
+ * An optional translatable header. If an array is provided all elements are translated and joined afterward.
173
+ */
174
+ headerTitle?: OptionsOrRef<string | string[]> | undefined;
175
+ headerIcon?: OptionsOrRef<string> | undefined;
176
+ headerActions?: OptionsOrRef<import("../../actions/actionHelper.js").VcsAction[]> | undefined;
177
+ headerActionsOverflow?: OptionsOrRef<number> | undefined;
178
+ /**
179
+ * An optional url referencing help or further information on the window's content.
180
+ */
181
+ infoUrl?: OptionsOrRef<string> | undefined;
182
+ /**
183
+ * An optional function returning an url referencing help or further information. Can be used for urls depending on the app's locale, e.g. app.getHelpUrl()
184
+ */
185
+ infoUrlCallback?: OptionsOrRef<() => string> | undefined;
186
+ /**
187
+ * Can be used to add additional styles to the root WindowComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
188
+ */
189
+ styles?: Record<string, string> | undefined;
190
+ /**
191
+ * Can be used to add additional classes to the root WindowComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
192
+ */
193
+ classes?: string[] | Record<string, string> | undefined;
194
+ };
143
195
  export type WindowState = {
144
196
  id: string;
145
197
  /**
146
198
  * Owner of the window, set by windowManager on add
147
199
  */
148
200
  owner: string | symbol;
201
+ /**
202
+ * - the parent of this window
203
+ */
204
+ parentId: string | undefined;
149
205
  /**
150
206
  * be used to not show the header.
151
207
  */