@eodash/eodash 5.3.2 → 5.3.3

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 (50) hide show
  1. package/core/client/eodashSTAC/EodashCollection.js +12 -9
  2. package/core/client/eodashSTAC/auth.js +19 -15
  3. package/core/client/eodashSTAC/createLayers.js +42 -30
  4. package/core/client/eodashSTAC/helpers.js +18 -9
  5. package/core/client/store/states.js +1 -1
  6. package/core/client/types.ts +12 -8
  7. package/core/client/utils/states.js +32 -0
  8. package/dist/client/{DashboardLayout-BHQnHqWW.js → DashboardLayout-Cp8Rv3Ef.js} +2 -2
  9. package/dist/client/{DynamicWebComponent-B4PdeZ9P.js → DynamicWebComponent-CBsxC82P.js} +1 -1
  10. package/dist/client/{EodashDatePicker-Ch_AXVas.js → EodashDatePicker-Dewym-cx.js} +3 -3
  11. package/dist/client/{EodashItemFilter-lTuzCl08.js → EodashItemFilter-CAsZpOoQ.js} +1 -1
  12. package/dist/client/{EodashLayerControl-CBSGRlIi.js → EodashLayerControl-fn-rt8Ac.js} +2 -2
  13. package/dist/client/{EodashLayoutSwitcher-DdwQYoI4.js → EodashLayoutSwitcher-B9XqQXCS.js} +3 -3
  14. package/dist/client/{EodashMapBtns-B910ylV6.js → EodashMapBtns-nFY6MIAX.js} +6 -6
  15. package/dist/client/{EodashStacInfo-CeHGMZ8x.js → EodashStacInfo-lxBKoav9.js} +1 -1
  16. package/dist/client/{EodashTimeSlider-BApJJK0u.js → EodashTimeSlider-DI97QkNT.js} +2 -2
  17. package/dist/client/{EodashTools-CJVm0k-Q.js → EodashTools-D5ShUT1g.js} +4 -4
  18. package/dist/client/{ExportState-NXzNGWYq.js → ExportState-ruNyRS2E.js} +4 -4
  19. package/dist/client/{Footer-DfXUC8IK.js → Footer-IQNyfd78.js} +1 -1
  20. package/dist/client/{Header-BHgaNMEH.js → Header-BBdi_-Lp.js} +2 -2
  21. package/dist/client/{MobileLayout-B77RzrNe.js → MobileLayout-BfBeF-JF.js} +2 -2
  22. package/dist/client/{PopUp-BJwqRDNq.js → PopUp-DRgOmD7-.js} +2 -2
  23. package/dist/client/{ProcessList-BFvV4RvS.js → ProcessList-DxyCFQdz.js} +20 -8
  24. package/dist/client/{VImg-RGGIQ_yA.js → VImg-hwmwzSwG.js} +2 -2
  25. package/dist/client/{VMain-CniQR94B.js → VMain-vk4-rkw-.js} +1 -1
  26. package/dist/client/{VTooltip-D5dnTfem.js → VTooltip-BYUZeia1.js} +2 -2
  27. package/dist/client/{WidgetsContainer-CvnR4J1T.js → WidgetsContainer-DXD_8rqh.js} +1 -1
  28. package/dist/client/{asWebComponent-Dptqds6-.js → asWebComponent-DdguWGDI.js} +97 -50
  29. package/dist/client/{async-C1hb39Tc.js → async-D1MvO_Z_.js} +2 -2
  30. package/dist/client/eo-dash.js +1 -1
  31. package/dist/client/{forwardRefs-CiSZZEn2.js → forwardRefs-DM-E2MfG.js} +2 -2
  32. package/dist/client/{handling-CZ537GCL.js → handling-CbgeKrqT.js} +3 -3
  33. package/dist/client/{helpers-DoQGyrvY.js → helpers-CtUlAW0N.js} +19 -10
  34. package/dist/client/{index-4sC2BIcK.js → index-BJvLt3Xf.js} +5 -5
  35. package/dist/client/{index-wcTqj0PZ.js → index-BkW06-Lg.js} +26 -14
  36. package/dist/client/{index--uKz-mt4.js → index-BxDh5v-H.js} +3 -3
  37. package/dist/client/{index-DTxo2ysK.js → index-DBo0F4Fv.js} +2 -2
  38. package/dist/client/templates.js +2 -2
  39. package/dist/client/{transition-CFfv5MCB.js → transition-BdzATvPB.js} +1 -1
  40. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +1 -0
  41. package/dist/types/core/client/eodashSTAC/auth.d.ts +5 -5
  42. package/dist/types/core/client/eodashSTAC/helpers.d.ts +9 -0
  43. package/dist/types/core/client/types.d.ts +1 -0
  44. package/dist/types/core/client/utils/states.d.ts +28 -0
  45. package/dist/types/templates/index.d.ts +1 -0
  46. package/package.json +2 -2
  47. package/templates/index.js +2 -0
  48. package/widgets/EodashMap/index.vue +13 -4
  49. package/widgets/EodashMap/methods/index.js +9 -7
  50. package/widgets/EodashProcess/ProcessList.vue +10 -2
