@eodash/eodash 5.1.0 → 5.2.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/core/client/components/DashboardLayout.vue +1 -1
- package/core/client/components/EodashOverlay.vue +4 -5
- package/core/client/components/MobileLayout.vue +42 -21
- package/core/client/composables/index.js +1 -1
- package/core/client/eodashSTAC/EodashCollection.js +4 -15
- package/core/client/eodashSTAC/createLayers.js +30 -0
- package/core/client/eodashSTAC/helpers.js +23 -1
- package/dist/client/{DashboardLayout-ByVs1DrY.js → DashboardLayout-Dq9Kfe6O.js} +5 -5
- package/dist/client/{DynamicWebComponent-C3W7HSQm.js → DynamicWebComponent-DCBMXskE.js} +1 -1
- package/dist/client/{EodashDatePicker-BIAf1sMT.js → EodashDatePicker-DtngxU6s.js} +3 -3
- package/dist/client/{EodashItemFilter-DPznh8UB.js → EodashItemFilter-ClQebJQt.js} +1 -1
- package/dist/client/{EodashLayerControl-Bhxjw4V2.js → EodashLayerControl-BLBds28C.js} +2 -2
- package/dist/client/{EodashLayoutSwitcher-C5qTEffW.js → EodashLayoutSwitcher-DQ8SfVDd.js} +3 -3
- package/dist/client/EodashMapBtns-B89_YBDw.js +326 -0
- package/dist/client/{EodashStacInfo-CSvvF2jI.js → EodashStacInfo-Dt1nF06x.js} +1 -1
- package/dist/client/{EodashTools-Cv1SXQ5y.js → EodashTools-DV5ykmWc.js} +4 -4
- package/dist/client/{ExportState-D-iuwaad.js → ExportState-B6zZQUmE.js} +4 -5
- package/dist/client/{Footer-CyF0zRAk.js → Footer-DNhXs8k6.js} +1 -1
- package/dist/client/{Header-CgD8jDKU.js → Header-BjhN5JY4.js} +2 -3
- package/dist/client/MobileLayout-JelB6w1G.js +118 -0
- package/dist/client/{PopUp-BsYLvWch.js → PopUp-CgpvNr3o.js} +2 -3
- package/dist/client/{ProcessList-C2xsLU2_.js → ProcessList-vecpxThi.js} +17 -10
- package/dist/client/{VImg-OHe8YTs2.js → VImg-CETuikH2.js} +200 -5
- package/dist/client/{VMain-PryTLU4a.js → VMain-Ci9DyaGU.js} +1 -1
- package/dist/client/{VTooltip-DZ0fjpB3.js → VTooltip-J4ac48X7.js} +2 -3
- package/dist/client/{WidgetsContainer-B9LBadcC.js → WidgetsContainer-CCML4TyV.js} +1 -1
- package/dist/client/{asWebComponent-By_7_JjS.js → asWebComponent-ZyEzWOOf.js} +59 -160
- package/dist/client/{async-DkSu_u2K.js → async-B7jIrM53.js} +69 -5
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{VOverlay-yUn7p-Uf.js → forwardRefs-BQclvjMq.js} +272 -5
- package/dist/client/{handling-CgmFXkW6.js → handling-BS24aG1q.js} +20 -5
- package/dist/client/{helpers-Dy0Q13tP.js → helpers-wXK7Ywio.js} +24 -2
- package/dist/client/{index-skjhlH8u.js → index-4UCzZi8B.js} +5 -5
- package/dist/client/{index-Dqj4tbx2.js → index-9KR-G20t.js} +2 -2
- package/dist/client/{index-Ch_HchK3.js → index-B2XpdgR6.js} +191 -57
- package/dist/client/material-symbols-outlined.woff2 +0 -0
- package/dist/client/material-symbols-rounded.woff2 +0 -0
- package/dist/client/material-symbols-sharp.woff2 +0 -0
- package/dist/client/material-symbols-subset.woff2 +0 -0
- package/dist/client/templates.js +27 -37
- package/dist/client/{transition-C98Yn4Vo.js → transition-yBii4fu6.js} +1 -1
- package/dist/node/cli.js +1 -1
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +5 -0
- package/dist/types/core/client/types.d.ts +1 -1
- package/dist/types/templates/compare.d.ts +0 -25
- package/dist/types/templates/expert.d.ts +16 -20
- package/dist/types/templates/light.d.ts +9 -0
- package/dist/types/widgets/{EodashMapBtns.vue.d.ts → EodashMap/EodashMapBtns.vue.d.ts} +4 -0
- package/dist/types/widgets/EodashMap/index.vue.d.ts +8 -0
- package/dist/types/widgets/EodashProcess/methods/async.d.ts +1 -0
- package/package.json +4 -2
- package/templates/compare.js +0 -20
- package/templates/expert.js +16 -15
- package/templates/light.js +10 -1
- package/widgets/EodashMap/EodashMapBtns.vue +269 -0
- package/widgets/EodashMap/index.vue +252 -37
- package/widgets/EodashProcess/ProcessList.vue +13 -1
- package/widgets/EodashProcess/methods/async.js +22 -1
- package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +19 -3
- package/widgets/EodashProcess/methods/utils.js +45 -1
- package/dist/client/EodashMapBtns-WoGq8MuV.js +0 -173
- package/dist/client/MobileLayout-EKQ_kpSh.js +0 -1226
- package/dist/client/forwardRefs-BXxrv98s.js +0 -272
- package/dist/client/index-BuhOHXKv.js +0 -199
- package/widgets/EodashMapBtns.vue +0 -155
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as getCompareLayers, l as getLayers, p as replaceLayer, h as extractLayerConfig, m as mergeGeojsons, f as axios,
|
|
2
|
-
import {
|
|
1
|
+
import { n as getCompareLayers, l as getLayers, p as replaceLayer, h as extractLayerConfig, s as extractLayerLegend, m as mergeGeojsons, f as axios, O as axios$1, D as compareIndicator, C as indicator } from './helpers-wXK7Ywio.js';
|
|
2
|
+
import { N as useEmitLayersUpdate } from './asWebComponent-ZyEzWOOf.js';
|
|
3
3
|
import { isMulti } from '@eox/jsonform/src/custom-inputs/spatial/utils';
|
|
4
4
|
import log from 'loglevel';
|
|
5
5
|
|
|
@@ -285,7 +285,10 @@ async function creatAsyncProcessLayerDefinitions(
|
|
|
285
285
|
|
|
286
286
|
for (const resultItem of processResults) {
|
|
287
287
|
const flatStyleJSON = extractStyleFromResult(resultItem, flatStyles);
|
|
288
|
-
|
|
288
|
+
/** @type {import("@/types").EodashStyleJson | undefined} */
|
|
289
|
+
let style;
|
|
290
|
+
/** @type {Record<string, unknown> | undefined} */
|
|
291
|
+
let layerConfig;
|
|
289
292
|
if (flatStyleJSON) {
|
|
290
293
|
const extracted = extractLayerConfig(
|
|
291
294
|
selectedStac?.id ?? "",
|
|
@@ -295,6 +298,9 @@ async function creatAsyncProcessLayerDefinitions(
|
|
|
295
298
|
style = extracted.style;
|
|
296
299
|
}
|
|
297
300
|
|
|
301
|
+
// Check if collection has eox:colorlegend definition, if yes overwrite legend description
|
|
302
|
+
let extraProperties = extractLayerLegend(selectedStac);
|
|
303
|
+
|
|
298
304
|
switch (resultItem.type) {
|
|
299
305
|
case "image/tiff": {
|
|
300
306
|
layers.push({
|
|
@@ -308,6 +314,7 @@ async function creatAsyncProcessLayerDefinitions(
|
|
|
308
314
|
(resultItem.id ?? ""),
|
|
309
315
|
layerControlToolsExpand: true,
|
|
310
316
|
...(layerConfig && { layerConfig }),
|
|
317
|
+
...extraProperties,
|
|
311
318
|
},
|
|
312
319
|
source: {
|
|
313
320
|
type: "GeoTIFF",
|
|
@@ -345,12 +352,48 @@ async function creatAsyncProcessLayerDefinitions(
|
|
|
345
352
|
style,
|
|
346
353
|
},
|
|
347
354
|
}),
|
|
355
|
+
...extraProperties,
|
|
348
356
|
},
|
|
349
357
|
...(!style?.variables && { style }),
|
|
350
358
|
interactions: [],
|
|
351
359
|
});
|
|
352
360
|
break;
|
|
353
361
|
}
|
|
362
|
+
case "application/vnd.flatgeobuf": {
|
|
363
|
+
// TODO after more flatgeobuf urls are possible in EOxMap https://github.com/EOX-A/EOxElements/issues/1789
|
|
364
|
+
// we should change this handler to only create one layer instead of many
|
|
365
|
+
resultItem.urls.forEach((url, i) => {
|
|
366
|
+
layers.push({
|
|
367
|
+
type: "Vector",
|
|
368
|
+
source: {
|
|
369
|
+
type: "FlatGeoBuf",
|
|
370
|
+
url,
|
|
371
|
+
},
|
|
372
|
+
properties: {
|
|
373
|
+
id:
|
|
374
|
+
endpointLink.id +
|
|
375
|
+
"_process_" +
|
|
376
|
+
resultItem.id +
|
|
377
|
+
postfixId +
|
|
378
|
+
`_${i}`,
|
|
379
|
+
title:
|
|
380
|
+
"Results " +
|
|
381
|
+
(selectedStac?.id ?? "") +
|
|
382
|
+
" " +
|
|
383
|
+
(resultItem.id ?? ""),
|
|
384
|
+
layerControlToolsExpand: true,
|
|
385
|
+
...(layerConfig && {
|
|
386
|
+
layerConfig: {
|
|
387
|
+
...layerConfig,
|
|
388
|
+
style,
|
|
389
|
+
},
|
|
390
|
+
}),
|
|
391
|
+
...extraProperties,
|
|
392
|
+
},
|
|
393
|
+
});
|
|
394
|
+
});
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
354
397
|
default:
|
|
355
398
|
console.warn(
|
|
356
399
|
`[eodash] Unsupported result type "${resultItem.type}" for ${resultItem.id} layer creation.`,
|
|
@@ -661,7 +704,15 @@ const downloadPreviousResults = async (jobObject, selectedStac) => {
|
|
|
661
704
|
.get(link.href)
|
|
662
705
|
.then((response) => response.data)
|
|
663
706
|
.then((data) => {
|
|
664
|
-
|
|
707
|
+
// either urls is an Array
|
|
708
|
+
if (data.urls) {
|
|
709
|
+
results.push(...data.urls);
|
|
710
|
+
} else {
|
|
711
|
+
// or urls need to be aggregated from mapping objects
|
|
712
|
+
for (const outputMappingObject of Object.values(data)) {
|
|
713
|
+
results.push(...outputMappingObject.urls);
|
|
714
|
+
}
|
|
715
|
+
}
|
|
665
716
|
});
|
|
666
717
|
results.forEach((result) => {
|
|
667
718
|
if (!result) {
|
|
@@ -737,4 +788,17 @@ async function loadPreviousProcess({
|
|
|
737
788
|
applyProcessLayersToMap(mapElement, layers);
|
|
738
789
|
}
|
|
739
790
|
|
|
740
|
-
|
|
791
|
+
/**
|
|
792
|
+
* extracts job status url from local storage based on identifier
|
|
793
|
+
*
|
|
794
|
+
* @param {string} jobID
|
|
795
|
+
* @param {string} indicator
|
|
796
|
+
*/
|
|
797
|
+
const getJobStatusUrl = (jobID, indicator) => {
|
|
798
|
+
/** @type {string[]} */
|
|
799
|
+
const jobsUrls = JSON.parse(localStorage.getItem(indicator) || "[]");
|
|
800
|
+
const jobUrl = jobsUrls.find((url) => url.includes(jobID));
|
|
801
|
+
return jobUrl;
|
|
802
|
+
};
|
|
803
|
+
|
|
804
|
+
export { creatAsyncProcessLayerDefinitions as a, generateTimePairs as b, createTiffLayerDefinition as c, download as d, extractAsyncResults as e, updateJsonformSchemaTarget as f, getBboxProperty as g, extractGeometries as h, applyProcessLayersToMap as i, getJobStatusUrl as j, downloadPreviousResults as k, loadProcess as l, deleteJob as m, pollProcessStatus as p, separateEndpointLinks as s, updateJobsStatus as u };
|
package/dist/client/eo-dash.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { aF as EodashConstructor, aE as register, aG as store } from './asWebComponent-ZyEzWOOf.js';
|
|
2
2
|
import 'vue';
|
|
@@ -1,7 +1,144 @@
|
|
|
1
|
-
import { computed, watch, onScopeDispose, nextTick, ref, watchEffect, effectScope, inject, mergeProps, shallowRef, onMounted, reactive, provide, toValue, toRaw,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { computed, watch, onScopeDispose, nextTick, ref, watchEffect, effectScope, inject, mergeProps, shallowRef, onMounted, toRef, reactive, provide, toValue, toRaw, readonly, warn, onBeforeUnmount, createElementVNode, Fragment, createVNode, Teleport, withDirectives, vShow, Transition } from 'vue';
|
|
2
|
+
import { ao as isOn, ap as eventName, p as propsFactory, aq as destructComputed, ar as parseAnchor, as as flipSide, at as flipAlign, au as flipCorner, av as CircularBuffer, aw as deepEqual, W as consoleError, ax as getAxis, o as convertToUnit, v as clamp, al as IN_BROWSER, y as useToggleScope, ay as defer, ak as getCurrentInstance, az as templateRef, aA as matchesSelector, D as useDisplay, q as makeThemeProps, d as makeDimensionProps, e as makeComponentProps, g as genericComponent, x as useProxiedModel, k as provideTheme, l as useRtl, f as useBackgroundColor, b as useDimension, aB as useRouter, aC as useBackButton, c as useRender } from './asWebComponent-ZyEzWOOf.js';
|
|
3
|
+
import { m as makeTransitionProps, M as MaybeTransition } from './transition-yBii4fu6.js';
|
|
4
|
+
|
|
5
|
+
class Box {
|
|
6
|
+
constructor(_ref) {
|
|
7
|
+
let {
|
|
8
|
+
x,
|
|
9
|
+
y,
|
|
10
|
+
width,
|
|
11
|
+
height
|
|
12
|
+
} = _ref;
|
|
13
|
+
this.x = x;
|
|
14
|
+
this.y = y;
|
|
15
|
+
this.width = width;
|
|
16
|
+
this.height = height;
|
|
17
|
+
}
|
|
18
|
+
get top() {
|
|
19
|
+
return this.y;
|
|
20
|
+
}
|
|
21
|
+
get bottom() {
|
|
22
|
+
return this.y + this.height;
|
|
23
|
+
}
|
|
24
|
+
get left() {
|
|
25
|
+
return this.x;
|
|
26
|
+
}
|
|
27
|
+
get right() {
|
|
28
|
+
return this.x + this.width;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function getOverflow(a, b) {
|
|
32
|
+
return {
|
|
33
|
+
x: {
|
|
34
|
+
before: Math.max(0, b.left - a.left),
|
|
35
|
+
after: Math.max(0, a.right - b.right)
|
|
36
|
+
},
|
|
37
|
+
y: {
|
|
38
|
+
before: Math.max(0, b.top - a.top),
|
|
39
|
+
after: Math.max(0, a.bottom - b.bottom)
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function getTargetBox(target) {
|
|
44
|
+
if (Array.isArray(target)) {
|
|
45
|
+
return new Box({
|
|
46
|
+
x: target[0],
|
|
47
|
+
y: target[1],
|
|
48
|
+
width: 0,
|
|
49
|
+
height: 0
|
|
50
|
+
});
|
|
51
|
+
} else {
|
|
52
|
+
return target.getBoundingClientRect();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function getElementBox(el) {
|
|
56
|
+
if (el === document.documentElement) {
|
|
57
|
+
if (!visualViewport) {
|
|
58
|
+
return new Box({
|
|
59
|
+
x: 0,
|
|
60
|
+
y: 0,
|
|
61
|
+
width: document.documentElement.clientWidth,
|
|
62
|
+
height: document.documentElement.clientHeight
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
return new Box({
|
|
66
|
+
x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
|
|
67
|
+
y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
|
|
68
|
+
width: visualViewport.width * visualViewport.scale,
|
|
69
|
+
height: visualViewport.height * visualViewport.scale
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
} else {
|
|
73
|
+
const rect = el.getBoundingClientRect();
|
|
74
|
+
return new Box({
|
|
75
|
+
x: rect.x,
|
|
76
|
+
y: rect.y,
|
|
77
|
+
width: el.clientWidth,
|
|
78
|
+
height: el.clientHeight
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Utilities
|
|
84
|
+
/** @see https://stackoverflow.com/a/57876601/2074736 */
|
|
85
|
+
function nullifyTransforms(el) {
|
|
86
|
+
const rect = el.getBoundingClientRect();
|
|
87
|
+
const style = getComputedStyle(el);
|
|
88
|
+
const tx = style.transform;
|
|
89
|
+
if (tx) {
|
|
90
|
+
let ta, sx, sy, dx, dy;
|
|
91
|
+
if (tx.startsWith('matrix3d(')) {
|
|
92
|
+
ta = tx.slice(9, -1).split(/, /);
|
|
93
|
+
sx = Number(ta[0]);
|
|
94
|
+
sy = Number(ta[5]);
|
|
95
|
+
dx = Number(ta[12]);
|
|
96
|
+
dy = Number(ta[13]);
|
|
97
|
+
} else if (tx.startsWith('matrix(')) {
|
|
98
|
+
ta = tx.slice(7, -1).split(/, /);
|
|
99
|
+
sx = Number(ta[0]);
|
|
100
|
+
sy = Number(ta[3]);
|
|
101
|
+
dx = Number(ta[4]);
|
|
102
|
+
dy = Number(ta[5]);
|
|
103
|
+
} else {
|
|
104
|
+
return new Box(rect);
|
|
105
|
+
}
|
|
106
|
+
const to = style.transformOrigin;
|
|
107
|
+
const x = rect.x - dx - (1 - sx) * parseFloat(to);
|
|
108
|
+
const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));
|
|
109
|
+
const w = sx ? rect.width / sx : el.offsetWidth + 1;
|
|
110
|
+
const h = sy ? rect.height / sy : el.offsetHeight + 1;
|
|
111
|
+
return new Box({
|
|
112
|
+
x,
|
|
113
|
+
y,
|
|
114
|
+
width: w,
|
|
115
|
+
height: h
|
|
116
|
+
});
|
|
117
|
+
} else {
|
|
118
|
+
return new Box(rect);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function animate(el, keyframes, options) {
|
|
122
|
+
if (typeof el.animate === 'undefined') return {
|
|
123
|
+
finished: Promise.resolve()
|
|
124
|
+
};
|
|
125
|
+
let animation;
|
|
126
|
+
try {
|
|
127
|
+
animation = el.animate(keyframes, options);
|
|
128
|
+
} catch (err) {
|
|
129
|
+
return {
|
|
130
|
+
finished: Promise.resolve()
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
if (typeof animation.finished === 'undefined') {
|
|
134
|
+
animation.finished = new Promise(resolve => {
|
|
135
|
+
animation.onfinish = () => {
|
|
136
|
+
resolve(animation);
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return animation;
|
|
141
|
+
}
|
|
5
142
|
|
|
6
143
|
// Utilities
|
|
7
144
|
const handlers = new WeakMap();
|
|
@@ -75,6 +212,10 @@ function attachedRoot(node) {
|
|
|
75
212
|
return root;
|
|
76
213
|
}
|
|
77
214
|
|
|
215
|
+
const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
216
|
+
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
|
217
|
+
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
|
218
|
+
|
|
78
219
|
function getScrollParent(el) {
|
|
79
220
|
let includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
80
221
|
while (el) {
|
|
@@ -1138,6 +1279,35 @@ function useHydration() {
|
|
|
1138
1279
|
}
|
|
1139
1280
|
}
|
|
1140
1281
|
|
|
1282
|
+
// Utilities
|
|
1283
|
+
const makeLazyProps = propsFactory({
|
|
1284
|
+
eager: Boolean
|
|
1285
|
+
}, 'lazy');
|
|
1286
|
+
function useLazy(props, active) {
|
|
1287
|
+
const isBooted = shallowRef(false);
|
|
1288
|
+
const hasContent = toRef(() => isBooted.value || props.eager || active.value);
|
|
1289
|
+
watch(active, () => isBooted.value = true);
|
|
1290
|
+
function onAfterLeave() {
|
|
1291
|
+
if (!props.eager) isBooted.value = false;
|
|
1292
|
+
}
|
|
1293
|
+
return {
|
|
1294
|
+
isBooted,
|
|
1295
|
+
hasContent,
|
|
1296
|
+
onAfterLeave
|
|
1297
|
+
};
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
// Utilities
|
|
1301
|
+
function useScopeId() {
|
|
1302
|
+
const vm = getCurrentInstance('useScopeId');
|
|
1303
|
+
const scopeId = vm.vnode.scopeId;
|
|
1304
|
+
return {
|
|
1305
|
+
scopeId: scopeId ? {
|
|
1306
|
+
[scopeId]: ''
|
|
1307
|
+
} : undefined
|
|
1308
|
+
};
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1141
1311
|
// Composables
|
|
1142
1312
|
const StackSymbol = Symbol.for('vuetify:stack');
|
|
1143
1313
|
const globalStack = reactive([]);
|
|
@@ -1496,4 +1666,101 @@ const VOverlay = genericComponent()({
|
|
|
1496
1666
|
}
|
|
1497
1667
|
});
|
|
1498
1668
|
|
|
1499
|
-
|
|
1669
|
+
// Types
|
|
1670
|
+
|
|
1671
|
+
const Refs = Symbol('Forwarded refs');
|
|
1672
|
+
|
|
1673
|
+
/** Omit properties starting with P */
|
|
1674
|
+
|
|
1675
|
+
/** Omit keyof $props from T */
|
|
1676
|
+
|
|
1677
|
+
function getDescriptor(obj, key) {
|
|
1678
|
+
let currentObj = obj;
|
|
1679
|
+
while (currentObj) {
|
|
1680
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
|
|
1681
|
+
if (descriptor) return descriptor;
|
|
1682
|
+
currentObj = Object.getPrototypeOf(currentObj);
|
|
1683
|
+
}
|
|
1684
|
+
return undefined;
|
|
1685
|
+
}
|
|
1686
|
+
function forwardRefs(target) {
|
|
1687
|
+
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1688
|
+
refs[_key - 1] = arguments[_key];
|
|
1689
|
+
}
|
|
1690
|
+
target[Refs] = refs;
|
|
1691
|
+
return new Proxy(target, {
|
|
1692
|
+
get(target, key) {
|
|
1693
|
+
if (Reflect.has(target, key)) {
|
|
1694
|
+
return Reflect.get(target, key);
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
// Skip internal properties
|
|
1698
|
+
if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;
|
|
1699
|
+
for (const ref of refs) {
|
|
1700
|
+
if (ref.value && Reflect.has(ref.value, key)) {
|
|
1701
|
+
const val = Reflect.get(ref.value, key);
|
|
1702
|
+
return typeof val === 'function' ? val.bind(ref.value) : val;
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
},
|
|
1706
|
+
has(target, key) {
|
|
1707
|
+
if (Reflect.has(target, key)) {
|
|
1708
|
+
return true;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
// Skip internal properties
|
|
1712
|
+
if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;
|
|
1713
|
+
for (const ref of refs) {
|
|
1714
|
+
if (ref.value && Reflect.has(ref.value, key)) {
|
|
1715
|
+
return true;
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
return false;
|
|
1719
|
+
},
|
|
1720
|
+
set(target, key, value) {
|
|
1721
|
+
if (Reflect.has(target, key)) {
|
|
1722
|
+
return Reflect.set(target, key, value);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
// Skip internal properties
|
|
1726
|
+
if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;
|
|
1727
|
+
for (const ref of refs) {
|
|
1728
|
+
if (ref.value && Reflect.has(ref.value, key)) {
|
|
1729
|
+
return Reflect.set(ref.value, key, value);
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
return false;
|
|
1733
|
+
},
|
|
1734
|
+
getOwnPropertyDescriptor(target, key) {
|
|
1735
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
|
|
1736
|
+
if (descriptor) return descriptor;
|
|
1737
|
+
|
|
1738
|
+
// Skip internal properties
|
|
1739
|
+
if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;
|
|
1740
|
+
|
|
1741
|
+
// Check each ref's own properties
|
|
1742
|
+
for (const ref of refs) {
|
|
1743
|
+
if (!ref.value) continue;
|
|
1744
|
+
const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
|
|
1745
|
+
if (descriptor) return descriptor;
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
// Recursive search up each ref's prototype
|
|
1749
|
+
for (const ref of refs) {
|
|
1750
|
+
const childRefs = ref.value && ref.value[Refs];
|
|
1751
|
+
if (!childRefs) continue;
|
|
1752
|
+
const queue = childRefs.slice();
|
|
1753
|
+
while (queue.length) {
|
|
1754
|
+
const ref = queue.shift();
|
|
1755
|
+
const descriptor = getDescriptor(ref.value, key);
|
|
1756
|
+
if (descriptor) return descriptor;
|
|
1757
|
+
const childRefs = ref.value && ref.value[Refs];
|
|
1758
|
+
if (childRefs) queue.push(...childRefs);
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
return undefined;
|
|
1762
|
+
}
|
|
1763
|
+
});
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
export { VOverlay as V, animate as a, acceleratedEasing as b, deceleratedEasing as d, forwardRefs as f, getTargetBox as g, makeVOverlayProps as m, nullifyTransforms as n, standardEasing as s, useScopeId as u };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import log from 'loglevel';
|
|
2
|
-
import { s as separateEndpointLinks, c as createTiffLayerDefinition, p as pollProcessStatus, e as extractAsyncResults, u as updateJobsStatus, a as creatAsyncProcessLayerDefinitions, g as getBboxProperty, b as generateTimePairs, f as updateJsonformSchemaTarget, h as extractGeometries, i as applyProcessLayersToMap } from './async-
|
|
3
|
-
import { f as axios, h as extractLayerConfig,
|
|
2
|
+
import { s as separateEndpointLinks, c as createTiffLayerDefinition, p as pollProcessStatus, e as extractAsyncResults, u as updateJobsStatus, a as creatAsyncProcessLayerDefinitions, g as getBboxProperty, b as generateTimePairs, f as updateJsonformSchemaTarget, h as extractGeometries, i as applyProcessLayersToMap } from './async-B7jIrM53.js';
|
|
3
|
+
import { f as axios, h as extractLayerConfig, D as compareIndicator, C as indicator, t as extractCollectionUrls, w as currentCompareUrl, x as currentUrl, u as generateLinksFromItems, k as getDatetimeProperty, y as datetime, E as comparePoi, z as poi } from './helpers-wXK7Ywio.js';
|
|
4
4
|
import mustache from 'mustache';
|
|
5
|
-
import {
|
|
5
|
+
import { O as isFirstLoad, E as useSTAcStore, R as readParquetItems, S as useGetSubCodeId } from './asWebComponent-ZyEzWOOf.js';
|
|
6
6
|
import { toAbsolute } from 'stac-js/src/http.js';
|
|
7
7
|
|
|
8
8
|
////// --- CHARTS --- //////
|
|
@@ -856,7 +856,22 @@ async function fetchVedaCOGsConfig(selectedStac, absoluteUrl) {
|
|
|
856
856
|
collectionLinks.map((link) =>
|
|
857
857
|
axios
|
|
858
858
|
.get(toAbsolute(link.href, absoluteUrl))
|
|
859
|
-
.then((resp) => resp.data)
|
|
859
|
+
.then((resp) => resp.data)
|
|
860
|
+
.then(async (collection) => {
|
|
861
|
+
// items in geoparquet handling specially to get item links
|
|
862
|
+
const parquetAsset = Object.values(collection.assets ?? {}).find(
|
|
863
|
+
(asset) =>
|
|
864
|
+
asset.type === "application/vnd.apache.parquet" &&
|
|
865
|
+
asset.roles?.includes("collection-mirror"),
|
|
866
|
+
);
|
|
867
|
+
if (parquetAsset) {
|
|
868
|
+
const parquetAbsoluteUrl = toAbsolute(parquetAsset.href, toAbsolute(link.href, absoluteUrl));
|
|
869
|
+
await readParquetItems(parquetAbsoluteUrl).then((items) => {
|
|
870
|
+
collection.links.push(...generateLinksFromItems(items));
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
return collection;
|
|
874
|
+
}),
|
|
860
875
|
),
|
|
861
876
|
)),
|
|
862
877
|
);
|
|
@@ -867,7 +882,7 @@ async function fetchVedaCOGsConfig(selectedStac, absoluteUrl) {
|
|
|
867
882
|
const datetimeProperty = /** @type string **/ (
|
|
868
883
|
getDatetimeProperty(collection.links)
|
|
869
884
|
);
|
|
870
|
-
|
|
885
|
+
const itemLinks = collection.links.filter((link) => link.rel == "item");
|
|
871
886
|
configs.push(
|
|
872
887
|
...itemLinks.map((link) => ({
|
|
873
888
|
endpoint: /** @type {string} */ (link["cog_href"]),
|
|
@@ -4229,7 +4229,7 @@ const extractLayerDatetime = (links, currentStep) => {
|
|
|
4229
4229
|
slider: true,
|
|
4230
4230
|
navigation: true,
|
|
4231
4231
|
play: false,
|
|
4232
|
-
displayFormat: "DD.MM.YYYY HH:
|
|
4232
|
+
displayFormat: "DD.MM.YYYY HH:mm",
|
|
4233
4233
|
};
|
|
4234
4234
|
};
|
|
4235
4235
|
|
|
@@ -4531,4 +4531,26 @@ function getDatetimeProperty(links) {
|
|
|
4531
4531
|
}
|
|
4532
4532
|
}
|
|
4533
4533
|
|
|
4534
|
-
|
|
4534
|
+
/**
|
|
4535
|
+
* @param {import ("stac-ts").StacCollection | undefined | null} collection
|
|
4536
|
+
* @returns {object}
|
|
4537
|
+
*/
|
|
4538
|
+
function extractLayerLegend(collection) {
|
|
4539
|
+
let extraProperties = {};
|
|
4540
|
+
if (collection?.assets?.legend?.href) {
|
|
4541
|
+
extraProperties = {
|
|
4542
|
+
description: `<div style="width: 100%">
|
|
4543
|
+
<img src="${collection.assets.legend.href}" style="max-height:70px; margin-top:-15px; margin-bottom:-20px;" />
|
|
4544
|
+
</div>`,
|
|
4545
|
+
};
|
|
4546
|
+
}
|
|
4547
|
+
// Check if collection has eox:colorlegend definition, if yes overwrite legend description
|
|
4548
|
+
if (collection && collection["eox:colorlegend"]) {
|
|
4549
|
+
extraProperties = {
|
|
4550
|
+
layerLegend: collection["eox:colorlegend"],
|
|
4551
|
+
};
|
|
4552
|
+
}
|
|
4553
|
+
return extraProperties;
|
|
4554
|
+
}
|
|
4555
|
+
|
|
4556
|
+
export { activeTemplate as A, mapPosition as B, indicator as C, compareIndicator as D, comparePoi as E, states as F, actions as G, includesProcess as H, mapCompareEl as I, getColFromLayer as J, setMapProjFromCol as K, availableMapProjection as L, changeMapProjection as M, setActiveTemplate as N, axios$1 as O, removeUnneededProperties as P, createAssetID as a, addTooltipInteraction as b, createLayerID as c, mapEl as d, extractRoles as e, axios as f, getProjectionCode as g, extractLayerConfig as h, fetchStyle as i, extractLayerDatetime as j, getDatetimeProperty as k, getLayers as l, mergeGeojsons as m, getCompareLayers as n, findLayer as o, replaceLayer as p, generateFeatures as q, registerProjection as r, extractLayerLegend as s, extractCollectionUrls as t, generateLinksFromItems as u, revokeCollectionBlobUrls as v, currentCompareUrl as w, currentUrl as x, datetime as y, poi as z };
|
|
@@ -2,13 +2,13 @@ import { onMounted, watch, nextTick, ref, useTemplateRef, computed, createElemen
|
|
|
2
2
|
import '@eox/chart';
|
|
3
3
|
import '@eox/drawtools';
|
|
4
4
|
import '@eox/jsonform';
|
|
5
|
-
import {
|
|
5
|
+
import { Q as eoxLayersKey, P as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-ZyEzWOOf.js';
|
|
6
6
|
import { storeToRefs } from 'pinia';
|
|
7
|
-
import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-
|
|
8
|
-
import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-
|
|
7
|
+
import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-vecpxThi.js';
|
|
8
|
+
import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-BS24aG1q.js';
|
|
9
9
|
import { useEventBus } from '@vueuse/core';
|
|
10
|
-
import { u as updateJobsStatus, d as download } from './async-
|
|
11
|
-
import {
|
|
10
|
+
import { u as updateJobsStatus, d as download } from './async-B7jIrM53.js';
|
|
11
|
+
import { D as compareIndicator, C as indicator, I as mapCompareEl, d as mapEl } from './helpers-wXK7Ywio.js';
|
|
12
12
|
import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { resolveComponent, render, h, mergeProps } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
import { V as VTooltip } from './VTooltip-
|
|
2
|
+
import { W as consoleError, X as isObject } from './asWebComponent-ZyEzWOOf.js';
|
|
3
|
+
import { V as VTooltip } from './VTooltip-J4ac48X7.js';
|
|
4
4
|
|
|
5
5
|
// Utilities
|
|
6
6
|
function useDirectiveComponent(component, props) {
|