@eodash/eodash 5.2.0 → 5.3.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 (119) hide show
  1. package/core/client/components/DashboardLayout.vue +0 -1
  2. package/core/client/composables/index.js +53 -59
  3. package/core/client/eodashSTAC/EodashCollection.js +196 -94
  4. package/core/client/eodashSTAC/auth.js +86 -0
  5. package/core/client/eodashSTAC/createLayers.js +204 -4
  6. package/core/client/eodashSTAC/helpers.js +258 -58
  7. package/core/client/eodashSTAC/parquet.js +0 -13
  8. package/core/client/eodashSTAC/triggers.js +1 -1
  9. package/core/client/store/actions.js +14 -0
  10. package/core/client/store/stac.js +46 -8
  11. package/core/client/store/states.js +6 -0
  12. package/core/client/types.ts +206 -3
  13. package/core/client/utils/bands-editor/arithmetic.js +144 -0
  14. package/core/client/utils/bands-editor/colors.js +36 -0
  15. package/core/client/utils/bands-editor/dom.js +196 -0
  16. package/core/client/utils/bands-editor/exampleSchema.json +1320 -0
  17. package/core/client/utils/bands-editor/index.js +68 -0
  18. package/core/client/utils/bands-editor/rgb.js +102 -0
  19. package/core/client/utils/index.js +5 -2
  20. package/core/client/views/Dashboard.vue +1 -1
  21. package/core/client/vite-env.d.ts +122 -0
  22. package/dist/client/{DashboardLayout-Dq9Kfe6O.js → DashboardLayout-Cq15p4TH.js} +4 -5
  23. package/dist/client/{DynamicWebComponent-DCBMXskE.js → DynamicWebComponent-Cv-fPRG1.js} +1 -1
  24. package/dist/client/{EodashDatePicker-DtngxU6s.js → EodashDatePicker-CPlJwEIO.js} +20 -22
  25. package/dist/client/{EodashItemFilter-ClQebJQt.js → EodashItemFilter-Ydebgbjj.js} +46 -31
  26. package/dist/client/EodashLayerControl-COhrkNEs.js +1517 -0
  27. package/dist/client/{EodashLayoutSwitcher-DQ8SfVDd.js → EodashLayoutSwitcher-pnKhTRZV.js} +4 -4
  28. package/dist/client/EodashMapBtns-Cj0Fx119.js +301 -0
  29. package/dist/client/{EodashStacInfo-Dt1nF06x.js → EodashStacInfo-Dadkg_Nj.js} +1 -1
  30. package/dist/client/EodashTimeSlider-CpoHX0S7.js +53 -0
  31. package/dist/client/{EodashTools-DV5ykmWc.js → EodashTools-UGBG7KC9.js} +10 -7
  32. package/dist/client/{ExportState-B6zZQUmE.js → ExportState-GtJkAqeZ.js} +145 -120
  33. package/dist/client/{Footer-DNhXs8k6.js → Footer-D3ZPG5c4.js} +1 -1
  34. package/dist/client/{Header-BjhN5JY4.js → Header-z6AK-wpN.js} +2 -2
  35. package/dist/client/MobileLayout-BXNsNftb.js +118 -0
  36. package/dist/client/{PopUp-CgpvNr3o.js → PopUp-BbQdjENV.js} +79 -43
  37. package/dist/client/{ProcessList-vecpxThi.js → ProcessList-C6VsdsYI.js} +5 -6
  38. package/dist/client/{VImg-CETuikH2.js → VImg-CxaMSB99.js} +6 -3
  39. package/dist/client/{VMain-Ci9DyaGU.js → VMain-Ds7yw0wj.js} +1 -1
  40. package/dist/client/{VTooltip-J4ac48X7.js → VTooltip-Cze6CEVh.js} +2 -2
  41. package/dist/client/{WidgetsContainer-CCML4TyV.js → WidgetsContainer-D66bj-JJ.js} +1 -1
  42. package/dist/client/asWebComponent-CWbNRdf9.js +8895 -0
  43. package/dist/client/{async-B7jIrM53.js → async-BA7oWCMX.js} +2 -2
  44. package/dist/client/easing-CH0-9wR8.js +35 -0
  45. package/dist/client/eo-dash.js +1 -1
  46. package/dist/client/{forwardRefs-BQclvjMq.js → forwardRefs-BUfxOIo-.js} +58 -45
  47. package/dist/client/{handling-BS24aG1q.js → handling-DlNTtKB-.js} +12 -6
  48. package/dist/client/{helpers-wXK7Ywio.js → helpers-CtE0W7iu.js} +572 -277
  49. package/dist/client/{index-4UCzZi8B.js → index-CeEZIjO6.js} +26 -13
  50. package/dist/client/{index-B2XpdgR6.js → index-CsKbRDeN.js} +63 -36
  51. package/dist/client/{index-9KR-G20t.js → index-D4_NRKrf.js} +2 -2
  52. package/dist/client/index-DeECc3lV.js +571 -0
  53. package/dist/client/templates.js +82 -15
  54. package/dist/client/{transition-yBii4fu6.js → transition-Byvp3L6Y.js} +1 -1
  55. package/dist/node/cli.js +6 -6
  56. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +24 -10
  57. package/dist/types/core/client/eodashSTAC/auth.d.ts +7 -0
  58. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +15 -3
  59. package/dist/types/core/client/eodashSTAC/helpers.d.ts +46 -15
  60. package/dist/types/core/client/plugins/vuetify.d.ts +14 -14
  61. package/dist/types/core/client/store/actions.d.ts +2 -0
  62. package/dist/types/core/client/store/stac.d.ts +16 -7
  63. package/dist/types/core/client/store/states.d.ts +4 -0
  64. package/dist/types/core/client/types.d.ts +170 -2
  65. package/dist/types/core/client/utils/bands-editor/arithmetic.d.ts +8 -0
  66. package/dist/types/core/client/utils/bands-editor/colors.d.ts +15 -0
  67. package/dist/types/core/client/utils/bands-editor/dom.d.ts +42 -0
  68. package/dist/types/core/client/utils/bands-editor/index.d.ts +20 -0
  69. package/dist/types/core/client/utils/bands-editor/rgb.d.ts +15 -0
  70. package/dist/types/core/client/utils/index.d.ts +1 -1
  71. package/dist/types/templates/baseConfig.d.ts +87 -1
  72. package/dist/types/templates/expert.d.ts +6 -6
  73. package/dist/types/templates/explore.d.ts +67 -0
  74. package/dist/types/templates/index.d.ts +1 -1
  75. package/dist/types/templates/{light.d.ts → lite.d.ts} +5 -5
  76. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +21 -0
  77. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +49 -0
  78. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +4 -0
  79. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +12 -0
  80. package/dist/types/widgets/EodashItemCatalog/types.d.ts +14 -0
  81. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +2 -0
  82. package/dist/types/widgets/EodashMap/index.vue.d.ts +108 -2
  83. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  84. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  85. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  86. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +7 -0
  87. package/dist/types/widgets/EodashTools.vue.d.ts +10 -10
  88. package/dist/types/widgets/ExportState.vue.d.ts +2 -0
  89. package/package.json +28 -27
  90. package/templates/baseConfig.js +10 -5
  91. package/templates/compare.js +2 -2
  92. package/templates/expert.js +5 -5
  93. package/templates/explore.js +62 -0
  94. package/templates/index.js +1 -1
  95. package/templates/{light.js → lite.js} +1 -1
  96. package/widgets/EodashDatePicker.vue +15 -18
  97. package/widgets/EodashItemCatalog/index.vue +161 -0
  98. package/widgets/EodashItemCatalog/methods/filters.js +216 -0
  99. package/widgets/EodashItemCatalog/methods/handlers.js +50 -0
  100. package/widgets/EodashItemCatalog/methods/map.js +144 -0
  101. package/widgets/EodashItemCatalog/types.ts +15 -0
  102. package/widgets/EodashItemFilter.vue +35 -28
  103. package/widgets/EodashLayerControl.vue +10 -6
  104. package/widgets/EodashLayoutSwitcher.vue +1 -1
  105. package/widgets/EodashMap/EodashMapBtns.vue +18 -9
  106. package/widgets/EodashMap/index.vue +22 -12
  107. package/widgets/EodashMap/methods/create-layers-config.js +9 -6
  108. package/widgets/EodashMap/methods/index.js +27 -13
  109. package/widgets/EodashProcess/index.vue +17 -1
  110. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +9 -3
  111. package/widgets/EodashProcess/methods/handling.js +2 -0
  112. package/widgets/EodashProcess/methods/outputs.js +1 -0
  113. package/widgets/EodashTimeSlider.vue +40 -0
  114. package/widgets/EodashTools.vue +7 -3
  115. package/widgets/ExportState.vue +53 -22
  116. package/dist/client/EodashLayerControl-BLBds28C.js +0 -154
  117. package/dist/client/EodashMapBtns-B89_YBDw.js +0 -326
  118. package/dist/client/MobileLayout-JelB6w1G.js +0 -118
  119. package/dist/client/asWebComponent-ZyEzWOOf.js +0 -19092
