@eodash/eodash 5.0.0-rc.2.2 → 5.0.0-rc.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/core/client/components/EodashOverlay.vue +56 -0
  2. package/core/client/components/Footer.vue +1 -15
  3. package/core/client/composables/EodashProcess.js +4 -0
  4. package/core/client/eodash.js +4 -7
  5. package/core/client/eodashSTAC/EodashCollection.js +62 -31
  6. package/core/client/eodashSTAC/createLayers.js +15 -2
  7. package/core/client/eodashSTAC/helpers.js +1 -2
  8. package/core/client/types.ts +1 -1
  9. package/core/client/utils/states.js +43 -0
  10. package/core/client/views/Dashboard.vue +4 -1
  11. package/core/client/vite-env.d.ts +13 -0
  12. package/dist/client/{DashboardLayout-ByVMURpM.js → DashboardLayout-D1UcB3RV.js} +3 -3
  13. package/dist/client/{DynamicWebComponent-BRQQ5AXV.js → DynamicWebComponent-DtZ_mHL9.js} +2 -2
  14. package/dist/client/{EodashDatePicker-DyLo_JUC.js → EodashDatePicker-CYU0MZX5.js} +3 -3
  15. package/dist/client/{EodashItemFilter-BR572AaH.js → EodashItemFilter-SE9oW3oZ.js} +3 -3
  16. package/dist/client/{EodashLayerControl-C_mi-Hoo.js → EodashLayerControl-BuGe29Nt.js} +11 -4
  17. package/dist/client/{EodashLayoutSwitcher-D4ooLbys.js → EodashLayoutSwitcher-6wLl-Gtd.js} +3 -3
  18. package/dist/client/{EodashMap-CGFv4e85.js → EodashMap-DhVCoYMi.js} +11 -4
  19. package/dist/client/{EodashMapBtns-_M7SW7Is.js → EodashMapBtns-BWWu6eHG.js} +5 -5
  20. package/dist/client/{EodashProcess-ZQAMi9Pc.js → EodashProcess-GSj_LMsK.js} +23 -18
  21. package/dist/client/{EodashStacInfo-CwOCcsGl.js → EodashStacInfo-DjRSGLHM.js} +2 -2
  22. package/dist/client/{EodashTools-C_X0RPIp.js → EodashTools-CJ4hBH_X.js} +5 -5
  23. package/dist/client/{ExportState-DNUSRJSJ.js → ExportState-BqnlEpzR.js} +5 -5
  24. package/dist/client/Footer-C_3WrfI4.js +119 -0
  25. package/dist/client/{Header-BcHAtFqr.js → Header-D_hcGpNG.js} +4 -4
  26. package/dist/client/{IframeWrapper-BgM9aU8f.js → IframeWrapper-XzQDZy0T.js} +1 -1
  27. package/dist/client/{MobileLayout-CUHZFLDY.js → MobileLayout-CDbupC9v.js} +6 -6
  28. package/dist/client/{PopUp-CEmhdNIj.js → PopUp-Ba6mY2jQ.js} +5 -4
  29. package/dist/client/{VImg-Cdaw92OV.js → VImg-Yc9F9pYq.js} +4 -4
  30. package/dist/client/{VMain-B7G2T3Zv.js → VMain-BiS7HPEk.js} +1 -1
  31. package/dist/client/{VOverlay-Mf1pOmgW.js → VOverlay-B9mxXaCv.js} +4 -4
  32. package/dist/client/{VTooltip-9810qjB2.js → VTooltip-XJLaLrZQ.js} +3 -3
  33. package/dist/client/{WidgetsContainer-GUwXMh9d.js → WidgetsContainer-DRVb_73N.js} +2 -2
  34. package/dist/client/{asWebComponent--e4yqM3f.js → asWebComponent-DZpMGxEY.js} +329 -170
  35. package/dist/client/eo-dash.css +2 -2
  36. package/dist/client/eo-dash.js +1 -1
  37. package/dist/client/{forwardRefs-B9UH8QZK.js → forwardRefs-BtkfywIE.js} +1 -1
  38. package/dist/client/{index-D-lbt2my.js → index-f55xuyof.js} +3 -1
  39. package/dist/client/{transition-CTjQmgIS.js → transition-CtL4BoVi.js} +2 -2
  40. package/dist/node/cli.js +2 -2
  41. package/dist/types/core/client/components/EodashOverlay.vue.d.ts +2 -0
  42. package/dist/types/core/client/components/MobileLayout.vue.d.ts +254 -241
  43. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +40 -15
  44. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +23 -3
  45. package/dist/types/core/client/eodashSTAC/helpers.d.ts +3 -78
  46. package/dist/types/core/client/utils/states.d.ts +43 -0
  47. package/dist/types/widgets/PopUp.vue.d.ts +2 -2
  48. package/package.json +20 -20
  49. package/widgets/EodashItemFilter.vue +1 -1
  50. package/widgets/EodashLayerControl.vue +7 -0
  51. package/widgets/EodashMap.vue +8 -1
  52. package/widgets/EodashProcess.vue +18 -13
  53. package/dist/client/Footer-FUp1Te0L.js +0 -141
