@eodash/eodash 5.7.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/core/client/components/EodashOverlay.vue +27 -4
  2. package/core/client/composables/DefineEodash.js +0 -1
  3. package/core/client/composables/DefineWidgets.js +3 -1
  4. package/core/client/eodashSTAC/EodashCollection.js +74 -20
  5. package/core/client/eodashSTAC/cql.js +64 -0
  6. package/core/client/eodashSTAC/createLayers.js +169 -116
  7. package/core/client/eodashSTAC/helpers.js +391 -98
  8. package/core/client/eodashSTAC/mosaic.js +416 -0
  9. package/core/client/plugins/axios.js +31 -1
  10. package/core/client/store/actions.js +1 -1
  11. package/core/client/store/stac.js +25 -4
  12. package/core/client/store/states.js +20 -2
  13. package/core/client/types.ts +147 -28
  14. package/core/client/utils/bands-editor/exampleSchema.json +50 -50
  15. package/core/client/utils/states.js +10 -0
  16. package/dist/client/{DashboardLayout-kRsmsNW5.js → DashboardLayout-ePbdvUTE.js} +2 -2
  17. package/dist/client/{DynamicWebComponent-CnKhYo0K.js → DynamicWebComponent-g5SdRbjY.js} +1 -1
  18. package/dist/client/{EodashChart-CLDqE93C.js → EodashChart-ChrkA5oS.js} +7 -6
  19. package/dist/client/{EodashDatePicker-CMPDT-ce.js → EodashDatePicker-CY1TrsDo.js} +3 -3
  20. package/dist/client/{EodashItemFilter-BpdA8QQa.js → EodashItemFilter-DzshHDlS.js} +2 -1
  21. package/dist/client/{EodashLayerControl-BHpDA4_0.js → EodashLayerControl-DMCeMkSd.js} +50 -20
  22. package/dist/client/{EodashLayoutSwitcher-B1fRUt7G.js → EodashLayoutSwitcher-iJ8mX1rF.js} +3 -3
  23. package/dist/client/{EodashMapBtns-Cpned0tc.js → EodashMapBtns-C7Cr7q5Y.js} +200 -86
  24. package/dist/client/EodashStacInfo-K7-iuXa7.js +169 -0
  25. package/dist/client/{EodashTools-1zHz26gv.js → EodashTools-BEK7e7JM.js} +4 -4
  26. package/dist/client/{ExportState-DbOm8hBI.js → ExportState-CqIzfMYQ.js} +6 -168
  27. package/dist/client/{Footer-BKg-VVkj.js → Footer-1P0cmBOZ.js} +1 -1
  28. package/dist/client/{Header-DCrwCvmY.js → Header-CkkBaBNh.js} +2 -2
  29. package/dist/client/{MobileLayout-vWSHpluo.js → MobileLayout-BPf49kDU.js} +2 -2
  30. package/dist/client/{PopUp-9uimfK49.js → PopUp-DPZq5SWI.js} +4 -168
  31. package/dist/client/{ProcessList-CTTIZa06.js → ProcessList-DuI6WpS1.js} +5 -5
  32. package/dist/client/VDivider-Bj9LG_JV.js +168 -0
  33. package/dist/client/{VImg-CrmB76ZY.js → VImg-Ddv5OyMz.js} +2 -2
  34. package/dist/client/{VMain-OKZNpcEG.js → VMain-7yqk_qC3.js} +1 -1
  35. package/dist/client/{VTooltip-CJw2FyWk.js → VTooltip-2hAJyEoa.js} +2 -2
  36. package/dist/client/{WidgetsContainer-BaWOnE5R.js → WidgetsContainer-2DOrlwCB.js} +1 -1
  37. package/dist/client/{asWebComponent-BHWpMuE3.js → asWebComponent-BlFN2lkB.js} +456 -306
  38. package/dist/client/{async-DSKj6g1f.js → async-B2H8ZwUK.js} +2 -2
  39. package/dist/client/{create-layers-config-CBoYedqB.js → create-layers-config-u_vn5hPk.js} +17 -17
  40. package/dist/client/dialog-transition-BrMkMiNa.js +170 -0
  41. package/dist/client/eo-dash.js +1 -1
  42. package/dist/client/{forwardRefs-DH51zPUr.js → forwardRefs-DAlror6d.js} +8 -87
  43. package/dist/client/{handling-BrcDDlgS.js → handling-B6I1V5eG.js} +3 -3
  44. package/dist/client/{helpers-DjZVl_WF.js → helpers-CBqIUSXJ.js} +794 -182
  45. package/dist/client/index-BWq1ZKaV.js +3168 -0
  46. package/dist/client/{index-CUjl-ZsI.js → index-CJ9UI3ln.js} +2 -2
  47. package/dist/client/{index-CSG_JoOA.js → index-DXLz4sFR.js} +62 -56
  48. package/dist/client/{index-1JKE68n3.js → index-DhKU6KqM.js} +211 -67
  49. package/dist/client/{index-Cu3-13Xg.js → index-DjQlbWbJ.js} +7 -6
  50. package/dist/client/mosaic-BFYLEwyx.js +455 -0
  51. package/dist/client/templates.js +250 -119
  52. package/dist/client/{transition-OHcz5Qq1.js → transition-D_W6Wn9v.js} +1 -1
  53. package/dist/node/cli.js +5 -5
  54. package/dist/node/types.d.ts +4 -0
  55. package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
  56. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +57 -25
  57. package/dist/types/core/client/eodashSTAC/cql.d.ts +15 -0
  58. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +42 -23
  59. package/dist/types/core/client/eodashSTAC/helpers.d.ts +77 -18
  60. package/dist/types/core/client/eodashSTAC/mosaic.d.ts +56 -0
  61. package/dist/types/core/client/store/stac.d.ts +31 -7
  62. package/dist/types/core/client/store/states.d.ts +24 -2
  63. package/dist/types/core/client/types.d.ts +123 -24
  64. package/dist/types/core/client/utils/states.d.ts +12 -0
  65. package/dist/types/templates/baseConfig.d.ts +1 -100
  66. package/dist/types/templates/compare.d.ts +32 -3
  67. package/dist/types/templates/expert.d.ts +18 -0
  68. package/dist/types/templates/explore.d.ts +9 -1
  69. package/dist/types/templates/lite.d.ts +11 -0
  70. package/dist/types/widgets/EodashChart.vue.d.ts +5 -3
  71. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +129 -2
  72. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +28 -6
  73. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +17 -4
  74. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +16 -4
  75. package/dist/types/widgets/EodashLayerControl.vue.d.ts +35 -16
  76. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +14 -10
  77. package/dist/types/widgets/EodashMap/index.vue.d.ts +86 -37
  78. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  79. package/dist/types/widgets/EodashMap/methods/index.d.ts +5 -1
  80. package/dist/types/widgets/EodashMap/methods/use-map-loading.d.ts +1 -0
  81. package/dist/types/widgets/EodashProcess/index.vue.d.ts +5 -3
  82. package/dist/types/widgets/EodashProcess/states.d.ts +1 -1
  83. package/dist/types/widgets/EodashStacInfo.vue.d.ts +20 -0
  84. package/dist/types/widgets/EodashTimeSlider/index.vue.d.ts +20 -0
  85. package/dist/types/widgets/EodashTimeSlider/methods/index.d.ts +3 -8
  86. package/dist/types/widgets/EodashTimeSlider/types.d.ts +6 -16
  87. package/dist/types/widgets/EodashTools.vue.d.ts +5 -5
  88. package/package.json +33 -33
  89. package/templates/baseConfig.js +36 -6
  90. package/templates/compare.js +62 -7
  91. package/templates/expert.js +23 -0
  92. package/templates/explore.js +11 -5
  93. package/templates/lite.js +14 -0
  94. package/widgets/EodashChart.vue +1 -0
  95. package/widgets/EodashItemCatalog/index.vue +363 -35
  96. package/widgets/EodashItemCatalog/methods/filters.js +134 -70
  97. package/widgets/EodashItemCatalog/methods/handlers.js +113 -19
  98. package/widgets/EodashItemCatalog/methods/map.js +142 -28
  99. package/widgets/EodashLayerControl.vue +42 -11
  100. package/widgets/EodashMap/EodashMapBtns.vue +109 -48
  101. package/widgets/EodashMap/index.vue +89 -105
  102. package/widgets/EodashMap/methods/btns.js +37 -5
  103. package/widgets/EodashMap/methods/create-layers-config.js +16 -16
  104. package/widgets/EodashMap/methods/index.js +71 -8
  105. package/widgets/EodashMap/methods/use-map-loading.js +52 -0
  106. package/widgets/EodashProcess/index.vue +1 -0
  107. package/widgets/EodashProcess/states.js +1 -1
  108. package/widgets/EodashStacInfo.vue +64 -2
  109. package/widgets/EodashTimeSlider/index.vue +58 -2
  110. package/widgets/EodashTimeSlider/methods/index.js +5 -48
  111. package/widgets/EodashTimeSlider/types.ts +7 -17
  112. package/dist/client/EodashStacInfo-BQspAHKH.js +0 -107
  113. package/dist/client/index-5Jhsa8Xe.js +0 -570
