@eodash/eodash 5.0.0 → 5.1.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/README.md +1 -0
- package/core/client/App.vue +8 -2
- package/core/client/asWebComponent.js +5 -5
- package/core/client/components/DashboardLayout.vue +42 -25
- package/core/client/components/EodashOverlay.vue +1 -1
- package/core/client/components/ErrorAlert.vue +2 -2
- package/core/client/components/Footer.vue +4 -4
- package/core/client/components/Header.vue +3 -3
- package/core/client/components/MobileLayout.vue +9 -10
- package/core/client/composables/DefineEodash.js +38 -43
- package/core/client/composables/DefineTemplate.js +4 -2
- package/core/client/composables/DefineWidgets.js +14 -8
- package/core/client/composables/index.js +273 -23
- package/core/client/eodashSTAC/EodashCollection.js +80 -47
- package/core/client/eodashSTAC/helpers.js +136 -27
- package/core/client/eodashSTAC/parquet.js +145 -0
- package/core/client/eodashSTAC/triggers.js +6 -3
- package/core/client/plugins/index.js +4 -3
- package/core/client/plugins/vuetify.js +3 -0
- package/core/client/store/actions.js +21 -4
- package/core/client/store/stac.js +93 -56
- package/core/client/store/states.js +15 -5
- package/core/client/types.ts +59 -43
- package/core/client/utils/index.js +79 -0
- package/core/client/utils/keys.js +2 -2
- package/core/client/utils/states.js +30 -5
- package/core/client/views/Dashboard.vue +36 -32
- package/core/client/vite-env.d.ts +7 -0
- package/dist/client/{DashboardLayout-CkWvOMOW.js → DashboardLayout-ByVs1DrY.js} +23 -12
- package/dist/client/{DynamicWebComponent-DYBbpvUK.js → DynamicWebComponent-C3W7HSQm.js} +1 -1
- package/dist/client/{EodashDatePicker-CALmW3SI.js → EodashDatePicker-BIAf1sMT.js} +59 -32
- package/dist/client/{EodashItemFilter-DlQiE713.js → EodashItemFilter-DPznh8UB.js} +20 -10
- package/dist/client/{EodashLayerControl-DEzEbft7.js → EodashLayerControl-Bhxjw4V2.js} +29 -16
- package/dist/client/EodashLayoutSwitcher-C5qTEffW.js +61 -0
- package/dist/client/EodashMapBtns-WoGq8MuV.js +173 -0
- package/dist/client/{EodashStacInfo-DPPxDkF6.js → EodashStacInfo-CSvvF2jI.js} +3 -18
- package/dist/client/{EodashTools-CUaL9s4H.js → EodashTools-Cv1SXQ5y.js} +13 -13
- package/dist/client/{ExportState-DjyIZVhl.js → ExportState-D-iuwaad.js} +58 -52
- package/dist/client/{Footer-DyL0JoWt.js → Footer-CyF0zRAk.js} +15 -13
- package/dist/client/{Header-B5Dgty9l.js → Header-CgD8jDKU.js} +33 -28
- package/dist/client/{MobileLayout-CRsg_5Q4.js → MobileLayout-EKQ_kpSh.js} +69 -60
- package/dist/client/{PopUp-BfB8s_ki.js → PopUp-BsYLvWch.js} +19 -10
- package/dist/client/ProcessList-C2xsLU2_.js +191 -0
- package/dist/client/{VImg-FD1WVphJ.js → VImg-OHe8YTs2.js} +24 -24
- package/dist/client/{VMain-DJKG4SvM.js → VMain-PryTLU4a.js} +7 -7
- package/dist/client/{VOverlay-BzOdRu9h.js → VOverlay-yUn7p-Uf.js} +64 -27
- package/dist/client/{VTooltip-CfeefrXI.js → VTooltip-DZ0fjpB3.js} +13 -10
- package/dist/client/{WidgetsContainer-C2TaTdb6.js → WidgetsContainer-B9LBadcC.js} +1 -1
- package/dist/client/asWebComponent-By_7_JjS.js +19193 -0
- package/dist/client/async-DkSu_u2K.js +740 -0
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-Bon_Kku1.js → forwardRefs-BXxrv98s.js} +31 -4
- package/dist/client/handling-CgmFXkW6.js +1212 -0
- package/dist/client/helpers-Dy0Q13tP.js +4534 -0
- package/dist/client/{index-Bm9cbtx5.js → index-BuhOHXKv.js} +2 -4
- package/dist/client/{index-CIHH_3dW.js → index-Ch_HchK3.js} +39 -32
- package/dist/client/{index-4CT7Tz83.js → index-Dqj4tbx2.js} +2 -2
- package/dist/client/index-skjhlH8u.js +376 -0
- package/dist/client/{ssrBoot-BP7SYRyC.js → ssrBoot-Zgc_Ttvi.js} +2 -2
- package/dist/client/templates.js +850 -0
- package/dist/client/transition-C98Yn4Vo.js +40 -0
- package/dist/node/cli.js +16 -6
- package/dist/node/types.d.ts +1 -1
- package/dist/types/core/client/App.vue.d.ts +2 -2
- package/dist/types/core/client/asWebComponent.d.ts +1 -1
- package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +1 -3
- package/dist/types/core/client/components/Footer.vue.d.ts +1 -105
- package/dist/types/core/client/components/IframeWrapper.vue.d.ts +1 -1
- package/dist/types/core/client/components/MobileLayout.vue.d.ts +1 -324
- package/dist/types/core/client/composables/DefineEodash.d.ts +2 -2
- package/dist/types/core/client/composables/DefineTemplate.d.ts +1 -1
- package/dist/types/core/client/composables/DefineWidgets.d.ts +4 -4
- package/dist/types/core/client/composables/index.d.ts +24 -2
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +9 -6
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +20 -5
- package/dist/types/core/client/eodashSTAC/parquet.d.ts +2 -0
- package/dist/types/core/client/plugins/vuetify.d.ts +7 -4
- package/dist/types/core/client/store/actions.d.ts +3 -2
- package/dist/types/core/client/store/stac.d.ts +16 -13
- package/dist/types/core/client/store/states.d.ts +14 -4
- package/dist/types/core/client/types.d.ts +45 -30
- package/dist/types/core/client/utils/index.d.ts +2 -0
- package/dist/types/core/client/utils/keys.d.ts +4 -4
- package/dist/types/core/client/utils/states.d.ts +59 -47
- package/dist/types/core/client/views/Dashboard.vue.d.ts +2 -2
- package/dist/types/templates/baseConfig.d.ts +4 -0
- package/dist/types/templates/compare.d.ts +210 -0
- package/dist/types/templates/expert.d.ts +151 -0
- package/dist/types/templates/index.d.ts +6 -0
- package/dist/types/templates/light.d.ts +145 -0
- package/dist/types/widgets/EodashDatePicker.vue.d.ts +1 -458
- package/dist/types/widgets/EodashItemFilter.vue.d.ts +3 -3
- package/dist/types/widgets/EodashLayerControl.vue.d.ts +14 -7
- package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +1 -3
- package/dist/types/widgets/EodashMap/index.vue.d.ts +1 -4
- package/dist/types/widgets/EodashMapBtns.vue.d.ts +8 -8
- package/dist/types/widgets/EodashProcess/ProcessList.vue.d.ts +8 -1
- package/dist/types/widgets/EodashProcess/index.vue.d.ts +8 -4
- package/dist/types/widgets/EodashProcess/methods/async.d.ts +18 -18
- package/dist/types/widgets/EodashProcess/methods/composables.d.ts +3 -2
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/index.d.ts +1 -0
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.d.ts +6 -0
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.d.ts +4 -0
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +5 -0
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/index.d.ts +1 -0
- package/dist/types/widgets/EodashProcess/methods/handling.d.ts +12 -5
- package/dist/types/widgets/EodashProcess/methods/outputs.d.ts +72 -41
- package/dist/types/widgets/EodashProcess/methods/utils.d.ts +41 -21
- package/dist/types/widgets/EodashProcess/states.d.ts +11 -0
- package/dist/types/widgets/EodashProcess/types.d.ts +41 -0
- package/dist/types/widgets/EodashStacInfo.vue.d.ts +14 -14
- package/dist/types/widgets/EodashTools.vue.d.ts +3 -3
- package/dist/types/widgets/ExportState.vue.d.ts +1 -1
- package/dist/types/widgets/PopUp.vue.d.ts +11 -16
- package/dist/types/widgets/WidgetsContainer.vue.d.ts +3 -6
- package/package.json +53 -45
- package/templates/baseConfig.js +68 -0
- package/templates/compare.js +162 -0
- package/templates/expert.js +123 -0
- package/templates/index.js +8 -0
- package/templates/light.js +130 -0
- package/widgets/EodashDatePicker.vue +80 -31
- package/widgets/EodashItemFilter.vue +26 -11
- package/widgets/EodashLayerControl.vue +20 -11
- package/widgets/EodashLayoutSwitcher.vue +6 -3
- package/widgets/EodashMap/index.vue +3 -8
- package/widgets/EodashMap/methods/create-layers-config.js +4 -3
- package/widgets/EodashMap/methods/index.js +33 -23
- package/widgets/EodashMapBtns.vue +83 -41
- package/widgets/EodashProcess/ProcessList.vue +34 -10
- package/widgets/EodashProcess/index.vue +55 -20
- package/widgets/EodashProcess/methods/async.js +77 -59
- package/widgets/EodashProcess/methods/composables.js +21 -14
- package/widgets/EodashProcess/methods/custom-endpoints/chart/index.js +35 -0
- package/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.js +275 -0
- package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +116 -0
- package/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.js +94 -0
- package/widgets/EodashProcess/methods/custom-endpoints/layers/index.js +33 -0
- package/widgets/EodashProcess/methods/handling.js +127 -80
- package/widgets/EodashProcess/methods/outputs.js +376 -125
- package/widgets/EodashProcess/methods/utils.js +398 -10
- package/widgets/EodashProcess/states.js +13 -0
- package/widgets/EodashProcess/types.ts +46 -0
- package/widgets/EodashStacInfo.vue +2 -17
- package/widgets/EodashTools.vue +13 -13
- package/widgets/WidgetsContainer.vue +1 -1
- package/core/client/eodash.js +0 -454
- package/dist/client/EodashLayoutSwitcher-CDeCV8F-.js +0 -52
- package/dist/client/EodashMapBtns-CktQCfa-.js +0 -131
- package/dist/client/ProcessList-DTefwQZx.js +0 -484
- package/dist/client/asWebComponent-CLhcT715.js +0 -12479
- package/dist/client/eo-dash.css +0 -5
- package/dist/client/index-DiGDvTQU.js +0 -780
- package/dist/client/transition-C5I57hn6.js +0 -37
- package/dist/types/core/client/eodash.d.ts +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<HeaderComponent v-if="!eodash
|
|
2
|
+
<HeaderComponent v-if="!eodash?.brand.noLayout" />
|
|
3
3
|
<ErrorAlert v-model="error" />
|
|
4
4
|
<EodashOverlay />
|
|
5
5
|
<Suspense>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
12
12
|
</Suspense>
|
|
13
|
-
<FooterComponent v-if="!eodash
|
|
13
|
+
<FooterComponent v-if="!eodash?.brand.noLayout" />
|
|
14
14
|
</template>
|
|
15
15
|
|
|
16
16
|
<script setup>
|
|
@@ -18,7 +18,7 @@ import { useEodashRuntime } from "@/composables/DefineEodash";
|
|
|
18
18
|
import { useURLSearchParametersSync, useUpdateTheme } from "@/composables";
|
|
19
19
|
import { useSTAcStore } from "@/store/stac";
|
|
20
20
|
import { computed, defineAsyncComponent, onErrorCaptured, ref } from "vue";
|
|
21
|
-
import { useDisplay } from "vuetify
|
|
21
|
+
import { useDisplay } from "vuetify";
|
|
22
22
|
import { loadFont } from "@/utils";
|
|
23
23
|
import Loading from "@/components/Loading.vue";
|
|
24
24
|
import ErrorAlert from "@/components/ErrorAlert.vue";
|
|
@@ -26,7 +26,7 @@ import EodashOverlay from "@/components/EodashOverlay.vue";
|
|
|
26
26
|
|
|
27
27
|
const props = defineProps({
|
|
28
28
|
config: {
|
|
29
|
-
type: String,
|
|
29
|
+
type: [String, Function],
|
|
30
30
|
},
|
|
31
31
|
isWebComponent: {
|
|
32
32
|
type: Boolean,
|
|
@@ -37,18 +37,25 @@ const props = defineProps({
|
|
|
37
37
|
useURLSearchParametersSync();
|
|
38
38
|
|
|
39
39
|
const eodash = await useEodashRuntime(props.config);
|
|
40
|
+
if (!eodash) {
|
|
41
|
+
throw new Error(
|
|
42
|
+
"Eodash configuration is not defined. Please provide a valid configuration file or object.",
|
|
43
|
+
);
|
|
44
|
+
}
|
|
40
45
|
|
|
41
46
|
const theme = useUpdateTheme("dashboardTheme", {
|
|
42
|
-
...(eodash
|
|
47
|
+
...(eodash?.brand?.theme ?? {}),
|
|
43
48
|
});
|
|
44
|
-
theme.
|
|
49
|
+
theme.change("dashboardTheme");
|
|
45
50
|
|
|
46
|
-
await loadFont(eodash
|
|
51
|
+
await loadFont(eodash?.brand?.font, props.isWebComponent);
|
|
47
52
|
|
|
48
|
-
const { loadSTAC } = useSTAcStore();
|
|
49
|
-
|
|
53
|
+
const { loadSTAC, init } = useSTAcStore();
|
|
54
|
+
init(eodash.stacEndpoint);
|
|
55
|
+
await loadSTAC(eodash.stacEndpoint);
|
|
50
56
|
|
|
51
57
|
const { smAndDown } = useDisplay();
|
|
58
|
+
|
|
52
59
|
const TemplateComponent = computed(() =>
|
|
53
60
|
smAndDown.value
|
|
54
61
|
? defineAsyncComponent(() => import(`@/components/MobileLayout.vue`))
|
|
@@ -62,7 +69,7 @@ const FooterComponent = defineAsyncComponent(
|
|
|
62
69
|
() => import(`@/components/Footer.vue`),
|
|
63
70
|
);
|
|
64
71
|
|
|
65
|
-
const templateHeight =
|
|
72
|
+
const templateHeight = "100%";
|
|
66
73
|
|
|
67
74
|
const error = ref("");
|
|
68
75
|
onErrorCaptured((e, comp, info) => {
|
|
@@ -75,37 +82,34 @@ onErrorCaptured((e, comp, info) => {
|
|
|
75
82
|
</script>
|
|
76
83
|
<style>
|
|
77
84
|
.loading-container {
|
|
78
|
-
height:
|
|
85
|
+
height: 100%;
|
|
79
86
|
display: flex;
|
|
80
87
|
align-items: center;
|
|
81
88
|
justify-content: center;
|
|
82
89
|
}
|
|
83
90
|
|
|
84
91
|
div.v-application__wrap {
|
|
85
|
-
|
|
92
|
+
height: 100%;
|
|
93
|
+
min-height: 100%;
|
|
86
94
|
}
|
|
87
95
|
eo-dash {
|
|
88
96
|
overflow: hidden;
|
|
97
|
+
display: block;
|
|
89
98
|
}
|
|
90
99
|
/* set eox-elements colors css vars to match the theme */
|
|
91
|
-
|
|
92
|
-
eox-
|
|
93
|
-
eox-
|
|
94
|
-
eox-
|
|
95
|
-
eox-
|
|
96
|
-
eox-
|
|
97
|
-
eox-
|
|
98
|
-
eox-
|
|
99
|
-
eox-
|
|
100
|
-
--
|
|
101
|
-
--eox-
|
|
102
|
-
--eox-
|
|
103
|
-
--eox-
|
|
104
|
-
--eox-
|
|
105
|
-
|
|
106
|
-
--eox-success-color: rgb(var(--v-theme-success));
|
|
107
|
-
--eox-warning-color: rgb(var(--v-theme-warning));
|
|
108
|
-
--range-slider-color: rgb(var(--v-theme-primary));
|
|
109
|
-
--range-slider-track-color: rgb(var(--v-theme-on-primary));
|
|
110
|
-
} */
|
|
100
|
+
:root {
|
|
101
|
+
--eox-theme-light-primary: var(--v-theme-primary) !important;
|
|
102
|
+
--eox-theme-light-on-primary: var(--v-theme-on-primary) !important;
|
|
103
|
+
--eox-theme-light-secondary: var(--v-theme-secondary) !important;
|
|
104
|
+
--eox-theme-light-on-secondary: var(--v-theme-on-secondary) !important;
|
|
105
|
+
--eox-theme-light-surface: var(--v-theme-surface) !important;
|
|
106
|
+
--eox-theme-light-on-surface: var(--v-theme-on-surface) !important;
|
|
107
|
+
--eox-theme-light-background: var(--v-theme-background) !important;
|
|
108
|
+
--eox-theme-light-on-background: var(--v-theme-on-background) !important;
|
|
109
|
+
--eox-theme-light-accent: var(--v-theme-accent) !important;
|
|
110
|
+
--eox-theme-light-error: var(--v-theme-error) !important;
|
|
111
|
+
--eox-theme-light-info: var(--v-theme-info) !important;
|
|
112
|
+
--eox-theme-light-success: var(--v-theme-success) !important;
|
|
113
|
+
--eox-theme-light-warning: var(--v-theme-warning) !important;
|
|
114
|
+
}
|
|
111
115
|
</style>
|
|
@@ -23,3 +23,10 @@ declare module "stac-js/src/http.js" {
|
|
|
23
23
|
const toAbsolute: (...args: string[]) => string;
|
|
24
24
|
export { toAbsolute };
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
declare const __userConfigExist__: boolean;
|
|
28
|
+
declare module "@eox/ui/vuetify/blueprint.js" {
|
|
29
|
+
import type { Blueprint } from "vuetify";
|
|
30
|
+
const eox: Blueprint;
|
|
31
|
+
export { eox };
|
|
32
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { createBlock, openBlock, withCtx, createElementVNode,
|
|
1
|
+
import { createBlock, openBlock, withCtx, createElementVNode, unref, createElementBlock, createCommentVNode, normalizeStyle, Suspense, resolveDynamicComponent, mergeProps, Fragment, renderList, Transition } from 'vue';
|
|
2
2
|
import '@eox/layout';
|
|
3
|
-
import { _ as _export_sfc, F as useDefineTemplate } from './asWebComponent-
|
|
4
|
-
import { V as VMain } from './VMain-
|
|
3
|
+
import { _ as _export_sfc, F as useDefineTemplate } from './asWebComponent-By_7_JjS.js';
|
|
4
|
+
import { V as VMain } from './VMain-PryTLU4a.js';
|
|
5
|
+
|
|
6
|
+
const _style_0 = ".panel[data-v-835b2a14]{position:relative;overflow:auto;z-index:1;pointer-events:none}.pointer[data-v-835b2a14]{pointer-events:all}.bg-panel[data-v-835b2a14]{z-index:0;border-radius:0!important}.fade-enter-active[data-v-835b2a14],.fade-leave-active[data-v-835b2a14]{transition:opacity .25s ease}.fade-enter-from[data-v-835b2a14],.fade-leave-to[data-v-835b2a14]{opacity:0}.bg-surface[data-v-835b2a14],.bg-primary[data-v-835b2a14]{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;max-height:100%;overflow:auto;scrollbar-color:rgba(var(--v-theme-on-surface),.2) transparent;scrollbar-width:thin}.bg-surface[data-v-835b2a14]{background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.bg-primary[data-v-835b2a14]{background-color:rgba(var(--v-theme-primary),var(--v-primary-opacity, .8))!important}";
|
|
5
7
|
|
|
6
8
|
const _hoisted_1 = ["gap"];
|
|
7
9
|
const _hoisted_2 = ["id", "h", "w", "x", "y"];
|
|
10
|
+
const _hoisted_3 = { class: "bg-surface pointer" };
|
|
8
11
|
|
|
9
12
|
|
|
10
13
|
const _sfc_main = {
|
|
@@ -13,19 +16,26 @@ const _sfc_main = {
|
|
|
13
16
|
|
|
14
17
|
const { bgWidget, importedWidgets, gap } = useDefineTemplate();
|
|
15
18
|
|
|
19
|
+
const layoutStyle = {
|
|
20
|
+
padding: gap.value + "px",
|
|
21
|
+
overflow: "hidden !important",
|
|
22
|
+
};
|
|
23
|
+
|
|
16
24
|
return (_ctx, _cache) => {
|
|
17
25
|
|
|
18
26
|
|
|
19
27
|
return (openBlock(), createBlock(VMain, null, {
|
|
20
28
|
default: withCtx(() => [
|
|
21
29
|
createElementVNode("eox-layout", {
|
|
30
|
+
mediaBreakpoints: [0, 960, 1920],
|
|
22
31
|
gap: unref(gap),
|
|
23
|
-
|
|
32
|
+
class: "layout-container",
|
|
33
|
+
style: layoutStyle
|
|
24
34
|
}, [
|
|
25
35
|
(unref(bgWidget)?.component)
|
|
26
36
|
? (openBlock(), createElementBlock("eox-layout-item", {
|
|
27
37
|
key: unref(bgWidget).id,
|
|
28
|
-
class: "bg-panel
|
|
38
|
+
class: "bg-panel",
|
|
29
39
|
style: normalizeStyle(`margin: -${unref(gap) + 1}px;`),
|
|
30
40
|
x: "0",
|
|
31
41
|
y: "0",
|
|
@@ -50,7 +60,7 @@ return (_ctx, _cache) => {
|
|
|
50
60
|
? (openBlock(), createElementBlock("eox-layout-item", {
|
|
51
61
|
id: importedWidget.value.id.toString(),
|
|
52
62
|
key: importedWidget.value.id,
|
|
53
|
-
class: "panel
|
|
63
|
+
class: "panel",
|
|
54
64
|
h: importedWidget.value.layout.h,
|
|
55
65
|
w: importedWidget.value.layout.w,
|
|
56
66
|
x: importedWidget.value.layout.x,
|
|
@@ -58,10 +68,11 @@ return (_ctx, _cache) => {
|
|
|
58
68
|
}, [
|
|
59
69
|
(openBlock(), createBlock(Suspense, null, {
|
|
60
70
|
default: withCtx(() => [
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
createElementVNode("div", _hoisted_3, [
|
|
72
|
+
(openBlock(), createBlock(resolveDynamicComponent(importedWidget.value.component), mergeProps({
|
|
73
|
+
key: importedWidget.value.id
|
|
74
|
+
}, { ref_for: true }, importedWidget.value.props), null, 16 /* FULL_PROPS */))
|
|
75
|
+
])
|
|
65
76
|
]),
|
|
66
77
|
_: 2 /* DYNAMIC */
|
|
67
78
|
}, 1024 /* DYNAMIC_SLOTS */))
|
|
@@ -71,7 +82,7 @@ return (_ctx, _cache) => {
|
|
|
71
82
|
_: 2 /* DYNAMIC */
|
|
72
83
|
}, 1024 /* DYNAMIC_SLOTS */))
|
|
73
84
|
}), 128 /* KEYED_FRAGMENT */))
|
|
74
|
-
],
|
|
85
|
+
], 8 /* PROPS */, _hoisted_1)
|
|
75
86
|
]),
|
|
76
87
|
_: 1 /* STABLE */
|
|
77
88
|
}))
|
|
@@ -79,6 +90,6 @@ return (_ctx, _cache) => {
|
|
|
79
90
|
}
|
|
80
91
|
|
|
81
92
|
};
|
|
82
|
-
const DashboardLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-
|
|
93
|
+
const DashboardLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-835b2a14"]]);
|
|
83
94
|
|
|
84
95
|
export { DashboardLayout as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { withAsyncContext, ref, onMounted, onUnmounted, createElementBlock, openBlock, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { Y as useSTAcStore } from './asWebComponent-By_7_JjS.js';
|
|
3
3
|
|
|
4
4
|
const _hoisted_1 = { class: "d-flex flex-column fill-height overflow-auto" };
|
|
5
5
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { useCssVars, ref, useTemplateRef, customRef, computed, reactive,
|
|
1
|
+
import { useCssVars, ref, useTemplateRef, customRef, computed, reactive, watch, onMounted, createElementBlock, openBlock, createVNode, unref, createSlots, withCtx, createElementVNode, withDirectives, createCommentVNode, createBlock, mergeProps, toHandlers } from 'vue';
|
|
2
2
|
import { DatePicker } from 'v-calendar';
|
|
3
|
-
import {
|
|
3
|
+
import { _ as _export_sfc, r as useDisplay, Y as useSTAcStore, Z as useTransparentPanel, V as VBtn, v as VIcon, $ as eodashCollections, a0 as eodashCompareCollections } from './asWebComponent-By_7_JjS.js';
|
|
4
|
+
import { x as datetime, k as getDatetimeProperty } from './helpers-Dy0Q13tP.js';
|
|
4
5
|
import { mdiRayEndArrow, mdiRayStartArrow } from '@mdi/js';
|
|
5
6
|
import log from 'loglevel';
|
|
6
|
-
import {
|
|
7
|
+
import { storeToRefs } from 'pinia';
|
|
8
|
+
import { T as Tooltip } from './index-Dqj4tbx2.js';
|
|
9
|
+
|
|
10
|
+
const _style_0 = ".vc-popover-content{--vc-nav-hover-bg: rgba(var(--v-theme-on-surface), .1);--vc-nav-item-active-color: rgb(var(--v-theme-on-secondary));--vc-nav-item-active-bg: rgba(var(--v-theme-secondary), .8);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .5)}.vc-container{--vc-day-content-hover-bg: rgba(var(--v-theme-on-surface), .2);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .4);--vc-header-arrow-hover-bg: rgba(var(--v-theme-secondary), .1)}.vc-attr{--vc-accent-600: rgba(var(--v-theme-secondary), .8)}.datePicker{--vc-day-content-hover-bg: red}@media (min-width: 960px){.datePicker{position:absolute;bottom:0;left:0;right:0;margin-inline:auto;width:fit-content}}.vc-day-content{color:#5e5e5e;font-weight:400}.vc-highlight-content-solid{color:#fff!important}.vc-popover-content-wrapper{transform:var(--254ea936)!important}.vc-date-picker-content,.datePicker{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.vc-popover-caret.direction-top.align-left{clip-path:polygon(0% 0%,100% 0%,0% 100%,0% 100%)}.vc-bordered{border:none}";
|
|
7
11
|
|
|
8
12
|
const _hoisted_1 = {
|
|
9
13
|
ref: "rootRef",
|
|
10
14
|
class: "datePicker"
|
|
11
15
|
};
|
|
12
16
|
const _hoisted_2 = {
|
|
13
|
-
class: "
|
|
17
|
+
class: "d-flex flex-row align-center justify-center pb-1",
|
|
14
18
|
style: {"overflow":"hidden","width":"100%"}
|
|
15
19
|
};
|
|
16
20
|
const _hoisted_3 = {
|
|
@@ -52,7 +56,7 @@ const _sfc_main = {
|
|
|
52
56
|
setup(__props) {
|
|
53
57
|
|
|
54
58
|
useCssVars(_ctx => ({
|
|
55
|
-
"
|
|
59
|
+
"254ea936": (transform.value)
|
|
56
60
|
}));
|
|
57
61
|
|
|
58
62
|
const { lgAndDown } = useDisplay();
|
|
@@ -121,24 +125,49 @@ const maskedCurrentDate = computed(() =>
|
|
|
121
125
|
*/
|
|
122
126
|
const attributes = reactive([]);
|
|
123
127
|
|
|
124
|
-
const selectedStac =
|
|
128
|
+
const { selectedCompareStac, selectedStac } = storeToRefs(useSTAcStore());
|
|
125
129
|
|
|
126
130
|
watch(
|
|
127
|
-
selectedStac,
|
|
128
|
-
async (updatedStac,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
[selectedStac, selectedCompareStac],
|
|
132
|
+
async ([updatedStac, updatedCompareStac]) => {
|
|
133
|
+
attributes.splice(0, attributes.length);
|
|
134
|
+
if (!updatedStac && !updatedCompareStac) {
|
|
135
|
+
log.debug("No STAC selected, clearing datepicker attributes");
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
133
138
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await eodashCollections
|
|
139
|
+
const attrs =
|
|
140
|
+
/** @type {Partial<import("v-calendar/dist/types/src/utils/attribute").AttributeConfig>[]} */ ([
|
|
141
|
+
...(await fetchCollectionsAttributes(eodashCollections)),
|
|
142
|
+
...(await fetchCollectionsAttributes(eodashCompareCollections)),
|
|
143
|
+
]);
|
|
144
|
+
attributes.push(...attrs);
|
|
145
|
+
},
|
|
146
|
+
{ immediate: true },
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
*
|
|
151
|
+
* @param {import("@/eodashSTAC/EodashCollection").EodashCollection[]} eodashCollections
|
|
152
|
+
*/
|
|
153
|
+
async function fetchCollectionsAttributes(eodashCollections) {
|
|
154
|
+
if (!eodashCollections || !eodashCollections.length) {
|
|
155
|
+
return [];
|
|
156
|
+
}
|
|
137
157
|
|
|
158
|
+
return await Promise.all(
|
|
159
|
+
eodashCollections.map((ec, idx) => {
|
|
160
|
+
return ec.fetchCollection().then(() => {
|
|
161
|
+
const dateProperty = getDatetimeProperty(ec.getItems());
|
|
162
|
+
if (!dateProperty) {
|
|
163
|
+
return [];
|
|
164
|
+
}
|
|
138
165
|
const dates = [
|
|
139
166
|
...new Set(
|
|
140
|
-
|
|
141
|
-
const parsed = Date.parse(
|
|
167
|
+
ec.getItems()?.reduce((valid, item) => {
|
|
168
|
+
const parsed = Date.parse(
|
|
169
|
+
/** @type {string} */ (item[dateProperty]),
|
|
170
|
+
);
|
|
142
171
|
if (parsed) {
|
|
143
172
|
valid.push(new Date(parsed));
|
|
144
173
|
}
|
|
@@ -146,12 +175,11 @@ watch(
|
|
|
146
175
|
}, /** @type {Date[]} */ ([])),
|
|
147
176
|
),
|
|
148
177
|
];
|
|
149
|
-
|
|
178
|
+
return {
|
|
150
179
|
key: "id-" + idx.toString() + Math.random().toString(16).slice(2),
|
|
151
180
|
dot: {
|
|
152
181
|
style: {
|
|
153
|
-
backgroundColor:
|
|
154
|
-
collectionsPalette[idx % collectionsPalette.length],
|
|
182
|
+
backgroundColor: ec.color,
|
|
155
183
|
},
|
|
156
184
|
},
|
|
157
185
|
dates,
|
|
@@ -161,13 +189,11 @@ watch(
|
|
|
161
189
|
"font-weight": "bold",
|
|
162
190
|
},
|
|
163
191
|
},
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
);
|
|
170
|
-
|
|
192
|
+
};
|
|
193
|
+
});
|
|
194
|
+
}),
|
|
195
|
+
);
|
|
196
|
+
}
|
|
171
197
|
/**
|
|
172
198
|
* @param {boolean} reverse
|
|
173
199
|
*/
|
|
@@ -202,7 +228,7 @@ onMounted(() => {
|
|
|
202
228
|
: "translate3d(0px,-80px,0)";
|
|
203
229
|
});
|
|
204
230
|
|
|
205
|
-
|
|
231
|
+
useTransparentPanel(rootEl);
|
|
206
232
|
|
|
207
233
|
return (_ctx, _cache) => {
|
|
208
234
|
|
|
@@ -218,7 +244,7 @@ return (_ctx, _cache) => {
|
|
|
218
244
|
attributes: attributes,
|
|
219
245
|
masks: masks.value,
|
|
220
246
|
expanded: "",
|
|
221
|
-
class: "
|
|
247
|
+
class: "overflow-auto",
|
|
222
248
|
style: {"background-color":"transparent","max-width":"100%"}
|
|
223
249
|
}, createSlots({ _: 2 /* DYNAMIC */ }, [
|
|
224
250
|
(__props.toggleCalendar)
|
|
@@ -234,7 +260,7 @@ return (_ctx, _cache) => {
|
|
|
234
260
|
variant: "text",
|
|
235
261
|
onClick: _cache[0] || (_cache[0] = $event => (jumpDate(true))),
|
|
236
262
|
class: "py-2",
|
|
237
|
-
style: {"flex-shrink":"1"}
|
|
263
|
+
style: {"flex-shrink":"1","padding":"0"}
|
|
238
264
|
}, {
|
|
239
265
|
default: withCtx(() => [
|
|
240
266
|
createVNode(VIcon, {
|
|
@@ -265,7 +291,7 @@ return (_ctx, _cache) => {
|
|
|
265
291
|
variant: "text",
|
|
266
292
|
onClick: _cache[1] || (_cache[1] = $event => (jumpDate(false))),
|
|
267
293
|
class: "py-2",
|
|
268
|
-
style: {"flex-shrink":"1"}
|
|
294
|
+
style: {"flex-shrink":"1","padding":"0"}
|
|
269
295
|
}, {
|
|
270
296
|
default: withCtx(() => [
|
|
271
297
|
createVNode(VIcon, {
|
|
@@ -346,5 +372,6 @@ return (_ctx, _cache) => {
|
|
|
346
372
|
}
|
|
347
373
|
|
|
348
374
|
};
|
|
375
|
+
const EodashDatePicker = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
|
|
349
376
|
|
|
350
|
-
export {
|
|
377
|
+
export { EodashDatePicker as default };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { computed, ref, createElementBlock, openBlock, mergeProps, unref, createElementVNode, toDisplayString } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { _ as _export_sfc, Y as useSTAcStore, a5 as isFirstLoad } from './asWebComponent-By_7_JjS.js';
|
|
3
3
|
import '@eox/itemfilter';
|
|
4
4
|
|
|
5
|
+
const _style_0 = "eox-itemfilter[data-v-1be0ec61]{--form-flex-direction: row}@media (max-width: 768px){eox-itemfilter[data-v-1be0ec61]{--form-flex-direction: column}}";
|
|
6
|
+
|
|
5
7
|
const _hoisted_1 = [".items"];
|
|
6
8
|
const _hoisted_2 = {
|
|
7
9
|
slot: "filterstitle",
|
|
@@ -55,6 +57,7 @@ const _sfc_main = {
|
|
|
55
57
|
enableHighlighting: { type: Boolean, default: true },
|
|
56
58
|
expandMultipleFilters: { type: Boolean, default: true },
|
|
57
59
|
expandMultipleResults: { type: Boolean, default: true },
|
|
60
|
+
styleOverride: { type: String, default: "" },
|
|
58
61
|
filterProperties: {
|
|
59
62
|
/** @type {import("vue").PropType<{
|
|
60
63
|
* keys:string[];
|
|
@@ -66,13 +69,15 @@ const _sfc_main = {
|
|
|
66
69
|
default: () => [
|
|
67
70
|
{
|
|
68
71
|
keys: ["title", "themes", "description"],
|
|
69
|
-
title: "Search",
|
|
72
|
+
title: "Search by name or description",
|
|
70
73
|
type: "text",
|
|
74
|
+
expanded: true,
|
|
71
75
|
},
|
|
72
76
|
{
|
|
73
77
|
key: "themes",
|
|
74
|
-
title: "
|
|
78
|
+
title: "Filter by theme",
|
|
75
79
|
type: "multiselect",
|
|
80
|
+
expanded: true,
|
|
76
81
|
},
|
|
77
82
|
],
|
|
78
83
|
},
|
|
@@ -80,6 +85,7 @@ const _sfc_main = {
|
|
|
80
85
|
emits: ["select"],
|
|
81
86
|
setup(__props, { emit: __emit }) {
|
|
82
87
|
|
|
88
|
+
const store = useSTAcStore();
|
|
83
89
|
const emit = __emit;
|
|
84
90
|
|
|
85
91
|
const props = __props;
|
|
@@ -88,8 +94,10 @@ const props = __props;
|
|
|
88
94
|
*/
|
|
89
95
|
const selectIndicator = async (item) => {
|
|
90
96
|
if (item) {
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
if (isFirstLoad.value) {
|
|
98
|
+
// prevent the map from jumping to the initial position
|
|
99
|
+
isFirstLoad.value = false;
|
|
100
|
+
}
|
|
93
101
|
await store.loadSelectedSTAC(item.href);
|
|
94
102
|
emit("select", item);
|
|
95
103
|
} else {
|
|
@@ -103,6 +111,8 @@ const selectCompareIndicator = (item) => {
|
|
|
103
111
|
if (item) {
|
|
104
112
|
store.loadSelectedCompareSTAC(item.href);
|
|
105
113
|
emit("select", item);
|
|
114
|
+
} else {
|
|
115
|
+
store.resetSelectedCompareSTAC();
|
|
106
116
|
}
|
|
107
117
|
};
|
|
108
118
|
/** @param {any} evt*/
|
|
@@ -114,7 +124,7 @@ const onSelect = async (evt) => {
|
|
|
114
124
|
selectIndicator(item);
|
|
115
125
|
}
|
|
116
126
|
};
|
|
117
|
-
|
|
127
|
+
|
|
118
128
|
const config = computed(() => ({
|
|
119
129
|
titleProperty: props.titleProperty,
|
|
120
130
|
enableHighlighting: props.enableHighlighting,
|
|
@@ -125,13 +135,12 @@ const config = computed(() => ({
|
|
|
125
135
|
imageProperty: props.imageProperty,
|
|
126
136
|
aggregateResults: props.aggregateResults,
|
|
127
137
|
style: props.cssVars,
|
|
128
|
-
filterProperties:
|
|
138
|
+
filterProperties: props.filterProperties,
|
|
139
|
+
styleOverride: props.styleOverride,
|
|
129
140
|
}));
|
|
130
141
|
/** @type {import("vue").Ref<HTMLElement & Record<string,any> | null>} */
|
|
131
142
|
const eoxItemFilter = ref(null);
|
|
132
143
|
|
|
133
|
-
const store = useSTAcStore();
|
|
134
|
-
|
|
135
144
|
return (_ctx, _cache) => {
|
|
136
145
|
return (openBlock(), createElementBlock("eox-itemfilter", mergeProps({ class: "fill-height" }, config.value, {
|
|
137
146
|
ref_key: "eoxItemFilter",
|
|
@@ -147,5 +156,6 @@ return (_ctx, _cache) => {
|
|
|
147
156
|
}
|
|
148
157
|
|
|
149
158
|
};
|
|
159
|
+
const EodashItemFilter = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-1be0ec61"]]);
|
|
150
160
|
|
|
151
|
-
export {
|
|
161
|
+
export { EodashItemFilter as default };
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { computed, ref, createElementBlock, openBlock, createCommentVNode, mergeProps, unref } from 'vue';
|
|
1
|
+
import { computed, ref, createElementBlock, openBlock, createCommentVNode, mergeProps, unref, renderSlot, createElementVNode, toDisplayString } from 'vue';
|
|
2
2
|
import '@eox/layercontrol';
|
|
3
3
|
import '@eox/jsonform';
|
|
4
4
|
import '@eox/timecontrol';
|
|
5
5
|
import 'color-legend-element';
|
|
6
|
-
import {
|
|
6
|
+
import { H as mapCompareEl, d as mapEl, I as getColFromLayer } from './helpers-Dy0Q13tP.js';
|
|
7
|
+
import { _ as _export_sfc, Y as useSTAcStore, a1 as layerControlFormValueCompare, a2 as layerControlFormValue, a0 as eodashCompareCollections, $ as eodashCollections } from './asWebComponent-By_7_JjS.js';
|
|
7
8
|
import { storeToRefs } from 'pinia';
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const _style_0 = "eox-layercontrol[data-v-88d02d9c]{overflow:auto}";
|
|
11
|
+
|
|
12
|
+
const _hoisted_1 = { class: "d-flex flex-column" };
|
|
10
13
|
const _hoisted_2 = ["for"];
|
|
14
|
+
const _hoisted_3 = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "mt-2 mb-2"
|
|
17
|
+
};
|
|
11
18
|
|
|
12
|
-
const styleOverride = `
|
|
13
|
-
input[type="range"] {
|
|
14
|
-
background:transparent !important;
|
|
15
|
-
}
|
|
16
|
-
`;
|
|
17
19
|
|
|
18
20
|
const _sfc_main = {
|
|
19
21
|
__name: 'EodashLayerControl',
|
|
@@ -28,6 +30,10 @@ const _sfc_main = {
|
|
|
28
30
|
type: Array,
|
|
29
31
|
default: () => ["datetime", "info", "config", "legend", "opacity"],
|
|
30
32
|
},
|
|
33
|
+
title: {
|
|
34
|
+
type: String || Boolean,
|
|
35
|
+
default: "Layers",
|
|
36
|
+
},
|
|
31
37
|
cssVars: {
|
|
32
38
|
type: Object,
|
|
33
39
|
},
|
|
@@ -66,7 +72,6 @@ const handleDatetimeUpdate = async (evt) => {
|
|
|
66
72
|
let updatedLayers = [];
|
|
67
73
|
|
|
68
74
|
if (ec) {
|
|
69
|
-
await ec.fetchCollection();
|
|
70
75
|
updatedLayers = await ec.updateLayerJson(
|
|
71
76
|
datetime,
|
|
72
77
|
layer.get("id"),
|
|
@@ -116,26 +121,34 @@ const onLayerConfigChange = (evt) => {
|
|
|
116
121
|
}
|
|
117
122
|
};
|
|
118
123
|
|
|
119
|
-
|
|
120
124
|
return (_ctx, _cache) => {
|
|
121
125
|
return (openBlock(), createElementBlock("span", _hoisted_1, [
|
|
122
126
|
(showControls.value)
|
|
123
|
-
? (openBlock(), createElementBlock("eox-layercontrol", mergeProps({ key:
|
|
127
|
+
? (openBlock(), createElementBlock("eox-layercontrol", mergeProps({ key: unref(mapElement) }, config, {
|
|
124
128
|
for: unref(mapElement),
|
|
125
129
|
"onDatetime:updated": debouncedHandleDateTime,
|
|
126
|
-
class: "fill-height",
|
|
127
130
|
toolsAsList: "true",
|
|
128
131
|
style: {"--eox-background-color":"transparent"},
|
|
129
132
|
ref_key: "eoxLayercontrol",
|
|
130
133
|
ref: eoxLayercontrol,
|
|
131
|
-
"on:layerConfig:change": onLayerConfigChange
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
"on:layerConfig:change": onLayerConfigChange
|
|
135
|
+
}), [
|
|
136
|
+
renderSlot(_ctx.$slots, "layerstitle", {}, () => [
|
|
137
|
+
createElementVNode("div", null, [
|
|
138
|
+
(__props.title)
|
|
139
|
+
? (openBlock(), createElementBlock("p", _hoisted_3, [
|
|
140
|
+
createElementVNode("strong", null, toDisplayString(__props.title), 1 /* TEXT */)
|
|
141
|
+
]))
|
|
142
|
+
: createCommentVNode("v-if", true)
|
|
143
|
+
])
|
|
144
|
+
], true)
|
|
145
|
+
], 16 /* FULL_PROPS */, _hoisted_2))
|
|
134
146
|
: createCommentVNode("v-if", true)
|
|
135
147
|
]))
|
|
136
148
|
}
|
|
137
149
|
}
|
|
138
150
|
|
|
139
151
|
};
|
|
152
|
+
const EodashLayerControl = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-88d02d9c"]]);
|
|
140
153
|
|
|
141
|
-
export {
|
|
154
|
+
export { EodashLayerControl as default };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ref, createElementBlock, openBlock, createBlock, unref, withCtx, createVNode, mergeProps } from 'vue';
|
|
2
|
+
import { z as activeTemplate } from './helpers-Dy0Q13tP.js';
|
|
3
|
+
import { mdiViewDashboard } from '@mdi/js';
|
|
4
|
+
import { r as useDisplay, Z as useTransparentPanel, v as VIcon } from './asWebComponent-By_7_JjS.js';
|
|
5
|
+
import { V as VTooltip } from './VTooltip-DZ0fjpB3.js';
|
|
6
|
+
|
|
7
|
+
const _sfc_main = {
|
|
8
|
+
__name: 'EodashLayoutSwitcher',
|
|
9
|
+
props: {
|
|
10
|
+
target: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "main",
|
|
13
|
+
},
|
|
14
|
+
// mdi/js icon
|
|
15
|
+
icon: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: mdiViewDashboard,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
setup(__props) {
|
|
21
|
+
|
|
22
|
+
const { mobile } = useDisplay();
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/** @type {import("vue").Ref<HTMLDivElement|null>} */
|
|
26
|
+
const rootRef = ref(null);
|
|
27
|
+
useTransparentPanel(rootRef);
|
|
28
|
+
|
|
29
|
+
return (_ctx, _cache) => {
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
return (openBlock(), createElementBlock("div", {
|
|
34
|
+
ref_key: "rootRef",
|
|
35
|
+
ref: rootRef
|
|
36
|
+
}, [
|
|
37
|
+
(!unref(mobile))
|
|
38
|
+
? (openBlock(), createBlock(VTooltip, {
|
|
39
|
+
key: 0,
|
|
40
|
+
text: `Switch to ${__props.target} mode`
|
|
41
|
+
}, {
|
|
42
|
+
activator: withCtx(({ props }) => [
|
|
43
|
+
createVNode(VIcon, mergeProps(props, {
|
|
44
|
+
onClick: _cache[0] || (_cache[0] = $event => (activeTemplate.value = __props.target)),
|
|
45
|
+
icon: [__props.icon]
|
|
46
|
+
}), null, 16 /* FULL_PROPS */, ["icon"])
|
|
47
|
+
]),
|
|
48
|
+
_: 1 /* STABLE */
|
|
49
|
+
}, 8 /* PROPS */, ["text"]))
|
|
50
|
+
: (openBlock(), createBlock(VIcon, {
|
|
51
|
+
key: 1,
|
|
52
|
+
onClick: _cache[1] || (_cache[1] = $event => (activeTemplate.value = __props.target)),
|
|
53
|
+
icon: [__props.icon]
|
|
54
|
+
}, null, 8 /* PROPS */, ["icon"]))
|
|
55
|
+
], 512 /* NEED_PATCH */))
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export { _sfc_main as default };
|