@eodash/eodash 5.5.2 → 5.6.1

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/core/client/App.vue +1 -1
  2. package/core/client/eodashSTAC/EodashCollection.js +12 -5
  3. package/core/client/eodashSTAC/auth.js +19 -9
  4. package/core/client/eodashSTAC/createLayers.js +130 -24
  5. package/core/client/eodashSTAC/helpers.js +27 -60
  6. package/core/client/store/stac.js +9 -0
  7. package/core/client/types.ts +1 -0
  8. package/dist/client/{DashboardLayout-BAB1tPv0.js → DashboardLayout-CqMb7OXc.js} +3 -3
  9. package/dist/client/{DynamicWebComponent-qVeu4sqS.js → DynamicWebComponent-DqKqTf7l.js} +2 -2
  10. package/dist/client/{EodashChart-CXnNxlhk.js → EodashChart-PkUQfH0k.js} +5 -5
  11. package/dist/client/{EodashDatePicker-KyJXPgAq.js → EodashDatePicker-DLJGdTtX.js} +4 -4
  12. package/dist/client/{EodashItemFilter-CAlyUnje.js → EodashItemFilter-Dk8KjFcX.js} +2 -2
  13. package/dist/client/{EodashLayerControl-D8VobuZJ.js → EodashLayerControl-CC1Cogrn.js} +18 -4
  14. package/dist/client/{EodashLayoutSwitcher-DI6uGF_7.js → EodashLayoutSwitcher-5WZYd6rr.js} +4 -4
  15. package/dist/client/EodashMapBtns-BHrSDNoC.js +435 -0
  16. package/dist/client/{EodashStacInfo-Cb28jVEr.js → EodashStacInfo-B90wobPc.js} +42 -7
  17. package/dist/client/{EodashTimeSlider-UIpnhO4N.js → EodashTimeSlider-5vm7F3ju.js} +3 -3
  18. package/dist/client/{EodashTools-vxReGN8p.js → EodashTools-CGZtTh45.js} +5 -5
  19. package/dist/client/{ExportState-D6CBpKUU.js → ExportState-Ce0ZnrX_.js} +9 -7
  20. package/dist/client/{Footer-CUgMupXk.js → Footer-CnZqEiop.js} +2 -2
  21. package/dist/client/{Header-BZ53ACvp.js → Header-Dr5PBIm8.js} +10 -6
  22. package/dist/client/{IframeWrapper-XzQDZy0T.js → IframeWrapper-BgM9aU8f.js} +1 -1
  23. package/dist/client/MobileLayout-DyMjaeif.js +118 -0
  24. package/dist/client/{PopUp-C6HJH8wM.js → PopUp-DjvE_71e.js} +3 -3
  25. package/dist/client/{ProcessList-DQjvv7Cc.js → ProcessList-kf3olI7W.js} +5 -5
  26. package/dist/client/{VImg-CWCCg87G.js → VImg-Bj6uWt6j.js} +51 -22
  27. package/dist/client/{VMain-CAzXMN4O.js → VMain-Cm0UmKGi.js} +1 -1
  28. package/dist/client/{VTooltip-B1_FzBl_.js → VTooltip-DbBu-ky3.js} +2 -2
  29. package/dist/client/{WidgetsContainer-Bc8pGq_X.js → WidgetsContainer-CfLnd44U.js} +2 -2
  30. package/dist/client/asWebComponent-DfULAbpq.js +9387 -0
  31. package/dist/client/{async-Byq11ZKl.js → async-CIbKXEEe.js} +32 -51
  32. package/dist/client/eo-dash.js +1 -1
  33. package/dist/client/{forwardRefs-D3na5VY2.js → forwardRefs-yj3VWOK5.js} +2 -2
  34. package/dist/client/{handling-7IVxQxtQ.js → handling-s8xt2JwF.js} +390 -90
  35. package/dist/client/{helpers-Bi-qmnbZ.js → helpers-DAVGYl_f.js} +353 -320
  36. package/dist/client/{index-Ch4PgFGP.js → index-4TrjfJ32.js} +24 -11
  37. package/dist/client/{index-FQrkgCu_.js → index-Bu8BMA9q.js} +40 -32
  38. package/dist/client/{index-CJOvBxMx.js → index-CYz6dT7K.js} +2 -2
  39. package/dist/client/{index-Dk5_G7Aw.js → index-CugS__t5.js} +4 -4
  40. package/dist/client/templates.js +6 -15
  41. package/dist/client/{transition-Bp5R_Vzd.js → transition-DaOsiD4u.js} +1 -1
  42. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +2 -5
  43. package/dist/types/core/client/eodashSTAC/auth.d.ts +6 -2
  44. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +1 -4
  45. package/dist/types/core/client/eodashSTAC/helpers.d.ts +1 -2
  46. package/dist/types/core/client/store/stac.d.ts +4 -1
  47. package/dist/types/core/client/types.d.ts +1 -0
  48. package/dist/types/templates/baseConfig.d.ts +1 -0
  49. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  50. package/dist/types/widgets/EodashProcess/methods/composables.d.ts +1 -2
  51. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  52. package/dist/types/widgets/EodashProcess/methods/handling.d.ts +6 -6
  53. package/dist/types/widgets/EodashProcess/methods/outputs.d.ts +3 -1
  54. package/dist/types/widgets/EodashProcess/methods/template-helpers.d.ts +99 -0
  55. package/dist/types/widgets/EodashProcess/methods/utils.d.ts +1 -6
  56. package/dist/types/widgets/EodashProcess/types.d.ts +1 -0
  57. package/dist/types/widgets/EodashStacInfo.vue.d.ts +140 -25
  58. package/package.json +31 -31
  59. package/templates/baseConfig.js +5 -14
  60. package/widgets/EodashMap/EodashMapBtns.vue +15 -12
  61. package/widgets/EodashMap/index.vue +5 -1
  62. package/widgets/EodashMap/methods/index.js +13 -4
  63. package/widgets/EodashProcess/index.vue +16 -12
  64. package/widgets/EodashProcess/methods/composables.js +18 -15
  65. package/widgets/EodashProcess/methods/handling.js +78 -62
  66. package/widgets/EodashProcess/methods/outputs.js +74 -29
  67. package/widgets/EodashProcess/methods/template-helpers.js +246 -0
  68. package/widgets/EodashProcess/methods/utils.js +29 -48
  69. package/widgets/EodashProcess/types.ts +1 -0
  70. package/widgets/EodashStacInfo.vue +40 -5
  71. package/dist/client/EodashMapBtns-BjF8Yrpd.js +0 -433
  72. package/dist/client/MobileLayout-jnu24OJM.js +0 -118
  73. package/dist/client/asWebComponent-C-6K08Kk.js +0 -9206