@@ -1,13 +1,13 @@
1
1
  import { onMounted, onUnmounted, watch, computed, useTemplateRef, ref, toRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, normalizeStyle, createVNode } from 'vue';
2
2
  import '@eox/map';
3
3
  import '@eox/map/src/plugins/advancedLayersAndSources';
4
- import { P as setMapProjFromCol, E as mapPosition, M as sanitizeBbox, h as mapEl, N as mapCompareEl, F as indicator, H as compareIndicator, C as poi, B as datetime } from './helpers-DoQGyrvY.js';
4
+ import { P as setMapProjFromCol, E as mapPosition, M as sanitizeBbox, h as mapEl, N as mapCompareEl, F as indicator, H as compareIndicator, C as poi, B as datetime } from './helpers-CtUlAW0N.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, N as layerControlFormValue, M as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-Dptqds6-.js';
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-DdguWGDI.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-B910ylV6.js';
10
+ import EodashMapBtns from './EodashMapBtns-nFY6MIAX.js';
11
11
 
12
12
  /**
13
13
  * Creates full layer configuration from indicator and time information
@@ -309,13 +309,6 @@ const useInitMap = (
309
309
  return;
310
310
  }
311
311
 
312
- /** @type {Record<string,any>[]} */
313
- layersCollection = await createLayersConfig(
314
- updatedStac,
315
- eodashCols,
316
- selectedItem ? updatedItem : updatedTime,
317
- );
318
-
319
312
  // We try to set the current time selection to latest extent date
320
313
  let endInterval = null;
321
314
  const interval = updatedStac?.extent?.temporal?.interval;
@@ -334,8 +327,17 @@ const useInitMap = (
334
327
  !isFirstLoad.value
335
328
  ) {
336
329
  datetime.value = endInterval.toISOString();
330
+ } else if (isFirstLoad.value && !datetime.value && endInterval) {
331
+ datetime.value = endInterval.toISOString();
337
332
  }
338
333
 
334
+ /** @type {Record<string,any>[]} */
335
+ layersCollection = await createLayersConfig(
336
+ updatedStac,
337
+ eodashCols,
338
+ updatedItem ?? updatedTime,
339
+ );
340
+
339
341
  if (zoomToExtent) {
340
342
  // Try to move map view to extent only when main
341
343
  // indicator and map changes
@@ -407,7 +409,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
407
409
  });
408
410
  };
409
411
 
410
- const _style_0 = "#cursor-coordinates[data-v-fc8f0071]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:11px;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-fc8f0071]{display:none}}#scale-line[data-v-fc8f0071]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-fc8f0071]{bottom:102px}}[data-v-fc8f0071] .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-fc8f0071] .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-fc8f0071]{position:fixed;top:0;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-fc8f0071]>*{pointer-events:auto}";
412
+ const _style_0 = "#cursor-coordinates[data-v-76f918a2]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:11px;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-76f918a2]{display:none}}#scale-line[data-v-76f918a2]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-76f918a2]{bottom:102px}}[data-v-76f918a2] .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-76f918a2] .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-76f918a2]{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-76f918a2]>*{pointer-events:auto}";
411
413
 