@@ -1,9 +1,11 @@
1
- import { withAsyncContext, computed, ref, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot, createElementVNode, toDisplayString, createCommentVNode } from 'vue';
1
+ import { withAsyncContext, computed, ref, watch, openBlock, createElementBlock, mergeProps, unref, createElementVNode, toDisplayString, createCommentVNode, createBlock } from 'vue';
2
2
  import 'color-legend-element';
3
3
  import '@eox/timecontrol';
4
- import { R as mapCompareEl, i as mapEl, S as getColFromLayer } from './helpers-DjZVl_WF.js';
5
- import { _ as _export_sfc, H as useSTAcStore, P as layerControlFormValueCompare, Q as layerControlFormValue, R as useEmitLayersUpdate, M as eodashCompareCollections, L as eodashCollections } from './asWebComponent-BHWpMuE3.js';
4
+ import { a1 as mapCompareEl, n as mapEl, a2 as updateGeoZarrBands, a3 as layerControlFormValueCompare, a4 as layerControlFormValue, a5 as getColFromLayer, P as eodashCompareCollections, S as eodashCollections } from './helpers-CBqIUSXJ.js';
6
5
  import { storeToRefs } from 'pinia';
6
+ import { _ as _export_sfc, H as useSTAcStore, aa as useEmitLayersUpdate } from './asWebComponent-BlFN2lkB.js';
7
+ import _sfc_main$1 from './EodashLayoutSwitcher-iJ8mX1rF.js';
8
+ import { mdiViewDashboard } from '@mdi/js';
7
9
 
