@eodash/eodash 5.5.2 → 5.6.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.
Files changed (61) hide show
  1. package/core/client/App.vue +1 -1
  2. package/core/client/eodashSTAC/EodashCollection.js +7 -4
  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 +23 -56
  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-DkKDhfgH.js} +3 -3
  9. package/dist/client/{DynamicWebComponent-qVeu4sqS.js → DynamicWebComponent-BrpkA-e3.js} +2 -2
  10. package/dist/client/{EodashChart-CXnNxlhk.js → EodashChart-p7_1FRlF.js} +5 -5
  11. package/dist/client/{EodashDatePicker-KyJXPgAq.js → EodashDatePicker-HK0Jl7wQ.js} +4 -4
  12. package/dist/client/{EodashItemFilter-CAlyUnje.js → EodashItemFilter-BYQDA78B.js} +2 -2
  13. package/dist/client/{EodashLayerControl-D8VobuZJ.js → EodashLayerControl-NcrNncGn.js} +18 -4
  14. package/dist/client/{EodashLayoutSwitcher-DI6uGF_7.js → EodashLayoutSwitcher-CC2Znd0I.js} +4 -4
  15. package/dist/client/EodashMapBtns-BJSh7qT-.js +435 -0
  16. package/dist/client/{EodashStacInfo-Cb28jVEr.js → EodashStacInfo-BA-0UjvT.js} +42 -7
  17. package/dist/client/{EodashTimeSlider-UIpnhO4N.js → EodashTimeSlider-GDv1hbw7.js} +3 -3
  18. package/dist/client/{EodashTools-vxReGN8p.js → EodashTools-CWmoH0g_.js} +5 -5
  19. package/dist/client/{ExportState-D6CBpKUU.js → ExportState-CfAfX4RN.js} +9 -7
  20. package/dist/client/{Footer-CUgMupXk.js → Footer-DLGxQTZt.js} +2 -2
  21. package/dist/client/{Header-BZ53ACvp.js → Header-eyEyyzD6.js} +10 -6
  22. package/dist/client/{IframeWrapper-XzQDZy0T.js → IframeWrapper-BgM9aU8f.js} +1 -1
  23. package/dist/client/MobileLayout-RzLOyXwL.js +118 -0
  24. package/dist/client/{PopUp-C6HJH8wM.js → PopUp-WNs6Io2N.js} +3 -3
  25. package/dist/client/{ProcessList-DQjvv7Cc.js → ProcessList-RzVqbd5E.js} +5 -5
  26. package/dist/client/{VImg-CWCCg87G.js → VImg-GKUTFoV-.js} +51 -22
  27. package/dist/client/{VMain-CAzXMN4O.js → VMain-D7_72mHr.js} +1 -1
  28. package/dist/client/{VTooltip-B1_FzBl_.js → VTooltip-BbmvtvYw.js} +2 -2
  29. package/dist/client/{WidgetsContainer-Bc8pGq_X.js → WidgetsContainer-Dw5d7SOW.js} +2 -2
  30. package/dist/client/asWebComponent-DDt7V3Bl.js +9383 -0
  31. package/dist/client/{async-Byq11ZKl.js → async-CT3KEV52.js} +24 -33
  32. package/dist/client/eo-dash.js +1 -1
  33. package/dist/client/{forwardRefs-D3na5VY2.js → forwardRefs-CVzxyoSq.js} +2 -2
  34. package/dist/client/{handling-7IVxQxtQ.js → handling-C285F_Mq.js} +3 -3
  35. package/dist/client/{helpers-Bi-qmnbZ.js → helpers-CZFH0EVN.js} +349 -316
  36. package/dist/client/{index-Ch4PgFGP.js → index-B-m7V3Kb.js} +24 -11
  37. package/dist/client/{index-FQrkgCu_.js → index-B_6H-N14.js} +7 -7
  38. package/dist/client/{index-Dk5_G7Aw.js → index-CF3ZMzTz.js} +4 -4
  39. package/dist/client/{index-CJOvBxMx.js → index-DgOXD7wd.js} +2 -2
  40. package/dist/client/templates.js +6 -15
  41. package/dist/client/{transition-Bp5R_Vzd.js → transition-C2gnrWg0.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/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  51. package/dist/types/widgets/EodashStacInfo.vue.d.ts +140 -25
  52. package/package.json +31 -31
  53. package/templates/baseConfig.js +5 -14
  54. package/widgets/EodashMap/EodashMapBtns.vue +15 -12
  55. package/widgets/EodashMap/index.vue +5 -1
  56. package/widgets/EodashMap/methods/index.js +13 -4
  57. package/widgets/EodashProcess/methods/utils.js +22 -31
  58. package/widgets/EodashStacInfo.vue +40 -5
  59. package/dist/client/EodashMapBtns-BjF8Yrpd.js +0 -433
  60. package/dist/client/MobileLayout-jnu24OJM.js +0 -118
  61. package/dist/client/asWebComponent-C-6K08Kk.js +0 -9206
@@ -13,21 +13,12 @@ const baseConfig = {
13
13
  stacEndpoint: {
14
14
  endpoint:
15
15
  "https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
16
- // "http://gtif-cerulean.github.io/cerulean-catalog/cerulean/catalog.json",
17
- // "https://gtif-ukif.github.io/gtif-ukif-catalog/gtif-ukif/catalog.json",
18
- // "https://esa-eodashboards.github.io/RACE-catalog/RACE/catalog.json",
19
- // "https://gtif-austria.github.io/public-catalog/GTIF-Austria/catalog.json",
20
- // "http://0.0.0.0:8000/baltic/catalog.json",
21
- // "http://0.0.0.0:8000/gtif-ukif/catalog.json",
22
- // "http://0.0.0.0:8002/RACE/catalog.json",
23
- // "http://0.0.0.0:8000/trilateral/catalog.json",
24
- // "http://0.0.0.0:8003/gtif-ukif/catalog.json",
25
- // "http://0.0.0.0:8002/cerulean/catalog.json",
26
- // "http://0.0.0.0:8001/trilateral/catalog.json",
27
- // "http://0.0.0.0:8001/GTIF-Austria/catalog.json",
16
+ // "https://api.explorer.eopf.copernicus.eu/stac",
28
17
  // api: true,
29
- // rasterEndpoint: "https://api.explorer.eopf.copernicus.eu/raster/",
30
- api: false,
18
+ supportedUpscalingEndpoints: [
19
+ "openveda.cloud",
20
+ "api.explorer.eopf.copernicus.eu",
21
+ ],
31
22
  },
32
23
  brand: {
33
24
  noLayout: true,
@@ -210,18 +210,20 @@ const isInCompareMode = computed(
210
210
  const compareIcon = computed(() =>
211
211
  isInCompareMode.value ? mdiCompareRemove : mdiCompare,
212
212
  );
213
- const itemFilterConfig = {
214
- enableHighlighting: false,
215
- resultType: "cards",
216
- style: "--select-filter-max-items: 8",
217
- "filters-title": "Select an indicator to compare",
218
- subTitleProperty: "subtitle",
219
- imageProperty: "thumbnail",
220
- aggregateResults: "collection_group",
221
- "results-title": "",
222
- ...(typeof compareIndicators === "object" &&
223
- compareIndicators.itemFilterConfig),
224
- };
213
+ const itemFilterConfig = computed(() => {
214
+ return {
215
+ enableHighlighting: false,
216
+ resultType: "cards",
217
+ style: "--select-filter-max-items: 8",
218
+ "filters-title": "Select an indicator to compare",
219
+ subTitleProperty: "subtitle",
220
+ imageProperty: "thumbnail",
221
+ aggregateResults: "collection_group",
222
+ "results-title": "",
223
+ ...(typeof compareIndicators === "object" &&
224
+ compareIndicators.itemFilterConfig),
225
+ };
226
+ });
225
227
 
226
228
  /** @type {import("vue").Ref<HTMLDivElement|null>} */
227
229
  const rootRef = ref(null);
@@ -252,6 +254,7 @@ const opencageUrl = `https://api.opencagedata.com/geocode/v1/json?key=${opencage
252
254
  /* Container constraints removal */
253
255
  eox-geosearch {
254
256
  position: relative !important;
257
+ width: 40px;
255
258
  overflow: visible !important;
256
259
  z-index: 10;
257
260
  }
@@ -313,7 +313,11 @@ onMounted(() => {
313
313
  false,
314
314
  );
315
315
 
316
- useUpdateTooltipProperties(eodashCollections, compareTooltipProperties);
316
+ useUpdateTooltipProperties(
317
+ eodashCollections,
318
+ compareTooltipProperties,
319
+ true,
320
+ );
317
321
  }
318
322
 
319
323
  useInitMap(
@@ -238,15 +238,24 @@ export const useInitMap = (
238
238
  *
239
239
  * @param {import("@/eodashSTAC/EodashCollection").EodashCollection[]} eodashCols
240
240
  * @param {import("vue").Ref<Exclude<import("@/types").EodashStyleJson["tooltip"],undefined>>} tooltipProperties
241
+ * @param {boolean} enableCompare
241
242
  */
242
243
 
243
- export const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
244
+ export const useUpdateTooltipProperties = (
245
+ eodashCols,
246
+ tooltipProperties,
247
+ enableCompare = false,
248
+ ) => {
249
+ /**
250
+ * Listen to events related to the main or compare map based on the enableCompare flag
251
+ * @param {string} evt */
252
+ const listenTo = (evt) =>
253
+ enableCompare ? evt.includes("compare") : !evt.includes("compare");
244
254
  useOnLayersUpdate(async (evt, _payload) => {
245
- if (evt.includes("compare")) {
246
- // TODO: support compare map tooltips
247
- // Do not update tooltip properties on compare map
255
+ if (!listenTo(evt)) {
248
256
  return;
249
257
  }
258
+
250
259
  const tooltips = [];
251
260
  for (const ec of eodashCols) {
252
261
  tooltips.push(...(await ec.getToolTipProperties()));
@@ -366,37 +366,28 @@ export async function creatAsyncProcessLayerDefinitions(
366
366
  break;
367
367
  }
368
368
  case "application/vnd.flatgeobuf": {
369
- // TODO after more flatgeobuf urls are possible in EOxMap https://github.com/EOX-A/EOxElements/issues/1789
370
- // we should change this handler to only create one layer instead of many
371
- resultItem.urls.forEach((url, i) => {
372
- layers.push({
373
- type: "Vector",
374
- source: {
375
- type: "FlatGeoBuf",
376
- url,
377
- },
378
- properties: {
379
- id:
380
- endpointLink.id +
381
- "_process_" +
382
- resultItem.id +
383
- postfixId +
384
- `_${i}`,
385
- title:
386
- "Results " +
387
- (selectedStac?.id ?? "") +
388
- " " +
389
- (resultItem.id ?? ""),
390
- layerControlToolsExpand: true,
391
- ...(layerConfig && {
392
- layerConfig: {
393
- ...layerConfig,
394
- style,
395
- },
396
- }),
397
- ...extraProperties,
398
- },
399
- });
369
+ layers.push({
370
+ type: "Vector",
371
+ source: {
372
+ type: "FlatGeoBuf",
373
+ url: resultItem.urls,
374
+ },
375
+ properties: {
376
+ id: endpointLink.id + "_process_" + resultItem.id + postfixId,
377
+ title:
378
+ "Results " +
379
+ (selectedStac?.id ?? "") +
380
+ " " +
381
+ (resultItem.id ?? ""),
382
+ layerControlToolsExpand: true,
383
+ ...(layerConfig && {
384
+ layerConfig: {
385
+ ...layerConfig,
386
+ style,
387
+ },
388
+ }),
389
+ ...extraProperties,
390
+ },
400
391
  });
401
392
  break;
402
393
  }
@@ -25,17 +25,38 @@ const { allowHtml, featured, footer, header, body, tags } = defineProps({
25
25
  },
26
26
 
27
27
  header: {
28
- /** @type {import("vue").PropType<string[]>} */
28
+ /**
29
+ * @type {import("vue").PropType<
30
+ * (string | {
31
+ * key: string,
32
+ * filter?: (item: any) => boolean
33
+ * })[]
34
+ * >}
35
+ */
29
36
  type: Array,
30
37
  default: () => ["title"],
31
38
  },
32
39
  tags: {
33
- /** @type {import("vue").PropType<string[]>} */
40
+ /**
41
+ * @type {import("vue").PropType<
42
+ * (string | {
43
+ * key: string,
44
+ * filter?: (item: any) => boolean
45
+ * })[]
46
+ * >}
47
+ */
34
48
  type: Array,
35
49
  default: () => ["themes"],
36
50
  },
37
51
  body: {
38
- /** @type {import("vue").PropType<string[]>} */
52
+ /**
53
+ * @type {import("vue").PropType<
54
+ * (string | {
55
+ * key: string,
56
+ * filter?: (item: any) => boolean
57
+ * })[]
58
+ * >}
59
+ */
39
60
  type: Array,
40
61
  default: () => [
41
62
  "satellite",
@@ -47,12 +68,26 @@ const { allowHtml, featured, footer, header, body, tags } = defineProps({
47
68
  ],
48
69
  },
49
70
  featured: {
50
- /** @type {import("vue").PropType<string[]>} */
71
+ /**
72
+ * @type {import("vue").PropType<
73
+ * (string | {
74
+ * key: string,
75
+ * filter?: (item: any) => boolean
76
+ * })[]
77
+ * >}
78
+ */
51
79
  type: Array,
52
80
  default: () => ["description", "providers", "assets", "links"],
53
81
  },
54
82
  footer: {
55
- /** @type {import("vue").PropType<string[]>} */
83
+ /**
84
+ * @type {import("vue").PropType<
85
+ * (string | {
86
+ * key: string,
87
+ * filter?: (item: any) => boolean
88
+ * })[]
89
+ * >}
90
+ */
56
91
  type: Array,
57
92
  default: () => ["sci:citation", "sci:doi", "sci:publication"],
58
93
  },