412
414
  const _hoisted_1 = [".enabled"];
413
415
  const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
@@ -691,7 +693,10 @@ const tooltipPropertyTransform = (map) => {
691
693
  param.value = JSON.stringify(param.value);
692
694
  }
693
695
  if (!isNaN(Number(param.value))) {
694
- param.value = Number(param.value).toFixed(4).toString();
696
+ const decimals = !isNaN(Number(tooltipProp.decimals))
697
+ ? Number(tooltipProp.decimals)
698
+ : 4;
699
+ param.value = Number(param.value).toFixed(decimals).toString();
695
700
  }
696
701
 
697
702
  return {
@@ -700,6 +705,13 @@ const tooltipPropertyTransform = (map) => {
700
705
  };
701
706
  };
702
707
  };
708
+ const { mainRect } = useLayout();
709
+ const btnsTop = ref(0);
710
+ onMounted(() => {
711
+ const eoDash = document.querySelector("eo-dash");
712
+ btnsTop.value =
713
+ (mainRect.value.top || eoDash?.getBoundingClientRect().top) ?? 0;
714
+ });
703
715
 
704
716
  return (_ctx, _cache) => {
705
717
  return (openBlock(), createElementBlock("span", null, [
@@ -746,7 +758,7 @@ return (_ctx, _cache) => {
746
758
  : createCommentVNode("v-if", true),
747
759
  createElementVNode("div", {
748
760
  class: "map-buttons-container",
749
- style: normalizeStyle(`margin: ${__props.btnsPosition.gap}px 0 ${__props.btnsPosition.gap}px 0`)
761
+ style: normalizeStyle(`margin: ${__props.btnsPosition.gap}px 0 ${__props.btnsPosition.gap}px 0; top: ${btnsTop.value}px;`)
750
762
  }, [
751
763
  createCommentVNode(" prettier-ignore "),
752
764
  createVNode(EodashMapBtns, {
@@ -772,6 +784,6 @@ return (_ctx, _cache) => {
772
784
  }
773
785
 
774
786
  };
775
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-fc8f0071"]]);
787
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-76f918a2"]]);
776
788
 
777
789
  export { index as default };
@@ -1,9 +1,9 @@
1
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-Dptqds6-.js';
3
- import { F as indicator, h as mapEl, M as sanitizeBbox, j as axios } from './helpers-DoQGyrvY.js';
2
+ import { E as useSTAcStore, K as useOnLayersUpdate, _ as _export_sfc, L as VRow } from './asWebComponent-DdguWGDI.js';
3
+ import { F as indicator, h as mapEl, M as sanitizeBbox, j as axios } from './helpers-CtUlAW0N.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-DdwQYoI4.js';
6
+ import _sfc_main$1 from './EodashLayoutSwitcher-B9XqQXCS.js';
7
7
 
8
8
  /**
9
9
  *
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent, render, h, mergeProps } from 'vue';
2
- import { X as consoleError, Y as isObject } from './asWebComponent-Dptqds6-.js';
3
- import { V as VTooltip } from './VTooltip-D5dnTfem.js';
2
+ import { X as consoleError, Y as isObject } from './asWebComponent-DdguWGDI.js';
3
+ import { V as VTooltip } from './VTooltip-BYUZeia1.js';
4
4
 
5
5
  // Utilities
6
6
  function useDirectiveComponent(component, props) {
@@ -1,5 +1,5 @@
1
1
  import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
2
- import { L as includesProcess } from './helpers-DoQGyrvY.js';
2
+ import { L as includesProcess } from './helpers-CtUlAW0N.js';
3
3
 
4
4
  /**
5
5
  * Special values that tell deepmerge to perform a certain action.
@@ -904,4 +904,4 @@ const getBaseConfig = (config) => {
904
904
  return merged;
905
905
  };
906
906
 
907
- export { compare, getBaseConfig as default, expert, getBaseConfig, lite };
907
+ export { compare, getBaseConfig as default, expert, explore, getBaseConfig, lite };
@@ -1,5 +1,5 @@
1
1
  import { mergeProps, h, TransitionGroup, Transition } from 'vue';
2
- import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-Dptqds6-.js';
2
+ import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-DdguWGDI.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
@@ -150,6 +150,7 @@ export class EodashCollection {
150
150
  id: string;
151
151
  title?: string;
152
152
  appendix?: string;
153
+ decimals?: number;
153
154
  }[]>;
154
155
  /**
155
156
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
- * @param {import("../types").StacAuthItem } item
4
- * @param {import("../types").StacAuthLink | import("../types").StacAuthAsset} linkOrAsset
5
- * @returns {string}
6
- */
2
+ * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
+ * @param {import("../types").StacAuthItem } item
4
+ * @param {import("../types").StacAuthLink | import("../types").StacAuthAsset} linkOrAsset
5
+ * @returns {string}
6
+ */
7
7
  export function handleAuthenticationOfLink(item: import("../types").StacAuthItem, linkOrAsset: import("../types").StacAuthLink | import("../types").StacAuthAsset): string;
@@ -204,6 +204,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
204
204
  id: string;
205
205
  title?: string;
206
206
  appendix?: string;
207
+ decimals?: number;
207
208
  }[];
208
209
  } | {
209
210
  [n: number]: import("ol/style/flat.js").FlatStyle;
@@ -227,6 +228,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
227
228
  id: string;
228
229
  title?: string;
229
230
  appendix?: string;
231
+ decimals?: number;
230
232
  }[];
231
233
  };
232
234
  splice(start: number, deleteCount?: number): import("ol/style/flat.js").FlatStyle[];
@@ -258,6 +260,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
258
260
  id: string;
259
261
  title?: string;
260
262
  appendix?: string;
263
+ decimals?: number;
261
264
  }[];
262
265
  };
263
266
  copyWithin(target: number, start: number, end?: number): import("ol/style/flat.js").FlatStyle[] & {
@@ -268,6 +271,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
268
271
  id: string;
269
272
  title?: string;
270
273
  appendix?: string;
274
+ decimals?: number;
271
275
  }[];
272
276
  };
273
277
  entries(): ArrayIterator<[number, import("ol/style/flat.js").FlatStyle]>;
@@ -337,6 +341,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
337
341
  id: string;
338
342
  title?: string;
339
343
  appendix?: string;
344
+ decimals?: number;
340
345
  }[];
341
346
  } | {
342
347
  [n: number]: import("ol/style/flat.js").Rule;
@@ -360,6 +365,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
360
365
  id: string;
361
366
  title?: string;
362
367
  appendix?: string;
368
+ decimals?: number;
363
369
  }[];