@@ -9,16 +9,35 @@
9
9
  * @param {object | null} [extraProperties]
10
10
  **/
11
11
  export function createLayersFromAssets(collectionId: string, title: string, assets: Record<string, import("stac-ts").StacAsset>, item: import("stac-ts").StacItem, style?: import("../types").EodashStyleJson, layerConfig?: Record<string, unknown>, layerDatetime?: Record<string, unknown>, extraProperties?: object | null): Promise<({
12
- style?: import("../types").EodashStyleJson | undefined;
12
+ interactions: never[];
13
+ style?: any;
14
+ type: string;
15
+ source: {
16
+ type: string;
17
+ url: string;
18
+ format: string;
19
+ attributions: unknown;
20
+ };
21
+ properties: {
22
+ layerConfig?: {
23
+ style: any;
24
+ } | undefined;
25
+ id: string;
26
+ title: string;
27
+ layerDatetime: Record<string, unknown> | undefined;
28
+ };
29
+ } | {
30
+ style?: any;
13
31
  type: string;
14
32
  source: {
15
33
  type: string;
16
34
  url: string | undefined;
17
35
  format: string;
36
+ attributions: {}[];
18
37
  };
19
38
  properties: {
20
39
  layerConfig?: {
21
- style: import("../types").EodashStyleJson | undefined;
40
+ style: any;
22
41
  } | undefined;
23
42
  id: string;
24
43
  title: string;
@@ -32,6 +51,7 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
32
51
  interpolate: boolean;
33
52
  sources: {
34
53
  url: string;
54
+ attributions: unknown;
35
55
  }[];
36
56
  };
37
57
  properties: {
@@ -40,6 +60,6 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
40
60
  layerConfig: Record<string, unknown> | undefined;
41
61
  layerDatetime: Record<string, unknown> | undefined;
42
62
  };
43
- style: import("../types").EodashStyleJson | undefined;
63
+ style: any;
44
64
  })[]>;
45
65
  export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, layerDatetime?: Record<string, any>, extraProperties?: object | null): Promise<Record<string, any>[]>;
