@eodash/eodash 5.0.0-rc.1.5 → 5.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/core/client/composables/EodashMap.js +47 -28
- package/core/client/composables/EodashProcess.js +51 -5
- package/core/client/composables/index.js +8 -1
- package/core/client/eodash.js +21 -7
- package/core/client/eodashSTAC/EodashCollection.js +24 -4
- package/core/client/eodashSTAC/createLayers.js +62 -6
- package/core/client/eodashSTAC/helpers.js +48 -5
- package/core/client/eodashSTAC/triggers.js +52 -1
- package/core/client/store/stac.js +7 -2
- package/core/client/types.ts +10 -1
- package/core/client/utils/index.js +12 -0
- package/core/client/utils/states.js +18 -1
- package/core/client/views/Dashboard.vue +3 -1
- package/dist/client/{DashboardLayout-B-4X57-t.js → DashboardLayout-VrJIbhe8.js} +2 -2
- package/dist/client/{DynamicWebComponent-Dj3QYwag.js → DynamicWebComponent-BCwpocDX.js} +1 -1
- package/dist/client/EodashDatePicker-Bp5ec3BC.js +430 -0
- package/dist/client/{EodashItemFilter-DBQwJQPh.js → EodashItemFilter-Cx0t-qeW.js} +1 -1
- package/dist/client/{EodashLayerControl-C5fOCvoI.js → EodashLayerControl-DERx00In.js} +10 -2
- package/dist/client/{EodashLayoutSwitcher-BMO9k_20.js → EodashLayoutSwitcher-DTS7otlk.js} +2 -2
- package/dist/client/{EodashMap-D2bnMLAC.js → EodashMap-C-I6puhb.js} +101 -73
- package/dist/client/{EodashMapBtns-l9B977id.js → EodashMapBtns-CWgtJiG4.js} +4 -4
- package/dist/client/{EodashProcess-BtIlJvF1.js → EodashProcess-DWrTIyHT.js} +188 -33
- package/dist/client/{EodashStacInfo-CPVvp_Hm.js → EodashStacInfo-Dvsk97Mz.js} +1 -1
- package/dist/client/{EodashTools-DY2dlNXW.js → EodashTools-CdnjgTTl.js} +4 -4
- package/dist/client/{ExportState-BvD5A0XG.js → ExportState-S4lcehm3.js} +4 -4
- package/dist/client/{Footer-w95gBnSH.js → Footer-DlIEbXp-.js} +1 -1
- package/dist/client/{Header-BpiorKy9.js → Header-CTiEXLi0.js} +3 -3
- package/dist/client/{MobileLayout-CmVlZe7S.js → MobileLayout-DRgyQYFz.js} +17 -7
- package/dist/client/{PopUp-CREaSybs.js → PopUp-CzqV8BFZ.js} +3 -3
- package/dist/client/{VImg-DF9esgdd.js → VImg-Bn8bCvVM.js} +2 -2
- package/dist/client/{VMain-BWLMf-rn.js → VMain-2GOqWb6m.js} +1 -1
- package/dist/client/{VOverlay-DmNfblmy.js → VOverlay-BetC0LGI.js} +3 -3
- package/dist/client/{VTooltip-C3PeE7iO.js → VTooltip-BWg0dxx5.js} +3 -3
- package/dist/client/{WidgetsContainer-6FHEEXns.js → WidgetsContainer-Cv466WUW.js} +1 -1
- package/dist/client/{asWebComponent-BnFMd0T6.js → asWebComponent-CLUhauLl.js} +422 -164
- package/dist/client/eo-dash.css +1 -1
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-BF3Me2RX.js → forwardRefs-CxSsJulB.js} +1 -1
- package/dist/client/{index-CRd5-RSy.js → index-BMj56LY3.js} +1 -1
- package/dist/client/{transition-Cpn_g5jE.js → transition-DidoPMgC.js} +1 -1
- package/dist/node/cli.js +2 -2
- package/dist/types/core/client/composables/EodashMap.d.ts +2 -1
- package/dist/types/core/client/composables/EodashProcess.d.ts +17 -11
- package/dist/types/core/client/composables/index.d.ts +1 -1
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +11 -4
- package/dist/types/core/client/eodashSTAC/createLayers.d.ts +6 -6
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +77 -20
- package/dist/types/core/client/eodashSTAC/triggers.d.ts +6 -0
- package/dist/types/core/client/types.d.ts +13 -1
- package/dist/types/core/client/utils/index.d.ts +1 -0
- package/dist/types/core/client/utils/states.d.ts +9 -0
- package/dist/types/widgets/EodashDatePicker.vue.d.ts +459 -2
- package/dist/types/widgets/EodashMap.vue.d.ts +2 -0
- package/dist/types/widgets/EodashProcess.vue.d.ts +1 -0
- package/dist/types/widgets/PopUp.vue.d.ts +1 -2
- package/package.json +24 -24
- package/widgets/EodashDatePicker.vue +139 -22
- package/widgets/EodashLayerControl.vue +13 -1
- package/widgets/EodashMap.vue +63 -5
- package/widgets/EodashProcess.vue +82 -22
- package/dist/client/EodashDatePicker-DGRJrJ0s.js +0 -306
|
@@ -1,14 +1,46 @@
|
|
|
1
|
-
import { watch, onMounted, nextTick, ref, openBlock, createElementBlock, createCommentVNode, toRaw, createElementVNode, createBlock,
|
|
1
|
+
import { createVNode, watch, onMounted, nextTick, ref, useTemplateRef, computed, openBlock, createElementBlock, createCommentVNode, toRaw, normalizeStyle, withCtx, createElementVNode, createBlock, createTextVNode } from 'vue';
|
|
2
2
|
import '@eox/chart';
|
|
3
3
|
import '@eox/drawtools';
|
|
4
4
|
import '@eox/jsonform';
|
|
5
|
-
import {
|
|
5
|
+
import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, f as useRtl, J as useDimension, a as useRender, ah as axios, ai as getLayers, a4 as mapEl, aj as extractLayerConfig, a8 as eoxLayersKey, $ as useSTAcStore, ab as useOnLayersUpdate, V as VBtn } from './asWebComponent-CLUhauLl.js';
|
|
6
6
|
import { storeToRefs } from 'pinia';
|
|
7
7
|
import { useEventBus } from '@vueuse/core';
|
|
8
8
|
import { isMulti } from '@eox/jsonform/src/custom-inputs/spatial/utils';
|
|
9
9
|
import mustache from 'mustache';
|
|
10
10
|
import log from 'loglevel';
|
|
11
11
|
|
|
12
|
+
const makeVContainerProps = propsFactory({
|
|
13
|
+
fluid: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: false
|
|
16
|
+
},
|
|
17
|
+
...makeComponentProps(),
|
|
18
|
+
...makeDimensionProps(),
|
|
19
|
+
...makeTagProps()
|
|
20
|
+
}, 'VContainer');
|
|
21
|
+
const VContainer = genericComponent()({
|
|
22
|
+
name: 'VContainer',
|
|
23
|
+
props: makeVContainerProps(),
|
|
24
|
+
setup(props, _ref) {
|
|
25
|
+
let {
|
|
26
|
+
slots
|
|
27
|
+
} = _ref;
|
|
28
|
+
const {
|
|
29
|
+
rtlClasses
|
|
30
|
+
} = useRtl();
|
|
31
|
+
const {
|
|
32
|
+
dimensionStyles
|
|
33
|
+
} = useDimension(props);
|
|
34
|
+
useRender(() => createVNode(props.tag, {
|
|
35
|
+
"class": ['v-container', {
|
|
36
|
+
'v-container--fluid': props.fluid
|
|
37
|
+
}, rtlClasses.value, props.class],
|
|
38
|
+
"style": [dimensionStyles.value, props.style]
|
|
39
|
+
}, slots));
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
12
44
|
/**
|
|
13
45
|
* Polls the process status and fetches a result item when the process is successful.
|
|
14
46
|
*
|
|
@@ -50,6 +82,10 @@ async function pollProcessStatus({
|
|
|
50
82
|
console.log("Result file fetched successfully:", resultResponse.data);
|
|
51
83
|
return resultResponse.data; // Return the json result list
|
|
52
84
|
}
|
|
85
|
+
if (processReport.status === "failed") {
|
|
86
|
+
isPolling.value = false;
|
|
87
|
+
throw new Error("Process failed.", processReport);
|
|
88
|
+
}
|
|
53
89
|
|
|
54
90
|
// Log the current status if not successful
|
|
55
91
|
console.log(
|
|
@@ -372,7 +408,7 @@ async function processGeoTiff(links, jsonformValue, layerId, isPolling) {
|
|
|
372
408
|
* @param {import("stac-ts").StacLink[] | undefined} links
|
|
373
409
|
* @param {Record<string,any> | undefined} jsonformValue
|
|
374
410
|
* @param {string} specUrl
|
|
375
|
-
* @returns {Promise<[import("
|
|
411
|
+
* @returns {Promise<[import("@eox/chart").EOxChart["spec"] | null,Record<string,any>|null]>}
|
|
376
412
|
**/
|
|
377
413
|
async function getChartValues(links, jsonformValue, specUrl) {
|
|
378
414
|
if (!specUrl || !links) return [null, null];
|
|
@@ -391,7 +427,7 @@ async function getChartValues(links, jsonformValue, specUrl) {
|
|
|
391
427
|
for (const link of dataLinks ?? []) {
|
|
392
428
|
if (link.type && ["application/json", "text/csv"].includes(link.type)) {
|
|
393
429
|
const dataUrl = mustache.render(link.href, {
|
|
394
|
-
...(jsonformValue
|
|
430
|
+
...(jsonformValue),
|
|
395
431
|
...(link["eox:flatstyle"] ?? {}),
|
|
396
432
|
});
|
|
397
433
|
// Wait for data to be retrieved
|
|
@@ -406,7 +442,7 @@ async function getChartValues(links, jsonformValue, specUrl) {
|
|
|
406
442
|
dataValues[/** @type {string} */ (link.id)] = await axios
|
|
407
443
|
.get(
|
|
408
444
|
mustache.render(link.href, {
|
|
409
|
-
...(jsonformValue
|
|
445
|
+
...(jsonformValue),
|
|
410
446
|
...(link["eox:flatstyle"] ?? {}),
|
|
411
447
|
}),
|
|
412
448
|
)
|
|
@@ -421,9 +457,10 @@ async function getChartValues(links, jsonformValue, specUrl) {
|
|
|
421
457
|
* @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
|
|
422
458
|
* @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
|
|
423
459
|
* @param {import("vue").Ref<Record<string,any>|null>} params.jsonformSchema
|
|
424
|
-
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
|
|
460
|
+
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
|
|
425
461
|
* @param {import("vue").Ref<Record<string, any> | null>} params.chartData
|
|
426
462
|
* @param {import("vue").Ref<boolean>} params.isPolling
|
|
463
|
+
* @param {import("vue").Ref<any[]>} params.processResults
|
|
427
464
|
*/
|
|
428
465
|
async function handleProcesses({
|
|
429
466
|
loading,
|
|
@@ -433,6 +470,7 @@ async function handleProcesses({
|
|
|
433
470
|
chartSpec,
|
|
434
471
|
chartData,
|
|
435
472
|
isPolling,
|
|
473
|
+
processResults,
|
|
436
474
|
}) {
|
|
437
475
|
log.debug("Processing...");
|
|
438
476
|
loading.value = true;
|
|
@@ -458,22 +496,50 @@ async function handleProcesses({
|
|
|
458
496
|
{ ...(jsonformValue ?? {}) },
|
|
459
497
|
specUrl,
|
|
460
498
|
);
|
|
499
|
+
if (Object.keys(chartData.value ?? {}).length) {
|
|
500
|
+
processResults.value.push(chartData.value);
|
|
501
|
+
}
|
|
502
|
+
//@ts-expect-error we assume that the spec data is of type InlineData
|
|
503
|
+
if (chartSpec.value?.data?.values?.length) {
|
|
504
|
+
//@ts-expect-error we assume that the spec data is of type InlineData
|
|
505
|
+
processResults.value.push(chartSpec.value?.data.values);
|
|
506
|
+
}
|
|
507
|
+
|
|
461
508
|
if (chartSpec.value && !("background" in chartSpec.value)) {
|
|
462
509
|
chartSpec.value["background"] = "transparent";
|
|
463
510
|
}
|
|
511
|
+
|
|
464
512
|
const geotiffLayer = await processGeoTiff(
|
|
465
513
|
serviceLinks,
|
|
466
514
|
jsonformValue,
|
|
467
515
|
selectedStac.value?.id ?? "",
|
|
468
516
|
isPolling,
|
|
469
517
|
);
|
|
518
|
+
|
|
519
|
+
if (geotiffLayer && geotiffLayer.source?.sources.length) {
|
|
520
|
+
processResults.value.push(
|
|
521
|
+
...(geotiffLayer.source?.sources?.map((source) => source.url) ?? []),
|
|
522
|
+
);
|
|
523
|
+
}
|
|
524
|
+
// 3. vector geojson
|
|
470
525
|
const vectorLayers = await processVector(
|
|
471
526
|
serviceLinks,
|
|
472
527
|
jsonformValue,
|
|
473
528
|
selectedStac.value?.id ?? "",
|
|
474
529
|
);
|
|
475
530
|
|
|
531
|
+
if (vectorLayers?.length) {
|
|
532
|
+
processResults.value.push(
|
|
533
|
+
...vectorLayers.map((layer) => layer.source?.url),
|
|
534
|
+
);
|
|
535
|
+
}
|
|
536
|
+
|
|
476
537
|
const imageLayers = processImage(serviceLinks, jsonformValue, origBbox);
|
|
538
|
+
if (imageLayers?.length) {
|
|
539
|
+
processResults.value.push(
|
|
540
|
+
...imageLayers.map((layer) => layer.source?.url),
|
|
541
|
+
);
|
|
542
|
+
}
|
|
477
543
|
|
|
478
544
|
log.debug(
|
|
479
545
|
"rendered layers after processing:",
|
|
@@ -511,8 +577,9 @@ async function handleProcesses({
|
|
|
511
577
|
* @param {Object} params
|
|
512
578
|
* @param {import("vue").Ref<boolean>} params.loading
|
|
513
579
|
* @param {import("vue").Ref<boolean>} params.isProcessed
|
|
514
|
-
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
|
|
580
|
+
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
|
|
515
581
|
* @param {import("vue").Ref<boolean>} params.isPolling
|
|
582
|
+
* @param {import("vue").Ref<any[]>} params.processResults
|
|
516
583
|
* @param {import("vue").Ref<Record<string,any>|null>} params.jsonformSchema
|
|
517
584
|
*/
|
|
518
585
|
function resetProcess({
|
|
@@ -520,12 +587,14 @@ function resetProcess({
|
|
|
520
587
|
isProcessed,
|
|
521
588
|
chartSpec,
|
|
522
589
|
jsonformSchema,
|
|
590
|
+
processResults,
|
|
523
591
|
isPolling,
|
|
524
592
|
}) {
|
|
525
593
|
loading.value = false;
|
|
526
594
|
isProcessed.value = false;
|
|
527
595
|
isPolling.value = false;
|
|
528
596
|
chartSpec.value = null;
|
|
597
|
+
processResults.value = [];
|
|
529
598
|
jsonformSchema.value = null;
|
|
530
599
|
}
|
|
531
600
|
|
|
@@ -538,7 +607,8 @@ function resetProcess({
|
|
|
538
607
|
* @param {import("vue").Ref<import("stac-ts").StacCollection>} params.selectedStac
|
|
539
608
|
* @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
|
|
540
609
|
* @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
|
|
541
|
-
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
|
|
610
|
+
* @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
|
|
611
|
+
* @param {import("vue").Ref<any[]>} params.processResults
|
|
542
612
|
* @param {import("vue").Ref<boolean>} params.isProcessed
|
|
543
613
|
* @param {import("vue").Ref<boolean>} params.loading
|
|
544
614
|
* @param {import("vue").Ref<boolean>} params.isPolling
|
|
@@ -549,13 +619,21 @@ async function initProcess({
|
|
|
549
619
|
jsonformSchema,
|
|
550
620
|
chartSpec,
|
|
551
621
|
isProcessed,
|
|
622
|
+
processResults,
|
|
552
623
|
loading,
|
|
553
624
|
isPolling,
|
|
554
625
|
}) {
|
|
555
626
|
if (!selectedStac.value) {
|
|
556
627
|
return;
|
|
557
628
|
}
|
|
558
|
-
resetProcess({
|
|
629
|
+
resetProcess({
|
|
630
|
+
loading,
|
|
631
|
+
isProcessed,
|
|
632
|
+
chartSpec,
|
|
633
|
+
jsonformSchema,
|
|
634
|
+
isPolling,
|
|
635
|
+
processResults,
|
|
636
|
+
});
|
|
559
637
|
if (selectedStac.value["eodash:jsonform"]) {
|
|
560
638
|
jsonformEl.value?.editor.destroy();
|
|
561
639
|
// wait for the layers to be rendered
|
|
@@ -575,7 +653,10 @@ async function initProcess({
|
|
|
575
653
|
}
|
|
576
654
|
}
|
|
577
655
|
|
|
578
|
-
const _hoisted_1 = {
|
|
656
|
+
const _hoisted_1 = {
|
|
657
|
+
ref: "container",
|
|
658
|
+
class: "process-container"
|
|
659
|
+
};
|
|
579
660
|
const _hoisted_2 = [".schema"];
|
|
580
661
|
const _hoisted_3 = [".spec", ".dataValues"];
|
|
581
662
|
|
|
@@ -599,12 +680,47 @@ const jsonformSchema = ref(null);
|
|
|
599
680
|
|
|
600
681
|
/** @type {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} */
|
|
601
682
|
const jsonformEl = ref(null);
|
|
683
|
+
|
|
684
|
+
const containerEl = useTemplateRef("container");
|
|
685
|
+
|
|
602
686
|
const loading = ref(false);
|
|
603
687
|
|
|
604
688
|
const autoExec = ref(false);
|
|
605
689
|
|
|
606
690
|
const isPolling = ref(false);
|
|
691
|
+
/** @type {import("vue").Ref<any[]>} */
|
|
692
|
+
const processResults = ref([]);
|
|
607
693
|
|
|
694
|
+
const downloadResults = () => {
|
|
695
|
+
processResults.value.forEach((result) => {
|
|
696
|
+
if (!result) {
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
699
|
+
let url = "";
|
|
700
|
+
let downloadFile = "";
|
|
701
|
+
if (typeof result === "string") {
|
|
702
|
+
url = result;
|
|
703
|
+
//@ts-expect-error TODO
|
|
704
|
+
downloadFile = url.includes("/") ? url.split("/").pop() : url;
|
|
705
|
+
downloadFile = downloadFile.includes("?")
|
|
706
|
+
? downloadFile.split("?")[0]
|
|
707
|
+
: downloadFile;
|
|
708
|
+
} else {
|
|
709
|
+
result = JSON.stringify(result);
|
|
710
|
+
const blob = new Blob([result], { type: "text" });
|
|
711
|
+
url = URL.createObjectURL(blob);
|
|
712
|
+
downloadFile = selectedStac.value?.id + "_process_results.json";
|
|
713
|
+
}
|
|
714
|
+
const link = document.createElement("a");
|
|
715
|
+
if (confirm(`Would you like to download ${downloadFile}?`)) {
|
|
716
|
+
link.href = url;
|
|
717
|
+
link.download = downloadFile;
|
|
718
|
+
link.click();
|
|
719
|
+
}
|
|
720
|
+
URL.revokeObjectURL(url);
|
|
721
|
+
link.remove();
|
|
722
|
+
});
|
|
723
|
+
};
|
|
608
724
|
onMounted(async () => {
|
|
609
725
|
// wait for the layers to be rendered
|
|
610
726
|
if (mapEl.value?.layers.length <= 1) {
|
|
@@ -617,6 +733,7 @@ onMounted(async () => {
|
|
|
617
733
|
chartSpec,
|
|
618
734
|
isProcessed,
|
|
619
735
|
loading,
|
|
736
|
+
processResults,
|
|
620
737
|
isPolling,
|
|
621
738
|
});
|
|
622
739
|
});
|
|
@@ -628,14 +745,15 @@ onMounted(async () => {
|
|
|
628
745
|
jsonformSchema,
|
|
629
746
|
chartSpec,
|
|
630
747
|
isProcessed,
|
|
748
|
+
processResults,
|
|
631
749
|
loading,
|
|
632
750
|
isPolling,
|
|
633
751
|
});
|
|
634
752
|
}
|
|
635
753
|
});
|
|
636
754
|
|
|
637
|
-
useOnLayersUpdate(
|
|
638
|
-
|
|
755
|
+
useOnLayersUpdate(async (evt, _payload) => {
|
|
756
|
+
if (evt === "layers:updated") {
|
|
639
757
|
await initProcess({
|
|
640
758
|
//@ts-expect-error TODO
|
|
641
759
|
selectedStac,
|
|
@@ -643,10 +761,12 @@ useOnLayersUpdate(
|
|
|
643
761
|
jsonformSchema,
|
|
644
762
|
chartSpec,
|
|
645
763
|
isProcessed,
|
|
764
|
+
processResults,
|
|
646
765
|
loading,
|
|
647
766
|
isPolling,
|
|
648
|
-
})
|
|
649
|
-
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
});
|
|
650
770
|
|
|
651
771
|
const startProcess = async () => {
|
|
652
772
|
const errors = jsonformEl.value?.editor.validate();
|
|
@@ -654,6 +774,7 @@ const startProcess = async () => {
|
|
|
654
774
|
console.warn("[eodash] Form validation failed", errors);
|
|
655
775
|
return;
|
|
656
776
|
}
|
|
777
|
+
processResults.value = [];
|
|
657
778
|
await handleProcesses({
|
|
658
779
|
jsonformEl,
|
|
659
780
|
jsonformSchema,
|
|
@@ -664,13 +785,29 @@ const startProcess = async () => {
|
|
|
664
785
|
selectedStac,
|
|
665
786
|
isProcessed,
|
|
666
787
|
isPolling,
|
|
788
|
+
processResults,
|
|
667
789
|
});
|
|
668
790
|
isProcessed.value = true;
|
|
669
791
|
};
|
|
670
792
|
useAutoExec(autoExec, jsonformEl, jsonformSchema, startProcess);
|
|
671
793
|
|
|
794
|
+
const chartStyles = computed(() => {
|
|
795
|
+
/** @type {Record<string,string> }*/
|
|
796
|
+
const styles = {};
|
|
797
|
+
if (!chartSpec.value?.["height"]) {
|
|
798
|
+
styles["height"] =
|
|
799
|
+
Math.max(
|
|
800
|
+
(containerEl.value?.offsetHeight ?? 0) -
|
|
801
|
+
(jsonformEl.value?.offsetHeight ?? 0),
|
|
802
|
+
200,
|
|
803
|
+
) + "px";
|
|
804
|
+
}
|
|
805
|
+
return styles;
|
|
806
|
+
});
|
|
807
|
+
|
|
672
808
|
return (_ctx, _cache) => {
|
|
673
809
|
|
|
810
|
+
|
|
674
811
|
|
|
675
812
|
return (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
676
813
|
(jsonformSchema.value)
|
|
@@ -686,26 +823,44 @@ return (_ctx, _cache) => {
|
|
|
686
823
|
key: 1,
|
|
687
824
|
class: "chart",
|
|
688
825
|
".spec": toRaw(chartSpec.value),
|
|
689
|
-
".dataValues": toRaw(chartData.value)
|
|
690
|
-
|
|
826
|
+
".dataValues": toRaw(chartData.value),
|
|
827
|
+
style: normalizeStyle(chartStyles.value)
|
|
828
|
+
}, null, 44 /* STYLE, PROPS, NEED_HYDRATION */, _hoisted_3))
|
|
691
829
|
: createCommentVNode("v-if", true),
|
|
692
|
-
|
|
693
|
-
(
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
830
|
+
createVNode(VContainer, null, {
|
|
831
|
+
default: withCtx(() => [
|
|
832
|
+
createElementVNode("span", null, [
|
|
833
|
+
(!autoExec.value)
|
|
834
|
+
? (openBlock(), createBlock(VBtn, {
|
|
835
|
+
key: 0,
|
|
836
|
+
loading: loading.value,
|
|
837
|
+
style: {"float":"right","margin-right":"20px"},
|
|
838
|
+
onClick: startProcess,
|
|
839
|
+
color: "primary"
|
|
840
|
+
}, {
|
|
841
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
842
|
+
createTextVNode(" Execute ")
|
|
843
|
+
])),
|
|
844
|
+
_: 1 /* STABLE */
|
|
845
|
+
}, 8 /* PROPS */, ["loading"]))
|
|
846
|
+
: createCommentVNode("v-if", true),
|
|
847
|
+
(processResults.value.length && isProcessed.value)
|
|
848
|
+
? (openBlock(), createBlock(VBtn, {
|
|
849
|
+
key: 1,
|
|
850
|
+
color: "primary",
|
|
851
|
+
onClick: downloadResults
|
|
852
|
+
}, {
|
|
853
|
+
default: withCtx(() => _cache[1] || (_cache[1] = [
|
|
854
|
+
createTextVNode(" Download ")
|
|
855
|
+
])),
|
|
856
|
+
_: 1 /* STABLE */
|
|
857
|
+
}))
|
|
858
|
+
: createCommentVNode("v-if", true)
|
|
859
|
+
])
|
|
860
|
+
]),
|
|
861
|
+
_: 1 /* STABLE */
|
|
862
|
+
})
|
|
863
|
+
], 512 /* NEED_PATCH */))
|
|
709
864
|
}
|
|
710
865
|
}
|
|
711
866
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { openBlock, createElementBlock, createElementVNode, unref } from 'vue';
|
|
2
2
|
import '@eox/stacinfo';
|
|
3
|
-
import {
|
|
3
|
+
import { ak as currentUrl } from './asWebComponent-CLUhauLl.js';
|
|
4
4
|
|
|
5
5
|
const _hoisted_1 = { class: "flex-grow-1 fill-height overflow-auto" };
|
|
6
6
|
const _hoisted_2 = [".for", ".allowHtml", ".body", ".featured", ".footer", ".styleOverride", ".header", ".subheader", ".tags"];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ref, computed, openBlock, createElementBlock, createElementVNode, createBlock, unref, createCommentVNode, createVNode, withCtx, mergeProps } from 'vue';
|
|
2
|
-
import _sfc_main$2 from './PopUp-
|
|
3
|
-
import _sfc_main$3 from './EodashItemFilter-
|
|
4
|
-
import _sfc_main$1 from './EodashLayoutSwitcher-
|
|
2
|
+
import _sfc_main$2 from './PopUp-CzqV8BFZ.js';
|
|
3
|
+
import _sfc_main$3 from './EodashItemFilter-Cx0t-qeW.js';
|
|
4
|
+
import _sfc_main$1 from './EodashLayoutSwitcher-DTS7otlk.js';
|
|
5
5
|
import { mdiViewDashboard, mdiPlus } from '@mdi/js';
|
|
6
|
-
import { t as useDisplay,
|
|
6
|
+
import { t as useDisplay, a2 as makePanelTransparent, V as VBtn } from './asWebComponent-CLUhauLl.js';
|
|
7
7
|
|
|
8
8
|
const _hoisted_1 = { class: "d-flex flex-row justify-space-between pa-4 align-center" };
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createVNode, Fragment, computed, withDirectives, mergeProps, resolveDirective, toRef, mergeModels, useModel, ref, openBlock, createBlock, withCtx, createElementVNode, createTextVNode, toDisplayString, unref, createElementBlock, createCommentVNode, renderList } from 'vue';
|
|
2
2
|
import { mdiClipboardCheckOutline, mdiContentCopy } from '@mdi/js';
|
|
3
|
-
import _sfc_main$1 from './PopUp-
|
|
4
|
-
import {
|
|
5
|
-
import { a as VExpandTransition } from './index-
|
|
6
|
-
import { V as VImg } from './VImg-
|
|
3
|
+
import _sfc_main$1 from './PopUp-CzqV8BFZ.js';
|
|
4
|
+
import { an as createSimpleFunctional, g as genericComponent, b as makeComponentProps, D as provideDefaults, a as useRender, p as propsFactory, c as makeTagProps, I as IconValue, K as makeBorderProps, A as makeDensityProps, M as makeRoundedProps, ao as makeSizeProps, d as makeThemeProps, ap as makeVariantProps, e as provideTheme, N as useBorder, aq as useVariant, B as useDensity, P as useRounded, ar as useSize, y as VIcon, Q as VDefaultsProvider, as as genOverlays, H as makeDimensionProps, L as makeElevationProps, at as makeLoaderProps, au as makeLocationProps, av as makePositionProps, aw as makeRouterProps, ax as Ripple, J as useDimension, O as useElevation, ay as useLoader, az as useLocation, aA as usePosition, aB as useLink, aC as LoaderSlot, u as useTextColor, q as convertToUnit, _ as _export_sfc, ai as getLayers, aD as removeUnneededProperties, aE as VRow, aF as VCol, V as VBtn, aG as copyToClipBoard, ad as mapPosition, ae as availableMapProjection } from './asWebComponent-CLUhauLl.js';
|
|
5
|
+
import { a as VExpandTransition } from './index-BMj56LY3.js';
|
|
6
|
+
import { V as VImg } from './VImg-Bn8bCvVM.js';
|
|
7
7
|
|
|
8
8
|
// Styles
|
|
9
9
|
const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, toRef, shallowRef, computed, createVNode, watchEffect, inject, openBlock, createBlock, unref, withCtx, createElementVNode, toDisplayString, createTextVNode } from 'vue';
|
|
2
|
-
import { p as propsFactory, K as makeBorderProps, b as makeComponentProps, L as makeElevationProps, T as makeLayoutItemProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, g as genericComponent, e as provideTheme, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, v as useResizeObserver, U as useToggleScope, a as useRender, q as convertToUnit, W as useLayoutItem, _ as _export_sfc, X as eodashKey, t as useDisplay } from './asWebComponent-
|
|
2
|
+
import { p as propsFactory, K as makeBorderProps, b as makeComponentProps, L as makeElevationProps, T as makeLayoutItemProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, g as genericComponent, e as provideTheme, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, v as useResizeObserver, U as useToggleScope, a as useRender, q as convertToUnit, W as useLayoutItem, _ as _export_sfc, X as eodashKey, t as useDisplay } from './asWebComponent-CLUhauLl.js';
|
|
3
3
|
|
|
4
4
|
const makeVFooterProps = propsFactory({
|
|
5
5
|
app: Boolean,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createVNode, toRef, shallowRef, computed, ref, watch, onMounted, onBeforeUnmount, mergeProps, watchEffect, inject, openBlock, createBlock, withCtx, createTextVNode, toDisplayString, unref } from 'vue';
|
|
2
|
-
import { p as propsFactory, b as makeComponentProps, c as makeTagProps, g as genericComponent, a as useRender, K as makeBorderProps, L as makeElevationProps, M as makeRoundedProps, d as makeThemeProps, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, e as provideTheme, f as useRtl, D as provideDefaults, Q as VDefaultsProvider, q as convertToUnit, R as clamp, S as consoleWarn, T as makeLayoutItemProps, j as useProxiedModel, U as useToggleScope, W as useLayoutItem, _ as _export_sfc, X as eodashKey } from './asWebComponent-
|
|
3
|
-
import { a as VExpandTransition } from './index-
|
|
4
|
-
import { V as VImg } from './VImg-
|
|
2
|
+
import { p as propsFactory, b as makeComponentProps, c as makeTagProps, g as genericComponent, a as useRender, K as makeBorderProps, L as makeElevationProps, M as makeRoundedProps, d as makeThemeProps, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, e as provideTheme, f as useRtl, D as provideDefaults, Q as VDefaultsProvider, q as convertToUnit, R as clamp, S as consoleWarn, T as makeLayoutItemProps, j as useProxiedModel, U as useToggleScope, W as useLayoutItem, _ as _export_sfc, X as eodashKey } from './asWebComponent-CLUhauLl.js';
|
|
3
|
+
import { a as VExpandTransition } from './index-BMj56LY3.js';
|
|
4
|
+
import { V as VImg } from './VImg-Bn8bCvVM.js';
|
|
5
5
|
import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
|
|
6
6
|
|
|
7
7
|
const makeVToolbarTitleProps = propsFactory({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ref, computed, createVNode, mergeProps, Fragment, shallowRef, watch, provide, withDirectives, resolveDirective, inject, vShow, nextTick, toRef, useCssVars, onMounted, openBlock, createBlock, withCtx, Suspense, unref, resolveDynamicComponent, createCommentVNode, createElementBlock, renderList, createElementVNode, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
-
import { k as keys, p as propsFactory, o as omit, m as makeVBtnProps, g as genericComponent, u as useTextColor, a as useRender, V as VBtn, b as makeComponentProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, f as useRtl, h as useLocale, i as useGroup, j as useProxiedModel, l as makeGroupItemProps, n as useGroupItem, q as convertToUnit, I as IconValue, r as makeDisplayProps, s as makeGroupProps, t as useDisplay, v as useResizeObserver, w as useGoTo, x as IN_BROWSER, y as VIcon, z as focusableChildren, A as makeDensityProps, B as useDensity, C as useBackgroundColor, D as provideDefaults, E as isObject, _ as _export_sfc, F as useDefineTemplate, G as useLayout } from './asWebComponent-
|
|
3
|
-
import { V as VMain } from './VMain-
|
|
4
|
-
import { f as forwardRefs, a as animate, s as standardEasing, m as makeLazyProps, u as useLazy, b as useScopeId } from './forwardRefs-
|
|
2
|
+
import { k as keys, p as propsFactory, o as omit, m as makeVBtnProps, g as genericComponent, u as useTextColor, a as useRender, V as VBtn, b as makeComponentProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, f as useRtl, h as useLocale, i as useGroup, j as useProxiedModel, l as makeGroupItemProps, n as useGroupItem, q as convertToUnit, I as IconValue, r as makeDisplayProps, s as makeGroupProps, t as useDisplay, v as useResizeObserver, w as useGoTo, x as IN_BROWSER, y as VIcon, z as focusableChildren, A as makeDensityProps, B as useDensity, C as useBackgroundColor, D as provideDefaults, E as isObject, _ as _export_sfc, F as useDefineTemplate, G as useLayout } from './asWebComponent-CLUhauLl.js';
|
|
3
|
+
import { V as VMain } from './VMain-2GOqWb6m.js';
|
|
4
|
+
import { f as forwardRefs, a as animate, s as standardEasing, m as makeLazyProps, u as useLazy, b as useScopeId } from './forwardRefs-CxSsJulB.js';
|
|
5
5
|
import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
|
|
6
|
-
import { M as MaybeTransition } from './transition-
|
|
7
|
-
import { V as VFadeTransition } from './index-
|
|
6
|
+
import { M as MaybeTransition } from './transition-DidoPMgC.js';
|
|
7
|
+
import { V as VFadeTransition } from './index-BMj56LY3.js';
|
|
8
8
|
|
|
9
9
|
// Utilities
|
|
10
10
|
const handleGesture = wrapper => {
|
|
@@ -818,6 +818,14 @@ const VSlideGroup = genericComponent()({
|
|
|
818
818
|
toFocus('last');
|
|
819
819
|
}
|
|
820
820
|
}
|
|
821
|
+
function getSiblingElement(el, location) {
|
|
822
|
+
if (!el) return undefined;
|
|
823
|
+
let sibling = el;
|
|
824
|
+
do {
|
|
825
|
+
sibling = sibling?.[location === 'next' ? 'nextElementSibling' : 'previousElementSibling'];
|
|
826
|
+
} while (sibling?.hasAttribute('disabled'));
|
|
827
|
+
return sibling;
|
|
828
|
+
}
|
|
821
829
|
function focus(location) {
|
|
822
830
|
if (!contentRef.el) return;
|
|
823
831
|
let el;
|
|
@@ -825,15 +833,17 @@ const VSlideGroup = genericComponent()({
|
|
|
825
833
|
const focusable = focusableChildren(contentRef.el);
|
|
826
834
|
el = focusable[0];
|
|
827
835
|
} else if (location === 'next') {
|
|
828
|
-
el = contentRef.el.querySelector(':focus')
|
|
836
|
+
el = getSiblingElement(contentRef.el.querySelector(':focus'), location);
|
|
829
837
|
if (!el) return focus('first');
|
|
830
838
|
} else if (location === 'prev') {
|
|
831
|
-
el = contentRef.el.querySelector(':focus')
|
|
839
|
+
el = getSiblingElement(contentRef.el.querySelector(':focus'), location);
|
|
832
840
|
if (!el) return focus('last');
|
|
833
841
|
} else if (location === 'first') {
|
|
834
842
|
el = contentRef.el.firstElementChild;
|
|
843
|
+
if (el?.hasAttribute('disabled')) el = getSiblingElement(el, 'next');
|
|
835
844
|
} else if (location === 'last') {
|
|
836
845
|
el = contentRef.el.lastElementChild;
|
|
846
|
+
if (el?.hasAttribute('disabled')) el = getSiblingElement(el, 'prev');
|
|
837
847
|
}
|
|
838
848
|
if (el) {
|
|
839
849
|
el.focus({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createVNode, Transition, mergeProps, ref, onBeforeUnmount, watch, nextTick, toRef, mergeModels, useModel, openBlock, createElementBlock, withCtx, createBlock, resolveDynamicComponent, unref, createCommentVNode, renderSlot } from 'vue';
|
|
2
|
-
import { g as genericComponent, p as propsFactory, j as useProxiedModel, x as IN_BROWSER, a as useRender, z as focusableChildren, Q as VDefaultsProvider, K as makeBorderProps, b as makeComponentProps, H as makeDimensionProps, L as makeElevationProps,
|
|
3
|
-
import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-
|
|
4
|
-
import { a as animate, d as deceleratedEasing, s as standardEasing, c as acceleratedEasing, g as getTargetBox, n as nullifyTransforms, b as useScopeId, f as forwardRefs } from './forwardRefs-
|
|
2
|
+
import { g as genericComponent, p as propsFactory, j as useProxiedModel, x as IN_BROWSER, a as useRender, z as focusableChildren, Q as VDefaultsProvider, K as makeBorderProps, b as makeComponentProps, H as makeDimensionProps, L as makeElevationProps, au as makeLocationProps, av as makePositionProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, C as useBackgroundColor, N as useBorder, J as useDimension, O as useElevation, az as useLocation, aA as usePosition, P as useRounded, aJ as useDefineWidgets } from './asWebComponent-CLUhauLl.js';
|
|
3
|
+
import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-BetC0LGI.js';
|
|
4
|
+
import { a as animate, d as deceleratedEasing, s as standardEasing, c as acceleratedEasing, g as getTargetBox, n as nullifyTransforms, b as useScopeId, f as forwardRefs } from './forwardRefs-CxSsJulB.js';
|
|
5
5
|
|
|
6
6
|
const makeVDialogTransitionProps = propsFactory({
|
|
7
7
|
target: [Object, Array]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createVNode, computed, toRef, shallowRef, ref, watch, onBeforeMount, nextTick, onBeforeUnmount, withDirectives, mergeProps, Fragment, resolveDirective, vShow } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
import { m as makeTransitionProps, M as MaybeTransition } from './transition-
|
|
2
|
+
import { aH as SUPPORTS_INTERSECTION, p as propsFactory, b as makeComponentProps, H as makeDimensionProps, g as genericComponent, J as useDimension, a as useRender, M as makeRoundedProps, C as useBackgroundColor, P as useRounded, aI as getCurrentInstance, q as convertToUnit } from './asWebComponent-CLUhauLl.js';
|
|
3
|
+
import { m as makeTransitionProps, M as MaybeTransition } from './transition-DidoPMgC.js';
|
|
4
4
|
|
|
5
5
|
// Utilities
|
|
6
6
|
function mounted(el, binding) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createVNode } from 'vue';
|
|
2
|
-
import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, J as useDimension, G as useLayout, a as useRender } from './asWebComponent-
|
|
2
|
+
import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, J as useDimension, G as useLayout, a as useRender } from './asWebComponent-CLUhauLl.js';
|
|
3
3
|
import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
|
|
4
4
|
|
|
5
5
|
const makeVMainProps = propsFactory({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, watch, onScopeDispose, computed, nextTick, watchEffect, effectScope, inject, mergeProps, shallowRef, onMounted, reactive, provide, readonly, toRaw, warn, toRef, onBeforeUnmount, createVNode, Fragment, Teleport, withDirectives, vShow, resolveDirective, Transition } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
import { g as getTargetBox, B as Box, e as getOverflow, n as nullifyTransforms, m as makeLazyProps, u as useLazy, b as useScopeId, a as animate, s as standardEasing } from './forwardRefs-
|
|
4
|
-
import { m as makeTransitionProps, M as MaybeTransition } from './transition-
|
|
2
|
+
import { aK as isOn, aL as eventName, p as propsFactory, x as IN_BROWSER, U as useToggleScope, aM as destructComputed, aN as parseAnchor, aO as flipSide, aP as flipAlign, aQ as flipCorner, Y as consoleError, aR as getAxis, q as convertToUnit, R as clamp, aS as defer, aI as getCurrentInstance, aT as templateRef, aU as matchesSelector, t as useDisplay, b as makeComponentProps, H as makeDimensionProps, d as makeThemeProps, g as genericComponent, j as useProxiedModel, e as provideTheme, f as useRtl, C as useBackgroundColor, J as useDimension, aV as useRouter, a as useRender, aW as useBackButton } from './asWebComponent-CLUhauLl.js';
|
|
3
|
+
import { g as getTargetBox, B as Box, e as getOverflow, n as nullifyTransforms, m as makeLazyProps, u as useLazy, b as useScopeId, a as animate, s as standardEasing } from './forwardRefs-CxSsJulB.js';
|
|
4
|
+
import { m as makeTransitionProps, M as MaybeTransition } from './transition-DidoPMgC.js';
|
|
5
5
|
|
|
6
6
|
// Utilities
|
|
7
7
|
const handlers = new WeakMap();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, ref, mergeProps, createVNode } from 'vue';
|
|
2
|
-
import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-
|
|
3
|
-
import { b as useScopeId, f as forwardRefs } from './forwardRefs-
|
|
4
|
-
import { p as propsFactory, o as omit, g as genericComponent, j as useProxiedModel,
|
|
2
|
+
import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-BetC0LGI.js';
|
|
3
|
+
import { b as useScopeId, f as forwardRefs } from './forwardRefs-CxSsJulB.js';
|
|
4
|
+
import { p as propsFactory, o as omit, g as genericComponent, j as useProxiedModel, am as getUid, a as useRender } from './asWebComponent-CLUhauLl.js';
|
|
5
5
|
|
|
6
6
|
const makeVTooltipProps = propsFactory({
|
|
7
7
|
id: String,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, onMounted, nextTick, openBlock, createElementBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, normalizeStyle, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { aJ as useDefineWidgets, G as useLayout } from './asWebComponent-CLUhauLl.js';
|
|
3
3
|
import 'animated-details';
|
|
4
4
|
|
|
5
5
|
const _sfc_main = {
|