@eodash/eodash 5.3.0 → 5.3.2

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 (39) hide show
  1. package/core/client/eodashSTAC/EodashCollection.js +16 -10
  2. package/core/client/eodashSTAC/createLayers.js +28 -8
  3. package/core/client/eodashSTAC/helpers.js +85 -16
  4. package/dist/client/{DashboardLayout-Cq15p4TH.js → DashboardLayout-BHQnHqWW.js} +2 -2
  5. package/dist/client/{DynamicWebComponent-Cv-fPRG1.js → DynamicWebComponent-B4PdeZ9P.js} +1 -1
  6. package/dist/client/{EodashDatePicker-CPlJwEIO.js → EodashDatePicker-Ch_AXVas.js} +3 -3
  7. package/dist/client/{EodashItemFilter-Ydebgbjj.js → EodashItemFilter-lTuzCl08.js} +1 -1
  8. package/dist/client/{EodashLayerControl-COhrkNEs.js → EodashLayerControl-CBSGRlIi.js} +2 -2
  9. package/dist/client/{EodashLayoutSwitcher-pnKhTRZV.js → EodashLayoutSwitcher-DdwQYoI4.js} +3 -3
  10. package/dist/client/{EodashMapBtns-Cj0Fx119.js → EodashMapBtns-B910ylV6.js} +6 -6
  11. package/dist/client/{EodashStacInfo-Dadkg_Nj.js → EodashStacInfo-CeHGMZ8x.js} +1 -1
  12. package/dist/client/{EodashTimeSlider-CpoHX0S7.js → EodashTimeSlider-BApJJK0u.js} +2 -2
  13. package/dist/client/{EodashTools-UGBG7KC9.js → EodashTools-CJVm0k-Q.js} +4 -4
  14. package/dist/client/{ExportState-GtJkAqeZ.js → ExportState-NXzNGWYq.js} +4 -4
  15. package/dist/client/{Footer-D3ZPG5c4.js → Footer-DfXUC8IK.js} +1 -1
  16. package/dist/client/{Header-z6AK-wpN.js → Header-BHgaNMEH.js} +2 -2
  17. package/dist/client/{MobileLayout-BXNsNftb.js → MobileLayout-B77RzrNe.js} +2 -2
  18. package/dist/client/{PopUp-BbQdjENV.js → PopUp-BJwqRDNq.js} +2 -2
  19. package/dist/client/{ProcessList-C6VsdsYI.js → ProcessList-BFvV4RvS.js} +4 -4
  20. package/dist/client/{VImg-CxaMSB99.js → VImg-RGGIQ_yA.js} +2 -2
  21. package/dist/client/{VMain-Ds7yw0wj.js → VMain-CniQR94B.js} +1 -1
  22. package/dist/client/{VTooltip-Cze6CEVh.js → VTooltip-D5dnTfem.js} +2 -2
  23. package/dist/client/{WidgetsContainer-D66bj-JJ.js → WidgetsContainer-CvnR4J1T.js} +1 -1
  24. package/dist/client/{asWebComponent-CWbNRdf9.js → asWebComponent-Dptqds6-.js} +50 -25
  25. package/dist/client/{async-BA7oWCMX.js → async-C1hb39Tc.js} +2 -2
  26. package/dist/client/eo-dash.js +1 -1
  27. package/dist/client/{forwardRefs-BUfxOIo-.js → forwardRefs-CiSZZEn2.js} +2 -2
  28. package/dist/client/{handling-DlNTtKB-.js → handling-CZ537GCL.js} +3 -3
  29. package/dist/client/{helpers-CtE0W7iu.js → helpers-DoQGyrvY.js} +86 -17
  30. package/dist/client/{index-DeECc3lV.js → index--uKz-mt4.js} +3 -3
  31. package/dist/client/{index-CeEZIjO6.js → index-4sC2BIcK.js} +5 -5
  32. package/dist/client/{index-D4_NRKrf.js → index-DTxo2ysK.js} +2 -2
  33. package/dist/client/{index-CsKbRDeN.js → index-wcTqj0PZ.js} +12 -12
  34. package/dist/client/templates.js +1 -1
  35. package/dist/client/{transition-Byvp3L6Y.js → transition-CFfv5MCB.js} +1 -1
  36. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +1 -1
  37. package/dist/types/core/client/eodashSTAC/helpers.d.ts +3 -1
  38. package/package.json +5 -5
  39. package/widgets/EodashMap/index.vue +8 -7
@@ -1,6 +1,6 @@
1
1
  import { createVNode, Transition, mergeProps, ref, onBeforeUnmount, watch, nextTick, normalizeStyle, normalizeClass, mergeModels, useModel, createElementBlock, openBlock, withCtx, createBlock, createCommentVNode, resolveDynamicComponent, unref, renderSlot } from 'vue';