@@ -19,11 +19,8 @@ export function generateFeatures(links?: import("stac-ts").StacLink[], extraProp
19
19
  * @param { import("../types").EodashStyleJson} [style]
20
20
  * */
21
21
  export function extractLayerConfig(collectionId: string, style?: import("../types").EodashStyleJson): {
22
- layerConfig: undefined;
23
- style: undefined;
24
- } | {
25
22
  layerConfig: Record<string, unknown> | undefined;
26
- style: import("../types").EodashStyleJson;
23
+ style: any;
27
24
  };
28
25
  /**
29
26
  * Function to extract collection urls from an indicator
@@ -52,80 +49,8 @@ export function assignProjID(item: import("stac-ts").StacItem, linkOrAsset: impo
52
49
  * @param {string[]} geojsonUrls
53
50
  */
54
51
  export function mergeGeojsons(geojsonUrls: string[]): Promise<string | undefined>;
55
- export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): void;
56
- export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): Promise<{
57
- filter?: import("ol/expr/expression.js").ExpressionValue | undefined;
58
- "icon-src"?: string | undefined;
59
- "icon-anchor"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
60
- "icon-anchor-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
61
- "icon-anchor-x-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
62
- "icon-anchor-y-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
63
- "icon-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
64
- "icon-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
65
- "icon-cross-origin"?: string | null | undefined;
66
- "icon-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
67
- "icon-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
68
- "icon-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
69
- "icon-height"?: import("ol/expr/expression.js").ExpressionValue | undefined;
70
- "icon-rotation"?: import("ol/expr/expression.js" /**
71
- * Removes the layer with the id provided and injects an array of layers in its position
72
- * @param {Record<string,any>[]} currentLayers
73
- * @param {string} oldLayer - id of the layer to be replaced
74
- * @param {Record<string,any>[]} newLayers - array of layers to replace the old layer
75
- * @returns {Record<string,any>[] | undefined}
76
- */).ExpressionValue | undefined;
77
- "icon-rotate-with-view"?: boolean | undefined;
78
- "icon-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
79
- "icon-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
80
- "icon-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
81
- "stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
82
- "stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
83
- "stroke-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
84
- "stroke-line-cap"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
85
- "stroke-line-join"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
86
- "stroke-line-dash"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
87
- "stroke-line-dash-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
88
- "stroke-miter-limit"?: import("ol/expr/expression.js").ExpressionValue | undefined;
89
- "stroke-pattern-src"?: string | undefined;
90
- "stroke-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
91
- "stroke-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
92
- "stroke-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
93
- "stroke-pattern-spacing"?: import("ol/expr/expression.js").ExpressionValue | undefined;
94
- "fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
95
- "fill-pattern-src"?: string | undefined;
96
- "fill-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
97
- "fill-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
98
- "fill-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
99
- "circle-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
100
- "circle-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
101
- "circle-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
102
- "circle-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
103
- "circle-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
104
- "circle-displacement"?: number[] | import("ol/expr/expression.js" /** @type { string | undefined} */).ExpressionValue[] | undefined;
105
- "circle-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
106
- "circle-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
107
- "circle-rotate-with-view"?: boolean | undefined;
108
- "shape-points"?: import("ol/expr/expression.js").ExpressionValue | undefined;
109
- "shape-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
110
- "shape-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
111
- "shape-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
112
- "shape-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
113
- "shape-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
114
- "shape-radius2"?: import("ol/expr/expression.js").ExpressionValue | undefined;
115
- "shape-angle"?: import("ol/expr/expression.js").ExpressionValue | undefined;
116
- "shape-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
117
- "shape-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
118
- "shape-rotate-with-view"?: boolean | undefined;
119
- "shape-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
120
- variables?: Record<string, string | number | boolean | null | undefined>;
121
- legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
122
- jsonform?: Record<string, any>;
123
- tooltip?: {
124
- id: string;
125
- title?: string;
126
- appendix?: string;
127
- }[];
128
- } | undefined>;
52
+ export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): Record<string, any>;
53
+ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): Promise<any>;
129
54
  export function getProjectionCode(projection?: string | number | {
130
55
  name: string;
131
56
  def: string;
@@ -25,3 +25,46 @@ export const layerControlFormValue: import("vue").Ref<Record<string, any> | unde
25
25
  * STAC indicators color palette, defaults to Bank-Wong palette
26
26
  * @type {string[]} */
27
27
  export const collectionsPalette: string[];
28
+ export namespace dataThemesBrands {
29
+ namespace agriculture {
30
+ export { mdiBarley as icon };
31
+ export let color: string;
32
+ }
33
+ namespace water {
34
+ export { mdiWater as icon };
35
+ let color_1: string;
36
+ export { color_1 as color };
37
+ }
38
+ namespace land {
39
+ export { mdiImageFilterHdr as icon };
40
+ let color_2: string;
41
+ export { color_2 as color };
42
+ }
43
+ namespace health {
44
+ export { mdiHospitalBoxOutline as icon };
45
+ let color_3: string;
46
+ export { color_3 as color };
47
+ }
48
+ namespace combined {
49
+ export { mdiSetCenter as icon };
50
+ let color_4: string;
51
+ export { color_4 as color };
52
+ }
53
+ namespace air {
54
+ export { mdiWeatherWindy as icon };
55
+ let color_5: string;
56
+ export { color_5 as color };
57
+ }
58
+ namespace economy {
59
+ export { mdiCurrencyEur as icon };
60
+ let color_6: string;
61
+ export { color_6 as color };
62
+ }
63
+ }
64
+ import { mdiBarley } from "@mdi/js";
65
+ import { mdiWater } from "@mdi/js";
66
+ import { mdiImageFilterHdr } from "@mdi/js";
67
+ import { mdiHospitalBoxOutline } from "@mdi/js";
68
+ import { mdiSetCenter } from "@mdi/js";
69
+ import { mdiWeatherWindy } from "@mdi/js";
70
+ import { mdiCurrencyEur } from "@mdi/js";
@@ -4,16 +4,16 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
4
4
  $slots: S;
5
5
  });
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
- width: string;
8
7
  height: string;