8
10
  /**
9
11
  * Taken from jQuery 2.1.3
@@ -1367,35 +1369,53 @@ const bandsEditorInterface = [
1367
1369
  },
1368
1370
  ];
1369
1371
 
1370
- const _style_0 = "eox-layercontrol[data-v-cd4de44c]{overflow:auto}";
1372
+ const _style_0 = "eox-layercontrol[data-v-2e9372f7]{overflow:auto}";
1371
1373
 
1372
1374
  const _hoisted_1 = { class: "d-flex flex-column" };
1373
1375
  const _hoisted_2 = ["for", ".customEditorInterfaces"];
1374
1376
  const _hoisted_3 = {
1375
- key: 0,
1376
- class: "mt-2 mb-2"
1377
+ slot: "layerstitle",
1378
+ class: "d-flex justify-space-between ma-2 pa-2 flex-shrink-0"
1377
1379
  };
1380
+ const _hoisted_4 = { key: 0 };
1378
1381
 
1379
1382
 
1380
1383
  const _sfc_main = {
1381
1384
  __name: 'EodashLayerControl',
1382
1385
  props: {
1386
+ /** Which map instance this control is bound to. Use `"second"` in a compare-mode layout. */
1383
1387
  map: {
1384
1388
  /** @type {import("vue").PropType<"first" | "second">} */
1385
1389
  //@ts-expect-error todo
1386
1390
  type: String,
1387
1391
  default: "first",
1388
1392
  },
1393
+ /** Tool tabs shown inside `eox-layercontrol`. Remove entries to hide individual tabs. */
1389
1394
  tools: {
1390
- type: Array,
1395
+ type: /** @type {import("vue").PropType<string[]>} */ (Array),
1391
1396
  default: () => ["datetime", "info", "config", "legend", "opacity"],
1392
1397
  },
1398
+ /** Heading rendered above the layer list. Set to `false` to hide it. */
1393
1399
  title: {
1394
- type: String || Boolean,
1400
+ type: /** @type {import("vue").PropType<string | false>} */ ([
1401
+ String,
1402
+ Boolean,
1403
+ ]),
1395
1404
  default: "Layers",
1396
1405
  },
1406
+ /** CSS custom-property overrides forwarded to the underlying `eox-layercontrol` element via its `style` attribute. */
1397
1407
  cssVars: {
1398
- type: Object,
1408
+ type: /** @type {import("vue").PropType<Record<string, string>>} */ (
1409
+ Object
1410
+ ),
1411
+ default: {},
1412
+ },
1413
+ layoutIcon: {
1414
+ type: String,
1415
+ default: mdiViewDashboard,
1416
+ },
1417
+ layoutTarget: {
1418
+ type: String,
1399
1419
  },
1400
1420
  },
