@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.
- package/core/client/components/EodashOverlay.vue +27 -4
- package/core/client/composables/DefineEodash.js +0 -1
- package/core/client/composables/DefineWidgets.js +3 -1
- package/core/client/eodashSTAC/EodashCollection.js +74 -20
- package/core/client/eodashSTAC/cql.js +64 -0
- package/core/client/eodashSTAC/createLayers.js +169 -116
- package/core/client/eodashSTAC/helpers.js +391 -98
- package/core/client/eodashSTAC/mosaic.js +416 -0
- package/core/client/plugins/axios.js +31 -1
- package/core/client/store/actions.js +1 -1
- package/core/client/store/stac.js +25 -4
- package/core/client/store/states.js +20 -2
- package/core/client/types.ts +147 -28
- package/core/client/utils/bands-editor/exampleSchema.json +50 -50
- package/core/client/utils/states.js +10 -0
- package/dist/client/{DashboardLayout-kRsmsNW5.js → DashboardLayout-ePbdvUTE.js} +2 -2
- package/dist/client/{DynamicWebComponent-CnKhYo0K.js → DynamicWebComponent-g5SdRbjY.js} +1 -1
- package/dist/client/{EodashChart-CLDqE93C.js → EodashChart-ChrkA5oS.js} +7 -6
- package/dist/client/{EodashDatePicker-CMPDT-ce.js → EodashDatePicker-CY1TrsDo.js} +3 -3
- package/dist/client/{EodashItemFilter-BpdA8QQa.js → EodashItemFilter-DzshHDlS.js} +2 -1
- package/dist/client/{EodashLayerControl-BHpDA4_0.js → EodashLayerControl-DMCeMkSd.js} +50 -20
- package/dist/client/{EodashLayoutSwitcher-B1fRUt7G.js → EodashLayoutSwitcher-iJ8mX1rF.js} +3 -3
- package/dist/client/{EodashMapBtns-Cpned0tc.js → EodashMapBtns-C7Cr7q5Y.js} +200 -86
- package/dist/client/EodashStacInfo-K7-iuXa7.js +169 -0
- package/dist/client/{EodashTools-1zHz26gv.js → EodashTools-BEK7e7JM.js} +4 -4
- package/dist/client/{ExportState-DbOm8hBI.js → ExportState-CqIzfMYQ.js} +6 -168
- package/dist/client/{Footer-BKg-VVkj.js → Footer-1P0cmBOZ.js} +1 -1
- package/dist/client/{Header-DCrwCvmY.js → Header-CkkBaBNh.js} +2 -2
- package/dist/client/{MobileLayout-vWSHpluo.js → MobileLayout-BPf49kDU.js} +2 -2
- package/dist/client/{PopUp-9uimfK49.js → PopUp-DPZq5SWI.js} +4 -168
- package/dist/client/{ProcessList-CTTIZa06.js → ProcessList-DuI6WpS1.js} +5 -5
- package/dist/client/VDivider-Bj9LG_JV.js +168 -0
- package/dist/client/{VImg-CrmB76ZY.js → VImg-Ddv5OyMz.js} +2 -2
- package/dist/client/{VMain-OKZNpcEG.js → VMain-7yqk_qC3.js} +1 -1
- package/dist/client/{VTooltip-CJw2FyWk.js → VTooltip-2hAJyEoa.js} +2 -2
- package/dist/client/{WidgetsContainer-BaWOnE5R.js → WidgetsContainer-2DOrlwCB.js} +1 -1
- package/dist/client/{asWebComponent-BHWpMuE3.js → asWebComponent-BlFN2lkB.js} +456 -306
- package/dist/client/{async-DSKj6g1f.js → async-B2H8ZwUK.js} +2 -2
- package/dist/client/{create-layers-config-CBoYedqB.js → create-layers-config-u_vn5hPk.js} +17 -17
- package/dist/client/dialog-transition-BrMkMiNa.js +170 -0
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-DH51zPUr.js → forwardRefs-DAlror6d.js} +8 -87
- package/dist/client/{handling-BrcDDlgS.js → handling-B6I1V5eG.js} +3 -3
- package/dist/client/{helpers-DjZVl_WF.js → helpers-CBqIUSXJ.js} +794 -182
- package/dist/client/index-BWq1ZKaV.js +3168 -0
- package/dist/client/{index-CUjl-ZsI.js → index-CJ9UI3ln.js} +2 -2
- package/dist/client/{index-CSG_JoOA.js → index-DXLz4sFR.js} +62 -56
- package/dist/client/{index-1JKE68n3.js → index-DhKU6KqM.js} +211 -67
- package/dist/client/{index-Cu3-13Xg.js → index-DjQlbWbJ.js} +7 -6
- package/dist/client/mosaic-BFYLEwyx.js +455 -0
- package/dist/client/templates.js +250 -119
- package/dist/client/{transition-OHcz5Qq1.js → transition-D_W6Wn9v.js} +1 -1
- package/dist/node/cli.js +5 -5
- package/dist/node/types.d.ts +4 -0
- package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +57 -25
- package/dist/types/core/client/eodashSTAC/cql.d.ts +15 -0
- package/dist/types/core/client/eodashSTAC/createLayers.d.ts +42 -23
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +77 -18
- package/dist/types/core/client/eodashSTAC/mosaic.d.ts +56 -0
- package/dist/types/core/client/store/stac.d.ts +31 -7
- package/dist/types/core/client/store/states.d.ts +24 -2
- package/dist/types/core/client/types.d.ts +123 -24
- package/dist/types/core/client/utils/states.d.ts +12 -0
- package/dist/types/templates/baseConfig.d.ts +1 -100
- package/dist/types/templates/compare.d.ts +32 -3
- package/dist/types/templates/expert.d.ts +18 -0
- package/dist/types/templates/explore.d.ts +9 -1
- package/dist/types/templates/lite.d.ts +11 -0
- package/dist/types/widgets/EodashChart.vue.d.ts +5 -3
- package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +129 -2
- package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +28 -6
- package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +17 -4
- package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +16 -4
- package/dist/types/widgets/EodashLayerControl.vue.d.ts +35 -16
- package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +14 -10
- package/dist/types/widgets/EodashMap/index.vue.d.ts +86 -37
- package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
- package/dist/types/widgets/EodashMap/methods/index.d.ts +5 -1
- package/dist/types/widgets/EodashMap/methods/use-map-loading.d.ts +1 -0
- package/dist/types/widgets/EodashProcess/index.vue.d.ts +5 -3
- package/dist/types/widgets/EodashProcess/states.d.ts +1 -1
- package/dist/types/widgets/EodashStacInfo.vue.d.ts +20 -0
- package/dist/types/widgets/EodashTimeSlider/index.vue.d.ts +20 -0
- package/dist/types/widgets/EodashTimeSlider/methods/index.d.ts +3 -8
- package/dist/types/widgets/EodashTimeSlider/types.d.ts +6 -16
- package/dist/types/widgets/EodashTools.vue.d.ts +5 -5
- package/package.json +33 -33
- package/templates/baseConfig.js +36 -6
- package/templates/compare.js +62 -7
- package/templates/expert.js +23 -0
- package/templates/explore.js +11 -5
- package/templates/lite.js +14 -0
- package/widgets/EodashChart.vue +1 -0
- package/widgets/EodashItemCatalog/index.vue +363 -35
- package/widgets/EodashItemCatalog/methods/filters.js +134 -70
- package/widgets/EodashItemCatalog/methods/handlers.js +113 -19
- package/widgets/EodashItemCatalog/methods/map.js +142 -28
- package/widgets/EodashLayerControl.vue +42 -11
- package/widgets/EodashMap/EodashMapBtns.vue +109 -48
- package/widgets/EodashMap/index.vue +89 -105
- package/widgets/EodashMap/methods/btns.js +37 -5
- package/widgets/EodashMap/methods/create-layers-config.js +16 -16
- package/widgets/EodashMap/methods/index.js +71 -8
- package/widgets/EodashMap/methods/use-map-loading.js +52 -0
- package/widgets/EodashProcess/index.vue +1 -0
- package/widgets/EodashProcess/states.js +1 -1
- package/widgets/EodashStacInfo.vue +64 -2
- package/widgets/EodashTimeSlider/index.vue +58 -2
- package/widgets/EodashTimeSlider/methods/index.js +5 -48
- package/widgets/EodashTimeSlider/types.ts +7 -17
- package/dist/client/EodashStacInfo-BQspAHKH.js +0 -107
- package/dist/client/index-5Jhsa8Xe.js +0 -570
package/dist/client/templates.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
|
|
2
|
-
import {
|
|
2
|
+
import { Z as includesProcess, _ as shouldShowChartWidget } from './helpers-CBqIUSXJ.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Special values that tell deepmerge to perform a certain action.
|
|
6
6
|
*/
|
|
7
7
|
const actions = {
|
|
8
|
-
defaultMerge: Symbol("deepmerge-ts: default merge")
|
|
9
|
-
|
|
10
|
-
* Special values that tell deepmergeInto to perform a certain action.
|
|
11
|
-
*/
|
|
12
|
-
const actionsInto = {
|
|
13
|
-
defaultMerge: actions.defaultMerge,
|
|
8
|
+
defaultMerge: Symbol("deepmerge-ts: default merge"),
|
|
9
|
+
skip: Symbol("deepmerge-ts: skip"),
|
|
14
10
|
};
|
|
15
11
|
|
|
16
12
|
/**
|
|
@@ -156,12 +152,12 @@ function isRecord(value) {
|
|
|
156
152
|
}
|
|
157
153
|
|
|
158
154
|
/**
|
|
159
|
-
* The default strategy to merge records
|
|
155
|
+
* The default strategy to merge records.
|
|
160
156
|
*
|
|
161
|
-
* @param
|
|
162
|
-
* @param values - The records (including the target's value if there is one).
|
|
157
|
+
* @param values - The records.
|
|
163
158
|
*/
|
|
164
|
-
function
|
|
159
|
+
function mergeRecords$1(values, utils, meta) {
|
|
160
|
+
const result = {};
|
|
165
161
|
for (const key of getKeys(values)) {
|
|
166
162
|
const propValues = [];
|
|
167
163
|
for (const value of values) {
|
|
@@ -176,202 +172,209 @@ function mergeRecordsInto$1(mut_target, values, utils, meta) {
|
|
|
176
172
|
key,
|
|
177
173
|
parents: values,
|
|
178
174
|
});
|
|
179
|
-
const
|
|
180
|
-
|
|
175
|
+
const propertyResult = mergeUnknowns(propValues, utils, updatedMeta);
|
|
176
|
+
if (propertyResult === actions.skip) {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
181
179
|
if (key === "__proto__") {
|
|
182
|
-
Object.defineProperty(
|
|
183
|
-
value:
|
|
180
|
+
Object.defineProperty(result, key, {
|
|
181
|
+
value: propertyResult,
|
|
184
182
|
configurable: true,
|
|
185
183
|
enumerable: true,
|
|
186
184
|
writable: true,
|
|
187
185
|
});
|
|
188
186
|
}
|
|
189
187
|
else {
|
|
190
|
-
|
|
188
|
+
result[key] = propertyResult;
|
|
191
189
|
}
|
|
192
190
|
}
|
|
191
|
+
return result;
|
|
193
192
|
}
|
|
194
193
|
/**
|
|
195
|
-
* The default strategy to merge arrays
|
|
194
|
+
* The default strategy to merge arrays.
|
|
196
195
|
*
|
|
197
|
-
* @param
|
|
198
|
-
* @param values - The arrays (including the target's value if there is one).
|
|
196
|
+
* @param values - The arrays.
|
|
199
197
|
*/
|
|
200
|
-
function
|
|
201
|
-
|
|
198
|
+
function mergeArrays$1(values) {
|
|
199
|
+
return values.flat();
|
|
202
200
|
}
|
|
203
201
|
/**
|
|
204
|
-
* The default strategy to merge sets
|
|
202
|
+
* The default strategy to merge sets.
|
|
205
203
|
*
|
|
206
|
-
* @param
|
|
207
|
-
* @param values - The sets (including the target's value if there is one).
|
|
204
|
+
* @param values - The sets.
|
|
208
205
|
*/
|
|
209
|
-
function
|
|
210
|
-
|
|
211
|
-
mut_target.value.add(value);
|
|
212
|
-
}
|
|
206
|
+
function mergeSets$1(values) {
|
|
207
|
+
return new Set(getIterableOfIterables(values));
|
|
213
208
|
}
|
|
214
209
|
/**
|
|
215
|
-
* The default strategy to merge maps
|
|
210
|
+
* The default strategy to merge maps.
|
|
216
211
|
*
|
|
217
|
-
* @param
|
|
218
|
-
* @param values - The maps (including the target's value if there is one).
|
|
212
|
+
* @param values - The maps.
|
|
219
213
|
*/
|
|
220
|
-
function
|
|
221
|
-
|
|
222
|
-
mut_target.value.set(key, value);
|
|
223
|
-
}
|
|
214
|
+
function mergeMaps$1(values) {
|
|
215
|
+
return new Map(getIterableOfIterables(values));
|
|
224
216
|
}
|
|
225
217
|
/**
|
|
226
|
-
*
|
|
218
|
+
* Get the last value in the given array.
|
|
227
219
|
*/
|
|
228
|
-
function
|
|
229
|
-
|
|
220
|
+
function mergeOthers$1(values) {
|
|
221
|
+
return values.at(-1);
|
|
230
222
|
}
|
|
231
223
|
/**
|
|
232
224
|
* The merge functions.
|
|
233
225
|
*/
|
|
234
|
-
const
|
|
235
|
-
mergeRecords:
|
|
236
|
-
mergeArrays:
|
|
237
|
-
mergeSets:
|
|
238
|
-
mergeMaps:
|
|
239
|
-
mergeOthers:
|
|
226
|
+
const mergeFunctions = {
|
|
227
|
+
mergeRecords: mergeRecords$1,
|
|
228
|
+
mergeArrays: mergeArrays$1,
|
|
229
|
+
mergeSets: mergeSets$1,
|
|
230
|
+
mergeMaps: mergeMaps$1,
|
|
231
|
+
mergeOthers: mergeOthers$1,
|
|
240
232
|
};
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
return void deepmergeIntoCustom({})(target, ...objects);
|
|
244
|
-
}
|
|
245
|
-
function deepmergeIntoCustom(options, rootMetaData) {
|
|
246
|
-
const utils = getIntoUtils(options, customizedDeepmergeInto);
|
|
233
|
+
function deepmergeCustom(options, rootMetaData) {
|
|
234
|
+
const utils = getUtils(options, customizedDeepmerge);
|
|
247
235
|
/**
|
|
248
236
|
* The customized deepmerge function.
|
|
249
237
|
*/
|
|
250
|
-
function
|
|
251
|
-
|
|
238
|
+
function customizedDeepmerge(...objects) {
|
|
239
|
+
return mergeUnknowns(objects, utils, rootMetaData);
|
|
252
240
|
}
|
|
253
|
-
return
|
|
241
|
+
return customizedDeepmerge;
|
|
254
242
|
}
|
|
255
243
|
/**
|
|
256
244
|
* The the utils that are available to the merge functions.
|
|
257
245
|
*
|
|
258
246
|
* @param options - The options the user specified
|
|
259
247
|
*/
|
|
260
|
-
function
|
|
248
|
+
function getUtils(options, customizedDeepmerge) {
|
|
261
249
|
return {
|
|
262
|
-
defaultMergeFunctions:
|
|
250
|
+
defaultMergeFunctions: mergeFunctions,
|
|
263
251
|
mergeFunctions: {
|
|
264
|
-
...
|
|
252
|
+
...mergeFunctions,
|
|
265
253
|
...Object.fromEntries(Object.entries(options)
|
|
266
|
-
.filter(([key, option]) => Object.hasOwn(
|
|
267
|
-
.map(([key, option]) => (option === false ? [key,
|
|
254
|
+
.filter(([key, option]) => Object.hasOwn(mergeFunctions, key))
|
|
255
|
+
.map(([key, option]) => (option === false ? [key, mergeFunctions.mergeOthers] : [key, option]))),
|
|
268
256
|
},
|
|
269
257
|
metaDataUpdater: (options.metaDataUpdater ?? defaultMetaDataUpdater),
|
|
270
|
-
|
|
258
|
+
deepmerge: customizedDeepmerge,
|
|
259
|
+
useImplicitDefaultMerging: options.enableImplicitDefaultMerging ?? false,
|
|
271
260
|
filterValues: options.filterValues === false ? undefined : (options.filterValues ?? defaultFilterValues),
|
|
272
|
-
actions
|
|
261
|
+
actions,
|
|
273
262
|
};
|
|
274
263
|
}
|
|
275
264
|
/**
|
|
276
|
-
* Merge unknown things
|
|
265
|
+
* Merge unknown things.
|
|
277
266
|
*
|
|
278
|
-
* @param mut_target - The target to merge into.
|
|
279
267
|
* @param values - The values.
|
|
280
268
|
*/
|
|
281
|
-
function
|
|
269
|
+
function mergeUnknowns(values, utils, meta) {
|
|
282
270
|
const filteredValues = utils.filterValues?.(values, meta) ?? values;
|
|
283
271
|
if (filteredValues.length === 0) {
|
|
284
|
-
return;
|
|
272
|
+
return undefined;
|
|
285
273
|
}
|
|
286
274
|
if (filteredValues.length === 1) {
|
|
287
|
-
return
|
|
275
|
+
return mergeOthers(filteredValues, utils, meta);
|
|
288
276
|
}
|
|
289
|
-
const type = getObjectType(
|
|
277
|
+
const type = getObjectType(filteredValues[0]);
|
|
290
278
|
if (type !== 0 /* ObjectType.NOT */ && type !== 5 /* ObjectType.OTHER */) {
|
|
291
279
|
for (let mut_index = 1; mut_index < filteredValues.length; mut_index++) {
|
|
292
280
|
if (getObjectType(filteredValues[mut_index]) === type) {
|
|
293
281
|
continue;
|
|
294
282
|
}
|
|
295
|
-
return
|
|
283
|
+
return mergeOthers(filteredValues, utils, meta);
|
|
296
284
|
}
|
|
297
285
|
}
|
|
298
286
|
switch (type) {
|
|
299
287
|
case 1 /* ObjectType.RECORD */: {
|
|
300
|
-
return
|
|
288
|
+
return mergeRecords(filteredValues, utils, meta);
|
|
301
289
|
}
|
|
302
290
|
case 2 /* ObjectType.ARRAY */: {
|
|
303
|
-
return
|
|
291
|
+
return mergeArrays(filteredValues, utils, meta);
|
|
304
292
|
}
|
|
305
293
|
case 3 /* ObjectType.SET */: {
|
|
306
|
-
return
|
|
294
|
+
return mergeSets(filteredValues, utils, meta);
|
|
307
295
|
}
|
|
308
296
|
case 4 /* ObjectType.MAP */: {
|
|
309
|
-
return
|
|
297
|
+
return mergeMaps(filteredValues, utils, meta);
|
|
310
298
|
}
|
|
311
299
|
default: {
|
|
312
|
-
return
|
|
300
|
+
return mergeOthers(filteredValues, utils, meta);
|
|
313
301
|
}
|
|
314
302
|
}
|
|
315
303
|
}
|
|
316
304
|
/**
|
|
317
|
-
* Merge records
|
|
305
|
+
* Merge records.
|
|
318
306
|
*
|
|
319
|
-
* @param mut_target - The target to merge into.
|
|
320
307
|
* @param values - The records.
|
|
321
308
|
*/
|
|
322
|
-
function
|
|
323
|
-
const
|
|
324
|
-
if (
|
|
325
|
-
utils.
|
|
309
|
+
function mergeRecords(values, utils, meta) {
|
|
310
|
+
const result = utils.mergeFunctions.mergeRecords(values, utils, meta);
|
|
311
|
+
if (result === actions.defaultMerge ||
|
|
312
|
+
(utils.useImplicitDefaultMerging &&
|
|
313
|
+
result === undefined &&
|
|
314
|
+
utils.mergeFunctions.mergeRecords !== utils.defaultMergeFunctions.mergeRecords)) {
|
|
315
|
+
return utils.defaultMergeFunctions.mergeRecords(values, utils, meta);
|
|
326
316
|
}
|
|
317
|
+
return result;
|
|
327
318
|
}
|
|
328
319
|
/**
|
|
329
|
-
* Merge arrays
|
|
320
|
+
* Merge arrays.
|
|
330
321
|
*
|
|
331
|
-
* @param mut_target - The target to merge into.
|
|
332
322
|
* @param values - The arrays.
|
|
333
323
|
*/
|
|
334
|
-
function
|
|
335
|
-
const
|
|
336
|
-
if (
|
|
337
|
-
utils.
|
|
324
|
+
function mergeArrays(values, utils, meta) {
|
|
325
|
+
const result = utils.mergeFunctions.mergeArrays(values, utils, meta);
|
|
326
|
+
if (result === actions.defaultMerge ||
|
|
327
|
+
(utils.useImplicitDefaultMerging &&
|
|
328
|
+
result === undefined &&
|
|
329
|
+
utils.mergeFunctions.mergeArrays !== utils.defaultMergeFunctions.mergeArrays)) {
|
|
330
|
+
return utils.defaultMergeFunctions.mergeArrays(values);
|
|
338
331
|
}
|
|
332
|
+
return result;
|
|
339
333
|
}
|
|
340
334
|
/**
|
|
341
|
-
* Merge sets
|
|
335
|
+
* Merge sets.
|
|
342
336
|
*
|
|
343
|
-
* @param mut_target - The target to merge into.
|
|
344
337
|
* @param values - The sets.
|
|
345
338
|
*/
|
|
346
|
-
function
|
|
347
|
-
const
|
|
348
|
-
if (
|
|
349
|
-
utils.
|
|
339
|
+
function mergeSets(values, utils, meta) {
|
|
340
|
+
const result = utils.mergeFunctions.mergeSets(values, utils, meta);
|
|
341
|
+
if (result === actions.defaultMerge ||
|
|
342
|
+
(utils.useImplicitDefaultMerging &&
|
|
343
|
+
result === undefined &&
|
|
344
|
+
utils.mergeFunctions.mergeSets !== utils.defaultMergeFunctions.mergeSets)) {
|
|
345
|
+
return utils.defaultMergeFunctions.mergeSets(values);
|
|
350
346
|
}
|
|
347
|
+
return result;
|
|
351
348
|
}
|
|
352
349
|
/**
|
|
353
|
-
* Merge maps
|
|
350
|
+
* Merge maps.
|
|
354
351
|
*
|
|
355
|
-
* @param mut_target - The target to merge into.
|
|
356
352
|
* @param values - The maps.
|
|
357
353
|
*/
|
|
358
|
-
function
|
|
359
|
-
const
|
|
360
|
-
if (
|
|
361
|
-
utils.
|
|
354
|
+
function mergeMaps(values, utils, meta) {
|
|
355
|
+
const result = utils.mergeFunctions.mergeMaps(values, utils, meta);
|
|
356
|
+
if (result === actions.defaultMerge ||
|
|
357
|
+
(utils.useImplicitDefaultMerging &&
|
|
358
|
+
result === undefined &&
|
|
359
|
+
utils.mergeFunctions.mergeMaps !== utils.defaultMergeFunctions.mergeMaps)) {
|
|
360
|
+
return utils.defaultMergeFunctions.mergeMaps(values);
|
|
362
361
|
}
|
|
362
|
+
return result;
|
|
363
363
|
}
|
|
364
364
|
/**
|
|
365
|
-
* Merge other things
|
|
365
|
+
* Merge other things.
|
|
366
366
|
*
|
|
367
|
-
* @param mut_target - The target to merge into.
|
|
368
367
|
* @param values - The other things.
|
|
369
368
|
*/
|
|
370
|
-
function
|
|
371
|
-
const
|
|
372
|
-
if (
|
|
373
|
-
utils.
|
|
369
|
+
function mergeOthers(values, utils, meta) {
|
|
370
|
+
const result = utils.mergeFunctions.mergeOthers(values, utils, meta);
|
|
371
|
+
if (result === actions.defaultMerge ||
|
|
372
|
+
(utils.useImplicitDefaultMerging &&
|
|
373
|
+
result === undefined &&
|
|
374
|
+
utils.mergeFunctions.mergeOthers !== utils.defaultMergeFunctions.mergeOthers)) {
|
|
375
|
+
return utils.defaultMergeFunctions.mergeOthers(values);
|
|
374
376
|
}
|
|
377
|
+
return result;
|
|
375
378
|
}
|
|
376
379
|
|
|
377
380
|
/** @type {import("@/types").Template} */
|
|
@@ -398,6 +401,20 @@ const lite = {
|
|
|
398
401
|
widget: {
|
|
399
402
|
name: "EodashMap",
|
|
400
403
|
properties: {
|
|
404
|
+
baseLayers: [
|
|
405
|
+
{
|
|
406
|
+
type: "Tile",
|
|
407
|
+
properties: {
|
|
408
|
+
id: "terrain-light;:;EPSG:3857",
|
|
409
|
+
title: "Terrain Light",
|
|
410
|
+
},
|
|
411
|
+
source: {
|
|
412
|
+
type: "XYZ",
|
|
413
|
+
//@ts-expect-error todo
|
|
414
|
+
url: "https://s2maps-tiles.eu/wmts/1.0.0/terrain-light_3857/default/g/{z}/{y}/{x}.jpeg",
|
|
415
|
+
},
|
|
416
|
+
},
|
|
417
|
+
],
|
|
401
418
|
enableCompare: true,
|
|
402
419
|
enableCursorCoordinates: false,
|
|
403
420
|
enableScaleLine: false,
|
|
@@ -535,6 +552,29 @@ const expert = {
|
|
|
535
552
|
widget: {
|
|
536
553
|
name: "EodashMap",
|
|
537
554
|
properties: {
|
|
555
|
+
baseLayers: [
|
|
556
|
+
{
|
|
557
|
+
type: "Group",
|
|
558
|
+
properties: {
|
|
559
|
+
id: "BaseLayersGroup",
|
|
560
|
+
title: "Base Layers",
|
|
561
|
+
},
|
|
562
|
+
layers: [
|
|
563
|
+
{
|
|
564
|
+
type: "Tile",
|
|
565
|
+
properties: {
|
|
566
|
+
id: "terrain-light;:;EPSG:3857",
|
|
567
|
+
title: "Terrain Light",
|
|
568
|
+
},
|
|
569
|
+
source: {
|
|
570
|
+
type: "XYZ",
|
|
571
|
+
//@ts-expect-error todo
|
|
572
|
+
url: "https://s2maps-tiles.eu/wmts/1.0.0/terrain-light_3857/default/g/{z}/{y}/{x}.jpeg",
|
|
573
|
+
},
|
|
574
|
+
},
|
|
575
|
+
],
|
|
576
|
+
},
|
|
577
|
+
],
|
|
538
578
|
enableCompare: true,
|
|
539
579
|
zoomToExtent: true,
|
|
540
580
|
btns: {
|
|
@@ -681,6 +721,29 @@ const compare = {
|
|
|
681
721
|
name: "EodashMap",
|
|
682
722
|
properties: {
|
|
683
723
|
enableCompare: true,
|
|
724
|
+
baseLayers: [
|
|
725
|
+
{
|
|
726
|
+
type: "Group",
|
|
727
|
+
properties: {
|
|
728
|
+
id: "BaseLayersGroup",
|
|
729
|
+
title: "Base Layers",
|
|
730
|
+
},
|
|
731
|
+
layers: [
|
|
732
|
+
{
|
|
733
|
+
type: "Tile",
|
|
734
|
+
properties: {
|
|
735
|
+
id: "terrain-light;:;EPSG:3857",
|
|
736
|
+
title: "Terrain Light",
|
|
737
|
+
},
|
|
738
|
+
source: {
|
|
739
|
+
type: "XYZ",
|
|
740
|
+
//@ts-expect-error todo
|
|
741
|
+
url: "https://s2maps-tiles.eu/wmts/1.0.0/terrain-light_3857/default/g/{z}/{y}/{x}.jpeg",
|
|
742
|
+
},
|
|
743
|
+
},
|
|
744
|
+
],
|
|
745
|
+
},
|
|
746
|
+
],
|
|
684
747
|
},
|
|
685
748
|
},
|
|
686
749
|
},
|
|
@@ -774,6 +837,26 @@ const compare = {
|
|
|
774
837
|
},
|
|
775
838
|
},
|
|
776
839
|
},
|
|
840
|
+
// {
|
|
841
|
+
// defineWidget: (selectedSTAC) => {
|
|
842
|
+
// return selectedSTAC
|
|
843
|
+
// ? {
|
|
844
|
+
// id: "expert-Datepicker",
|
|
845
|
+
// type: "internal",
|
|
846
|
+
// layout: { x: 4, y: 7, w: 4, h: 5 },
|
|
847
|
+
// title: "Date",
|
|
848
|
+
// widget: {
|
|
849
|
+
// name: "EodashDatePicker",
|
|
850
|
+
// properties: {
|
|
851
|
+
// hintText: `<b>Hint:</b> closest available date is displayed <br />
|
|
852
|
+
// on map (see Analysis Layers)`,
|
|
853
|
+
// toggleCalendar: true,
|
|
854
|
+
// },
|
|
855
|
+
// },
|
|
856
|
+
// }
|
|
857
|
+
// : null;
|
|
858
|
+
// },
|
|
859
|
+
// },
|
|
777
860
|
{
|
|
778
861
|
defineWidget: () =>
|
|
779
862
|
shouldShowChartWidget() && {
|
|
@@ -805,16 +888,28 @@ const compare = {
|
|
|
805
888
|
defineWidget: (selectedSTAC) => {
|
|
806
889
|
return selectedSTAC
|
|
807
890
|
? {
|
|
808
|
-
id: "expert-
|
|
891
|
+
id: "expert-datetime",
|
|
809
892
|
type: "internal",
|
|
810
|
-
layout: { x:
|
|
811
|
-
title: "
|
|
893
|
+
layout: { x: 1, y: 8, w: 8, h: 3 },
|
|
894
|
+
title: "Time Slider",
|
|
812
895
|
widget: {
|
|
813
|
-
name: "
|
|
896
|
+
name: "EodashTimeSlider",
|
|
814
897
|
properties: {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
898
|
+
filters: [
|
|
899
|
+
{
|
|
900
|
+
key: "eo:cloud_cover",
|
|
901
|
+
title: "Cloud Coverage %",
|
|
902
|
+
type: "range",
|
|
903
|
+
expanded: true,
|
|
904
|
+
min: 0,
|
|
905
|
+
max: 100,
|
|
906
|
+
step: 5,
|
|
907
|
+
state: {
|
|
908
|
+
min: 0,
|
|
909
|
+
max: 100,
|
|
910
|
+
},
|
|
911
|
+
},
|
|
912
|
+
],
|
|
818
913
|
},
|
|
819
914
|
},
|
|
820
915
|
}
|
|
@@ -824,7 +919,6 @@ const compare = {
|
|
|
824
919
|
],
|
|
825
920
|
};
|
|
826
921
|
|
|
827
|
-
// import { includesProcess } from "@/store/actions";
|
|
828
922
|
/** @type {import("@/types").Template} */
|
|
829
923
|
const explore = {
|
|
830
924
|
gap: 16,
|
|
@@ -849,6 +943,7 @@ const explore = {
|
|
|
849
943
|
widget: {
|
|
850
944
|
name: "EodashMap",
|
|
851
945
|
properties: {
|
|
946
|
+
zoomToExtent: false,
|
|
852
947
|
enableCompare: true,
|
|
853
948
|
btns: {
|
|
854
949
|
enableZoom: true,
|
|
@@ -856,21 +951,23 @@ const explore = {
|
|
|
856
951
|
enableChangeProjection: true,
|
|
857
952
|
enableCompareIndicators: {
|
|
858
953
|
fallbackTemplate: "explore",
|
|
954
|
+
compareTemplate: "compare",
|
|
859
955
|
itemFilterConfig: {
|
|
860
956
|
imageProperty: "assets.thumbnail.href",
|
|
861
957
|
},
|
|
862
958
|
},
|
|
863
|
-
|
|
959
|
+
enableBackToPOIs: false,
|
|
960
|
+
enableSearch: false,
|
|
864
961
|
},
|
|
865
962
|
},
|
|
866
963
|
},
|
|
867
964
|
},
|
|
868
965
|
widgets: [
|
|
869
966
|
{
|
|
870
|
-
id: "
|
|
967
|
+
id: "explore-layercontrol",
|
|
871
968
|
type: "internal",
|
|
872
969
|
title: "Layers",
|
|
873
|
-
layout: { x: "9/9/10", y: 0, w: "3/3/2", h:
|
|
970
|
+
layout: { x: "9/9/10", y: 0, w: "3/3/2", h: 11 },
|
|
874
971
|
widget: {
|
|
875
972
|
name: "EodashLayerControl",
|
|
876
973
|
},
|
|
@@ -879,9 +976,13 @@ const explore = {
|
|
|
879
976
|
id: "ItemCatalog",
|
|
880
977
|
title: "Catalog",
|
|
881
978
|
type: "internal",
|
|
882
|
-
layout: { x: 0, y: 0, w: "3/3/2", h:
|
|
979
|
+
layout: { x: 0, y: 0, w: "3/3/2", h: 11 },
|
|
883
980
|
widget: {
|
|
884
981
|
name: "EodashItemCatalog",
|
|
982
|
+
properties: {
|
|
983
|
+
layoutTarget: undefined,
|
|
984
|
+
hoverProperties: ["datetime", "eo:cloud_cover"],
|
|
985
|
+
},
|
|
885
986
|
},
|
|
886
987
|
},
|
|
887
988
|
],
|
|
@@ -896,12 +997,14 @@ const baseConfig = {
|
|
|
896
997
|
stacEndpoint: {
|
|
897
998
|
endpoint:
|
|
898
999
|
"https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
|
|
1000
|
+
// "https://GTIF-Austria.github.io/public-catalog/pr-preview/pr-119/GTIF-Austria/catalog.json",
|
|
899
1001
|
// "https://api.explorer.eopf.copernicus.eu/stac",
|
|
900
1002
|
// api: true,
|
|
901
1003
|
supportedUpscalingEndpoints: [
|
|
902
|
-
"openveda.cloud",
|
|
903
|
-
"api.explorer.eopf.copernicus.eu",
|
|
1004
|
+
{ url: "openveda.cloud", titilerVersion: 1 },
|
|
1005
|
+
{ url: "api.explorer.eopf.copernicus.eu", titilerVersion: 2 },
|
|
904
1006
|
],
|
|
1007
|
+
rasterEndpoint: "https://api.explorer.eopf.copernicus.eu/rstaging",
|
|
905
1008
|
},
|
|
906
1009
|
brand: {
|
|
907
1010
|
noLayout: true,
|
|
@@ -949,13 +1052,41 @@ const baseConfig = {
|
|
|
949
1052
|
},
|
|
950
1053
|
};
|
|
951
1054
|
|
|
1055
|
+
/**
|
|
1056
|
+
* Arrays are replacement semantics (user array wins, not concat).
|
|
1057
|
+
* mergeArrays:false ensures e.g. widgets/collectionsPalette/supportedUpscalingEndpoints
|
|
1058
|
+
* supplied by the caller fully replace the base arrays.
|
|
1059
|
+
*/
|
|
1060
|
+
const deepmerge = deepmergeCustom({ mergeArrays: false });
|
|
1061
|
+
|
|
952
1062
|
/**
|
|
953
1063
|
* @param {import("vega-lite").DeepPartial<import("@/types").Eodash>} config
|
|
1064
|
+
* @return {import("@/types").Eodash}
|
|
954
1065
|
*/
|
|
955
1066
|
const getBaseConfig = (config) => {
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
1067
|
+
return /** @type {import("@/types").Eodash} */ (
|
|
1068
|
+
deepmerge(cloneConfig(baseConfig), config || {})
|
|
1069
|
+
);
|
|
959
1070
|
};
|
|
960
1071
|
|
|
1072
|
+
/**
|
|
1073
|
+
* Shallow-safe deep clone that preserves functions and Symbols as references
|
|
1074
|
+
* (they are intentionally shared; template functions and Symbol IDs are
|
|
1075
|
+
* not mutable data). Only plain objects and arrays are cloned.
|
|
1076
|
+
*
|
|
1077
|
+
* @param {unknown} val
|
|
1078
|
+
* @returns {unknown}
|
|
1079
|
+
*/
|
|
1080
|
+
function cloneConfig(val) {
|
|
1081
|
+
if (val === null || typeof val !== "object") return val;
|
|
1082
|
+
if (Array.isArray(val)) return val.map(cloneConfig);
|
|
1083
|
+
if (typeof val === "function") return val;
|
|
1084
|
+
/** @type {Record<string, unknown>} */
|
|
1085
|
+
const out = {};
|
|
1086
|
+
for (const key of Object.keys(val)) {
|
|
1087
|
+
out[key] = cloneConfig(/** @type {Record<string, unknown>} */ (val)[key]);
|
|
1088
|
+
}
|
|
1089
|
+
return out;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
961
1092
|
export { compare, getBaseConfig as default, expert, explore, getBaseConfig, lite };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mergeProps, h, TransitionGroup, Transition } from 'vue';
|
|
2
|
-
import { p as propsFactory,
|
|
2
|
+
import { p as propsFactory, ag as isObject, aQ as onlyDefinedProps } from './asWebComponent-BlFN2lkB.js';
|
|
3
3
|
|
|
4
4
|
// Utilities
|
|
5
5
|
const makeTransitionProps = propsFactory({
|