@@ -1,13 +1,13 @@
1
- import { onMounted, onUnmounted, watch, computed, withAsyncContext, useTemplateRef, ref, toRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, normalizeStyle, createVNode } from 'vue';
1
+ import { onMounted, onUnmounted, watch, computed, withAsyncContext, useTemplateRef, ref, toRaw, openBlock, createElementBlock, createElementVNode, unref, normalizeStyle, createCommentVNode, createVNode } from 'vue';
2
2
  import { transformExtent } from '@eox/map';
3
3
  import '@eox/map/src/plugins/advancedLayersAndSources';
4
- import { U as setMapProjFromCol, F as mapPosition, R as sanitizeBbox, j as mapEl, S as mapCompareEl, G as indicator, I as compareIndicator, D as poi, V as isGlobe, C as datetime } from './helpers-Bi-qmnbZ.js';
4
+ import { U as setMapProjFromCol, E as mapPosition, R as sanitizeBbox, i as mapEl, S as mapCompareEl, F as indicator, I as compareIndicator, C as poi, V as isGlobe, B as datetime } from './helpers-DAVGYl_f.js';
5
5
  import { storeToRefs } from 'pinia';
6
- import { O as EodashCollection, E as useSTAcStore, P as useEmitLayersUpdate, Q as isFirstLoad, K as useOnLayersUpdate, _ as _export_sfc, D as useDisplay, a as useLayout, N as layerControlFormValue, M as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-C-6K08Kk.js';
6
+ import { R as EodashCollection, H as useSTAcStore, S as useEmitLayersUpdate, T as isFirstLoad, N as useOnLayersUpdate, _ as _export_sfc, G as useDisplay, a as useLayout, Q as layerControlFormValue, P as layerControlFormValueCompare, M as eodashCompareCollections, L as eodashCollections } from './asWebComponent-DfULAbpq.js';
7
7
  import log from 'loglevel';
8
8
  import { i as inAndOut } from './easing-CH0-9wR8.js';
9
9
  import mustache from 'mustache';
10
- import EodashMapBtns from './EodashMapBtns-BjF8Yrpd.js';
10
+ import EodashMapBtns from './EodashMapBtns-BHrSDNoC.js';
11
11
 
12
12
  /**
13
13
  * Creates full layer configuration from indicator and time information
@@ -414,15 +414,24 @@ const useInitMap = (
414
414
  *
415
415
  * @param {import("@/eodashSTAC/EodashCollection").EodashCollection[]} eodashCols
416
416
  * @param {import("vue").Ref<Exclude<import("@/types").EodashStyleJson["tooltip"],undefined>>} tooltipProperties
417
+ * @param {boolean} enableCompare
417
418
  */
418
419
 
419
- const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
420
+ const useUpdateTooltipProperties = (
421
+ eodashCols,
422
+ tooltipProperties,
423
+ enableCompare = false,
424
+ ) => {
425
+ /**
426
+ * Listen to events related to the main or compare map based on the enableCompare flag
427
+ * @param {string} evt */
428
+ const listenTo = (evt) =>
429
+ enableCompare ? evt.includes("compare") : !evt.includes("compare");
420
430
  useOnLayersUpdate(async (evt, _payload) => {
421
- if (evt.includes("compare")) {
422
- // TODO: support compare map tooltips
423
- // Do not update tooltip properties on compare map
431
+ if (!listenTo(evt)) {
424
432
  return;
425
433
  }
434
+
426
435
  const tooltips = [];
427
436
  for (const ec of eodashCols) {
428
437
  tooltips.push(...(await ec.getToolTipProperties()));
@@ -432,7 +441,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
432
441
  });
433
442
  };
434
443
 
435
- const _style_0 = "#cursor-coordinates[data-v-965b3ae7]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:10px;font-family:var(--eox-body-font-family);background:#fffe;border-radius:4px;border:none;padding:0 3px;max-height:24px}@media(max-width:959px){#cursor-coordinates[data-v-965b3ae7]{display:none}}#scale-line[data-v-965b3ae7]{position:fixed;left:24px;bottom:28px;color:#fff}@media(max-width:959px){#scale-line[data-v-965b3ae7]{bottom:102px}}[data-v-965b3ae7] .ol-scale-line{background:#fffe!important;border-radius:4px!important;border:none!important;padding:0 3px 3px!important;font-size:10px!important;font-family:var(--eox-body-font-family);max-height:20px}[data-v-965b3ae7] .ol-scale-line-inner{display:flex;justify-content:center;border:1px solid rgba(0,0,0,.5)!important;border-top:none!important;color:#333!important;font-weight:500!important;transform:translateY(1px)}.map-buttons-container[data-v-965b3ae7]{position:fixed;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);pointer-events:none;z-index:1}.map-buttons-container[data-v-965b3ae7]>*{pointer-events:auto}";
444
+ const _style_0 = "#cursor-coordinates[data-v-df7611e7]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:10px;font-family:var(--eox-body-font-family);background:#fffe;border-radius:4px;border:none;padding:0 3px;max-height:24px}@media(max-width:959px){#cursor-coordinates[data-v-df7611e7]{display:none}}#scale-line[data-v-df7611e7]{position:fixed;left:24px;bottom:28px;color:#fff}@media(max-width:959px){#scale-line[data-v-df7611e7]{bottom:102px}}[data-v-df7611e7] .ol-scale-line{background:#fffe!important;border-radius:4px!important;border:none!important;padding:0 3px 3px!important;font-size:10px!important;font-family:var(--eox-body-font-family);max-height:20px}[data-v-df7611e7] .ol-scale-line-inner{display:flex;justify-content:center;border:1px solid rgba(0,0,0,.5)!important;border-top:none!important;color:#333!important;font-weight:500!important;transform:translateY(1px)}.map-buttons-container[data-v-df7611e7]{position:fixed;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);pointer-events:none;z-index:1}.map-buttons-container[data-v-df7611e7]>*{pointer-events:auto}";
436
445
 
437
446
  const _hoisted_1 = [".enabled"];
438
447
  const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
@@ -677,7 +686,11 @@ onMounted(() => {
677
686
  false,
678
687
  );
679
688
 
680
- useUpdateTooltipProperties(eodashCollections, compareTooltipProperties);
689
+ useUpdateTooltipProperties(
690
+ eodashCollections,
691
+ compareTooltipProperties,
692
+ true,
693
+ );
681
694
  }
682
695
 
683
696
  useInitMap(
@@ -824,6 +837,6 @@ return (_ctx, _cache) => {
824
837
  }
825
838
 
826
839
  };
827
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-965b3ae7"]]);
840
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-df7611e7"]]);
828
841
 
829
842
  export { index as default };
@@ -1,15 +1,15 @@
1
- import { onMounted, watch, nextTick, ref, useTemplateRef, computed, createElementBlock, openBlock, createVNode, createCommentVNode, createBlock, createElementVNode, unref, withCtx, createTextVNode } from 'vue';
1
+ import { onMounted, watch, nextTick, ref, useTemplateRef, computed, openBlock, createElementBlock, createVNode, unref, createCommentVNode, createBlock, createElementVNode, withCtx, createTextVNode } from 'vue';
2
2
  import '@eox/chart';
3
3
  import '@eox/drawtools';
4
4
  import '@eox/jsonform';
5
- import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-C-6K08Kk.js';
5
+ import { U as eoxLayersKey, N as useOnLayersUpdate, _ as _export_sfc, H as useSTAcStore, J as VBtn } from './asWebComponent-DfULAbpq.js';
6
6
  import { storeToRefs } from 'pinia';
7
- import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-DQjvv7Cc.js';
8
- import EodashChart from './EodashChart-CXnNxlhk.js';
9
- import { i as initProcess, u as updateJsonformIdentifier, h as handleProcesses } from './handling-7IVxQxtQ.js';
7
+ import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-kf3olI7W.js';
8
+ import EodashChart from './EodashChart-PkUQfH0k.js';
9
+ import { i as initProcess, u as updateJsonformIdentifier, h as handleProcesses } from './handling-s8xt2JwF.js';
10
10
  import { useEventBus } from '@vueuse/core';
11
- import { u as updateJobsStatus, d as download, g as getDrawToolsProperty } from './async-Byq11ZKl.js';
12
- import { I as compareIndicator, G as indicator, S as mapCompareEl, j as mapEl, M as areChartsSeparateLayout, O as compareChartSpec, N as chartSpec } from './helpers-Bi-qmnbZ.js';
11
+ import { u as updateJobsStatus, d as download, g as getDrawToolsProperties } from './async-CIbKXEEe.js';
12
+ import { I as compareIndicator, F as indicator, S as mapCompareEl, i as mapEl, M as areChartsSeparateLayout, O as compareChartSpec, N as chartSpec } from './helpers-DAVGYl_f.js';
13
13
  import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
14
14
 
15
15
  /**
@@ -19,7 +19,6 @@ import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
19
19
  * @async
20
20
  * @param {Object} params
21
21
  * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
22
- * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
23
22
  * @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
24
23
  * @param {import("vue").Ref<any[]>} params.processResults
25
24
  * @param {import("vue").Ref<boolean>} params.isProcessed
@@ -29,7 +28,6 @@ import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
29
28
  */
30
29
  const useInitProcess = ({
31
30
  selectedStac,
32
- jsonformEl,
33
31
  jsonformSchema,
34
32
  isProcessed,
35
33
  processResults,
@@ -45,7 +43,6 @@ const useInitProcess = ({
45
43
  await initProcess({
46
44
  enableCompare: mapElement?.id === "compare",
47
45
  selectedStac,
48
- jsonformEl,
49
46
  jsonformSchema,
50
47
  isProcessed,
51
48
  processResults,
@@ -57,7 +54,6 @@ const useInitProcess = ({
57
54
  await initProcess({
58
55
  enableCompare: mapElement?.id === "compare",
59
56
  selectedStac,
60
- jsonformEl,
61
57
  jsonformSchema,
62
58
  isProcessed,
63
59
  loading,
@@ -67,9 +63,8 @@ const useInitProcess = ({
67
63
  });
68
64
  }
69
65
  });
70
-
71
- const evtKey =
72
- mapElement?.id === "compare" ? "compareLayers:updated" : "layers:updated";
66
+ const enableCompare = mapElement?.id === "compare";
67
+ const evtKey = enableCompare ? "compareLayers:updated" : "layers:updated";
73
68
  useOnLayersUpdate(async (evt, _payload) => {
74
69
  if (
75
70
  evt == "layertime:updated" ||
@@ -77,19 +72,28 @@ const useInitProcess = ({
77
72
  evt == "time:updated" ||
78
73
  evt == "compareTime:updated"
79
74
  ) {
80
- await updateJsonformIdentifier({
81
- jsonformSchema: jsonformSchema.value,
82
- // @ts-expect-error TODO payload coming from time update events is not an object with layers property
83
- newLayers: _payload,
84
- });
75
+ const shouldMainJsonFormUpdate =
76
+ ["layertime:updated", "time:updated"].includes(evt) && !enableCompare;
77
+ const shouldCompareJsonFormUpdate =
78
+ ["compareLayertime:updated", "compareTime:updated"].includes(evt) &&
79
+ enableCompare;
80
+ // we need to update jsonform on time change in cases when the feature selection layer was time-based, so that it attaches to a correct new layer
81
+ if (shouldMainJsonFormUpdate || shouldCompareJsonFormUpdate) {
82
+ const newJsonForm = await updateJsonformIdentifier({
83
+ jsonformSchema: jsonformSchema.value,
84
+ // @ts-expect-error TODO payload coming from time update events is not an object with layers property
85
+ newLayers: _payload,
86
+ enableCompare,
87
+ });
88
+ jsonformSchema.value = newJsonForm;
89
+ }
85
90
  }
86
91
  if (evt !== evtKey) {
87
92
  return;
88
93
  }
89
94
  await initProcess({
90
- enableCompare: mapElement?.id === "compare",
95
+ enableCompare,
91
96
  selectedStac,
92
- jsonformEl,
93
97
  jsonformSchema,
94
98
  isProcessed,
95
99
  processResults,
@@ -212,13 +216,15 @@ const currentIndicator = __props.enableCompare ? compareIndicator : indicator;
212
216
  const currentJobs = __props.enableCompare ? compareJobs : jobs;
213
217
 
214
218
  const jsonformKey = computed(
215
- () => currentIndicator.value + mapElement.value?.id,
219
+ () =>
220
+ currentIndicator.value +
221
+ mapElement.value?.id +
222
+ JSON.stringify(jsonformSchema.value),
216
223
  );
217
224
 
218
225
  useInitProcess({
219
226
  selectedStac: currentSelectedStac,
220
227
  mapElement: mapElement.value,
221
- jsonformEl,
222
228
  jsonformSchema,
223
229
  isProcessed,
224
230
  processResults,
@@ -245,15 +251,17 @@ const downloadResults = () => {
245
251
  };
246
252
 
247
253
  const startProcess = async () => {
248
- const drawToolsProperty = getDrawToolsProperty(jsonformSchema.value);
249
- const propertyIsEmpty =
250
- drawToolsProperty &&
251
- //@ts-expect-error jsonfrom.value is not typed
252
- Array.isArray(jsonformEl.value?.value[drawToolsProperty]) &&
253
- //@ts-expect-error jsonfrom.value is not typed
254
- !jsonformEl.value?.value[drawToolsProperty].length;
255
-
256
- if (propertyIsEmpty) {
254
+ const drawToolsProperties = getDrawToolsProperties(jsonformSchema.value);
255
+
256
+ const anyDrawtoolPropertyEmpty = drawToolsProperties.some(
257
+ (drawToolsProperty) =>
258
+ //@ts-expect-error jsonfrom.value is not typed
259
+ Array.isArray(jsonformEl.value?.value[drawToolsProperty]) &&
260
+ //@ts-expect-error jsonfrom.value is not typed
261
+ !jsonformEl.value?.value[drawToolsProperty].length,
262
+ );
263
+
264
+ if (anyDrawtoolPropertyEmpty) {
257
265
  isProcessed.value = false;
258
266
  const usedChartSpec = __props.enableCompare ? compareChartSpec : chartSpec;
259
267
  usedChartSpec.value = null;
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent, render, h, mergeProps } from 'vue';
2
- import { Y as consoleError, Z as isObject } from './asWebComponent-C-6K08Kk.js';
3
- import { V as VTooltip } from './VTooltip-B1_FzBl_.js';
2
+ import { a0 as consoleError, a1 as isObject } from './asWebComponent-DfULAbpq.js';
3
+ import { V as VTooltip } from './VTooltip-DbBu-ky3.js';
4
4
 
5
5
  // Utilities
6
6
  function useDirectiveComponent(component, props) {
@@ -1,9 +1,9 @@
1
- import { onMounted, onUnmounted, withAsyncContext, useTemplateRef, ref, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, unref, toDisplayString } from 'vue';
2
- import { E as useSTAcStore, K as useOnLayersUpdate, _ as _export_sfc, L as VRow } from './asWebComponent-C-6K08Kk.js';
3
- import { G as indicator, j as mapEl, R as sanitizeBbox, d as axios } from './helpers-Bi-qmnbZ.js';
1
+ import { onMounted, onUnmounted, withAsyncContext, useTemplateRef, ref, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, unref, toDisplayString } from 'vue';
2
+ import { H as useSTAcStore, N as useOnLayersUpdate, _ as _export_sfc, O as VRow } from './asWebComponent-DfULAbpq.js';
3
+ import { F as indicator, i as mapEl, R as sanitizeBbox, d as axios } from './helpers-DAVGYl_f.js';
4
4
  import { i as inAndOut } from './easing-CH0-9wR8.js';
5
5
  import { mdiViewDashboard } from '@mdi/js';
6
- import _sfc_main$1 from './EodashLayoutSwitcher-DI6uGF_7.js';
6
+ import _sfc_main$1 from './EodashLayoutSwitcher-5WZYd6rr.js';
7
7
 
8
8
  /**
9
9
  *
@@ -1,5 +1,5 @@
1
1
  import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
2
- import { P as includesProcess, Q as shouldShowChartWidget } from './helpers-Bi-qmnbZ.js';
2
+ import { P as includesProcess, Q as shouldShowChartWidget } from './helpers-DAVGYl_f.js';
3
3
 
4
4
  /**
5
5
  * Special values that tell deepmerge to perform a certain action.
@@ -896,21 +896,12 @@ const baseConfig = {
896
896
  stacEndpoint: {
897
897
  endpoint:
898
898
  "https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
899
- // "http://gtif-cerulean.github.io/cerulean-catalog/cerulean/catalog.json",
900
- // "https://gtif-ukif.github.io/gtif-ukif-catalog/gtif-ukif/catalog.json",
901
- // "https://esa-eodashboards.github.io/RACE-catalog/RACE/catalog.json",
902
- // "https://gtif-austria.github.io/public-catalog/GTIF-Austria/catalog.json",
903
- // "http://0.0.0.0:8000/baltic/catalog.json",
904
- // "http://0.0.0.0:8000/gtif-ukif/catalog.json",
905
- // "http://0.0.0.0:8002/RACE/catalog.json",
906
- // "http://0.0.0.0:8000/trilateral/catalog.json",
907
- // "http://0.0.0.0:8003/gtif-ukif/catalog.json",
908
- // "http://0.0.0.0:8002/cerulean/catalog.json",
909
- // "http://0.0.0.0:8001/trilateral/catalog.json",
910
- // "http://0.0.0.0:8001/GTIF-Austria/catalog.json",
899
+ // "https://api.explorer.eopf.copernicus.eu/stac",
911
900
  // api: true,
912
- // rasterEndpoint: "https://api.explorer.eopf.copernicus.eu/raster/",
913
- api: false,
901
+ supportedUpscalingEndpoints: [
902
+ "openveda.cloud",
903
+ "api.explorer.eopf.copernicus.eu",
904
+ ],
914
905
  },
915
906
  brand: {
916
907
  noLayout: true,
@@ -1,5 +1,5 @@
1
1
  import { mergeProps, h, TransitionGroup, Transition } from 'vue';
2
- import { p as propsFactory, Z as isObject, aH as onlyDefinedProps } from './asWebComponent-C-6K08Kk.js';
2
+ import { p as propsFactory, a1 as isObject, aH as onlyDefinedProps } from './asWebComponent-DfULAbpq.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
@@ -37,7 +37,7 @@ export class EodashCollection {
37
37
  type: string;
38
38
  projection: string;
39
39
  attributions: unknown;
40
- url: string;
40
+ url: string | string[];
41
41
  };
42
42
  properties: {
43
43
  layerConfig?: {
@@ -61,9 +61,6 @@ export class EodashCollection {
61
61
  sources: {
62
62
  url: string;
63
63
  attributions: unknown;
64
- } | {
65
- url: string;
66
- attributions: unknown;
67
64
  }[];
68
65
  };
69
66
  properties: {
@@ -174,6 +171,6 @@ export class EodashCollection {
174
171
  * @param {string} layer
175
172
  * @param {string} map
176
173
  */
177
- updateLayerJson(datetime: string, layer: string, map: string): Promise<Record<string, any>[] | undefined>;
174
+ updateLayerJson(datetime: string, layer: string, map: string): Promise<import("@eox/map/src/layers").EoxLayer[] | undefined>;
178
175
  #private;
179
176
  }
@@ -2,6 +2,10 @@
2
2
  * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
3
  * @param {import("../types").StacAuthItem } item
4
4
  * @param {import("../types").StacAuthLink | import("../types").StacAuthAsset} linkOrAsset
5
- * @returns {string}
5
+ * @param { object | undefined } optionsObject // generic object to pass options to handlers and modify them if needed
6
+ * @returns {{url: string, optionsObject: object | undefined}}
6
7
  */
7
- export function handleAuthenticationOfLink(item: import("../types").StacAuthItem, linkOrAsset: import("../types").StacAuthLink | import("../types").StacAuthAsset): string;
8
+ export function handleAuthenticationOfLink(item: import("../types").StacAuthItem, linkOrAsset: import("../types").StacAuthLink | import("../types").StacAuthAsset, optionsObject: object | undefined): {
9
+ url: string;
10
+ optionsObject: object | undefined;
11
+ };
@@ -40,7 +40,7 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
40
40
  type: string;
41
41
  projection: string;
42
42
  attributions: unknown;
43
- url: string;
43
+ url: string | string[];
44
44
  };
45
45
  properties: {
46
46
  layerConfig?: {
@@ -64,9 +64,6 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
64
64
  sources: {
65
65
  url: string;
66
66
  attributions: unknown;
67
- } | {
68
- url: string;
69
- attributions: unknown;
70
67
  }[];
71
68
  };
72
69
  properties: {
@@ -513,8 +513,7 @@ export function extractLayerTimeValues(items?: import("stac-ts").StacLink[] | im
513
513
  };
514
514
  export function findLayersByLayerPrefix(layers: import("@eox/map").EoxLayer[], referenceLayer: import("@eox/map").EoxLayer | undefined): import("@eox/map").EoxLayer[];
515
515
  export function findLayer(layers: import("@eox/map").EoxLayer[], layer: string): import("@eox/map").EoxLayer | undefined;
516
- export function replaceLayersInStructure(layers: import("@eox/map").EoxLayer[], toRemove: import("@eox/map").EoxLayer[], toInsert: Record<string, any>[]): Record<string, any>[];
517
- export function replaceLayer(currentLayers: import("@eox/map").EoxLayer[], oldLayer: string, newLayers: import("@eox/map").EoxLayer[]): import("@eox/map").EoxLayer[];
516
+ export function replaceLayer(layers: import("@eox/map").EoxLayer[], toRemove: string | string[], toInsert: import("@eox/map").EoxLayer[]): import("@eox/map").EoxLayer[];
518
517
  export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): Promise<import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined>;
519
518
  export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string | import("ol/proj").ProjectionLike): string;
520
519
  export function createAssetID(collectionId: string, itemId: string, index: number): string;
@@ -10,7 +10,8 @@ export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
10
10
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
11
11
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
12
12
  selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
13
- }, "stacEndpoint" | "isApi" | "stac" | "selectedStac" | "selectedCompareStac" | "selectedItem">, Pick<{
13
+ supportedUpscalingEndpoints: import("vue").Ref<string[], string[]>;
14
+ }, "stac" | "stacEndpoint" | "isApi" | "selectedStac" | "selectedCompareStac" | "selectedItem" | "supportedUpscalingEndpoints">, Pick<{
14
15
  stacEndpoint: import("vue").Ref<string | null, string | null>;
15
16
  isApi: import("vue").Ref<boolean, boolean>;
16
17
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
@@ -22,6 +23,7 @@ export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
22
23
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
23
24
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
24
25
  selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
26
+ supportedUpscalingEndpoints: import("vue").Ref<string[], string[]>;
25
27
  }, never>, Pick<{
26
28
  stacEndpoint: import("vue").Ref<string | null, string | null>;
27
29
  isApi: import("vue").Ref<boolean, boolean>;
@@ -34,4 +36,5 @@ export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
34
36
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
35
37
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
36
38
  selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
39
+ supportedUpscalingEndpoints: import("vue").Ref<string[], string[]>;
37
40
  }, "init" | "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC">>;
@@ -251,6 +251,7 @@ export type StacEndpoint = string | {
251
251
  api?: boolean;
252
252
  rasterEndpoint?: string;
253
253
  vectorEndpoint?: string;
254
+ supportedUpscalingEndpoints?: string[];
254
255
  };
255
256
  /** @group Eodash */
256
257
  export interface EodashFont {
@@ -30,6 +30,7 @@ export function getBaseConfig(config: import("vega-lite").DeepPartial<import("..
30
30
  api?: boolean;
31
31
  rasterEndpoint?: string;
32
32
  vectorEndpoint?: string;
33
+ supportedUpscalingEndpoints?: string[];
33
34
  });
34
35
  brand: {
35
36
  noLayout?: boolean;
@@ -2,4 +2,4 @@ export function useHandleMapMoveEnd(mapElement: import("vue").Ref<(HTMLElement &
2
2
  map: import("ol").Map;
3
3
  }) | null>, mapPosition: import("vue").Ref<(number | undefined)[]>): void;
4
4
  export function useInitMap(mapElement: import("vue").Ref<import("@eox/map").EOxMap | null>, selectedIndicator: import("vue").Ref<import("stac-ts").StacCollection | null>, eodashCols: import("../../../core/client/eodashSTAC/EodashCollection").EodashCollection[], datetime: import("vue").Ref<string>, mapLayers: import("vue").Ref<Record<string, any>[]>, partnerMap: import("vue").Ref<import("@eox/map").EOxMap | null>, zoomToExtent: boolean, selectedItem?: import("vue").Ref<import("stac-ts").StacItem | import("stac-ts").StacLink | null>): void;
5
- export function useUpdateTooltipProperties(eodashCols: import("../../../core/client/eodashSTAC/EodashCollection").EodashCollection[], tooltipProperties: import("vue").Ref<Exclude<import("../../../core/client/types").EodashStyleJson["tooltip"], undefined>>): void;
5
+ export function useUpdateTooltipProperties(eodashCols: import("../../../core/client/eodashSTAC/EodashCollection").EodashCollection[], tooltipProperties: import("vue").Ref<Exclude<import("../../../core/client/types").EodashStyleJson["tooltip"], undefined>>, enableCompare?: boolean): void;
@@ -7,9 +7,8 @@
7
7
  * @param {() => Promise<void>} startProcess
8
8
  **/
9
9
  export function useAutoExec(autoExec: import("vue").Ref<boolean>, jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>, jsonformSchema: import("vue").Ref<Record<string, any> | null>, startProcess: () => Promise<void>): void;
10
- export function useInitProcess({ selectedStac, jsonformEl, jsonformSchema, isProcessed, processResults, loading, isPolling, mapElement, }: {
10
+ export function useInitProcess({ selectedStac, jsonformSchema, isProcessed, processResults, loading, isPolling, mapElement, }: {
11
11
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
12
- jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
13
12
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
14
13
  processResults: import("vue").Ref<any[]>;
15
14
  isProcessed: import("vue").Ref<boolean>;
@@ -2,4 +2,4 @@
2
2
  *
3
3
  * @param {import("../../../../EodashProcess/types").CustomEnpointInput} param0
4
4
  */
5
- export function handleEOxHubEndpoint({ links, jsonformValue, isPolling, selectedStac, jobs, enableCompare, }: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<(import("@eox/map/src/layers").EOxLayerType<"Vector", "Vector"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "FlatGeoBuf"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "Cluster"> | import("@eox/map/src/layers").EOxLayerType<"VectorTile", "VectorTile"> | import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoTIFF"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "OSM"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTSCapabilities"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "StadiaMaps"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "XYZ"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileJSON"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileArcGISRest"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileDebug"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileImage"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileWMS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "UrlTile"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "BingMaps"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Image"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageCanvas"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageStatic"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageWMS"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Raster"> | import("@eox/map/src/layers").EOxLayerType<"Image", "IIIF"> | import("@eox/map/src/layers").EOxLayerTypeMapboxStyle | import("@eox/map/src/layers").EOxLayerTypeGroup)[] | undefined>;
5
+ export function handleEOxHubEndpoint({ links, jsonformValue, isPolling, selectedStac, jobs, enableCompare, }: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<(import("@eox/map/src/layers").EOxLayerType<"Vector", "Vector"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "FlatGeoBuf"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "Cluster"> | import("@eox/map/src/layers").EOxLayerType<"VectorTile", "VectorTile"> | import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoTIFF"> | import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoZarr"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "OSM"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTSCapabilities"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "StadiaMaps"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "XYZ"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileJSON"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileArcGISRest"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileDebug"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileImage"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileWMS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "UrlTile"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "BingMaps"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Image"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageCanvas"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageStatic"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageWMS"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Raster"> | import("@eox/map/src/layers").EOxLayerType<"Image", "IIIF"> | import("@eox/map/src/layers").EOxLayerTypeMapboxStyle | import("@eox/map/src/layers").EOxLayerTypeGroup)[] | undefined>;
@@ -5,7 +5,6 @@
5
5
  * @async
6
6
  * @param {Object} params
7
7
  * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
8
- * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
9
8
  * @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
10
9
  * @param {import("vue").Ref<any[]>} params.processResults
11
10
  * @param {import("vue").Ref<boolean>} params.isProcessed
@@ -13,9 +12,8 @@
13
12
  * @param {import("vue").Ref<boolean>} params.isPolling
14
13
  * @param {boolean} params.enableCompare
15
14
  */
16
- export function initProcess({ selectedStac, jsonformEl, jsonformSchema, isProcessed, processResults, loading, isPolling, enableCompare, }: {
15
+ export function initProcess({ selectedStac, jsonformSchema, isProcessed, processResults, loading, isPolling, enableCompare, }: {
17
16
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
18
- jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
19
17
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
20
18
  processResults: import("vue").Ref<any[]>;
21
19
  isProcessed: import("vue").Ref<boolean>;
@@ -31,12 +29,14 @@ export function initProcess({ selectedStac, jsonformEl, jsonformSchema, isProces
31
29
  * @param {Object} params
32
30
  * @param {Record<string,any> | null} params.jsonformSchema params.jsonformSchema
33
31
  * @param {Record<string, any>[] | undefined} params.newLayers params.newLayers
34
- * @returns {Promise<Record<string,any> | null | undefined>} updated jsonform schema
32
+ * @param { boolean } params.enableCompare params.enableCompare
33
+ * @returns {Promise<Record<string,any> | null>} updated jsonform schema
35
34
  */
36
- export function updateJsonformIdentifier({ jsonformSchema, newLayers }: {
35
+ export function updateJsonformIdentifier({ jsonformSchema, newLayers, enableCompare, }: {
37
36
  jsonformSchema: Record<string, any> | null;
38
37
  newLayers: Record<string, any>[] | undefined;
39
- }): Promise<Record<string, any> | null | undefined>;
38
+ enableCompare: boolean;
39
+ }): Promise<Record<string, any> | null>;
40
40
  /**
41
41
  *
42
42
  * @param {object} params
@@ -2,6 +2,7 @@
2
2
  * @param {object} options
3
3
  * @param {import("stac-ts").StacLink[] | undefined} options.links
4
4
  * @param {Record<string,any> | undefined} options.jsonformValue
5
+ * @param {Record<string,any> | undefined} [options.rawJsonformValue]
5
6
  * @param {string} options.specUrl
6
7
  * @param {(input:import("../../EodashProcess/types").CustomEnpointInput)=>Promise<Record<string,any>[] | undefined | null>} [options.customEndpointsHandler]
7
8
  * @param {import("vue").Ref<boolean>} options.isPolling
@@ -11,9 +12,10 @@
11
12
  * @param {boolean} [options.enableCompare=false] - Whether to enable compare mode
12
13
  * @returns {Promise<[import("vega-embed").VisualizationSpec | null,Record<string,any>|null]>}
13
14
  **/
14
- export function processCharts({ links, jsonformValue, specUrl, customEndpointsHandler, jsonformSchema, selectedStac, isPolling, jobs, enableCompare, }: {
15
+ export function processCharts({ links, jsonformValue, rawJsonformValue, specUrl, customEndpointsHandler, jsonformSchema, selectedStac, isPolling, jobs, enableCompare, }: {
15
16
  links: import("stac-ts").StacLink[] | undefined;
16
17
  jsonformValue: Record<string, any> | undefined;
18
+ rawJsonformValue?: Record<string, any> | undefined;
17
19
  specUrl: string;
18
20
  customEndpointsHandler?: ((input: import("../../EodashProcess/types").CustomEnpointInput) => Promise<Record<string, any>[] | undefined | null>) | undefined;
19
21
  isPolling: import("vue").Ref<boolean>;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Returns form value keys that match the multiQuery configuration.
3
+ * @param {Record<string, any> | undefined} jsonformValue
4
+ * @param {Record<string, any>} jsonformSchema
5
+ * @returns {string[]}
6
+ */
7
+ export function getMultiQueryMatches(jsonformValue: Record<string, any> | undefined, jsonformSchema: Record<string, any>): string[];
8
+ /**
9
+ * Extracts iterable scalar values for a multiQuery field.
10
+ * Wraps single values in an array; returns empty array for undefined.
11
+ * @param {string} match - The multiQuery field name
12
+ * @param {Record<string, any>} jsonformValue
13
+ * @returns {any[]}
14
+ */
15
+ export function getScalarMultiQueryValues(match: string, jsonformValue: Record<string, any>): any[];
16
+ /**
17
+ * Extracts iterable values for a POST multiQuery field.
18
+ * For GeoJSON fields, uses rawJsonformValue to get original Feature objects
19
+ * (before extractGeometries stringifies them). For scalar fields, delegates
20
+ * to getScalarMultiQueryValues.
21
+ * @param {string} match - The multiQuery field name
22
+ * @param {Record<string, any>} jsonformValue - Form values after geometry extraction
23
+ * @param {Record<string, any> | undefined} rawJsonformValue - Form values before geometry extraction
24
+ * @param {Record<string, any>} jsonformSchema
25
+ * @returns {any[]}
26
+ */
27
+ export function getPostMultiQueryValues(match: string, jsonformValue: Record<string, any>, rawJsonformValue: Record<string, any> | undefined, jsonformSchema: Record<string, any>): any[];
28
+ /**
29
+ * Extracts individual GeoJSON Feature objects from a value that may be
30
+ * a FeatureCollection, a single Feature, or an array of Features.
31
+ * Filters for valid Features with geometry and deduplicates.
32
+ * @param {any} value
33
+ * @returns {Record<string, any>[]}
34
+ */
35
+ export function getGeoJsonMultiQueryValues(value: any): Record<string, any>[];
36
+ /**
37
+ * Removes duplicate values using JSON serialization as the identity key.
38
+ * @param {any[]} values
39
+ * @returns {any[]}
40
+ */
41
+ export function dedupeMultiQueryValues(values: any[]): any[];
42
+ /**
43
+ * Builds the Mustache rendering context for one multiQuery iteration.
44
+ * Spreads the full form value, overrides the matched field with the current
45
+ * iteration value, and adds a 1-based `multiQueryIndex`.
46
+ * @param {Record<string, any>} jsonformValue
47
+ * @param {string} match - The multiQuery field name being iterated
48
+ * @param {any} value - The current iteration value
49
+ * @param {number} index - Zero-based iteration index
50
+ * @returns {Record<string, any>}
51
+ */
52
+ export function createMultiQueryContext(jsonformValue: Record<string, any>, match: string, value: any, index: number): Record<string, any>;
53
+ /**
54
+ * Flattens an array of POST responses into a single values array.
55
+ * Each response that is itself an array is spread; scalars are wrapped.
56
+ * @param {any[]} values
57
+ * @returns {any[]}
58
+ */
59
+ export function aggregateInlineResponses(values: any[]): any[];
60
+ /**
61
+ * Renders a JSON body template string with the given context.
62
+ * Primary path: parses the template as JSON, then recursively renders each
63
+ * node (preserving object-valued placeholders as raw JSON).
64
+ * Fallback: treats the template as a Mustache string, renders, then parses.
65
+ * @param {string} bodyTemplate - JSON template string (may contain Mustache placeholders)
66
+ * @param {Record<string, any>} context - Values to substitute into the template
67
+ * @returns {any} Parsed JSON body ready for POST
68
+ */
69
+ export function renderJsonBodyTemplate(bodyTemplate: string, context: Record<string, any>): any;
70
+ /**
71
+ * Recursively renders a parsed JSON template node with context values.
72
+ * - Arrays and objects are traversed recursively.
73
+ * - Exact placeholders (where the entire string value is `"{{path}}"` or
74
+ * `"{{{path}}}"`) are resolved to their original typed value (object, array,
75
+ * number, etc.) instead of being stringified. This is critical for embedding
76
+ * GeoJSON geometry objects in POST bodies.
77
+ * - Partial placeholders and mixed strings use standard Mustache interpolation.
78
+ * @param {any} templateNode
79
+ * @param {Record<string, any>} context
80
+ * @returns {any}
81
+ */
82
+ export function renderTemplateNode(templateNode: any, context: Record<string, any>): any;
83
+ /**
84
+ * Resolves a dot/bracket-notation path against a context object.
85
+ * Supports paths like `"feature.geometry"` or `"list[0].name"`.
86
+ * @param {Record<string, any>} context
87
+ * @param {string} path
88
+ * @returns {any}
89
+ */
90
+ export function resolveTemplatePath(context: Record<string, any>, path: string): any;
91
+ /**
92
+ * Deep-clones objects via JSON round-trip to prevent template rendering
93
+ * from mutating the original context values. This also strips non-JSON-
94
+ * serializable properties (e.g. OL Feature methods from drawtools),
95
+ * producing clean plain objects. Primitives pass through.
96
+ * @param {any} value
97
+ * @returns {any}
98
+ */
99
+ export function cloneTemplateValue(value: any): any;
@@ -53,11 +53,6 @@ export function creatAsyncProcessLayerDefinitions(processResults: import("../../
53
53
  * @returns {import("../../EodashProcess/types").AsyncProcessResults}
54
54
  */
55
55
  export function extractAsyncResults(resultItem: import("../../EodashProcess/types").EOxHubProcessResults): import("../../EodashProcess/types").AsyncProcessResults;
56
- /**
57
- * Updates the jsonform schema to target the compare map
58
- * @param {Record<string,any> | null | undefined} jsonformSchema
59
- */
60
- export function updateJsonformSchemaTarget(jsonformSchema: Record<string, any> | null | undefined): any;
61
56
  export function download(fileName: string, content: string | Record<string, any>): void;
62
- export function getDrawToolsProperty(jsonformSchema: any): string | undefined;
57
+ export function getDrawToolsProperties(jsonformSchema: any): string[];
63
58
  export function applyProcessLayersToMap(mapElement: import("@eox/map").EOxMap | null, processLayers: import("@eox/map").EoxLayer[]): void;