@eodash/eodash 5.3.3 → 5.4.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.
- package/core/client/composables/DefineEodash.js +3 -1
- package/core/client/eodashSTAC/EodashCollection.js +18 -35
- package/core/client/eodashSTAC/createLayers.js +278 -135
- package/core/client/eodashSTAC/helpers.js +53 -40
- package/core/client/eodashSTAC/parquet.js +1 -0
- package/core/client/eodashSTAC/triggers.js +7 -6
- package/core/client/types.ts +3 -1
- package/dist/client/{DashboardLayout-Cp8Rv3Ef.js → DashboardLayout-CQOGHPW_.js} +2 -2
- package/dist/client/{DynamicWebComponent-CBsxC82P.js → DynamicWebComponent-CoLO8FEf.js} +1 -1
- package/dist/client/{EodashDatePicker-Dewym-cx.js → EodashDatePicker-BZeQ6bcu.js} +3 -3
- package/dist/client/{EodashItemFilter-CAsZpOoQ.js → EodashItemFilter-CmZkk7GK.js} +1 -1
- package/dist/client/{EodashLayerControl-fn-rt8Ac.js → EodashLayerControl-D54fY-bX.js} +2 -2
- package/dist/client/{EodashLayoutSwitcher-B9XqQXCS.js → EodashLayoutSwitcher-BCP3FvDb.js} +3 -3
- package/dist/client/{EodashMapBtns-nFY6MIAX.js → EodashMapBtns-D-HulIl1.js} +14 -9
- package/dist/client/{EodashStacInfo-lxBKoav9.js → EodashStacInfo-BZbmT8vT.js} +1 -1
- package/dist/client/{EodashTimeSlider-DI97QkNT.js → EodashTimeSlider-DIcAJr6D.js} +2 -2
- package/dist/client/{EodashTools-D5ShUT1g.js → EodashTools-Cz6X6hsF.js} +4 -4
- package/dist/client/{ExportState-ruNyRS2E.js → ExportState-DFVFAgKz.js} +4 -4
- package/dist/client/{Footer-IQNyfd78.js → Footer-DLzQcjkI.js} +1 -1
- package/dist/client/{Header-BBdi_-Lp.js → Header-_D9Z-zFJ.js} +2 -2
- package/dist/client/{MobileLayout-BfBeF-JF.js → MobileLayout-3Ko9XSfO.js} +2 -2
- package/dist/client/{PopUp-DRgOmD7-.js → PopUp-DwI8V2gW.js} +2 -2
- package/dist/client/{ProcessList-DxyCFQdz.js → ProcessList-C9eAg2Sb.js} +4 -4
- package/dist/client/{VImg-hwmwzSwG.js → VImg-COXTnCWE.js} +2 -2
- package/dist/client/{VMain-vk4-rkw-.js → VMain-C74l1bv-.js} +1 -1
- package/dist/client/{VTooltip-BYUZeia1.js → VTooltip-BLS-cQ9N.js} +2 -2
- package/dist/client/{WidgetsContainer-DXD_8rqh.js → WidgetsContainer-D-VfMRxE.js} +1 -1
- package/dist/client/{asWebComponent-DdguWGDI.js → asWebComponent-Bw03Jutr.js} +304 -181
- package/dist/client/{async-D1MvO_Z_.js → async-D4G-FOIc.js} +13 -3
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-DM-E2MfG.js → forwardRefs-CRMFoNYN.js} +2 -2
- package/dist/client/{handling-CbgeKrqT.js → handling-DTAhQuPh.js} +94 -10
- package/dist/client/{helpers-CtUlAW0N.js → helpers-CsjKHAcK.js} +60 -47
- package/dist/client/{index-BJvLt3Xf.js → index-BHilH1qx.js} +17 -13
- package/dist/client/{index-BkW06-Lg.js → index-BIcmbjr0.js} +34 -7
- package/dist/client/{index-BxDh5v-H.js → index-BoCcZ0l4.js} +3 -3
- package/dist/client/{index-DBo0F4Fv.js → index-DEmHaCL3.js} +2 -2
- package/dist/client/templates.js +5 -1
- package/dist/client/{transition-BdzATvPB.js → transition-6MJLK-_H.js} +1 -1
- package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +27 -11
- package/dist/types/core/client/eodashSTAC/createLayers.d.ts +30 -23
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +10 -4
- package/dist/types/core/client/types.d.ts +1 -1
- package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +2 -0
- package/dist/types/widgets/EodashMap/index.vue.d.ts +2 -0
- package/dist/types/widgets/EodashProcess/methods/handling.d.ts +13 -0
- package/dist/types/widgets/EodashProcess/methods/utils.d.ts +1 -0
- package/package.json +1 -1
- package/templates/expert.js +4 -0
- package/widgets/EodashMap/EodashMapBtns.vue +15 -0
- package/widgets/EodashMap/index.vue +4 -0
- package/widgets/EodashMap/methods/create-layers-config.js +23 -0
- package/widgets/EodashProcess/index.vue +1 -9
- package/widgets/EodashProcess/methods/composables.js +13 -1
- package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +15 -6
- package/widgets/EodashProcess/methods/handling.js +77 -0
- package/widgets/EodashProcess/methods/utils.js +10 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { P as useEmitLayersUpdate } from './asWebComponent-
|
|
1
|
+
import { s as getCompareLayers, q as getLayers, W as replaceLayer, b as extractLayerConfig, x as extractLayerLegend, m as mergeGeojsons, d as axios, X as axios$1, I as compareIndicator, G as indicator } from './helpers-CsjKHAcK.js';
|
|
2
|
+
import { P as useEmitLayersUpdate } from './asWebComponent-Bw03Jutr.js';
|
|
3
3
|
import { isMulti } from '@eox/jsonform/src/custom-inputs/spatial/utils';
|
|
4
4
|
import log from 'loglevel';
|
|
5
5
|
|
|
@@ -502,6 +502,16 @@ function extractAsyncResults(resultItem) {
|
|
|
502
502
|
}
|
|
503
503
|
return extracted;
|
|
504
504
|
}
|
|
505
|
+
|
|
506
|
+
/** @param {*} jsonformSchema */
|
|
507
|
+
const getDrawToolsProperty = (jsonformSchema) => {
|
|
508
|
+
for (const property in jsonformSchema.properties) {
|
|
509
|
+
if (jsonformSchema.properties[property]?.options?.drawtools) {
|
|
510
|
+
return property;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
};
|
|
514
|
+
|
|
505
515
|
/**
|
|
506
516
|
* @param {import("@eox/map").EOxMap | null} mapElement
|
|
507
517
|
* @param {import("@eox/map").EoxLayer[]} processLayers
|
|
@@ -801,4 +811,4 @@ const getJobStatusUrl = (jobID, indicator) => {
|
|
|
801
811
|
return jobUrl;
|
|
802
812
|
};
|
|
803
813
|
|
|
804
|
-
export { creatAsyncProcessLayerDefinitions as a,
|
|
814
|
+
export { creatAsyncProcessLayerDefinitions as a, getBboxProperty as b, createTiffLayerDefinition as c, download as d, extractAsyncResults as e, generateTimePairs as f, getDrawToolsProperty as g, updateJsonformSchemaTarget as h, extractGeometries as i, applyProcessLayersToMap as j, getJobStatusUrl as k, loadProcess as l, downloadPreviousResults as m, deleteJob as n, pollProcessStatus as p, separateEndpointLinks as s, updateJobsStatus as u };
|
package/dist/client/eo-dash.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { aI as EodashConstructor, aH as register, aJ as store } from './asWebComponent-
|
|
1
|
+
export { aI as EodashConstructor, aH as register, aJ as store } from './asWebComponent-Bw03Jutr.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-
|
|
3
|
-
import { m as makeTransitionProps, M as MaybeTransition } from './transition-
|
|
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-Bw03Jutr.js';
|
|
3
|
+
import { m as makeTransitionProps, M as MaybeTransition } from './transition-6MJLK-_H.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,
|
|
3
|
-
import {
|
|
2
|
+
import { s as separateEndpointLinks, c as createTiffLayerDefinition, p as pollProcessStatus, e as extractAsyncResults, u as updateJobsStatus, a as creatAsyncProcessLayerDefinitions, b as getBboxProperty, f as generateTimePairs, h as updateJsonformSchemaTarget, i as extractGeometries, j as applyProcessLayersToMap, g as getDrawToolsProperty } from './async-D4G-FOIc.js';
|
|
3
|
+
import { d as axios, b as extractLayerConfig, I as compareIndicator, G as indicator, y as extractCollectionUrls, H as currentCompareUrl, B as currentUrl, z as generateLinksFromItems, o as getDatetimeProperty, C as datetime, J as comparePoi, q as getLayers, D as poi } from './helpers-CsjKHAcK.js';
|
|
4
4
|
import mustache from 'mustache';
|
|
5
|
-
import { Q as isFirstLoad, E as useSTAcStore, S as readParquetItems, T as useGetSubCodeId } from './asWebComponent-
|
|
5
|
+
import { Q as isFirstLoad, E as useSTAcStore, S as readParquetItems, T as useGetSubCodeId } from './asWebComponent-Bw03Jutr.js';
|
|
6
6
|
import { toAbsolute } from 'stac-js/src/http.js';
|
|
7
7
|
|
|
8
8
|
////// --- CHARTS --- //////
|
|
@@ -797,7 +797,7 @@ async function handleVedaEndpoint({
|
|
|
797
797
|
enableCompare = false,
|
|
798
798
|
}) {
|
|
799
799
|
const vedaLink = links.find(
|
|
800
|
-
(link) => link.rel === "service" && link.endpoint === "veda",
|
|
800
|
+
(link) => link.rel === "service" && (link.endpoint === "veda" || link.endpoint === "veda_stac"),
|
|
801
801
|
);
|
|
802
802
|
if (!vedaLink) {
|
|
803
803
|
return;
|
|
@@ -810,12 +810,17 @@ async function handleVedaEndpoint({
|
|
|
810
810
|
const configs = await fetchVedaCOGsConfig(
|
|
811
811
|
selectedStac,
|
|
812
812
|
enableCompare ? currentCompareUrl.value : currentUrl.value,
|
|
813
|
+
vedaLink,
|
|
813
814
|
);
|
|
814
815
|
// TODO: convert jsonform bbox type to geojson in the schema to avoid the conversion here
|
|
815
816
|
return await Promise.all(
|
|
816
817
|
configs.map(({ endpoint, datetime }) => {
|
|
818
|
+
const url = new URL(vedaEndpoint);
|
|
819
|
+
const key = vedaLink.endpoint === "veda_stac" ? "ids" : "url";
|
|
820
|
+
url.searchParams.set(key, endpoint);
|
|
821
|
+
|
|
817
822
|
return axios
|
|
818
|
-
.post(
|
|
823
|
+
.post(url.toString(), {
|
|
819
824
|
...{
|
|
820
825
|
type: "Feature",
|
|
821
826
|
properties: {},
|
|
@@ -841,8 +846,9 @@ async function handleVedaEndpoint({
|
|
|
841
846
|
* Fetches the COGs endpoints from the STAC collections
|
|
842
847
|
* @param {import("stac-ts").StacCollection} selectedStac
|
|
843
848
|
* @param {string} absoluteUrl
|
|
849
|
+
* @param {import("stac-ts").StacLink} vedaLink
|
|
844
850
|
*/
|
|
845
|
-
async function fetchVedaCOGsConfig(selectedStac, absoluteUrl) {
|
|
851
|
+
async function fetchVedaCOGsConfig(selectedStac, absoluteUrl, vedaLink) {
|
|
846
852
|
// retrieve the collections from the indicator
|
|
847
853
|
const collectionLinks = selectedStac.links.filter(
|
|
848
854
|
(link) => link.rel == "child",
|
|
@@ -888,10 +894,13 @@ async function fetchVedaCOGsConfig(selectedStac, absoluteUrl) {
|
|
|
888
894
|
);
|
|
889
895
|
const itemLinks = collection.links.filter((link) => link.rel == "item");
|
|
890
896
|
configs.push(
|
|
891
|
-
...itemLinks.map((link) =>
|
|
892
|
-
endpoint
|
|
897
|
+
...itemLinks.map((link) => {
|
|
898
|
+
const endpoint = /** @type {string} */ (vedaLink.endpoint === "veda_stac" ? link.id : link["cog_href"]);
|
|
899
|
+
return {
|
|
900
|
+
endpoint,
|
|
893
901
|
datetime: /** @type string **/ (link[datetimeProperty]),
|
|
894
|
-
}
|
|
902
|
+
}
|
|
903
|
+
})
|
|
895
904
|
);
|
|
896
905
|
}
|
|
897
906
|
|
|
@@ -998,6 +1007,13 @@ async function initProcess({
|
|
|
998
1007
|
|
|
999
1008
|
await jsonformEl.value?.editor.destroy();
|
|
1000
1009
|
if (updatedJsonform) {
|
|
1010
|
+
// make sure correct target layer id is used in jsonform
|
|
1011
|
+
if (updatedJsonform.properties?.feature?.options?.drawtools?.layerId) {
|
|
1012
|
+
await updateJsonformIdentifier({
|
|
1013
|
+
jsonformSchema,
|
|
1014
|
+
newLayers: await getLayers(),
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1001
1017
|
if (enableCompare) {
|
|
1002
1018
|
updatedJsonform = updateJsonformSchemaTarget(updatedJsonform);
|
|
1003
1019
|
}
|
|
@@ -1005,6 +1021,74 @@ async function initProcess({
|
|
|
1005
1021
|
}
|
|
1006
1022
|
}
|
|
1007
1023
|
|
|
1024
|
+
/**
|
|
1025
|
+
* Update the jsonform schema to have the correct layer id from the map
|
|
1026
|
+
*
|
|
1027
|
+
* @export
|
|
1028
|
+
* @async
|
|
1029
|
+
* @param {Object} params
|
|
1030
|
+
* @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema params.jsonformSchema
|
|
1031
|
+
* @param {Record<string, any>[] | undefined} params.newLayers params.newLayers
|
|
1032
|
+
*/
|
|
1033
|
+
async function updateJsonformIdentifier({ jsonformSchema, newLayers }) {
|
|
1034
|
+
const form = jsonformSchema.value;
|
|
1035
|
+
if (!form) {
|
|
1036
|
+
return;
|
|
1037
|
+
}
|
|
1038
|
+
const drawToolsProperty = getDrawToolsProperty(form);
|
|
1039
|
+
if (
|
|
1040
|
+
drawToolsProperty &&
|
|
1041
|
+
newLayers &&
|
|
1042
|
+
form?.properties[drawToolsProperty]?.options?.drawtools?.layerId
|
|
1043
|
+
) {
|
|
1044
|
+
// get partial or full id and try to match with correct eoxmap layer
|
|
1045
|
+
// check if newLayers is an array or an object with layers property
|
|
1046
|
+
let layers = newLayers;
|
|
1047
|
+
// @ts-expect-error TODO payload coming from time update sometimes is not an object with layers property
|
|
1048
|
+
if (newLayers.layers && Array.isArray(newLayers.layers)) {
|
|
1049
|
+
// @ts-expect-error TODO payload coming from time update sometimes is not an object with layers property
|
|
1050
|
+
layers = newLayers.layers;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
const layerId =
|
|
1054
|
+
form.properties[drawToolsProperty].options.drawtools.layerId.split(
|
|
1055
|
+
";:;",
|
|
1056
|
+
)[0];
|
|
1057
|
+
let matchedLayerId = null;
|
|
1058
|
+
// layers are not flat can be grouped, we need to recursively search
|
|
1059
|
+
const traverseLayers = (
|
|
1060
|
+
/** @type {Record<string, any>[] | undefined} */ layersArray,
|
|
1061
|
+
) => {
|
|
1062
|
+
if (!layersArray) {
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1065
|
+
for (const layer of layersArray) {
|
|
1066
|
+
if (layer.layers) {
|
|
1067
|
+
// @ts-expect-error TODO payload coming from time update events is not an object with layers property
|
|
1068
|
+
traverseLayers(layer);
|
|
1069
|
+
} else {
|
|
1070
|
+
if (layer.properties?.id?.startsWith(layerId)) {
|
|
1071
|
+
matchedLayerId = layer.properties.id;
|
|
1072
|
+
break;
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
};
|
|
1077
|
+
traverseLayers(layers);
|
|
1078
|
+
if (matchedLayerId) {
|
|
1079
|
+
form.properties.feature.options.drawtools.layerId = matchedLayerId;
|
|
1080
|
+
// trigger jsonform update in next tick
|
|
1081
|
+
jsonformSchema.value = null;
|
|
1082
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
1083
|
+
jsonformSchema.value = form;
|
|
1084
|
+
} else {
|
|
1085
|
+
throw new Error(
|
|
1086
|
+
`Could not find matching layer for processing form with id: ${layerId}`,
|
|
1087
|
+
);
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1008
1092
|
/**
|
|
1009
1093
|
*
|
|
1010
1094
|
* @param {object} params
|
|
@@ -1230,4 +1314,4 @@ const loadPOiIndicator = () => {
|
|
|
1230
1314
|
}
|
|
1231
1315
|
};
|
|
1232
1316
|
|
|
1233
|
-
export { handleProcesses as h, initProcess as i, loadPOiIndicator as l, onChartClick as o };
|
|
1317
|
+
export { handleProcesses as h, initProcess as i, loadPOiIndicator as l, onChartClick as o, updateJsonformIdentifier as u };
|
|
@@ -4073,25 +4073,25 @@ function getStyleVariablesState(collectionId, variables) {
|
|
|
4073
4073
|
"",
|
|
4074
4074
|
"",
|
|
4075
4075
|
];
|
|
4076
|
-
return
|
|
4077
|
-
collection === collectionId &&
|
|
4078
|
-
["Vector", "WebGLTile", "VectorTile"].includes(layer?.type ?? "")
|
|
4079
|
-
);
|
|
4076
|
+
return collection === collectionId;
|
|
4080
4077
|
});
|
|
4081
4078
|
|
|
4082
4079
|
if (!matchingLayer) {
|
|
4083
4080
|
return variables;
|
|
4084
4081
|
}
|
|
4082
|
+
// TODO instead tap into store for changed variables state per layer
|
|
4083
|
+
// because XYZ and WMTS use tileurlfunction update, where we can not retrieve
|
|
4084
|
+
// current values from OL layers anyhow
|
|
4085
4085
|
|
|
4086
4086
|
const olLayer = mapElement.getLayerById(matchingLayer.properties?.id ?? "");
|
|
4087
|
-
|
|
4087
|
+
let oldVariablesState =
|
|
4088
4088
|
/** @type {import("ol/layer").Vector} */ (
|
|
4089
4089
|
olLayer
|
|
4090
4090
|
//@ts-expect-error variables doesn't exist in non-flat style
|
|
4091
4091
|
).getStyle?.()?.variables ??
|
|
4092
4092
|
//@ts-expect-error (styleVariables_ is a private property)
|
|
4093
4093
|
/** @type {import("ol/layer").WebGLTile} */ (olLayer).styleVariables_;
|
|
4094
|
-
|
|
4094
|
+
|
|
4095
4095
|
if (!oldVariablesState) {
|
|
4096
4096
|
return variables;
|
|
4097
4097
|
}
|
|
@@ -4145,13 +4145,14 @@ function generateFeatures(links, extraProperties = {}, rel = "item") {
|
|
|
4145
4145
|
}
|
|
4146
4146
|
|
|
4147
4147
|
/**
|
|
4148
|
-
*
|
|
4148
|
+
* Spearates and extracts layerConfig (jsonform schema & legend) from a style json
|
|
4149
4149
|
*
|
|
4150
4150
|
* @param {string} collectionId
|
|
4151
4151
|
* @param { import("@/types").EodashStyleJson} [style]
|
|
4152
4152
|
* @param {Record<string,any>} [rasterJsonform]
|
|
4153
|
+
* @param {string} [layerConfigType]
|
|
4153
4154
|
* */
|
|
4154
|
-
function extractLayerConfig(collectionId, style, rasterJsonform) {
|
|
4155
|
+
function extractLayerConfig(collectionId, style, rasterJsonform, layerConfigType) {
|
|
4155
4156
|
if (!style && !rasterJsonform) {
|
|
4156
4157
|
return { layerConfig: undefined, style: undefined };
|
|
4157
4158
|
}
|
|
@@ -4159,6 +4160,10 @@ function extractLayerConfig(collectionId, style, rasterJsonform) {
|
|
|
4159
4160
|
style = { ...style };
|
|
4160
4161
|
}
|
|
4161
4162
|
|
|
4163
|
+
if (style?.variables && Object.keys(style.variables ?? {}).length) {
|
|
4164
|
+
style.variables = getStyleVariablesState(collectionId, style.variables);
|
|
4165
|
+
}
|
|
4166
|
+
|
|
4162
4167
|
if (rasterJsonform) {
|
|
4163
4168
|
return {
|
|
4164
4169
|
layerConfig: {
|
|
@@ -4170,16 +4175,12 @@ function extractLayerConfig(collectionId, style, rasterJsonform) {
|
|
|
4170
4175
|
};
|
|
4171
4176
|
}
|
|
4172
4177
|
|
|
4173
|
-
if (style?.variables && Object.keys(style.variables ?? {}).length) {
|
|
4174
|
-
style.variables = getStyleVariablesState(collectionId, style.variables);
|
|
4175
|
-
}
|
|
4176
|
-
|
|
4177
4178
|
/** @type {Record<string,unknown> | undefined} */
|
|
4178
4179
|
let layerConfig = undefined;
|
|
4179
4180
|
|
|
4180
4181
|
if (style?.jsonform) {
|
|
4181
4182
|
// this explicitly sets legend only if jsonform is configured
|
|
4182
|
-
layerConfig = { schema: style.jsonform, type: "style" };
|
|
4183
|
+
layerConfig = { schema: style.jsonform, type: layerConfigType || "style" };
|
|
4183
4184
|
delete style.jsonform;
|
|
4184
4185
|
if (style?.legend) {
|
|
4185
4186
|
layerConfig.legend = style.legend;
|
|
@@ -4193,6 +4194,7 @@ function extractLayerConfig(collectionId, style, rasterJsonform) {
|
|
|
4193
4194
|
|
|
4194
4195
|
return { layerConfig, style };
|
|
4195
4196
|
}
|
|
4197
|
+
|
|
4196
4198
|
/**
|
|
4197
4199
|
*
|
|
4198
4200
|
* @param {number[]} bbox
|
|
@@ -4267,35 +4269,38 @@ const extractRoles = (properties, linkOrAsset) => {
|
|
|
4267
4269
|
|
|
4268
4270
|
/**
|
|
4269
4271
|
* Extracts a single non-link style JSON from a STAC Item optionally for a selected key mapping
|
|
4270
|
-
* @param {import("stac-ts").StacItem}
|
|
4271
|
-
* @param {string}
|
|
4272
|
-
* @param {string | undefined}
|
|
4272
|
+
* @param { import("stac-ts").StacItem | import("stac-ts").StacCollection } stacObject
|
|
4273
|
+
* @param {string | undefined} linkKey
|
|
4274
|
+
* @param {string | undefined} assetKey
|
|
4273
4275
|
* @returns
|
|
4274
4276
|
**/
|
|
4275
|
-
const fetchStyle = async (
|
|
4277
|
+
const fetchStyle = async (
|
|
4278
|
+
stacObject,
|
|
4279
|
+
linkKey = undefined,
|
|
4280
|
+
assetKey = undefined,
|
|
4281
|
+
) => {
|
|
4276
4282
|
let styleLink = null;
|
|
4277
|
-
if (
|
|
4278
|
-
styleLink =
|
|
4283
|
+
if (linkKey) {
|
|
4284
|
+
styleLink = stacObject.links.find(
|
|
4279
4285
|
(link) =>
|
|
4280
4286
|
link.rel.includes("style") &&
|
|
4281
4287
|
link["links:keys"] &&
|
|
4282
|
-
/** @type {Array<string>} */ (link["links:keys"]).includes(
|
|
4288
|
+
/** @type {Array<string>} */ (link["links:keys"]).includes(linkKey),
|
|
4283
4289
|
);
|
|
4284
|
-
} else {
|
|
4285
|
-
styleLink =
|
|
4286
|
-
(link) =>
|
|
4290
|
+
} else if (assetKey) {
|
|
4291
|
+
styleLink = stacObject.links.find(
|
|
4292
|
+
(link) =>
|
|
4293
|
+
link.rel.includes("style") &&
|
|
4294
|
+
link["asset:keys"] &&
|
|
4295
|
+
/** @type {Array<string>} */ (link["asset:keys"]).includes(assetKey),
|
|
4287
4296
|
);
|
|
4297
|
+
} else {
|
|
4298
|
+
log.debug("Neither link key, nor asset key input, can not match any style to layer.", stacObject.id);
|
|
4299
|
+
return {};
|
|
4288
4300
|
}
|
|
4289
4301
|
if (styleLink) {
|
|
4290
|
-
let url = "";
|
|
4291
|
-
if (styleLink.href.startsWith("http")) {
|
|
4292
|
-
url = styleLink.href;
|
|
4293
|
-
} else {
|
|
4294
|
-
url = toAbsolute(styleLink.href, itemUrl);
|
|
4295
|
-
}
|
|
4296
|
-
|
|
4297
4302
|
/** @type {import("@/types").EodashStyleJson} */
|
|
4298
|
-
const styleJson = await axios.get(
|
|
4303
|
+
const styleJson = await axios.get(styleLink.href).then((resp) => resp.data);
|
|
4299
4304
|
|
|
4300
4305
|
log.debug("fetched styles JSON", JSON.parse(JSON.stringify(styleJson)));
|
|
4301
4306
|
return { ...styleJson };
|
|
@@ -4304,18 +4309,15 @@ const fetchStyle = async (item, itemUrl, key = undefined) => {
|
|
|
4304
4309
|
|
|
4305
4310
|
/**
|
|
4306
4311
|
* Fetches all style JSONs from a STAC Item and returns an array with style objects
|
|
4307
|
-
* @param {import("stac-ts").StacItem}
|
|
4308
|
-
* @param {string} itemUrl
|
|
4312
|
+
* @param {import("stac-ts").StacItem | import("stac-ts").StacCollection} stacObject
|
|
4309
4313
|
* @returns { Promise <Array<import("@/types").EodashStyleJson>>}
|
|
4310
4314
|
**/
|
|
4311
|
-
const fetchAllStyles = async (
|
|
4312
|
-
const styleLinks =
|
|
4315
|
+
const fetchAllStyles = async (stacObject) => {
|
|
4316
|
+
const styleLinks = stacObject.links.filter((link) =>
|
|
4317
|
+
link.rel.includes("style"),
|
|
4318
|
+
);
|
|
4313
4319
|
const fetchPromises = styleLinks.map(async (link) => {
|
|
4314
|
-
|
|
4315
|
-
? link.href
|
|
4316
|
-
: toAbsolute(link.href, itemUrl);
|
|
4317
|
-
|
|
4318
|
-
const styleJson = await axios.get(url).then((resp) => resp.data);
|
|
4320
|
+
const styleJson = await axios.get(link.href).then((resp) => resp.data);
|
|
4319
4321
|
log.debug("fetched styles JSON", JSON.parse(JSON.stringify(styleJson)));
|
|
4320
4322
|
return styleJson;
|
|
4321
4323
|
});
|
|
@@ -4571,15 +4573,11 @@ const replaceLayer = (currentLayers, oldLayer, newLayers) => {
|
|
|
4571
4573
|
* @param {import('ol/layer').Layer} layer
|
|
4572
4574
|
*/
|
|
4573
4575
|
const getColFromLayer = async (indicators, layer) => {
|
|
4574
|
-
const [collectionId
|
|
4576
|
+
const [collectionId] = layer.get("id").split(";:;");
|
|
4575
4577
|
|
|
4576
4578
|
for (const ind of indicators) {
|
|
4577
4579
|
if (ind.collectionStac?.id !== collectionId) continue;
|
|
4578
|
-
|
|
4579
|
-
const itemIds = items?.map((item) => item.id || item.datetime) ?? [];
|
|
4580
|
-
if (itemIds.includes(itemId)) {
|
|
4581
|
-
return ind;
|
|
4582
|
-
}
|
|
4580
|
+
return ind;
|
|
4583
4581
|
}
|
|
4584
4582
|
};
|
|
4585
4583
|
|
|
@@ -4926,4 +4924,19 @@ function extractLayerLegend(collection) {
|
|
|
4926
4924
|
return extraProperties;
|
|
4927
4925
|
}
|
|
4928
4926
|
|
|
4929
|
-
|
|
4927
|
+
|
|
4928
|
+
/**
|
|
4929
|
+
* @param { import ("stac-ts").StacLink } link
|
|
4930
|
+
* @returns {object}
|
|
4931
|
+
*/
|
|
4932
|
+
function extractEoxLegendLink(link) {
|
|
4933
|
+
let extraProperties = {};
|
|
4934
|
+
if (link["eox:colorlegend"]) {
|
|
4935
|
+
extraProperties = {
|
|
4936
|
+
layerLegend: link["eox:colorlegend"],
|
|
4937
|
+
};
|
|
4938
|
+
}
|
|
4939
|
+
return extraProperties;
|
|
4940
|
+
}
|
|
4941
|
+
|
|
4942
|
+
export { revokeCollectionBlobUrls as A, currentUrl as B, datetime as C, poi as D, activeTemplate as E, mapPosition as F, indicator as G, currentCompareUrl as H, compareIndicator as I, comparePoi as J, states as K, actions as L, includesProcess as M, sanitizeBbox as N, mapCompareEl as O, getColFromLayer as P, setMapProjFromCol as Q, availableMapProjection as R, changeMapProjection as S, setActiveTemplate as T, compareChartEl as U, chartEl as V, replaceLayer as W, axios$1 as X, removeUnneededProperties as Y, getChartSpec as Z, extractEoxLegendLink as a, extractLayerConfig as b, createLayerID as c, axios as d, extractRoles as e, fetchStyle as f, getProjectionCode as g, addTooltipInteraction as h, createAssetID as i, mapEl as j, isSTACItem as k, extractLayerTimeValues as l, mergeGeojsons as m, fetchApiItems as n, getDatetimeProperty as o, fetchAllStyles as p, getLayers as q, registerProjection as r, getCompareLayers as s, findLayer as t, findLayersByLayerPrefix as u, replaceLayersInStructure as v, generateFeatures as w, extractLayerLegend as x, extractCollectionUrls as y, generateLinksFromItems as z };
|
|
@@ -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-
|
|
5
|
+
import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-Bw03Jutr.js';
|
|
6
6
|
import { storeToRefs } from 'pinia';
|
|
7
|
-
import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-
|
|
8
|
-
import { i as initProcess, o as onChartClick, h as handleProcesses } from './handling-
|
|
7
|
+
import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-C9eAg2Sb.js';
|
|
8
|
+
import { i as initProcess, u as updateJsonformIdentifier, o as onChartClick, h as handleProcesses } from './handling-DTAhQuPh.js';
|
|
9
9
|
import { useEventBus } from '@vueuse/core';
|
|
10
|
-
import { u as updateJobsStatus, d as download } from './async-
|
|
11
|
-
import {
|
|
10
|
+
import { u as updateJobsStatus, d as download, g as getDrawToolsProperty } from './async-D4G-FOIc.js';
|
|
11
|
+
import { I as compareIndicator, G as indicator, O as mapCompareEl, j as mapEl, U as compareChartEl, V as chartEl } from './helpers-CsjKHAcK.js';
|
|
12
12
|
import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -74,6 +74,18 @@ const useInitProcess = ({
|
|
|
74
74
|
const evtKey =
|
|
75
75
|
mapElement?.id === "compare" ? "compareLayers:updated" : "layers:updated";
|
|
76
76
|
useOnLayersUpdate(async (evt, _payload) => {
|
|
77
|
+
if (
|
|
78
|
+
evt == "layertime:updated" ||
|
|
79
|
+
evt == "compareLayertime:updated" ||
|
|
80
|
+
evt == "time:updated" ||
|
|
81
|
+
evt == "compareTime:updated"
|
|
82
|
+
) {
|
|
83
|
+
await updateJsonformIdentifier({
|
|
84
|
+
jsonformSchema,
|
|
85
|
+
// @ts-expect-error TODO payload coming from time update events is not an object with layers property
|
|
86
|
+
newLayers: _payload,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
77
89
|
if (evt !== evtKey) {
|
|
78
90
|
return;
|
|
79
91
|
}
|
|
@@ -250,14 +262,6 @@ const downloadResults = () => {
|
|
|
250
262
|
};
|
|
251
263
|
|
|
252
264
|
const startProcess = async () => {
|
|
253
|
-
/** @param {*} jsonformSchema */
|
|
254
|
-
const getDrawToolsProperty = (jsonformSchema) => {
|
|
255
|
-
for (const property in jsonformSchema.properties) {
|
|
256
|
-
if (jsonformSchema.properties[property]?.options?.drawtools) {
|
|
257
|
-
return property;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
};
|
|
261
265
|
const drawToolsProperty = getDrawToolsProperty(jsonformSchema.value);
|
|
262
266
|
const propertyIsEmpty =
|
|
263
267
|
drawToolsProperty &&
|
|
@@ -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 {
|
|
4
|
+
import { Q as setMapProjFromCol, F as mapPosition, N as sanitizeBbox, j as mapEl, O as mapCompareEl, G as indicator, I as compareIndicator, D as poi, C as datetime } from './helpers-CsjKHAcK.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, a as useLayout, N as layerControlFormValue, M as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-
|
|
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-Bw03Jutr.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-
|
|
10
|
+
import EodashMapBtns from './EodashMapBtns-D-HulIl1.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates full layer configuration from indicator and time information
|
|
@@ -60,6 +60,29 @@ const createLayersConfig = async (
|
|
|
60
60
|
dataLayers.layers.push(...layers);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/* check for roles in indicator links to assign visibility property for the data layers */
|
|
64
|
+
if (selectedIndicator?.links) {
|
|
65
|
+
const visibilityLinks = selectedIndicator.links.filter(
|
|
66
|
+
(link) =>
|
|
67
|
+
Array.isArray(link.roles) &&
|
|
68
|
+
(link.roles.includes("disable") || link.roles.includes("hidden")),
|
|
69
|
+
);
|
|
70
|
+
if (visibilityLinks.length > 0) {
|
|
71
|
+
visibilityLinks.forEach((vl) => {
|
|
72
|
+
const targetLayerId = vl.id;
|
|
73
|
+
const targetLayer = dataLayers.layers.find(
|
|
74
|
+
(dl) => dl.properties.id.split(";:;")[0] === targetLayerId,
|
|
75
|
+
);
|
|
76
|
+
if (targetLayer) {
|
|
77
|
+
if (Array.isArray(vl.roles) && vl.roles.includes("disable")) {
|
|
78
|
+
targetLayer.properties.visible = false;
|
|
79
|
+
} else if (Array.isArray(vl.roles) && vl.roles.includes("hidden")) {
|
|
80
|
+
targetLayer.properties.layerControlHide = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
63
86
|
layersCollection.push(dataLayers);
|
|
64
87
|
const indicatorLayers =
|
|
65
88
|
//@ts-expect-error indicator is collection
|
|
@@ -409,7 +432,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
|
|
|
409
432
|
});
|
|
410
433
|
};
|
|
411
434
|
|
|
412
|
-
const _style_0 = "#cursor-coordinates[data-v-
|
|
435
|
+
const _style_0 = "#cursor-coordinates[data-v-5143a869]{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-5143a869]{display:none}}#scale-line[data-v-5143a869]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-5143a869]{bottom:102px}}[data-v-5143a869] .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-5143a869] .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-5143a869]{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-5143a869]>*{pointer-events:auto}";
|
|
413
436
|
|
|
414
437
|
const _hoisted_1 = [".enabled"];
|
|
415
438
|
const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
|
|
@@ -471,6 +494,7 @@ const _sfc_main = {
|
|
|
471
494
|
* enableChangeProjection?: boolean;
|
|
472
495
|
* enableBackToPOIs?: boolean;
|
|
473
496
|
* enableSearch?: boolean;
|
|
497
|
+
* searchParams?: object;
|
|
474
498
|
* enableZoom?: boolean;
|
|
475
499
|
* enableCompareIndicators?: boolean | {
|
|
476
500
|
* compareTemplate?:string;
|
|
@@ -486,6 +510,7 @@ const _sfc_main = {
|
|
|
486
510
|
enableBackToPOIs: true,
|
|
487
511
|
enableSearch: true,
|
|
488
512
|
enableZoom: true,
|
|
513
|
+
searchParams: {},
|
|
489
514
|
}),
|
|
490
515
|
},
|
|
491
516
|
},
|
|
@@ -530,6 +555,7 @@ const btnsProps = computed(() => ({
|
|
|
530
555
|
backToPOIs: props.btns.enableBackToPOIs ?? true,
|
|
531
556
|
enableSearch: props.btns.enableSearch ?? true,
|
|
532
557
|
enableZoom: props.btns.enableZoom ?? true,
|
|
558
|
+
searchParams: props.btns.searchParams,
|
|
533
559
|
}));
|
|
534
560
|
|
|
535
561
|
// Prepare containers for scale line and cursor coordinates
|
|
@@ -776,14 +802,15 @@ return (_ctx, _cache) => {
|
|
|
776
802
|
enableSearch: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableSearch : false
|
|
777
803
|
,
|
|
778
804
|
enableZoom: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableZoom : false
|
|
779
|
-
|
|
780
|
-
|
|
805
|
+
,
|
|
806
|
+
searchParams: btnsProps.value.searchParams
|
|
807
|
+
}, null, 8 /* PROPS */, ["style", "exportMap", "changeProjection", "compareIndicators", "backToPOIs", "enableSearch", "enableZoom", "searchParams"])
|
|
781
808
|
], 4 /* STYLE */)
|
|
782
809
|
]))
|
|
783
810
|
}
|
|
784
811
|
}
|
|
785
812
|
|
|
786
813
|
};
|
|
787
|
-
const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-
|
|
814
|
+
const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-5143a869"]]);
|
|
788
815
|
|
|
789
816
|
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-
|
|
3
|
-
import {
|
|
2
|
+
import { E as useSTAcStore, K as useOnLayersUpdate, _ as _export_sfc, L as VRow } from './asWebComponent-Bw03Jutr.js';
|
|
3
|
+
import { G as indicator, j as mapEl, N as sanitizeBbox, d as axios } from './helpers-CsjKHAcK.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-
|
|
6
|
+
import _sfc_main$1 from './EodashLayoutSwitcher-BCP3FvDb.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-
|
|
3
|
-
import { V as VTooltip } from './VTooltip-
|
|
2
|
+
import { X as consoleError, Y as isObject } from './asWebComponent-Bw03Jutr.js';
|
|
3
|
+
import { V as VTooltip } from './VTooltip-BLS-cQ9N.js';
|
|
4
4
|
|
|
5
5
|
// Utilities
|
|
6
6
|
function useDirectiveComponent(component, props) {
|
package/dist/client/templates.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
|
|
2
|
-
import {
|
|
2
|
+
import { M as includesProcess } from './helpers-CsjKHAcK.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Special values that tell deepmerge to perform a certain action.
|
|
@@ -546,6 +546,10 @@ const expert = {
|
|
|
546
546
|
},
|
|
547
547
|
enableBackToPOIs: true,
|
|
548
548
|
enableSearch: true,
|
|
549
|
+
// searchParams: {
|
|
550
|
+
// countrycode: "gb,ie,fr"
|
|
551
|
+
// bounds: "-84.26514,41.58998,-77.54150,46.14246"
|
|
552
|
+
// },
|
|
549
553
|
},
|
|
550
554
|
btnsPosition: {
|
|
551
555
|
x: "12/9/9",
|
|
@@ -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-
|
|
2
|
+
import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-Bw03Jutr.js';
|
|
3
3
|
|
|
4
4
|
// Utilities
|
|
5
5
|
const makeTransitionProps = propsFactory({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function useEodashRuntime(runtimeConfig
|
|
1
|
+
export function useEodashRuntime(runtimeConfig?: string | undefined | (() => Promise<import("../types").Eodash>) | Function): Promise<import("../types").Eodash | null | undefined>;
|
|
2
2
|
export function createEodash<T extends import("../types").Eodash>(config: T | ((store: typeof import("../store").default) => Promise<T>)): Promise<T>;
|