9
8
  maxHeight: string;
10
9
  maxWidth: string;
10
+ width: string;
11
11
  widget?: import("../core/client/types").Widget<"compiletime"> | undefined;
12
12
  $props: {
13
- readonly width?: string | undefined;
14
13
  readonly height?: string | undefined;
15
14
  readonly maxHeight?: string | undefined;
16
15
  readonly maxWidth?: string | undefined;
16
+ readonly width?: string | undefined;
17
17
  readonly widget?: import("../core/client/types").Widget<"compiletime"> | undefined;
18
18
  };
19
19
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLSpanElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eodash/eodash",
3
- "version": "5.0.0-rc.2.2",
3
+ "version": "5.0.0-rc.2.4",
4
4
  "type": "module",
5
5
  "types": "./dist/types/core/client/types.d.ts",
6
6
  "files": [
@@ -60,13 +60,13 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@eox/chart": "^0.3.1",
63
- "@eox/drawtools": "^0.13.3",
63
+ "@eox/drawtools": "^0.13.5",
64
64
  "@eox/itemfilter": "^1.7.1",
65
- "@eox/jsonform": "^0.12.2",
65
+ "@eox/jsonform": "^0.15.3",
66
66
  "@eox/layercontrol": "^0.29.0",
67
67
  "@eox/layout": "^0.3.0",
68
- "@eox/map": "^1.19.2",
69
- "@eox/stacinfo": "^0.6.1",
68
+ "@eox/map": "^1.19.4",
69
+ "@eox/stacinfo": "^0.6.2",
70
70
  "@eox/timecontrol": "^0.12.2",
71
71
  "@mdi/js": "^7.4.47",
72
72
  "@vitejs/plugin-vue": "^5.2.1",
@@ -80,43 +80,43 @@
80
80
  "loglevel": "^1.9.2",
81
81
  "mustache": "^4.2.0",
82
82
  "pinia": "^2.3.1",
83
- "sass": "^1.83.4",
83
+ "sass": "^1.85.1",
84
84
  "stac-js": "^0.0.9",
85
85
  "stac-ts": "^1.0.4",
86
86
  "v-calendar": "3.0.0",
87
- "vega": "^5.30.0",
87
+ "vega": "^5.32.0",
88
88
  "vega-embed": "^6.29.0",
89
89
  "vega-lite": "^5.23.0",
90
- "vite": "^6.0.11",
91
- "vite-plugin-vuetify": "^2.0.4",
90
+ "vite": "^6.2.0",
91
+ "vite-plugin-vuetify": "^2.1.0",
92
92
  "vue": "^3.5.0",
93
- "vuetify": "^3.7.7",
93
+ "vuetify": "^3.7.13",
94
94
  "webfontloader": "^1.6.28"
95
95
  },