@@ -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 { Q as eoxLayersKey, P as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-ZyEzWOOf.js';
5
+ import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-CWbNRdf9.js';
6
6
  import { storeToRefs } from 'pinia';
7
- import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-vecpxThi.js';
8
- import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-BS24aG1q.js';
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';
9
9
  import { useEventBus } from '@vueuse/core';
10
- import { u as updateJobsStatus, d as download } from './async-B7jIrM53.js';
11
- import { D as compareIndicator, C as indicator, I as mapCompareEl, d as mapEl } from './helpers-wXK7Ywio.js';
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';
12
12
  import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
13
13
 
14
14
  /**
@@ -184,6 +184,10 @@ const jsonformEl =
184
184
  /** @type {Readonly<import("vue").ShallowRef<import("@eox/jsonform").EOxJSONForm | null>>} */ (
185
185
  useTemplateRef("jsonformEl")
186
186
  );
187
+ const chartElRef =
188
+ /** @type {Readonly<import("vue").ShallowRef<import("@eox/chart").EOxChart | null>>} */ (
189
+ useTemplateRef("chartElRef")
190
+ );
187
191
  const isAsync = computed(
188
192
  () =>
189
193
  selectedStac.value?.links.filter((l) => l.endpoint === "eoxhub_workspaces")
@@ -307,6 +311,15 @@ const chartStyles = computed(() => {
307
311
  return styles;
308
312
  });
309
313
 
314
+ // Assign chart element to global state based on compare mode
315
+ watch(chartElRef, (newVal) => {
316
+ if (__props.enableCompare) {
317
+ compareChartEl.value = newVal;
318
+ } else {
319
+ chartEl.value = newVal;
320
+ }
321
+ });
322
+
310
323
  return (_ctx, _cache) => {
311
324
 
312
325
 
@@ -326,6 +339,8 @@ return (_ctx, _cache) => {
326
339
  (isProcessed.value && chartSpec.value)
327
340
  ? (openBlock(), createElementBlock("eox-chart", {
328
341
  key: 1,
342
+ ref_key: "chartElRef",
343
+ ref: chartElRef,
329
344
  class: "chart",
330
345
  ".spec": toRaw(chartSpec.value),
331
346
  ".dataValues": toRaw(chartData.value),
@@ -344,11 +359,10 @@ return (_ctx, _cache) => {
344
359
  onClick: startProcess,
345
360
  color: "primary"
346
361
  }, {
347
- default: withCtx(() => _cache[1] || (_cache[1] = [
362
+ default: withCtx(() => [...(_cache[1] || (_cache[1] = [
348
363
  createTextVNode(" Execute ", -1 /* CACHED */)
349
- ])),
350
- _: 1 /* STABLE */,
351
- __: [1]
364
+ ]))]),
365
+ _: 1 /* STABLE */
352
366
  }, 8 /* PROPS */, ["loading", "append-icon"]))
353
367
  : createCommentVNode("v-if", true),
354
368
  (processResults.value.length && isProcessed.value && !isAsync.value)
@@ -358,11 +372,10 @@ return (_ctx, _cache) => {
358
372
  "append-icon": [unref(mdiDownloadCircleOutline)],
359
373
  onClick: downloadResults
360
374
  }, {
361
- default: withCtx(() => _cache[2] || (_cache[2] = [
375
+ default: withCtx(() => [...(_cache[2] || (_cache[2] = [
362
376
  createTextVNode(" Download ", -1 /* CACHED */)
363
- ])),
364
- _: 1 /* STABLE */,
365
- __: [2]
377
+ ]))]),
378
+ _: 1 /* STABLE */
366
379
  }, 8 /* PROPS */, ["append-icon"]))
367
380
  : createCommentVNode("v-if", true)
368
381
  ])
@@ -1,12 +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 { K as setMapProjFromCol, B as mapPosition, d as mapEl, I as mapCompareEl, C as indicator, D as compareIndicator, y as datetime } from './helpers-wXK7Ywio.js';
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';
5
5
  import { storeToRefs } from 'pinia';
6
- import { M as EodashCollection, E as useSTAcStore, N as useEmitLayersUpdate, O as isFirstLoad, P as useOnLayersUpdate, _ as _export_sfc, D as useDisplay, L as layerControlFormValue, K as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-ZyEzWOOf.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-CWbNRdf9.js';
7
7
  import log from 'loglevel';
8
- import { i as inAndOut, E as EodashMapBtns } from './EodashMapBtns-B89_YBDw.js';
8
+ import { i as inAndOut } from './easing-CH0-9wR8.js';
9
9
  import mustache from 'mustache';
10
+ import EodashMapBtns from './EodashMapBtns-Cj0Fx119.js';
10
11
 
11
12
  /**
12
13
  * Creates full layer configuration from indicator and time information
@@ -16,19 +17,19 @@ import mustache from 'mustache';
16
17
  * | null
17
18
  * } selectedIndicator
18
19
  * @param {EodashCollection[]} eodashCols
19
- * @param {string} [updatedTime]
20
+ * @param {string | import("stac-ts").StacItem | null} [timeOrItem] - time as a string, or a stac item
20
21
  */
21
22
 
22
23
  const createLayersConfig = async (
23
24
  selectedIndicator,
24
25
  eodashCols,
25
- updatedTime,
26
+ timeOrItem,
26
27
  ) => {
27
28
  log.debug(
28
29
  "Creating layers config",
29
30
  selectedIndicator,
30
31
  eodashCols,
31
- updatedTime,
32
+ timeOrItem,
32
33
  );
33
34
  const layersCollection = [];
34
35
  const dataLayers = {
@@ -42,11 +43,14 @@ const createLayersConfig = async (
42
43
  };
43
44
 
44
45
  for (const ec of eodashCols) {
46
+ /** @type {Record<string,any>[]} */
45
47
  let layers;
46
- if (updatedTime) {
47
- layers = await ec.createLayersJson(new Date(updatedTime));
48
+ if (timeOrItem) {
49
+ const dateOrItem =
50
+ typeof timeOrItem === "string" ? new Date(timeOrItem) : timeOrItem;
51
+ layers = await ec.createLayersJson(dateOrItem);
48
52
  } else {
49
- layers = await ec.createLayersJson();
53
+ layers = await ec.createLayersJson(undefined);
50
54
  }
51
55
  // Add expand to all analysis layers
52
56
  layers.forEach((dl) => {
@@ -209,6 +213,7 @@ const useHandleMapMoveEnd = (mapElement, mapPosition) => {
209
213
  * @param {import("vue").Ref<Record<string,any>[]>} mapLayers
210
214
  * @param {import("vue").Ref<import("@eox/map").EOxMap| null>} partnerMap
211
215
  * @param {boolean} zoomToExtent
216
+ * @param {import("vue").Ref<import("stac-ts").StacItem | import("stac-ts").StacLink | null>} [selectedItem]
212
217
  */
213
218
  const useInitMap = (
214
219
  mapElement,
@@ -218,6 +223,7 @@ const useInitMap = (
218
223
  mapLayers,
219
224
  partnerMap,
220
225
  zoomToExtent,
226
+ selectedItem,
221
227
  ) => {
222
228
  log.debug(
223
229
  "InitMap",
@@ -226,10 +232,22 @@ const useInitMap = (
226
232
  eodashCols.values,
227
233
  datetime.value,
228
234
  );
229
-
235
+ // watch selectedItem if provided
236
+ const watching = selectedItem
237
+ ? [selectedIndicator, datetime, selectedItem]
238
+ : [selectedIndicator, datetime];
230
239
  const stopIndicatorWatcher = watch(
231
- [selectedIndicator, datetime],
232
- async ([updatedStac, updatedTime], [previousStac, previousTime]) => {
240
+ watching,
241
+ async (updated, previous) => {
242
+ const [updatedStac, updatedTime, updatedItem] =
243
+ /** @type {[import("stac-ts").StacCollection, string, import("stac-ts").StacItem | null]} */ (
244
+ selectedItem ? updated : [updated[0], updated[1], null]
245
+ );
246
+ const [previousStac, previousTime, previousItem] =
247
+ /** @type {[import("stac-ts").StacCollection, string, import("stac-ts").StacItem]} */ (
248
+ selectedItem ? previous : [previous[0], previous[1], null]
249
+ );
250
+
233
251
  if (updatedStac) {
234
252
  log.debug(
235
253
  "Selected Indicator watch triggered",
@@ -249,7 +267,9 @@ const useInitMap = (
249
267
  let layersCollection = [];
250
268
 
251
269
  const onlyTimeChanged =
252
- updatedStac?.id === previousStac?.id && updatedTime !== previousTime;
270
+ updatedStac?.id === previousStac?.id &&
271
+ (updatedTime !== previousTime ||
272
+ (updatedItem && updatedItem?.id !== previousItem?.id));
253
273
 
254
274
  const { selectedCompareStac } = storeToRefs(useSTAcStore());
255
275
  if (mapElement?.value?.id === "main") {
@@ -266,12 +286,12 @@ const useInitMap = (
266
286
  }
267
287
  }
268
288
 
269
- // We re-crate the configuration if time changed
289
+ // We re-create the configuration if time changed
270
290
  if (onlyTimeChanged) {
271
291
  layersCollection = await createLayersConfig(
272
292
  updatedStac,
273
293
  eodashCols,
274
- updatedTime,
294
+ updatedItem ?? updatedTime,
275
295
  );
276
296
  log.debug(
277
297
  "Assigned layers after changing time only",
@@ -293,7 +313,7 @@ const useInitMap = (
293
313
  layersCollection = await createLayersConfig(
294
314
  updatedStac,
295
315
  eodashCols,
296
- datetime.value,
316
+ selectedItem ? updatedItem : updatedTime,
297
317
  );
298
318
 
299
319
  // We try to set the current time selection to latest extent date
@@ -308,6 +328,7 @@ const useInitMap = (
308
328
  );
309
329
  }
310
330
  if (
331
+ !updatedItem &&
311
332
  endInterval !== null &&
312
333
  endInterval.toISOString() !== datetime.value &&
313
334
  !isFirstLoad.value
@@ -319,6 +340,7 @@ const useInitMap = (
319
340
  // Try to move map view to extent only when main
320
341
  // indicator and map changes
321
342
  if (
343
+ !updatedItem &&
322
344
  mapElement?.value?.id === "main" &&
323
345
  updatedStac.extent?.spatial.bbox &&
324
346
  !(
@@ -329,12 +351,7 @@ const useInitMap = (
329
351
  ) {
330
352
  // Sanitize extent,
331
353
  const b = updatedStac.extent?.spatial.bbox[0];
332
- const sanitizedExtent = [
333
- b?.[0] > -180 ? b?.[0] : -180,
334
- b?.[1] > -90 ? b?.[1] : -90,
335
- b?.[2] < 180 ? b?.[2] : 180,
336
- b?.[3] < 90 ? b?.[3] : 90,
337
- ];
354
+ const sanitizedExtent = sanitizeBbox([...b]);
338
355
 
339
356
  const reprojExtent = mapElement.value?.transformExtent(
340
357
  sanitizedExtent,
@@ -390,7 +407,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
390
407
  });
391
408
  };
392
409
 
393
- const _style_0 = "#cursor-coordinates[data-v-8d648956]{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-8d648956]{display:none}}#scale-line[data-v-8d648956]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-8d648956]{bottom:102px}}[data-v-8d648956] .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-8d648956] .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-8d648956]{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-8d648956]>*{pointer-events:auto}";
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}";
394
411
 
395
412
  const _hoisted_1 = [".enabled"];
396
413
  const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
@@ -447,6 +464,18 @@ const _sfc_main = {
447
464
  }),
448
465
  },
449
466
  btns: {
467
+ /** @type {import("vue").PropType<{
468
+ * enableExportMap?: boolean;
469
+ * enableChangeProjection?: boolean;
470
+ * enableBackToPOIs?: boolean;
471
+ * enableSearch?: boolean;
472
+ * enableZoom?: boolean;
473
+ * enableCompareIndicators?: boolean | {
474
+ * compareTemplate?:string;
475
+ * fallbackTemplate?:string;
476
+ * itemFilterConfig?:InstanceType<import("../EodashItemFilter.vue").default>["$props"]
477
+ * };
478
+ * }> }*/
450
479
  type: Object,
451
480
  default: () => ({
452
481
  enableExportMap: true,
@@ -588,7 +617,8 @@ const showCompare = computed(() =>
588
617
  useHandleMapMoveEnd(eoxMap, mapPosition);
589
618
 
590
619
  onMounted(() => {
591
- const { selectedCompareStac, selectedStac } = storeToRefs(useSTAcStore());
620
+ const { selectedCompareStac, selectedStac, selectedItem } =
621
+ storeToRefs(useSTAcStore());
592
622
  // assign map Element state to eox map
593
623
  mapEl.value = eoxMap.value;
594
624
 
@@ -618,6 +648,7 @@ onMounted(() => {
618
648
  eoxMapLayers,
619
649
  compareMap,
620
650
  props.zoomToExtent,
651
+ selectedItem,
621
652
  );
622
653
  });
623
654
 
@@ -717,26 +748,22 @@ return (_ctx, _cache) => {
717
748
  class: "map-buttons-container",
718
749
  style: normalizeStyle(`margin: ${__props.btnsPosition.gap}px 0 ${__props.btnsPosition.gap}px 0`)
719
750
  }, [
751
+ createCommentVNode(" prettier-ignore "),
720
752
  createVNode(EodashMapBtns, {
721
753
  style: normalizeStyle({
722
- gridColumn: unref(indicator) || unref(compareIndicator) ? responsiveX.value : '12',
754
+ gridColumn: (unref(indicator) || unref(compareIndicator)) ? responsiveX.value : '12',
723
755
  gridRow: responsiveY.value,
724
756
  }),
725
757
  exportMap: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.exportMap : false,
726
- changeProjection:
727
- (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.changeProjection : false
758
+ changeProjection: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.changeProjection : false
728
759
  ,
729
- compareIndicators:
730
- (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.compareIndicators : false
760
+ compareIndicators: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.compareIndicators : false
731
761
  ,
732
- backToPOIs:
733
- (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.backToPOIs : false
762
+ backToPOIs: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.backToPOIs : false
734
763
  ,
735
- enableSearch:
736
- (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableSearch : false
764
+ enableSearch: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableSearch : false
737
765
  ,
738
- enableZoom:
739
- (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableZoom : false
766
+ enableZoom: (unref(indicator) || unref(compareIndicator)) ? btnsProps.value.enableZoom : false
740
767
 
741
768
  }, null, 8 /* PROPS */, ["style", "exportMap", "changeProjection", "compareIndicators", "backToPOIs", "enableSearch", "enableZoom"])
742
769
  ], 4 /* STYLE */)
@@ -745,6 +772,6 @@ return (_ctx, _cache) => {
745
772
  }
746
773
 
747
774
  };
748
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-8d648956"]]);
775
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-9484a41e"]]);
749
776
 
750
777
  export { index as default };
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent, render, h, mergeProps } from 'vue';
2
- import { W as consoleError, X as isObject } from './asWebComponent-ZyEzWOOf.js';
3
- import { V as VTooltip } from './VTooltip-J4ac48X7.js';
2
+ import { X as consoleError, Y as isObject } from './asWebComponent-CWbNRdf9.js';
3
+ import { V as VTooltip } from './VTooltip-Cze6CEVh.js';
4
4
 
5
5
  // Utilities
6
6
  function useDirectiveComponent(component, props) {