1401
1421
  async setup(__props) {
@@ -1424,6 +1444,10 @@ const config = {
1424
1444
  style: props.cssVars,
1425
1445
  };
1426
1446
 
1447
+ const enableLayoutSwitcher = computed(
1448
+ () => !!props.layoutTarget && !!props.layoutIcon,
1449
+ );
1450
+
1427
1451
  const { selectedCompareStac, selectedStac } = storeToRefs(useSTAcStore());
1428
1452
 
1429
1453
  const showControls = computed(() => {
@@ -1437,7 +1461,7 @@ const eodashCols =
1437
1461
  props.map === "second" ? eodashCompareCollections : eodashCollections;
1438
1462
  const mapElement = props.map === "second" ? mapCompareEl : mapEl;
1439
1463
 
1440
- /** @type { import("vue").Ref<HTMLElement & Record<string,any> | null>} */
1464
+ /** @type { import("vue").Ref<import("@eox/layercontrol").EOxLayerControl | null>} */
1441
1465
  const eoxLayercontrol = ref(null);
1442
1466
 
1443
1467
  // eox-timecontrol re-fires datetime:updated after layer reassignment;
@@ -1509,6 +1533,8 @@ const debouncedHandleDateTime = (evt) => {
1509
1533
  * @param {Event & {detail:{layer:import("ol/layer").Layer;jsonformValue:Record<string,any>}}} evt
1510
1534
  */
1511
1535
  const onLayerConfigChange = (evt) => {
1536
+ updateGeoZarrBands(evt.detail.layer, evt.detail.jsonformValue);
1537
+
1512
1538
  if (props.map === "second") {
1513
1539
  layerControlFormValueCompare.value = evt.detail.jsonformValue;
1514
1540
  } else {
@@ -1521,6 +1547,7 @@ return (_ctx, _cache) => {
1521
1547
  (showControls.value)
1522
1548
  ? (openBlock(), createElementBlock("eox-layercontrol", mergeProps({ key: unref(mapElement) }, config, {
1523
1549
  for: unref(mapElement),
1550
+ ".showLayerZoomState": true,
1524
1551
  ".customEditorInterfaces": unref(bandsEditorInterface),
1525
1552
  "onDatetime:updated": debouncedHandleDateTime,
1526
1553
  toolsAsList: "true",
@@ -1528,15 +1555,18 @@ return (_ctx, _cache) => {
1528
1555
  ref: eoxLayercontrol,
1529
1556
  "on:layerConfig:change": onLayerConfigChange
1530
1557
  }), [
1531
- renderSlot(_ctx.$slots, "layerstitle", {}, () => [
1532
- createElementVNode("div", null, [
1533
- (__props.title)
1534
- ? (openBlock(), createElementBlock("p", _hoisted_3, [
1535
- createElementVNode("strong", null, toDisplayString(__props.title), 1 /* TEXT */)
1536
- ]))
1537
- : createCommentVNode("v-if", true)
1538
- ])
1539
- ], true)
1558
+ createElementVNode("span", _hoisted_3, [
1559
+ (__props.title)
1560
+ ? (openBlock(), createElementBlock("h4", _hoisted_4, toDisplayString(__props.title), 1 /* TEXT */))
1561
+ : createCommentVNode("v-if", true),
1562
+ (enableLayoutSwitcher.value)
1563
+ ? (openBlock(), createBlock(_sfc_main$1, {
1564
+ key: 1,
1565
+ target: __props.layoutTarget,
1566
+ icon: __props.layoutIcon
1567
+ }, null, 8 /* PROPS */, ["target", "icon"]))
1568
+ : createCommentVNode("v-if", true)
1569
+ ])
1540
1570
  ], 48 /* FULL_PROPS, NEED_HYDRATION */, _hoisted_2))
1541
1571
  : createCommentVNode("v-if", true)
1542
1572
  ]))
@@ -1544,6 +1574,6 @@ return (_ctx, _cache) => {
1544
1574
  }
1545
1575
 
1546
1576
  };
1547
- const EodashLayerControl = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-cd4de44c"]]);
1577
+ const EodashLayerControl = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-2e9372f7"]]);
1548
1578
 
1549
1579
  export { EodashLayerControl as default };
@@ -1,8 +1,8 @@
1
1
  import { ref, openBlock, createElementBlock, unref, createBlock, withCtx, createVNode, mergeProps } from 'vue';
2
- import { C as activeTemplate } from './helpers-DjZVl_WF.js';
2
+ import { J as activeTemplate } from './helpers-CBqIUSXJ.js';
3
3
  import { mdiViewDashboard } from '@mdi/js';
4
- import { G as useDisplay, I as useTransparentPanel, K as VIcon } from './asWebComponent-BHWpMuE3.js';
5
- import { V as VTooltip } from './VTooltip-CJw2FyWk.js';
4
+ import { G as useDisplay, I as useTransparentPanel, K as VIcon } from './asWebComponent-BlFN2lkB.js';
5
+ import { V as VTooltip } from './VTooltip-2hAJyEoa.js';
6
6
 
7
7
  const _sfc_main = {
8
8
  __name: 'EodashLayoutSwitcher',