96
96
  "devDependencies": {
97
- "@babel/types": "^7.26.5",
97
+ "@babel/types": "^7.26.9",
98
98
  "@eox/eslint-config": "^2.0.0",
99
99
  "@pinia/testing": "^0.1.7",
100
100
  "@types/mustache": "^4.2.5",
101
- "@types/node": "^22.10.7",
101
+ "@types/node": "^22.13.5",
102
102
  "@types/openlayers": "^4.6.23",
103
103
  "@types/webfontloader": "^1.6.38",
104
104
  "cypress": "^13.17.0",
105
- "eslint": "^9.18.0",
105
+ "eslint": "^9.21.0",
106
106
  "eslint-plugin-vue": "^9.32.0",
107
107
  "pkg-pr-new": "^0.0.39",
108
- "prettier": "^3.4.2",
109
- "rollup": "^4.31.0",
108
+ "prettier": "^3.5.2",
109
+ "rollup": "^4.34.8",
110
110
  "terminate": "^2.8.0",
111
111
  "tsc-alias": "^1.8.10",
112
- "typedoc": "^0.27.6",
113
- "typedoc-plugin-markdown": "^4.4.1",
114
- "typedoc-plugin-vue": "^1.3.0",
112
+ "typedoc": "^0.27.9",
113
+ "typedoc-plugin-markdown": "^4.4.2",
114
+ "typedoc-plugin-vue": "^1.4.0",
115
115
  "typedoc-vitepress-theme": "^1.1.2",
116
116
  "typescript": "^5.7.3",
117
117
  "unplugin-fonts": "^1.3.1",
118
- "vitepress": "^1.6.2",
119
- "vitest": "^1.6.0",
118
+ "vitepress": "^1.6.3",
119
+ "vitest": "^1.6.1",
120
120
  "vue-tsc": "2.2.0"
121
121
  },