2
- import { g as genericComponent, p as propsFactory, aj as PREFERS_REDUCED_MOTION, al as acceleratedEasing, am as deceleratedEasing, an as standardEasing, x as useProxiedModel, ao as IN_BROWSER, c as useRender, ap as focusableChildren, V as VDefaultsProvider, k as provideTheme, f as useBackgroundColor, h as useBorder, b as useDimension, i as useElevation, a8 as useLocation, a9 as usePosition, j as useRounded, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, ac as makePositionProps, ad as makeLocationProps, s as makeElevationProps, d as makeDimensionProps, e as makeComponentProps, t as makeBorderProps, aq as useDefineWidgets } from './asWebComponent-CWbNRdf9.js';
3
- import { a as animate, g as getTargetBox, n as nullifyTransforms, u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BUfxOIo-.js';
2
+ import { g as genericComponent, p as propsFactory, aj as PREFERS_REDUCED_MOTION, al as acceleratedEasing, am as deceleratedEasing, an as standardEasing, x as useProxiedModel, ao as IN_BROWSER, c as useRender, ap as focusableChildren, V as VDefaultsProvider, k as provideTheme, f as useBackgroundColor, h as useBorder, b as useDimension, i as useElevation, a8 as useLocation, a9 as usePosition, j as useRounded, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, ac as makePositionProps, ad as makeLocationProps, s as makeElevationProps, d as makeDimensionProps, e as makeComponentProps, t as makeBorderProps, aq as useDefineWidgets } from './asWebComponent-Dptqds6-.js';
3
+ import { a as animate, g as getTargetBox, n as nullifyTransforms, u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-CiSZZEn2.js';
4
4
 
5
5
  // Utilities
6
6
  const makeVDialogTransitionProps = propsFactory({
@@ -1,9 +1,9 @@
1
1
  import { ref, createVNode, normalizeStyle, normalizeClass, createElementVNode, toRefs, onMounted, createElementBlock, openBlock, createBlock, createCommentVNode, unref, withCtx, Fragment, renderList, toDisplayString, withDirectives, toRef } from 'vue';
2
2
  import { mdiUploadBox, mdiDownloadBox, mdiTrashCanOutline } from '@mdi/js';
3
- import { g as genericComponent, p as propsFactory, k as provideTheme, U as useDensity, c as useRender, q as makeThemeProps, m as makeTagProps, W as makeDensityProps, e as makeComponentProps, o as convertToUnit, _ as _export_sfc, E as useSTAcStore, K as useOnLayersUpdate, G as VBtn } from './asWebComponent-CWbNRdf9.js';
4
- import { G as compareIndicator, E as indicator } from './helpers-CtE0W7iu.js';
5
- import { u as updateJobsStatus, j as getJobStatusUrl, l as loadProcess, k as downloadPreviousResults, m as deleteJob } from './async-BA7oWCMX.js';
6
- import { T as Tooltip } from './index-D4_NRKrf.js';
3
+ import { g as genericComponent, p as propsFactory, k as provideTheme, U as useDensity, c as useRender, q as makeThemeProps, m as makeTagProps, W as makeDensityProps, e as makeComponentProps, o as convertToUnit, _ as _export_sfc, E as useSTAcStore, K as useOnLayersUpdate, G as VBtn } from './asWebComponent-Dptqds6-.js';
4
+ import { H as compareIndicator, F as indicator } from './helpers-DoQGyrvY.js';
5
+ import { u as updateJobsStatus, j as getJobStatusUrl, l as loadProcess, k as downloadPreviousResults, m as deleteJob } from './async-C1hb39Tc.js';
6
+ import { T as Tooltip } from './index-DTxo2ysK.js';
7
7
 
8
8
  /**
9
9
  * The list of job result from the server
@@ -1,6 +1,6 @@
1
1
  import { h, TransitionGroup, Transition, camelize, createElementVNode, normalizeStyle, normalizeClass, computed, shallowRef, ref, watch, onBeforeMount, nextTick, onBeforeUnmount, toRef, withDirectives, createVNode, mergeProps, Fragment, vShow } from 'vue';
2
- import { ai as SUPPORTS_INTERSECTION, g as genericComponent, aj as PREFERS_REDUCED_MOTION, p as propsFactory, b as useDimension, c as useRender, d as makeDimensionProps, e as makeComponentProps, f as useBackgroundColor, j as useRounded, ak as getCurrentInstance, o as convertToUnit, r as makeRoundedProps } from './asWebComponent-CWbNRdf9.js';
3
- import { m as makeTransitionProps$1, M as MaybeTransition } from './transition-Byvp3L6Y.js';
2
+ import { ai as SUPPORTS_INTERSECTION, g as genericComponent, aj as PREFERS_REDUCED_MOTION, p as propsFactory, b as useDimension, c as useRender, d as makeDimensionProps, e as makeComponentProps, f as useBackgroundColor, j as useRounded, ak as getCurrentInstance, o as convertToUnit, r as makeRoundedProps } from './asWebComponent-Dptqds6-.js';
3
+ import { m as makeTransitionProps$1, M as MaybeTransition } from './transition-CFfv5MCB.js';
4
4
 
5
5
  // Utilities
6
6
  function mounted(el, binding) {
@@ -1,5 +1,5 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass, createElementVNode } from 'vue';
2
- import { g as genericComponent, p as propsFactory, b as useDimension, a as useLayout, c as useRender, m as makeTagProps, d as makeDimensionProps, e as makeComponentProps } from './asWebComponent-CWbNRdf9.js';
2
+ import { g as genericComponent, p as propsFactory, b as useDimension, a as useLayout, c as useRender, m as makeTagProps, d as makeDimensionProps, e as makeComponentProps } from './asWebComponent-Dptqds6-.js';
3
3
  import { u as useSsrBoot } from './ssrBoot-Zgc_Ttvi.js';
4
4
 
5
5
  const makeVMainProps = propsFactory({
@@ -1,6 +1,6 @@
1
1
  import { useId, toRef, ref, computed, mergeProps, createVNode } from 'vue';
2
- import { u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BUfxOIo-.js';
3
- import { g as genericComponent, p as propsFactory, x as useProxiedModel, c as useRender, Z as omit } from './asWebComponent-CWbNRdf9.js';
2
+ import { u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-CiSZZEn2.js';
3
+ import { g as genericComponent, p as propsFactory, x as useProxiedModel, c as useRender, Z as omit } from './asWebComponent-Dptqds6-.js';
4
4
 
5
5
  const makeVTooltipProps = propsFactory({
6
6
  id: String,
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, nextTick, createElementBlock, openBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, normalizeStyle, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
2
- import { aq as useDefineWidgets, a as useLayout } from './asWebComponent-CWbNRdf9.js';
2
+ import { aq as useDefineWidgets, a as useLayout } from './asWebComponent-Dptqds6-.js';
3
3
  import 'animated-details';
4
4
 
5
5
  const _sfc_main = {
@@ -1,6 +1,6 @@
1
1
  import { watch, onScopeDispose, effectScope, capitalize, reactive, watchEffect, toRef, shallowRef, Fragment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, unref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, toRaw, toRefs, toValue, createVNode, mergeProps, createElementVNode, normalizeClass, getCurrentScope, onBeforeUnmount, readonly, onMounted, useId, onDeactivated, onActivated, nextTick, shallowReactive, onUnmounted, isRef, normalizeStyle, onUpdated, Text, Transition, resolveDynamicComponent, withDirectives, toDisplayString, useModel, createBlock, createCommentVNode, openBlock, withCtx, createTextVNode, defineAsyncComponent, onErrorCaptured, Suspense, createElementBlock, normalizeProps, withAsyncContext, defineCustomElement } from 'vue';
2
2
  import { storeToRefs, defineStore, createPinia } from 'pinia';
3
- import { r as registerProjection, c as createLayerID, e as extractRoles, g as getProjectionCode, f as fetchStyle, a as extractLayerConfig, b as addTooltipInteraction, d as createAssetID, m as mergeGeojsons, h as mapEl, i as isSTACItem, j as axios, k as extractLayerTimeValues, l as fetchApiItems, n as getDatetimeProperty, o as fetchAllStyles, p as getLayers, q as getCompareLayers, s as findLayer, t as replaceLayer, u as generateFeatures, v as extractLayerLegend, w as extractCollectionUrls, x as generateLinksFromItems, y as revokeCollectionBlobUrls, z as currentUrl, A as datetime, B as poi, C as activeTemplate, D as mapPosition, E as indicator, F as currentCompareUrl, G as compareIndicator, H as comparePoi, I as states, J as actions } from './helpers-CtE0W7iu.js';
3
+ import { r as registerProjection, c as createLayerID, e as extractRoles, g as getProjectionCode, f as fetchStyle, a as extractLayerConfig, b as addTooltipInteraction, d as createAssetID, m as mergeGeojsons, h as mapEl, i as isSTACItem, j as axios, k as extractLayerTimeValues, l as fetchApiItems, n as getDatetimeProperty, o as fetchAllStyles, p as getLayers, q as getCompareLayers, s as findLayer, t as findLayersByLayerPrefix, u as replaceLayersInStructure, v as generateFeatures, w as extractLayerLegend, x as extractCollectionUrls, y as generateLinksFromItems, z as revokeCollectionBlobUrls, A as currentUrl, B as datetime, C as poi, D as activeTemplate, E as mapPosition, F as indicator, G as currentCompareUrl, H as compareIndicator, I as comparePoi, J as states, K as actions } from './helpers-DoQGyrvY.js';
4
4
  import log from 'loglevel';
5
5
  import { useEventBus, useMutationObserver, createSharedComposable } from '@vueuse/core';
6
6
  import { mdiSnowflake, mdiLightningBolt, mdiLeaf, mdiCurrencyEur, mdiWeatherWindy, mdiSetCenter, mdiHospitalBoxOutline, mdiImageFilterHdr, mdiWater, mdiBarley, mdiClose, mdiAlertCircle, mdiPlus, mdiMenuDown, mdiChevronLeft, mdiChevronRight } from '@mdi/js';
@@ -3610,7 +3610,7 @@ async function createLayersFromAssets(
3610
3610
  let geoTIFFSources = [];
3611
3611
  /** @type {number|null} */
3612
3612
  let geoTIFFIdx = null;
3613
- // let geoJsonLayers = [];
3613
+
3614
3614
  let geoJsonIdx = 0;
3615
3615
  let geoJsonAttributions = [];
3616
3616
 
@@ -3684,14 +3684,33 @@ async function createLayersFromAssets(
3684
3684
  );
3685
3685
  continue;
3686
3686
  }
3687
- const features = responseData.map((item) => {
3688
- return {
3689
- type: "Feature",
3690
- geometry: item.geometry,
3691
- // we pass the item making sure to remove geometry to avoid duplication
3692
- properties: { ...item, geometry: undefined },
3693
- };
3687
+ /** @type {Record<string,any>[]} */
3688
+ const features = [];
3689
+ responseData.forEach((ftr, i) => {
3690
+ const { geometry, ...properties } = ftr;
3691
+ if (geometry.type === 'MultiPoint' || geometry.type === 'MultiPolygon') {
3692
+ geometry.coordinates.forEach((/** @type {Record<string,any>[]} */ coordPair, /** @type {number} */j) => {
3693
+ const singleGeometry = {
3694
+ type: geometry.type === 'MultiPoint' ? 'Point' : 'Polygon',
3695
+ coordinates: coordPair,
3696
+ };
3697
+ features.push({
3698
+ type: 'Feature',
3699
+ id: `${i}_${j}`,
3700
+ properties,
3701
+ geometry: singleGeometry,
3702
+ });
3703
+ });
3704
+ } else {
3705
+ features.push({
3706
+ type: 'Feature',
3707
+ properties,
3708
+ id: `${i}`,
3709
+ geometry: geometry,
3710
+ });
3711
+ }
3694
3712
  });
3713
+
3695
3714
  const geojson = {
3696
3715
  type: "FeatureCollection",
3697
3716
  features: features,
@@ -4025,6 +4044,7 @@ const createLayersFromLinks = async (
4025
4044
  format: {
4026
4045
  type: "MVT",
4027
4046
  idProperty: vectorTileLink.idProperty,
4047
+ layers: vectorTileLink.layers,
4028
4048
  },
4029
4049
  url: href,
4030
4050
  projection: projectionCode,
@@ -4507,14 +4527,18 @@ class EodashCollection {
4507
4527
  **/
4508
4528
  async getItem(date) {
4509
4529
  if (!date) {
4510
- return (await this.getItems(false, true))?.[0];
4530
+ const items = await this.getItems(false, true);
4531
+ // in case no datetime property is found, return the last item
4532
+ return items && items.at(-1);
4511
4533
  }
4512
4534
 
4513
4535
  const items = await this.getItems();
4514
4536
  const datetimeProperty = getDatetimeProperty(items);
4515
4537
  if (!datetimeProperty) {
4516
- // in case no datetime property is found, return the first item
4517
- return (await this.getItems(false, true))?.[0];
4538
+ // in case no datetime property is found, return the last item
4539
+ const items = await this.getItems(false, true);
4540
+ // in case no datetime property is found, return the last item
4541
+ return items && items.at(-1);
4518
4542
  }
4519
4543
  return (await this.getItems())?.sort((a, b) => {
4520
4544
  const distanceA = Math.abs(
@@ -4605,15 +4629,16 @@ class EodashCollection {
4605
4629
  currentLayers = getCompareLayers();
4606
4630
  }
4607
4631
 
4608
- /** @type {string | undefined} */
4609
- const oldLayerID = findLayer(currentLayers, layer)?.properties?.id;
4610
4632
 
4611
- if (!oldLayerID) {
4633
+ const oldLayer = findLayer(currentLayers, layer);
4634
+
4635
+
4636
+ const toBeReplacedLayers = findLayersByLayerPrefix(currentLayers, oldLayer);
4637
+
4638
+ if (!toBeReplacedLayers) {
4612
4639
  return;
4613
4640
  }
4614
-
4615
- //@ts-expect-error TODO
4616
- const updatedLayers = replaceLayer(currentLayers, oldLayerID, newLayers);
4641
+ const updatedLayers = replaceLayersInStructure(currentLayers, toBeReplacedLayers, newLayers);
4617
4642
 
4618
4643
  return updatedLayers;
4619
4644
  }
@@ -7973,7 +7998,7 @@ const ErrorAlert = /*#__PURE__*/_export_sfc(_sfc_main$4, [['styles',[_style_0$2]
7973
7998
  const internalWidgets = (() => {
7974
7999
  /** @type {Record<string, () => Promise<import("vue").Component>>} */
7975
8000
  const importMap = {
7976
- .../* #__PURE__ */ Object.assign({"/widgets/EodashDatePicker.vue": () => import('./EodashDatePicker-CPlJwEIO.js'),"/widgets/EodashItemCatalog/index.vue": () => import('./index-DeECc3lV.js'),"/widgets/EodashItemFilter.vue": () => import('./EodashItemFilter-Ydebgbjj.js'),"/widgets/EodashLayerControl.vue": () => import('./EodashLayerControl-COhrkNEs.js'),"/widgets/EodashLayoutSwitcher.vue": () => import('./EodashLayoutSwitcher-pnKhTRZV.js'),"/widgets/EodashMap/EodashMapBtns.vue": () => import('./EodashMapBtns-Cj0Fx119.js'),"/widgets/EodashMap/index.vue": () => import('./index-CsKbRDeN.js'),"/widgets/EodashProcess/ProcessList.vue": () => import('./ProcessList-C6VsdsYI.js').then(n => n.a),"/widgets/EodashProcess/index.vue": () => import('./index-CeEZIjO6.js'),"/widgets/EodashStacInfo.vue": () => import('./EodashStacInfo-Dadkg_Nj.js'),"/widgets/EodashTimeSlider.vue": () => import('./EodashTimeSlider-CpoHX0S7.js'),"/widgets/EodashTools.vue": () => import('./EodashTools-UGBG7KC9.js'),"/widgets/ExportState.vue": () => import('./ExportState-GtJkAqeZ.js'),"/widgets/PopUp.vue": () => import('./PopUp-BbQdjENV.js'),"/widgets/WidgetsContainer.vue": () => import('./WidgetsContainer-D66bj-JJ.js')}),
8001
+ .../* #__PURE__ */ Object.assign({"/widgets/EodashDatePicker.vue": () => import('./EodashDatePicker-Ch_AXVas.js'),"/widgets/EodashItemCatalog/index.vue": () => import('./index--uKz-mt4.js'),"/widgets/EodashItemFilter.vue": () => import('./EodashItemFilter-lTuzCl08.js'),"/widgets/EodashLayerControl.vue": () => import('./EodashLayerControl-CBSGRlIi.js'),"/widgets/EodashLayoutSwitcher.vue": () => import('./EodashLayoutSwitcher-DdwQYoI4.js'),"/widgets/EodashMap/EodashMapBtns.vue": () => import('./EodashMapBtns-B910ylV6.js'),"/widgets/EodashMap/index.vue": () => import('./index-wcTqj0PZ.js'),"/widgets/EodashProcess/ProcessList.vue": () => import('./ProcessList-BFvV4RvS.js').then(n => n.a),"/widgets/EodashProcess/index.vue": () => import('./index-4sC2BIcK.js'),"/widgets/EodashStacInfo.vue": () => import('./EodashStacInfo-CeHGMZ8x.js'),"/widgets/EodashTimeSlider.vue": () => import('./EodashTimeSlider-BApJJK0u.js'),"/widgets/EodashTools.vue": () => import('./EodashTools-CJVm0k-Q.js'),"/widgets/ExportState.vue": () => import('./ExportState-NXzNGWYq.js'),"/widgets/PopUp.vue": () => import('./PopUp-BJwqRDNq.js'),"/widgets/WidgetsContainer.vue": () => import('./WidgetsContainer-CvnR4J1T.js')}),
7977
8002
  .../* #__PURE__ */ Object.assign({}),
7978
8003
  };
7979
8004
  for (const key in importMap) {
@@ -8099,7 +8124,7 @@ const getWidgetDefinition = (config) => {
8099
8124
 
8100
8125
  case "web-component":
8101
8126
  importedWidget.component = defineAsyncComponent({
8102
- loader: () => import('./DynamicWebComponent-Cv-fPRG1.js'),
8127
+ loader: () => import('./DynamicWebComponent-B4PdeZ9P.js'),
8103
8128
  suspensible: true,
8104
8129
  });
8105
8130
  importedWidget.props = reactive(config.widget);
@@ -8496,7 +8521,7 @@ return (_ctx, _cache) => {
8496
8521
 
8497
8522
  };
8498
8523
 
8499
- const version = "5.3.0";
8524
+ const version = "5.3.2";
8500
8525
  const pkgJson = {
8501
8526
  version};
8502
8527
 
@@ -8606,15 +8631,15 @@ const { smAndDown } = useDisplay();
8606
8631
 
8607
8632
  const TemplateComponent = computed(() =>
8608
8633
  smAndDown.value
8609
- ? defineAsyncComponent(() => import('./MobileLayout-BXNsNftb.js'))
8610
- : defineAsyncComponent(() => import('./DashboardLayout-Cq15p4TH.js')),
8634
+ ? defineAsyncComponent(() => import('./MobileLayout-B77RzrNe.js'))
8635
+ : defineAsyncComponent(() => import('./DashboardLayout-BHQnHqWW.js')),
8611
8636
  );
8612
8637
 
8613
8638
  const HeaderComponent = defineAsyncComponent(
8614
- () => import('./Header-z6AK-wpN.js'),
8639
+ () => import('./Header-BHgaNMEH.js'),
8615
8640
  );
8616
8641
  const FooterComponent = defineAsyncComponent(
8617
- () => import('./Footer-D3ZPG5c4.js'),
8642
+ () => import('./Footer-DfXUC8IK.js'),
8618
8643
  );
8619
8644
 
8620
8645
  const error = ref("");
@@ -1,5 +1,5 @@
1
- import { q as getCompareLayers, p as getLayers, t as replaceLayer, a as extractLayerConfig, v as extractLayerLegend, m as mergeGeojsons, j as axios, U as axios$1, G as compareIndicator, E as indicator } from './helpers-CtE0W7iu.js';
2
- import { P as useEmitLayersUpdate } from './asWebComponent-CWbNRdf9.js';
1
+ import { q as getCompareLayers, p as getLayers, V as replaceLayer, a as extractLayerConfig, w as extractLayerLegend, m as mergeGeojsons, j as axios, W as axios$1, H as compareIndicator, F as indicator } from './helpers-DoQGyrvY.js';
2
+ import { P as useEmitLayersUpdate } from './asWebComponent-Dptqds6-.js';
3
3
  import { isMulti } from '@eox/jsonform/src/custom-inputs/spatial/utils';
4
4
  import log from 'loglevel';
5
5
 
@@ -1,2 +1,2 @@
1
- export { aI as EodashConstructor, aH as register, aJ as store } from './asWebComponent-CWbNRdf9.js';
1
+ export { aI as EodashConstructor, aH as register, aJ as store } from './asWebComponent-Dptqds6-.js';
2
2
  import 'vue';
@@ -1,6 +1,6 @@
1
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 { ar as isOn, as as eventName, p as propsFactory, at as destructComputed, au as parseAnchor, av as flipSide, aw as flipAlign, ax as flipCorner, ay as CircularBuffer, az as deepEqual, X as consoleError, aA as getAxis, o as convertToUnit, v as clamp, ao as IN_BROWSER, y as useToggleScope, aB as defer, ak as getCurrentInstance, aC as templateRef, aD 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, aE as useRouter, aF as useBackButton, an as standardEasing, c as useRender } from './asWebComponent-CWbNRdf9.js';
3
- import { m as makeTransitionProps, M as MaybeTransition } from './transition-Byvp3L6Y.js';
2
+ import { ar as isOn, as as eventName, p as propsFactory, at as destructComputed, au as parseAnchor, av as flipSide, aw as flipAlign, ax as flipCorner, ay as CircularBuffer, az as deepEqual, X as consoleError, aA as getAxis, o as convertToUnit, v as clamp, ao as IN_BROWSER, y as useToggleScope, aB as defer, ak as getCurrentInstance, aC as templateRef, aD 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, aE as useRouter, aF as useBackButton, an as standardEasing, c as useRender } from './asWebComponent-Dptqds6-.js';
3
+ import { m as makeTransitionProps, M as MaybeTransition } from './transition-CFfv5MCB.js';
4
4
 
5
5
  class Box {
6
6
  constructor(args) {
@@ -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-BA7oWCMX.js';
3
- import { j as axios, a as extractLayerConfig, G as compareIndicator, E as indicator, w as extractCollectionUrls, F as currentCompareUrl, z as currentUrl, x as generateLinksFromItems, n as getDatetimeProperty, A as datetime, H as comparePoi, B as poi } from './helpers-CtE0W7iu.js';
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-C1hb39Tc.js';
3
+ import { j as axios, a as extractLayerConfig, H as compareIndicator, F as indicator, x as extractCollectionUrls, G as currentCompareUrl, A as currentUrl, y as generateLinksFromItems, n as getDatetimeProperty, B as datetime, I as comparePoi, C as poi } from './helpers-DoQGyrvY.js';
4
4
  import mustache from 'mustache';
5
- import { Q as isFirstLoad, E as useSTAcStore, S as readParquetItems, T as useGetSubCodeId } from './asWebComponent-CWbNRdf9.js';
5
+ import { Q as isFirstLoad, E as useSTAcStore, S as readParquetItems, T as useGetSubCodeId } from './asWebComponent-Dptqds6-.js';
6
6
  import { toAbsolute } from 'stac-js/src/http.js';
7
7
 
8
8
  ////// --- CHARTS --- //////
@@ -4424,6 +4424,38 @@ const extractLayerTimeValues = (items, currentStep) => {
4424
4424
  };
4425
4425
  };
4426
4426
 
4427
+
4428
+ /**
4429
+ * Recursively find all layers whose ID up to the first ; is same as given layer
4430
+ *
4431
+ * @param {import("@eox/map").EoxLayer[]} layers
4432
+ * @param {import("@eox/map").EoxLayer | undefined} referenceLayer - layer
4433
+ * @returns {import("@eox/map").EoxLayer[]} Matching layer objects.
4434
+ */
4435
+ const findLayersByLayerPrefix = (layers, referenceLayer) => {
4436
+ const refId = referenceLayer?.properties?.id;
4437
+
4438
+ if (typeof refId !== "string" || !refId.includes(";")) {
4439
+ throw new Error("Reference layer ID must contain a ';' separator.");
4440
+ }
4441
+
4442
+ const prefix = refId.split(";")[0];
4443
+ const matches = [];
4444
+
4445
+ for (const layer of layers) {
4446
+ if (layer.type === "Group" && Array.isArray(layer.layers)) {
4447
+ matches.push(...findLayersByLayerPrefix(layer.layers, referenceLayer));
4448
+ } else {
4449
+ const id = layer?.properties?.id;
4450
+ if (typeof id === "string" && id.startsWith(prefix)) {
4451
+ matches.push(layer);
4452
+ }
4453
+ }
4454
+ }
4455
+
4456
+ return matches;
4457
+ };
4458
+
4427
4459
  /**
4428
4460
  * Find JSON layer by ID
4429
4461
  * @param {string} layer
@@ -4445,6 +4477,51 @@ const findLayer = (layers, layer) => {
4445
4477
  }
4446
4478
  };
4447
4479
 
4480
+ /**
4481
+ * Removes a list of layers (and nested ones) from a layer/group structure,
4482
+ * and inserts new layers in place of the first removed one.
4483
+ *
4484
+ * @param {import("@eox/map").EoxLayer[]} layers - Array of layers or groups.
4485
+ * @param {import("@eox/map").EoxLayer[]} toRemove - Array of layers to remove (by id).
4486
+ * @param {Record<string, any>[]} toInsert - Array of layers to insert instead.
4487
+ * @returns {Record<string, any>[]} New array with replacements applied.
4488
+ */
4489
+ const replaceLayersInStructure = (layers, toRemove, toInsert) => {
4490
+ const result = [];
4491
+ let inserted = false;
4492
+
4493
+ for (const layer of layers) {
4494
+ if (layer.type === "Group" && Array.isArray(layer.layers)) {
4495
+ // Recurse into group layers
4496
+ const newGroupLayers = replaceLayersInStructure(layer.layers, toRemove, toInsert);
4497
+ result.push({ ...layer, layers: newGroupLayers });
4498
+ continue;
4499
+ }
4500
+
4501
+ // Match by reference or id
4502
+ const id = layer?.properties?.id;
4503
+ const isToRemove = toRemove.some((rem) => {
4504
+ const remId = rem?.properties?.id;
4505
+ return remId === id;
4506
+ });
4507
+
4508
+ if (isToRemove) {
4509
+ // On first removed occurrence, insert the new layers
4510
+ if (!inserted) {
4511
+ result.push(...toInsert);
4512
+ inserted = true;
4513
+ }
4514
+ // Skip this layer (it’s removed)
4515
+ continue;
4516
+ }
4517
+
4518
+ result.push(layer);
4519
+ }
4520
+
4521
+ return result;
4522
+ };
4523
+
4524
+
4448
4525
  /**
4449
4526
  * Removes the layer with the id provided and injects an array of layers in its position
4450
4527
  * @param {import("@eox/map").EoxLayer[]} currentLayers
@@ -4484,25 +4561,17 @@ const replaceLayer = (currentLayers, oldLayer, newLayers) => {
4484
4561
  * @param {import('../eodashSTAC/EodashCollection.js').EodashCollection[]} indicators
4485
4562
  * @param {import('ol/layer').Layer} layer
4486
4563
  */
4487
- const getColFromLayer = (indicators, layer) => {
4488
- // init cols
4489
- // const collections = indicators.map((ind) => ind.collectionStac);
4564
+ const getColFromLayer = async (indicators, layer) => {
4490
4565
  const [collectionId, itemId] = layer.get("id").split(";:;");
4491
4566
 
4492
- return indicators.find(async (ind) => {
4493
- const isCollection = ind.collectionStac?.id === collectionId;
4494
- if (!isCollection) {
4495
- return false;
4567
+ for (const ind of indicators) {
4568
+ if (ind.collectionStac?.id !== collectionId) continue;
4569
+ const items = await ind.getItems();
4570
+ const itemIds = items?.map(item => item.id || item.datetime) ?? [];
4571
+ if (itemIds.includes(itemId)) {
4572
+ return ind;
4496
4573
  }
4497
- /** @type {string[]} */
4498
- const itemIds = [];
4499
- await ind.getItems().then((items) => {
4500
- itemIds.push(
4501
- ...(items?.map((item) => /** @type {string} */ (item.id)) ?? []),
4502
- );
4503
- });
4504
- return itemIds.includes(itemId);
4505
- });
4574
+ }
4506
4575
  };
4507
4576
 
4508
4577
  /**
@@ -4848,4 +4917,4 @@ function extractLayerLegend(collection) {
4848
4917
  return extraProperties;
4849
4918
  }
4850
4919
 
4851
- export { datetime as A, poi as B, activeTemplate as C, mapPosition as D, indicator as E, currentCompareUrl as F, compareIndicator as G, comparePoi as H, states as I, actions as J, includesProcess as K, sanitizeBbox as L, mapCompareEl as M, getColFromLayer as N, setMapProjFromCol as O, availableMapProjection as P, changeMapProjection as Q, setActiveTemplate as R, compareChartEl as S, chartEl as T, axios$1 as U, removeUnneededProperties as V, getChartSpec as W, extractLayerConfig as a, addTooltipInteraction as b, createLayerID as c, createAssetID as d, extractRoles as e, fetchStyle as f, getProjectionCode as g, mapEl as h, isSTACItem as i, axios as j, extractLayerTimeValues as k, fetchApiItems as l, mergeGeojsons as m, getDatetimeProperty as n, fetchAllStyles as o, getLayers as p, getCompareLayers as q, registerProjection as r, findLayer as s, replaceLayer as t, generateFeatures as u, extractLayerLegend as v, extractCollectionUrls as w, generateLinksFromItems as x, revokeCollectionBlobUrls as y, currentUrl as z };
4920
+ export { currentUrl as A, datetime as B, poi as C, activeTemplate as D, mapPosition as E, indicator as F, currentCompareUrl as G, compareIndicator as H, comparePoi as I, states as J, actions as K, includesProcess as L, sanitizeBbox as M, mapCompareEl as N, getColFromLayer as O, setMapProjFromCol as P, availableMapProjection as Q, changeMapProjection as R, setActiveTemplate as S, compareChartEl as T, chartEl as U, replaceLayer as V, axios$1 as W, removeUnneededProperties as X, getChartSpec as Y, extractLayerConfig as a, addTooltipInteraction as b, createLayerID as c, createAssetID as d, extractRoles as e, fetchStyle as f, getProjectionCode as g, mapEl as h, isSTACItem as i, axios as j, extractLayerTimeValues as k, fetchApiItems as l, mergeGeojsons as m, getDatetimeProperty as n, fetchAllStyles as o, getLayers as p, getCompareLayers as q, registerProjection as r, findLayer as s, findLayersByLayerPrefix as t, replaceLayersInStructure as u, generateFeatures as v, extractLayerLegend as w, extractCollectionUrls as x, generateLinksFromItems as y, revokeCollectionBlobUrls as z };
@@ -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-CWbNRdf9.js';
3
- import { E as indicator, h as mapEl, L as sanitizeBbox, j as axios } from './helpers-CtE0W7iu.js';
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';
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-pnKhTRZV.js';
6
+ import _sfc_main$1 from './EodashLayoutSwitcher-DdwQYoI4.js';
7
7
 
8
8
  /**
9
9
  *
@@ -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 { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-CWbNRdf9.js';
5
+ import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-Dptqds6-.js';
6
6
  import { storeToRefs } from 'pinia';
7
- import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-C6VsdsYI.js';
8
- import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-DlNTtKB-.js';
7
+ import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-BFvV4RvS.js';
8
+ import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-CZ537GCL.js';
9
9
  import { useEventBus } from '@vueuse/core';
10
- import { u as updateJobsStatus, d as download } from './async-BA7oWCMX.js';
11
- import { G as compareIndicator, E as indicator, M as mapCompareEl, h as mapEl, S as compareChartEl, T as chartEl } from './helpers-CtE0W7iu.js';
10
+ import { u as updateJobsStatus, d as download } from './async-C1hb39Tc.js';
11
+ import { H as compareIndicator, F as indicator, N as mapCompareEl, h as mapEl, T as compareChartEl, U as chartEl } from './helpers-DoQGyrvY.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 { X as consoleError, Y as isObject } from './asWebComponent-CWbNRdf9.js';
3
- import { V as VTooltip } from './VTooltip-Cze6CEVh.js';
2
+ import { X as consoleError, Y as isObject } from './asWebComponent-Dptqds6-.js';
3
+ import { V as VTooltip } from './VTooltip-D5dnTfem.js';
4
4
 
5
5
  // Utilities
6
6
  function useDirectiveComponent(component, props) {
@@ -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 { O as setMapProjFromCol, D as mapPosition, L as sanitizeBbox, h as mapEl, M as mapCompareEl, E as indicator, G as compareIndicator, A as datetime } from './helpers-CtE0W7iu.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-DoQGyrvY.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-CWbNRdf9.js';
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';
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-Cj0Fx119.js';
10
+ import EodashMapBtns from './EodashMapBtns-B910ylV6.js';
11
11
 
12
12
  /**
13
13
  * Creates full layer configuration from indicator and time information
@@ -407,7 +407,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
407
407
  });
408
408
  };
409
409
 
410
- const _style_0 = "#cursor-coordinates[data-v-9484a41e]{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-9484a41e]{display:none}}#scale-line[data-v-9484a41e]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-9484a41e]{bottom:102px}}[data-v-9484a41e] .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-9484a41e] .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-9484a41e]{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-9484a41e]>*{pointer-events:auto}";
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}";
411
411
 
412
412
  const _hoisted_1 = [".enabled"];
413
413
  const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
@@ -751,19 +751,19 @@ return (_ctx, _cache) => {
751
751
  createCommentVNode(" prettier-ignore "),
752
752
  createVNode(EodashMapBtns, {
753
753
  style: normalizeStyle({
754
- gridColumn: (unref(indicator) || unref(compareIndicator)) ? responsiveX.value : '12',
754
+ gridColumn: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? responsiveX.value : '12',
755
755
  gridRow: responsiveY.value,
756
756
  }),
757
- exportMap: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.exportMap : false,
758
- changeProjection: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.changeProjection : false
757
+ exportMap: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.exportMap : false,
758
+ changeProjection: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.changeProjection : false
759
759
  ,
760
- compareIndicators: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.compareIndicators : false
760
+ compareIndicators: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.compareIndicators : false
761
761
  ,
762
- backToPOIs: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.backToPOIs : false
762
+ backToPOIs: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.backToPOIs : false
763
763
  ,
764
- enableSearch: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableSearch : false
764
+ enableSearch: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableSearch : false
765
765
  ,
766
- enableZoom: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableZoom : false
766
+ enableZoom: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableZoom : false
767
767
 
768
768
  }, null, 8 /* PROPS */, ["style", "exportMap", "changeProjection", "compareIndicators", "backToPOIs", "enableSearch", "enableZoom"])
769
769
  ], 4 /* STYLE */)
@@ -772,6 +772,6 @@ return (_ctx, _cache) => {
772
772
  }
773
773
 
774
774
  };
775
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-9484a41e"]]);
775
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-fc8f0071"]]);
776
776
 
777
777
  export { index as default };
@@ -1,5 +1,5 @@
1
1
  import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
2
- import { K as includesProcess } from './helpers-CtE0W7iu.js';
2
+ import { L as includesProcess } from './helpers-DoQGyrvY.js';
3
3
 
4
4
  /**
5
5
  * Special values that tell deepmerge to perform a certain action.
@@ -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-CWbNRdf9.js';
2
+ import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-Dptqds6-.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
@@ -157,6 +157,6 @@ export class EodashCollection {
157
157
  * @param {string} layer
158
158
  * @param {string} map
159
159
  */
160
- updateLayerJson(datetime: string, layer: string, map: string): Promise<import("@eox/map/src/layers").EoxLayer[] | undefined>;
160
+ updateLayerJson(datetime: string, layer: string, map: string): Promise<Record<string, any>[] | undefined>;
161
161
  #private;
162
162
  }
@@ -494,9 +494,11 @@ export function extractLayerTimeValues(items?: import("stac-ts").StacLink[] | im
494
494
  itemId: string;
495
495
  }[];
496
496
  };
497
+ export function findLayersByLayerPrefix(layers: import("@eox/map").EoxLayer[], referenceLayer: import("@eox/map").EoxLayer | undefined): import("@eox/map").EoxLayer[];
497
498
  export function findLayer(layers: import("@eox/map").EoxLayer[], layer: string): import("@eox/map").EoxLayer | undefined;
499
+ export function replaceLayersInStructure(layers: import("@eox/map").EoxLayer[], toRemove: import("@eox/map").EoxLayer[], toInsert: Record<string, any>[]): Record<string, any>[];
498
500
  export function replaceLayer(currentLayers: import("@eox/map").EoxLayer[], oldLayer: string, newLayers: import("@eox/map").EoxLayer[]): import("@eox/map").EoxLayer[];
499
- export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined;
501
+ export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): Promise<import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined>;
500
502
  export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string | import("ol/proj").ProjectionLike): string;
501
503
  export function createAssetID(collectionId: string, itemId: string, index: number): string;
502
504
  export function removeUnneededProperties(layers: Record<string, any>[]): Record<string, any>[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eodash/eodash",
3
- "version": "5.3.0",
3
+ "version": "5.3.2",
4
4
  "type": "module",
5
5
  "types": "./dist/types/core/client/types.d.ts",
6
6
  "files": [
@@ -66,14 +66,14 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@eox/chart": "^1.0.1",
69
- "@eox/drawtools": "^1.1.3",
69
+ "@eox/drawtools": "^1.1.5",
70
70
  "@eox/geosearch": "^1.1.0",
71
- "@eox/itemfilter": "^1.12.1",
71
+ "@eox/itemfilter": "^1.13.0",
72
72
  "@eox/jsonform": "^1.4.2",
73
73
  "@eox/layercontrol": "^1.3.1",
74
74
  "@eox/layout": "^1.0.0",
75
- "@eox/map": "^1.26.1",
76
- "@eox/stacinfo": "^1.0.1",
75
+ "@eox/map": "^1.26.2",
76
+ "@eox/stacinfo": "^1.0.2",
77
77
  "@eox/timecontrol": "^1.0.2",
78
78
  "@eox/timeslider": "https://pkg.pr.new/EOX-A/EOxElements/@eox/timeslider@9873028",
79
79
  "@eox/ui": "^0.4.0",
@@ -46,19 +46,19 @@
46
46
  <!-- prettier-ignore -->
47
47
  <EodashMapBtns
48
48
  :style="{
49
- gridColumn: (indicator || compareIndicator) ? responsiveX : '12',
49
+ gridColumn: (indicator || compareIndicator || poi) ? responsiveX : '12',
50
50
  gridRow: responsiveY,
51
51
  }"
52
- :exportMap="(indicator || compareIndicator) ? btnsProps.exportMap : false"
53
- :changeProjection="(indicator || compareIndicator) ? btnsProps.changeProjection : false
52
+ :exportMap="(indicator || compareIndicator || poi) ? btnsProps.exportMap : false"
53
+ :changeProjection="(indicator || compareIndicator || poi) ? btnsProps.changeProjection : false
54
54
  "
55
- :compareIndicators="(indicator || compareIndicator) ? btnsProps.compareIndicators : false
55
+ :compareIndicators="(indicator || compareIndicator || poi) ? btnsProps.compareIndicators : false
56
56
  "
57
- :backToPOIs="(indicator || compareIndicator) ? btnsProps.backToPOIs : false
57
+ :backToPOIs="(indicator || compareIndicator || poi) ? btnsProps.backToPOIs : false
58
58
  "
59
- :enableSearch="(indicator || compareIndicator) ? btnsProps.enableSearch : false
59
+ :enableSearch="(indicator || compareIndicator || poi) ? btnsProps.enableSearch : false
60
60
  "
61
- :enableZoom="(indicator || compareIndicator) ? btnsProps.enableZoom : false
61
+ :enableZoom="(indicator || compareIndicator || poi) ? btnsProps.enableZoom : false
62
62
  "
63
63
  />
64
64
  </div>
@@ -75,6 +75,7 @@ import {
75
75
  mapCompareEl,
76
76
  indicator,
77
77
  compareIndicator,
78
+ poi,
78
79
  } from "@/store/states";
79
80
  import { storeToRefs } from "pinia";
80
81
  import { useSTAcStore } from "@/store/stac";