364
370
  };
365
371
  splice(start: number, deleteCount?: number): import("ol/style/flat.js").Rule[];
@@ -391,6 +397,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
391
397
  id: string;
392
398
  title?: string;
393
399
  appendix?: string;
400
+ decimals?: number;
394
401
  }[];
395
402
  };
396
403
  copyWithin(target: number, start: number, end?: number): import("ol/style/flat.js").Rule[] & {
@@ -401,6 +408,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
401
408
  id: string;
402
409
  title?: string;
403
410
  appendix?: string;
411
+ decimals?: number;
404
412
  }[];
405
413
  };
406
414
  entries(): ArrayIterator<[number, import("ol/style/flat.js").Rule]>;
@@ -470,6 +478,7 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, ke
470
478
  id: string;
471
479
  title?: string;
472
480
  appendix?: string;
481
+ decimals?: number;
473
482
  }[];
474
483
  } | undefined>;
475
484
  export function fetchAllStyles(item: import("stac-ts").StacItem, itemUrl: string): Promise<Array<import("../types").EodashStyleJson>>;
@@ -375,6 +375,7 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
375
375
  id: string;
376
376
  title?: string;
377
377
  appendix?: string;
378
+ decimals?: number;
378
379
  }[];
379
380
  };
380
381
  export type EodashRasterJSONForm = {
@@ -70,10 +70,22 @@ export const dataThemesBrands: {
70
70
  icon: string;
71
71
  color: string;
72
72
  };
73
+ climate: {
74
+ icon: string;
75
+ color: string;
76
+ };
73
77
  economy: {
74
78
  icon: string;
75
79
  color: string;
76
80
  };
81
+ commerce: {
82
+ icon: string;
83
+ color: string;
84
+ };
85
+ society: {
86
+ icon: string;
87
+ color: string;
88
+ };
77
89
  biomass: {
78
90
  icon: string;
79
91
  color: string;
@@ -82,8 +94,24 @@ export const dataThemesBrands: {
82
94
  icon: string;
83
95
  color: string;
84
96
  };
97
+ energy: {
98
+ icon: string;
99
+ color: string;
100
+ };
101
+ tourism: {
102
+ icon: string;
103
+ color: string;
104
+ };
105
+ sport: {
106
+ icon: string;
107
+ color: string;
108
+ };
85
109
  cryosphere: {
86
110
  icon: string;
87
111
  color: string;
88
112
  };
113
+ industry: {
114
+ icon: string;
115
+ color: string;
116
+ };
89
117
  };
@@ -1,6 +1,7 @@
1
1
  export { default as lite } from "./lite";
2
2
  export { default as expert } from "./expert";
3
3
  export { default as compare } from "./compare";
4
+ export { default as explore } from "./explore";
4
5
  export { getBaseConfig };
5
6
  export default getBaseConfig;
6
7
  import { getBaseConfig } from "./baseConfig";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eodash/eodash",
3
- "version": "5.3.2",
3
+ "version": "5.3.3",
4
4
  "type": "module",
5
5
  "types": "./dist/types/core/client/types.d.ts",
6
6
  "files": [
@@ -42,7 +42,7 @@
42
42
  "browser": "./core/client/main.js",
43
43
  "scripts": {
44
44
  "start": "npx eodash dev --entryPoint templates/baseConfig.js",
45
- "prepare": "rollup -c",
45
+ "prepare": "rollup -c && chmod +x dist/node/cli.js",
46
46
  "prepack": "npm run build:lib && npm run build:types",
47
47
  "dev": "npx eodash dev --entryPoint templates/baseConfig.js",
48
48
  "dev:lib": "npx eodash dev --entryPoint templates/baseConfig.js --lib",
@@ -3,6 +3,8 @@ import { getBaseConfig } from "./baseConfig";
3
3
  export { default as lite } from "./lite";
4
4
  export { default as expert } from "./expert";
5
5
  export { default as compare } from "./compare";
6
+ export { default as explore } from "./explore";
7
+
6
8
  export { getBaseConfig };
7
9
 
8
10
  export default getBaseConfig;
@@ -41,7 +41,7 @@
41
41
  <span v-if="enableScaleLine" id="scale-line" ref="scale-line" />
42
42
  <div
43
43
  class="map-buttons-container"
44
- :style="`margin: ${btnsPosition.gap}px 0 ${btnsPosition.gap}px 0`"
44
+ :style="`margin: ${btnsPosition.gap}px 0 ${btnsPosition.gap}px 0; top: ${btnsTop}px;`"
45
45
  >
46
46
  <!-- prettier-ignore -->
47
47
  <EodashMapBtns
@@ -79,7 +79,7 @@ import {
79
79
  } from "@/store/states";
80
80
  import { storeToRefs } from "pinia";
81
81
  import { useSTAcStore } from "@/store/stac";
82
- import { useDisplay } from "vuetify";
82
+ import { useDisplay, useLayout } from "vuetify";
83
83
  import {
84
84
  eodashCollections,
85
85
  eodashCompareCollections,
@@ -355,7 +355,10 @@ const tooltipPropertyTransform = (map) => {
355
355
  param.value = JSON.stringify(param.value);
356
356
  }
357
357
  if (!isNaN(Number(param.value))) {
358
- param.value = Number(param.value).toFixed(4).toString();
358
+ const decimals = !isNaN(Number(tooltipProp.decimals))
359
+ ? Number(tooltipProp.decimals)
360
+ : 4;
361
+ param.value = Number(param.value).toFixed(decimals).toString();
359
362
  }
360
363
 
361
364
  return {
@@ -364,6 +367,13 @@ const tooltipPropertyTransform = (map) => {
364
367
  };
365
368
  };
366
369
  };
370
+ const { mainRect } = useLayout();
371
+ const btnsTop = ref(0);
372
+ onMounted(() => {
373
+ const eoDash = document.querySelector("eo-dash");
374
+ btnsTop.value =
375
+ (mainRect.value.top || eoDash?.getBoundingClientRect().top) ?? 0;
376
+ });
367
377
  </script>
368
378
 
369
379
  <style scoped>
@@ -421,7 +431,6 @@ const tooltipPropertyTransform = (map) => {
421
431
 
422
432
  .map-buttons-container {
423
433
  position: fixed;
424
- top: 0;
425
434
  left: 0;
426
435
  width: 100%;
427
436
  height: 100%;
@@ -155,13 +155,6 @@ export const useInitMap = (
155
155
  return;
156
156
  }
157
157
 
158
- /** @type {Record<string,any>[]} */
159
- layersCollection = await createLayersConfig(
160
- updatedStac,
161
- eodashCols,
162
- selectedItem ? updatedItem : updatedTime,
163
- );
164
-
165
158
  // We try to set the current time selection to latest extent date
166
159
  let endInterval = null;
167
160
  const interval = updatedStac?.extent?.temporal?.interval;
@@ -180,8 +173,17 @@ export const useInitMap = (
180
173
  !isFirstLoad.value
181
174
  ) {
182
175
  datetime.value = endInterval.toISOString();
176
+ } else if (isFirstLoad.value && !datetime.value && endInterval) {
177
+ datetime.value = endInterval.toISOString();
183
178
  }
184
179
 
180
+ /** @type {Record<string,any>[]} */
181
+ layersCollection = await createLayersConfig(
182
+ updatedStac,
183
+ eodashCols,
184
+ updatedItem ?? updatedTime,
185
+ );
186
+
185
187
  if (zoomToExtent) {
186
188
  // Try to move map view to extent only when main
187
189
  // indicator and map changes
@@ -20,10 +20,12 @@
20
20
  <a
21
21
  class="processUrl"
22
22
  target="_blank"
23
+ v-tooltip="'Process details'"
23
24
  :href="getJobStatusUrl(item.jobID, currentIndicator)"
24
25
  >{{
25
26
  new Date(item.job_start_datetime).toISOString().slice(0, 16)
26
- }}</a
27
+ }}
28
+ <v-icon>mdi-open-in-new</v-icon></a
27
29
  >
28
30
  </td>
29
31
  <td>{{ item.status }}</td>
@@ -71,7 +73,13 @@
71
73
  </div>
72
74
  </template>
73
75
  <script setup>
74
- import { mdiUploadBox, mdiDownloadBox, mdiTrashCanOutline } from "@mdi/js";
76
+ /* eslint-disable @typescript-eslint/no-unused-vars */
77
+ import {
78
+ mdiUploadBox,
79
+ mdiDownloadBox,
80
+ mdiTrashCanOutline,
81
+ mdiOpenInNew,
82
+ } from "@mdi/js";
75
83
  import { onMounted, toRef, toRefs } from "vue";
76
84
  import { useSTAcStore } from "@/store/stac";
77
85
  import { compareIndicator, indicator } from "@/store/states";