122
122
  "engines": {
@@ -5,7 +5,7 @@
5
5
  ref="eoxItemFilter"
6
6
  style="overflow: auto; --background-color: none"
7
7
  @select="onSelect"
8
- .items='store.stac?.filter((item) => item.rel === "child")'
8
+ .items="store.stac?.filter((item) => item.rel === 'child')"
9
9
  >
10
10
  <h4 slot="filterstitle" style="margin: 14px 8px">{{ filtersTitle }}</h4>
11
11
 
@@ -10,6 +10,7 @@
10
10
  style="--eox-background-color: transparent"
11
11
  ref="eoxLayercontrol"
12
12
  @layerConfig:change="onLayerConfigChange"
13
+ .styleOverride="styleOverride"
13
14
  />
14
15
  </span>
15
16
  </template>
@@ -120,4 +121,10 @@ const debouncedHandleDateTime = (evt) => {
120
121
  const onLayerConfigChange = (evt) => {
121
122
  layerControlFormValue.value = evt.detail.jsonformValue;
122
123
  };
124
+
125
+ const styleOverride = `
126
+ input[type="range"] {
127
+ background:transparent !important;
128
+ }
129
+ `;
123
130
  </script>
@@ -12,6 +12,7 @@
12
12
  .center="initialCenter"
13
13
  .zoom="initialZoom"
14
14
  .layers="eoxMapLayers"
15
+ .controls="controls"
15
16
  >
16
17
  <eox-map-tooltip
17
18
  :style="tooltipStyles"
@@ -70,7 +71,12 @@ const props = defineProps({
70
71
 
71
72
  /** @type {import("vue").Ref<Exclude<import("@/types").EodashStyleJson["tooltip"], undefined>>} */
72
73
  const tooltipProperties = ref([]);
73
-
74
+ /** @type {import("@eox/map").EOxMap["controls"]} */
75
+ const controls = {
76
+ Attribution: {
77
+ collapsible: true,
78
+ },
79
+ };
74
80
  const initialCenter = toRaw([
75
81
  mapPosition.value?.[0] ?? props.center?.[0],
76
82
  mapPosition.value?.[1] ?? props.center?.[1],
@@ -167,6 +173,7 @@ const tooltipPropertyTransform = (param) => {
167
173
  }),
168
174
  );
169
175
 
176
+ //@ts-expect-error todo
170
177
  const tooltipProp = updatedProperties?.find((prop) => prop.id === param.key);
171
178
  if (!tooltipProp) {
172
179
  return undefined;
@@ -110,7 +110,19 @@ const downloadResults = () => {
110
110
  };
111
111
  onMounted(async () => {
112
112
  // wait for the layers to be rendered
113
- if (mapEl.value?.layers.length <= 1) {
113
+ if (mapEl.value?.layers.length > 1) {
114
+ await initProcess({
115
+ //@ts-expect-error TODO
116
+ selectedStac,
117
+ jsonformEl,
118
+ jsonformSchema,
119
+ chartSpec,
120
+ isProcessed,
121
+ processResults,
122
+ loading,
123
+ isPolling,
124
+ });
125
+ } else {
114
126
  layersEvents.once(async () => {
115
127
  await initProcess({
116
128
  //@ts-expect-error TODO
@@ -124,18 +136,6 @@ onMounted(async () => {
124
136
  isPolling,
125
137
  });
126
138
  });
127
- } else {
128
- await initProcess({
129
- //@ts-expect-error TODO
130
- selectedStac,
131
- jsonformEl,
132
- jsonformSchema,
133
- chartSpec,
134
- isProcessed,
135
- processResults,
136
- loading,
137
- isPolling,
138
- });
139
139
  }
140
140
  });
141
141
 
@@ -156,6 +156,7 @@ useOnLayersUpdate(async (evt, _payload) => {
156
156
  });
157
157
 
158
158
  const startProcess = async () => {
159
+ //@ts-expect-error todo
159
160
  const errors = jsonformEl.value?.editor.validate();
160
161
  if (errors?.length) {
161
162
  console.warn("[eodash] Form validation failed", errors);
@@ -185,6 +186,7 @@ const chartStyles = computed(() => {
185
186
  styles["height"] =
186
187
  Math.max(
187
188
  (containerEl.value?.offsetHeight ?? 0) -
189
+ //@ts-expect-error TODO
188
190
  (jsonformEl.value?.offsetHeight ?? 0),
189
191
  200,
190
192
  ) + "px";
@@ -200,4 +202,7 @@ const chartStyles = computed(() => {
200
202
  eox-chart {
201
203
  --background-color: transparent;
202
204
  }
205
+ eox-jsonform {
206
+ padding: 0.7em;
207
+ }
203
208
  </style>
@@ -1,141 +0,0 @@
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--e4yqM3f.js';
3
-
4
- const makeVFooterProps = propsFactory({
5
- app: Boolean,
6
- color: String,
7
- height: {
8
- type: [Number, String],
9
- default: 'auto'
10
- },
11
- ...makeBorderProps(),
12
- ...makeComponentProps(),
13
- ...makeElevationProps(),
14
- ...makeLayoutItemProps(),
15
- ...makeRoundedProps(),
16
- ...makeTagProps({
17
- tag: 'footer'
18
- }),
19
- ...makeThemeProps()
20
- }, 'VFooter');
21
- const VFooter = genericComponent()({
22
- name: 'VFooter',
23
- props: makeVFooterProps(),
24
- setup(props, _ref) {
25
- let {
26
- slots
27
- } = _ref;
28
- const layoutItemStyles = ref();
29
- const {
30
- themeClasses
31
- } = provideTheme(props);
32
- const {
33
- backgroundColorClasses,
34
- backgroundColorStyles
35
- } = useBackgroundColor(toRef(props, 'color'));
36
- const {
37
- borderClasses
38
- } = useBorder(props);
39
- const {
40
- elevationClasses
41
- } = useElevation(props);
42
- const {
43
- roundedClasses
44
- } = useRounded(props);
45
- const autoHeight = shallowRef(32);
46
- const {
47
- resizeRef
48
- } = useResizeObserver(entries => {
49
- if (!entries.length) return;
50
- autoHeight.value = entries[0].target.clientHeight;
51
- });
52
- const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
53
- useToggleScope(() => props.app, () => {
54
- const layout = useLayoutItem({
55
- id: props.name,
56
- order: computed(() => parseInt(props.order, 10)),
57
- position: computed(() => 'bottom'),
58
- layoutSize: height,
59
- elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
60
- active: computed(() => props.app),
61
- absolute: toRef(props, 'absolute')
62
- });
63
- watchEffect(() => {
64
- layoutItemStyles.value = layout.layoutItemStyles.value;
65
- });
66
- });
67
- useRender(() => createVNode(props.tag, {
68
- "ref": resizeRef,
69
- "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
70
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
71
- height: convertToUnit(props.height)
72
- }, props.style]
73
- }, slots));
74
- return {};
75
- }
76
- });
77
-
78
- const _hoisted_1 = { class: "pt-0 footer-text" };
79
- const _hoisted_2 = {
80
- href: "https://eox.at",
81
- target: "_blank",
82
- class: "text-white"
83
- };
84
- const _hoisted_3 = ["src"];
85
-
86
- /**
87
- * Footer template ref
88
- *
89
- * @type {import("vue").Ref<
90
- * import("vuetify/lib/components/index.mjs").VFooter | null
91
- * >}
92
- */
93
- const eoxLogo = `<svg width="100%" height="100%" viewBox="0 0 355 85" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><g id="ink_ext_XXXXXX"><path id="path5076" d="M152.986,40.52l-0.75,-0.019l-0.737,-0.056l-0.725,-0.093l-0.713,-0.127l-0.7,-0.162l-0.7,-0.196l-0.675,-0.228l-0.65,-0.261l-0.65,-0.292l-0.625,-0.319l-0.612,-0.352l-0.588,-0.377l-0.562,-0.407l-0.55,-0.431l-0.538,-0.457l-0.5,-0.481l-0.487,-0.505l-0.45,-0.528l-0.438,-0.55l-0.4,-0.57l-0.375,-0.59l-0.35,-0.609l-0.325,-0.627l-0.287,-0.645l-0.263,-0.66l-0.225,-0.676l-0.2,-0.69l-0.162,-0.704l-0.125,-0.717l-0.1,-0.728l-0.05,-0.739l-0.025,-0.748c0,-8.023 6.512,-14.532 14.537,-14.532c8.038,0 14.538,6.509 14.538,14.532c0,8.036 -6.5,14.544 -14.538,14.544Z" style="fill:none;"/><path id="path5078" d="M165.748,-0.002c-42.009,0 -76.06,18.985 -76.06,42.402c0,13.268 10.921,25.102 28.021,32.875c-8.081,-5.487 -13.403,-12.973 -14.584,-21.859c-2.685,-20.186 16.83,-40.82 45.148,-49.615c-14.687,6.665 -24.923,21.427 -24.923,38.599c0,23.218 18.648,42.046 41.773,42.383c-0.037,0.005 -0.087,0.015 -0.137,0.02c0.263,0 0.512,0.009 0.762,0.009c42.013,0 76.076,-18.984 76.076,-42.412c0,-13.261 -10.937,-25.097 -28.037,-32.871l0.75,0.522l0.736,0.531l0.713,0.543l0.7,0.555l0.687,0.566l0.664,0.578l0.649,0.588l0.625,0.6l0.613,0.609l0.588,0.621l0.574,0.631l0.562,0.643l0.538,0.652l0.513,0.662l0.5,0.672l0.475,0.684l0.449,0.693l0.438,0.703l0.425,0.713l0.387,0.723l0.375,0.73l0.352,0.74l0.336,0.75l0.3,0.76l0.287,0.77l0.264,0.777l0.25,0.787l0.211,0.795l0.188,0.805l0.175,0.812l0.151,0.82l0.125,0.831c2.675,20.19 -16.838,40.825 -45.151,49.619c14.688,-6.665 24.926,-21.426 24.926,-38.614c0,-23.202 -18.65,-42.026 -41.775,-42.367c0.05,-0.005 0.1,-0.015 0.15,-0.025c-0.262,0 -0.526,-0.01 -0.789,-0.01Zm-13.248,11.314c7.817,0 14.25,6.433 14.25,14.25c0,0.001 0,0.001 0,0.001c0,7.817 -6.433,14.249 -14.25,14.249c-7.817,0 -14.25,-6.432 -14.25,-14.249c0,-0.001 0,-0.001 0,-0.001c0,-7.817 6.433,-14.25 14.25,-14.25Z" style="fill:#fff;fill-rule:nonzero;"/><path id="path5080" d="M213.786,9.529l0.75,0.521l0.738,0.532l0.712,0.544l0.7,0.555l0.688,0.566l0.662,0.577l0.65,0.588l0.625,0.6l0.613,0.61l0.587,0.62l0.575,0.631l0.563,0.643l0.537,0.652l0.513,0.663l0.5,0.672l0.475,0.684l0.45,0.692l0.437,0.703l0.425,0.712l0.388,0.723l0.375,0.731l0.35,0.741l0.337,0.75l0.3,0.76l0.288,0.769l0.262,0.777l0.25,0.786l0.213,0.797l0.187,0.804l0.175,0.812l0.15,0.821l0.125,0.83c2.675,20.19 -16.837,40.825 -45.15,49.619c14.688,-6.665 24.925,-21.426 24.925,-38.614c0,-23.202 -18.65,-42.025 -41.775,-42.367c0.05,-0.005 0.1,-0.015 0.15,-0.025c-0.262,0 -0.525,-0.01 -0.787,-0.01c-42.01,0 -76.062,18.985 -76.062,42.402c0,13.268 10.922,25.103 28.022,32.876c-8.081,-5.487 -13.403,-12.973 -14.584,-21.859c-2.685,-20.187 16.831,-40.82 45.149,-49.615c-14.688,6.665 -24.925,21.426 -24.925,38.598c0,23.218 18.65,42.046 41.775,42.383c-0.038,0.005 -0.088,0.015 -0.138,0.02c0.263,0 0.513,0.01 0.763,0.01c42.012,-0.001 76.075,-18.985 76.075,-42.413c0,-13.261 -10.938,-25.097 -28.038,-32.871Z" style="fill:none;"/><path id="path5082" d="M354.323,82.586l-41.999,-42.002l38.524,-38.515l-29.913,0l-23.562,23.559l-23.563,-23.559l-29.924,0l38.525,38.515l-42,42.002l29.913,0l27.049,-27.046l27.05,27.046l29.9,0" style="fill:#fff;fill-rule:nonzero;"/><path id="path5084" d="M354.323,82.586l-41.999,-42.002l38.524,-38.515l-29.913,0l-23.562,23.559l-23.563,-23.559l-29.924,0l38.525,38.515l-42,42.002l29.913,0l27.049,-27.046l27.05,27.046l29.9,0Z" style="fill:none;"/><path id="path5086" d="M0,2.069l75.033,0l0,16.489l-51.629,0l0,14.931l40.258,0l0,16.495l-40.258,0l0,16.05l53.124,0l0,16.488l-76.528,0l0,-80.453" style="fill:#fff;fill-rule:nonzero;"/><path id="path5088" d="M0,2.069l75.033,0l0,16.489l-51.629,0l0,14.931l40.258,0l0,16.495l-40.258,0l0,16.05l53.124,0l0,16.488l-76.528,0l0,-80.453Z" style="fill:none;"/></g></svg>`;
94
-
95
- const _sfc_main = {
96
- __name: 'Footer',
97
- setup(__props) {
98
-
99
- const footer = ref(null);
100
- const eodash = /** @type {import("@/types").Eodash} */ (inject(eodashKey));
101
-
102
- const { mdAndDown } = useDisplay();
103
- const base64Logo = window.btoa(eoxLogo);
104
-
105
- return (_ctx, _cache) => {
106
-
107
-
108
- return (openBlock(), createBlock(VFooter, {
109
- ref_key: "footer",
110
- ref: footer,
111
- height: unref(mdAndDown) ? '48px' : 'auto',
112
- color: "secondary",
113
- app: "",
114
- class: "d-flex justify-space-between"
115
- }, {
116
- default: withCtx(() => [
117
- createElementVNode("p", _hoisted_1, toDisplayString(unref(eodash).brand.footerText ?? ""), 1 /* TEXT */),
118
- createElementVNode("div", null, [
119
- _cache[0] || (_cache[0] = createElementVNode("a", {
120
- href: "https://github.com/eodash/eodash",
121
- class: "text-white",
122
- target: "_blank"
123
- }, "eodash", -1 /* HOISTED */)),
124
- _cache[1] || (_cache[1] = createTextVNode(" by ")),
125
- createElementVNode("a", _hoisted_2, [
126
- createElementVNode("img", {
127
- src: `data:image/svg+xml;base64,${unref(base64Logo)}`,
128
- height: "11px"
129
- }, null, 8 /* PROPS */, _hoisted_3)
130
- ])
131
- ])
132
- ]),
133
- _: 1 /* STABLE */
134
- }, 8 /* PROPS */, ["height"]))
135
- }
136
- }
137
-
138
- };
139
- const Footer = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-7ea19f1b"]]);
140
-
141
- export { Footer as default };