@eodash/eodash 5.0.0-rc.1.5 → 5.0.0-rc.1.6

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 (51) hide show
  1. package/README.md +1 -1
  2. package/core/client/composables/EodashMap.js +19 -5
  3. package/core/client/composables/EodashProcess.js +51 -5
  4. package/core/client/eodash.js +8 -7
  5. package/core/client/eodashSTAC/EodashCollection.js +16 -0
  6. package/core/client/eodashSTAC/createLayers.js +62 -6
  7. package/core/client/eodashSTAC/helpers.js +39 -4
  8. package/core/client/types.ts +7 -0
  9. package/core/client/utils/states.js +3 -0
  10. package/dist/client/{DashboardLayout-B-4X57-t.js → DashboardLayout-SZfMDUoR.js} +2 -2
  11. package/dist/client/{DynamicWebComponent-Dj3QYwag.js → DynamicWebComponent-I9gzMY0L.js} +1 -1
  12. package/dist/client/EodashDatePicker-B9_u6TTm.js +405 -0
  13. package/dist/client/{EodashItemFilter-DBQwJQPh.js → EodashItemFilter-G7YsYO3B.js} +1 -1
  14. package/dist/client/{EodashLayerControl-C5fOCvoI.js → EodashLayerControl-CJ94ul63.js} +10 -2
  15. package/dist/client/{EodashLayoutSwitcher-BMO9k_20.js → EodashLayoutSwitcher-DRKm8A8U.js} +2 -2
  16. package/dist/client/{EodashMap-D2bnMLAC.js → EodashMap-Dp44Ajbi.js} +60 -10
  17. package/dist/client/{EodashMapBtns-l9B977id.js → EodashMapBtns-BlPFwhPc.js} +4 -4
  18. package/dist/client/{EodashProcess-BtIlJvF1.js → EodashProcess-BLmIgUGT.js} +158 -25
  19. package/dist/client/{EodashStacInfo-CPVvp_Hm.js → EodashStacInfo-BIRcfcMo.js} +1 -1
  20. package/dist/client/{EodashTools-DY2dlNXW.js → EodashTools-PNfJ-Cw3.js} +4 -4
  21. package/dist/client/{ExportState-BvD5A0XG.js → ExportState-5JyTshJH.js} +4 -4
  22. package/dist/client/{Footer-w95gBnSH.js → Footer-CM9hgdQP.js} +1 -1
  23. package/dist/client/{Header-BpiorKy9.js → Header-BTq4DW1x.js} +3 -3
  24. package/dist/client/{MobileLayout-CmVlZe7S.js → MobileLayout-Atfoxf8d.js} +5 -5
  25. package/dist/client/{PopUp-CREaSybs.js → PopUp-Bmfn3N_4.js} +3 -3
  26. package/dist/client/{VImg-DF9esgdd.js → VImg-CUF4S39i.js} +2 -2
  27. package/dist/client/{VMain-BWLMf-rn.js → VMain-CQpXnzDR.js} +1 -1
  28. package/dist/client/{VOverlay-DmNfblmy.js → VOverlay-DUnITwM1.js} +3 -3
  29. package/dist/client/{VTooltip-C3PeE7iO.js → VTooltip-BYTlbKer.js} +3 -3
  30. package/dist/client/{WidgetsContainer-6FHEEXns.js → WidgetsContainer-BPbgxdb0.js} +1 -1
  31. package/dist/client/{asWebComponent-BnFMd0T6.js → asWebComponent-DW1XzZkL.js} +139 -29
  32. package/dist/client/eo-dash.css +1 -1
  33. package/dist/client/eo-dash.js +1 -1
  34. package/dist/client/{forwardRefs-BF3Me2RX.js → forwardRefs-gx1Fzngc.js} +1 -1
  35. package/dist/client/{index-CRd5-RSy.js → index-DvFppNyk.js} +1 -1
  36. package/dist/client/{transition-Cpn_g5jE.js → transition-j2eWJYMg.js} +1 -1
  37. package/dist/types/core/client/composables/EodashMap.d.ts +2 -1
  38. package/dist/types/core/client/composables/EodashProcess.d.ts +17 -11
  39. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +9 -4
  40. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +6 -6
  41. package/dist/types/core/client/eodashSTAC/helpers.d.ts +75 -20
  42. package/dist/types/core/client/types.d.ts +10 -0
  43. package/dist/types/core/client/utils/states.d.ts +2 -0
  44. package/dist/types/widgets/EodashDatePicker.vue.d.ts +4 -2
  45. package/dist/types/widgets/PopUp.vue.d.ts +1 -2
  46. package/package.json +8 -8
  47. package/widgets/EodashDatePicker.vue +89 -6
  48. package/widgets/EodashLayerControl.vue +13 -1
  49. package/widgets/EodashMap.vue +51 -5
  50. package/widgets/EodashProcess.vue +57 -11
  51. package/dist/client/EodashDatePicker-DGRJrJ0s.js +0 -306
@@ -1,2 +1,2 @@
1
- export { aW as EodashConstructor, aX as register, aY as store } from './asWebComponent-BnFMd0T6.js';
1
+ export { aX as EodashConstructor, aY as register, aZ as store } from './asWebComponent-DW1XzZkL.js';
2
2
  import 'vue';
@@ -1,5 +1,5 @@
1
1
  import { shallowRef, computed, watch } from 'vue';
2
- import { p as propsFactory, aH as getCurrentInstance } from './asWebComponent-BnFMd0T6.js';
2
+ import { p as propsFactory, aI as getCurrentInstance } from './asWebComponent-DW1XzZkL.js';
3
3
 
4
4
  class Box {
5
5
  constructor(_ref) {
@@ -1,5 +1,5 @@
1
1
  import { TransitionGroup, Transition, h, camelize } from 'vue';
2
- import { g as genericComponent, p as propsFactory } from './asWebComponent-BnFMd0T6.js';
2
+ import { g as genericComponent, p as propsFactory } from './asWebComponent-DW1XzZkL.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
@@ -1,5 +1,5 @@
1
1
  import { h, mergeProps, TransitionGroup, Transition } from 'vue';
2
- import { p as propsFactory } from './asWebComponent-BnFMd0T6.js';
2
+ import { p as propsFactory } from './asWebComponent-DW1XzZkL.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
@@ -1,5 +1,6 @@
1
1
  export function useHandleMapMoveEnd(mapElement: import("vue").Ref<(HTMLElement & Record<string, any> & {
2
2
  map: import("ol").Map;
3
3
  }) | null>, mapPosition: import("vue").Ref<(number | undefined)[]>): void;
4
- export function useInitMap(mapElement: import("vue").Ref<(HTMLElement & Record<string, any>) | null>, selectedIndicator: import("vue").Ref<import("stac-ts").StacCollection | null>, eodashCols: EodashCollection[], datetime: import("vue").Ref<string>, mapLayers: import("vue").Ref<Record<string, any>[]>, partnerMap: import("vue").Ref<(HTMLElement & Record<string, any>) | null>): void;
4
+ export function useInitMap(mapElement: import("vue").Ref<import("@eox/map").EOxMap | null>, selectedIndicator: import("vue").Ref<import("stac-ts").StacCollection | null>, eodashCols: EodashCollection[], datetime: import("vue").Ref<string>, mapLayers: import("vue").Ref<Record<string, any>[]>, partnerMap: import("vue").Ref<import("@eox/map").EOxMap | null>): void;
5
+ export function useUpdateTooltipProperties(eodashCols: EodashCollection[], tooltipProperties: import("vue").Ref<import("../types").EodashStyleJson["tooltip"]>): void;
5
6
  import { EodashCollection } from "../eodashSTAC/EodashCollection";
@@ -93,42 +93,46 @@ export function processGeoTiff(links: import("stac-ts").StacLink[] | undefined,
93
93
  * @param {import("stac-ts").StacLink[] | undefined} links
94
94
  * @param {Record<string,any> | undefined} jsonformValue
95
95
  * @param {string} specUrl
96
- * @returns {Promise<[import("vega").Spec|null,Record<string,any>|null]>}
96
+ * @returns {Promise<[import("@eox/chart").EOxChart["spec"] | null,Record<string,any>|null]>}
97
97
  **/
98
- export function getChartValues(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, specUrl: string): Promise<[import("vega").Spec | null, Record<string, any> | null]>;
98
+ export function getChartValues(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, specUrl: string): Promise<[import("@eox/chart").EOxChart["spec"] | null, Record<string, any> | null]>;
99
99
  /**
100
100
  * @param {Object} params
101
101
  * @param {import("vue").Ref<boolean>} params.loading
102
102
  * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
103
103
  * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
104
104
  * @param {import("vue").Ref<Record<string,any>|null>} params.jsonformSchema
105
- * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
105
+ * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
106
106
  * @param {import("vue").Ref<Record<string, any> | null>} params.chartData
107
107
  * @param {import("vue").Ref<boolean>} params.isPolling
108
+ * @param {import("vue").Ref<any[]>} params.processResults
108
109
  */
109
- export function handleProcesses({ loading, selectedStac, jsonformEl, jsonformSchema, chartSpec, chartData, isPolling, }: {
110
+ export function handleProcesses({ loading, selectedStac, jsonformEl, jsonformSchema, chartSpec, chartData, isPolling, processResults, }: {
110
111
  loading: import("vue").Ref<boolean>;
111
112
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
112
113
  jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
113
114
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
114
- chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"]>;
115
+ chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>;
115
116
  chartData: import("vue").Ref<Record<string, any> | null>;
116
117
  isPolling: import("vue").Ref<boolean>;
118
+ processResults: import("vue").Ref<any[]>;
117
119
  }): Promise<void>;
118
120
  /**
119
121
  * Reset the process state
120
122
  * @param {Object} params
121
123
  * @param {import("vue").Ref<boolean>} params.loading
122
124
  * @param {import("vue").Ref<boolean>} params.isProcessed
123
- * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
125
+ * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
124
126
  * @param {import("vue").Ref<boolean>} params.isPolling
127
+ * @param {import("vue").Ref<any[]>} params.processResults
125
128
  * @param {import("vue").Ref<Record<string,any>|null>} params.jsonformSchema
126
129
  */
127
- export function resetProcess({ loading, isProcessed, chartSpec, jsonformSchema, isPolling, }: {
130
+ export function resetProcess({ loading, isProcessed, chartSpec, jsonformSchema, processResults, isPolling, }: {
128
131
  loading: import("vue").Ref<boolean>;
129
132
  isProcessed: import("vue").Ref<boolean>;
130
- chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"]>;
133
+ chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>;
131
134
  isPolling: import("vue").Ref<boolean>;
135
+ processResults: import("vue").Ref<any[]>;
132
136
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
133
137
  }): void;
134
138
  /**
@@ -140,16 +144,18 @@ export function resetProcess({ loading, isProcessed, chartSpec, jsonformSchema,
140
144
  * @param {import("vue").Ref<import("stac-ts").StacCollection>} params.selectedStac
141
145
  * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
142
146
  * @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
143
- * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"]>} params.chartSpec
147
+ * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
148
+ * @param {import("vue").Ref<any[]>} params.processResults
144
149
  * @param {import("vue").Ref<boolean>} params.isProcessed
145
150
  * @param {import("vue").Ref<boolean>} params.loading
146
151
  * @param {import("vue").Ref<boolean>} params.isPolling
147
152
  */
148
- export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, loading, isPolling, }: {
153
+ export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, processResults, loading, isPolling, }: {
149
154
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection>;
150
155
  jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
151
156
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
152
- chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"]>;
157
+ chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>;
158
+ processResults: import("vue").Ref<any[]>;
153
159
  isProcessed: import("vue").Ref<boolean>;
154
160
  loading: import("vue").Ref<boolean>;
155
161
  isPolling: import("vue").Ref<boolean>;
@@ -4,16 +4,16 @@ export class EodashCollection {
4
4
  *
5
5
  * @param {import("stac-ts").StacCollection} indicator */
6
6
  static getIndicatorLayers(indicator: import("stac-ts").StacCollection): Promise<(Record<string, any> | {
7
- style?: import("ol/layer/WebGLTile").Style | undefined;
7
+ style?: import("../types").EodashStyleJson | undefined;
8
8
  type: string;
9
9
  source: {
10
10
  type: string;
11
- url: string;
11
+ url: string | undefined;
12
12
  format: string;
13
13
  };
14
14
  properties: {
15
15
  layerConfig?: {
16
- style: import("ol/layer/WebGLTile").Style | undefined;
16
+ style: import("../types").EodashStyleJson | undefined;
17
17
  } | undefined;
18
18
  id: string;
19
19
  title: string;
@@ -35,7 +35,7 @@ export class EodashCollection {
35
35
  layerConfig: Record<string, unknown> | undefined;
36
36
  layerDatetime: Record<string, unknown> | undefined;
37
37
  };
38
- style: import("ol/layer/WebGLTile").Style | undefined;
38
+ style: import("../types").EodashStyleJson | undefined;
39
39
  })[]>;
40
40
  /**
41
41
  * Returns GeoDB layer from a list of EodashCollections
@@ -97,6 +97,11 @@ export class EodashCollection {
97
97
  * @param {Date} [date]
98
98
  **/
99
99
  getItem(date?: Date): import("stac-ts").StacLink | undefined;
100
+ getToolTipProperties(): Promise<{
101
+ id: string;
102
+ title?: string;
103
+ appendix?: string;
104
+ }[]>;
100
105
  /**
101
106
  *
102
107
  * @param {string} datetime
@@ -3,22 +3,22 @@
3
3
  * @param {string} title
4
4
  * @param {Record<string,import("stac-ts").StacAsset>} assets
5
5
  * @param {import("stac-ts").StacItem } item
6
- * @param {import("ol/layer/WebGLTile").Style} [style]
6
+ * @param {import("../types").EodashStyleJson} [style]
7
7
  * @param {Record<string, unknown>} [layerConfig]
8
8
  * @param {Record<string, unknown>} [layerDatetime]
9
9
  * @param {object | null} [extraProperties]
10
10
  **/
11
- export function createLayersFromAssets(collectionId: string, title: string, assets: Record<string, import("stac-ts").StacAsset>, item: import("stac-ts").StacItem, style?: import("ol/layer/WebGLTile").Style, layerConfig?: Record<string, unknown>, layerDatetime?: Record<string, unknown>, extraProperties?: object | null): Promise<({
12
- style?: import("ol/layer/WebGLTile").Style | undefined;
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;
13
13
  type: string;
14
14
  source: {
15
15
  type: string;
16
- url: string;
16
+ url: string | undefined;
17
17
  format: string;
18
18
  };
19
19
  properties: {
20
20
  layerConfig?: {
21
- style: import("ol/layer/WebGLTile").Style | undefined;
21
+ style: import("../types").EodashStyleJson | undefined;
22
22
  } | undefined;
23
23
  id: string;
24
24
  title: string;
@@ -40,6 +40,6 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
40
40
  layerConfig: Record<string, unknown> | undefined;
41
41
  layerDatetime: Record<string, unknown> | undefined;
42
42
  };
43
- style: import("ol/layer/WebGLTile").Style | undefined;
43
+ style: import("../types").EodashStyleJson | undefined;
44
44
  })[]>;
45
45
  export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, layerDatetime?: Record<string, any>, extraProperties?: object | null): Promise<Record<string, any>[]>;
@@ -12,18 +12,13 @@ export function generateFeatures(links?: import("stac-ts").StacLink[]): {
12
12
  /**
13
13
  * Sperates and extracts layerConfig (jsonform schema & legend) from a style json
14
14
  *
15
- * @param { import("ol/layer/WebGLTile").Style & { jsonform?: Record<string,any> } & { legend?: Record<string,any> } } [style] */
16
- export function extractLayerConfig(style?: import("ol/layer/WebGLTile").Style & {
17
- jsonform?: Record<string, any>;
18
- } & {
19
- legend?: Record<string, any>;
20
- }): {
15
+ * @param { import("../types").EodashStyleJson} [style] */
16
+ export function extractLayerConfig(style?: import("../types").EodashStyleJson): {
17
+ layerConfig: undefined;
18
+ style: undefined;
19
+ } | {
21
20
  layerConfig: Record<string, unknown> | undefined;
22
- style: (import("ol/layer/WebGLTile").Style & {
23
- jsonform?: Record<string, any>;
24
- } & {
25
- legend?: Record<string, any>;
26
- }) | undefined;
21
+ style: import("../types").EodashStyleJson;
27
22
  };
28
23
  /**
29
24
  * Function to extract collection urls from an indicator
@@ -48,18 +43,77 @@ export function assignProjID(item: import("stac-ts").StacItem, linkOrAsset: impo
48
43
  id: string;
49
44
  } & Record<string, any>;
50
45
  } & Record<string, any>): string;
46
+ /**
47
+ * @param {string[]} geojsonUrls
48
+ */
49
+ export function mergeGeojsons(geojsonUrls: string[]): Promise<string | undefined>;
51
50
  export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): void;
52
51
  export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): Promise<{
53
- variables?: {
54
- [x: string]: string | number;
55
- } | undefined;
56
- color?: import("ol/expr/expression.js").ExpressionValue | undefined;
57
- brightness?: import("ol/expr/expression.js").ExpressionValue | undefined;
58
- contrast?: import("ol/expr/expression.js").ExpressionValue | undefined;
59
- exposure?: import("ol/expr/expression.js").ExpressionValue | undefined;
60
- saturation?: import("ol/expr/expression.js").ExpressionValue | undefined;
61
- gamma?: import("ol/expr/expression.js").ExpressionValue | undefined;
52
+ filter?: import("ol/expr/expression.js").ExpressionValue | undefined;
53
+ "icon-src"?: string | undefined;
54
+ "icon-anchor"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
55
+ "icon-anchor-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
56
+ "icon-anchor-x-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
57
+ "icon-anchor-y-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
58
+ "icon-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
59
+ "icon-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
60
+ "icon-cross-origin"?: string | null | undefined;
61
+ "icon-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
62
+ "icon-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
63
+ "icon-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
64
+ "icon-height"?: import("ol/expr/expression.js").ExpressionValue | undefined;
65
+ "icon-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
66
+ "icon-rotate-with-view"?: boolean | undefined;
67
+ "icon-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
68
+ "icon-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
69
+ "icon-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
70
+ "stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
71
+ "stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
72
+ "stroke-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
73
+ "stroke-line-cap"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
74
+ "stroke-line-join"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
75
+ "stroke-line-dash"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
76
+ "stroke-line-dash-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
77
+ "stroke-miter-limit"?: import("ol/expr/expression.js").ExpressionValue | undefined;
78
+ "stroke-pattern-src"?: string | undefined;
79
+ "stroke-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
80
+ "stroke-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
81
+ "stroke-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
82
+ "stroke-pattern-spacing"?: import("ol/expr/expression.js").ExpressionValue | undefined;
83
+ "fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
84
+ "fill-pattern-src"?: string | undefined;
85
+ "fill-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
86
+ "fill-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
87
+ "fill-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
88
+ "circle-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
89
+ "circle-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
90
+ "circle-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
91
+ "circle-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
92
+ "circle-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
93
+ "circle-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
94
+ "circle-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
95
+ "circle-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
96
+ "circle-rotate-with-view"?: boolean | undefined;
97
+ "shape-points"?: import("ol/expr/expression.js").ExpressionValue | undefined;
98
+ "shape-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
99
+ "shape-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
100
+ "shape-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
101
+ "shape-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
102
+ "shape-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
103
+ "shape-radius2"?: import("ol/expr/expression.js").ExpressionValue | undefined;
104
+ "shape-angle"?: import("ol/expr/expression.js").ExpressionValue | undefined;
105
+ "shape-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
106
+ "shape-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
107
+ "shape-rotate-with-view"?: boolean | undefined;
108
+ "shape-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
109
+ variables?: Record<string, any>;
110
+ legend?: Record<string, any>;
62
111
  jsonform?: Record<string, any>;
112
+ tooltip?: {
113
+ id: string;
114
+ title?: string;
115
+ appendix?: string;
116
+ }[];
63
117
  } | undefined>;
64
118
  export function getProjectionCode(projection?: string | number | {
65
119
  name: string;
@@ -69,6 +123,7 @@ export function extractLayerDatetime(links?: import("stac-ts").StacLink[], curre
69
123
  controlValues: string[];
70
124
  currentStep: string;
71
125
  slider: boolean;
126
+ navigation: boolean;
72
127
  play: boolean;
73
128
  displayFormat: string;
74
129
  } | undefined;
@@ -267,3 +267,13 @@ export declare function register(): void;
267
267
  */
268
268
  export declare const store: typeof import("./store").default;
269
269
  export * from "./main.js";
270
+ export type EodashStyleJson = import("ol/style/webgl.js").WebGLStyle & {
271
+ variables?: Record<string, any>;
272
+ legend?: Record<string, any>;
273
+ jsonform?: Record<string, any>;
274
+ tooltip?: {
275
+ id: string;
276
+ title?: string;
277
+ appendix?: string;
278
+ }[];
279
+ };
@@ -16,3 +16,5 @@ export const eodashCollections: import("../eodashSTAC/EodashCollection").EodashC
16
16
  export const eodashCompareCollections: import("../eodashSTAC/EodashCollection").EodashCollection[];
17
17
  /** whether the map postion was set in URL params on first load */
18
18
  export const posIsSetFromUrl: import("vue").Ref<boolean, boolean>;
19
+ /** @type {import("vue").Ref<Record<string,any>|undefined>} */
20
+ export const layerControlFormValue: import("vue").Ref<Record<string, any> | undefined>;
@@ -1,11 +1,13 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
+ hintText: string;
3
+ toggleCalendar: boolean;
2
4
  hideArrows: boolean;
3
5
  hideInputField: boolean;
4
- hintText: string;
5
6
  $props: {
7
+ readonly hintText?: string | undefined;
8
+ readonly toggleCalendar?: boolean | undefined;
6
9
  readonly hideArrows?: boolean | undefined;
7
10
  readonly hideInputField?: boolean | undefined;
8
- readonly hintText?: string | undefined;
9
11
  };
10
12
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {
11
13
  rootRef: HTMLDivElement;
@@ -18,11 +18,10 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
18
18
  };
19
19
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLSpanElement>;
20
20
  type __VLS_TemplateResult = {
21
- attrs: Partial<typeof __VLS_inheritedAttrs>;
21
+ attrs: Partial<{}>;
22
22
  slots: {
23
23
  default?(_: {}): any;
24
24
  };
25
25
  refs: {};
26
26
  rootEl: HTMLSpanElement;
27
27
  };
28
- declare let __VLS_inheritedAttrs: {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eodash/eodash",
3
- "version": "5.0.0-rc.1.5",
3
+ "version": "5.0.0-rc.1.6",
4
4
  "type": "module",
5
5
  "types": "./dist/types/core/client/types.d.ts",
6
6
  "files": [
@@ -59,15 +59,15 @@
59
59
  "docs:generate": "typedoc --options typedoc.config.json"
60
60
  },
61
61
  "dependencies": {
62
- "@eox/chart": "^0.3.0",
63
- "@eox/drawtools": "^0.13.2",
64
- "@eox/itemfilter": "^1.7.0",
62
+ "@eox/chart": "^0.3.1",
63
+ "@eox/drawtools": "^0.13.3",
64
+ "@eox/itemfilter": "^1.7.1",
65
65
  "@eox/jsonform": "0.11.3-dev.1734708668.0",
66
- "@eox/layercontrol": "^0.28.0",
66
+ "@eox/layercontrol": "^0.28.2-dev.1736966655.0",
67
67
  "@eox/layout": "^0.3.0",
68
- "@eox/map": "^1.19.0",
69
- "@eox/stacinfo": "^0.6.0",
70
- "@eox/timecontrol": "^0.12.0",
68
+ "@eox/map": "^1.19.1",
69
+ "@eox/stacinfo": "^0.6.1",
70
+ "@eox/timecontrol": "^0.12.2",
71
71
  "@mdi/js": "^7.4.47",
72
72
  "@vitejs/plugin-vue": "^5.2.1",
73
73
  "@vueuse/core": "^12.0.0",
@@ -8,34 +8,98 @@
8
8
  class="bg-surface overflow-auto"
9
9
  style="background-color: transparent; max-width: 100%"
10
10
  >
11
- <template #footer>
12
- <div class="d-flex flex-row align-center justify-center pb-1">
11
+ <template v-if="toggleCalendar" #default="{ inputValue, inputEvents }">
12
+ <div
13
+ class="bg-surface d-flex flex-row align-center justify-center pb-1"
14
+ style="overflow: hidden; width: 100%"
15
+ >
13
16
  <v-btn
14
17
  v-if="!hideArrows"
15
18
  density="compact"
19
+ :size="lgAndDown ? 'x-small' : 'large'"
16
20
  v-tooltip:bottom="'Set date to oldest available dataset'"
17
21
  variant="text"
18
22
  @click="jumpDate(true)"
23
+ class="py-2"
24
+ style="flex-shrink: 1"
19
25
  >
20
26
  <v-icon :icon="[mdiRayEndArrow]" />
21
27
  </v-btn>
22
28
  <div
23
29
  class="flex rounded-lg border border-gray-300 dark:border-gray-600"
24
- style="margin: 2px"
30
+ style="margin: 2px; min-width: 0"
31
+ >
32
+ <input
33
+ v-if="!hideInputField"
34
+ :value="inputValue"
35
+ v-on="inputEvents"
36
+ class="flex-grow px-1 py-1 dark:bg-gray-700"
37
+ style="
38
+ margin: 1px;
39
+ width: 100%;
40
+ white-space: nowrap;
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ "
44
+ />
45
+ </div>
46
+ <v-btn
47
+ v-if="!hideArrows"
48
+ density="compact"
49
+ :size="lgAndDown ? 'x-small' : 'large'"
50
+ variant="text"
51
+ v-tooltip:bottom="'Set date to latest available dataset'"
52
+ @click="jumpDate(false)"
53
+ class="py-2"
54
+ style="flex-shrink: 1"
55
+ >
56
+ <v-icon :icon="[mdiRayStartArrow]" />
57
+ </v-btn>
58
+ </div>
59
+ </template>
60
+ <template v-else #footer>
61
+ <div
62
+ class="d-flex flex-row align-center justify-center pb-1"
63
+ style="overflow: hidden; width: 100%"
64
+ >
65
+ <v-btn
66
+ v-if="!hideArrows"
67
+ density="compact"
68
+ :size="lgAndDown ? 'x-small' : 'large'"
69
+ v-tooltip:bottom="'Set date to oldest available dataset'"
70
+ variant="text"
71
+ @click="jumpDate(true)"
72
+ class="py-2"
73
+ style="flex-shrink: 1"
74
+ >
75
+ <v-icon :icon="[mdiRayEndArrow]" />
76
+ </v-btn>
77
+ <div
78
+ class="flex rounded-lg border border-gray-300 dark:border-gray-600"
79
+ style="margin: 2px; min-width: 0"
25
80
  >
26
81
  <input
27
82
  v-if="!hideInputField"
28
83
  :value="new Date(currentDate).toLocaleDateString()"
29
- style="margin: 1px"
30
84
  class="flex-grow px-1 py-1 dark:bg-gray-700"
85
+ style="
86
+ margin: 1px;
87
+ width: 100%;
88
+ white-space: nowrap;
89
+ overflow: hidden;
90
+ text-overflow: ellipsis;
91
+ "
31
92
  />
32
93
  </div>
33
94
  <v-btn
34
95
  v-if="!hideArrows"
35
96
  density="compact"
97
+ :size="lgAndDown ? 'x-small' : 'large'"
36
98
  variant="text"
37
99
  v-tooltip:bottom="'Set date to latest available dataset'"
38
100
  @click="jumpDate(false)"
101
+ class="py-2"
102
+ style="flex-shrink: 1"
39
103
  >
40
104
  <v-icon :icon="[mdiRayStartArrow]" />
41
105
  </v-btn>
@@ -46,8 +110,9 @@
46
110
  </template>
47
111
  <script setup>
48
112
  import { DatePicker as VCDatePicker } from "v-calendar";
113
+ import { useDisplay } from "vuetify";
49
114
  import "v-calendar/style.css";
50
- import { watch, reactive, ref, customRef, toRef } from "vue";
115
+ import { watch, reactive, ref, customRef, toRef, onMounted } from "vue";
51
116
  import { useSTAcStore } from "@/store/stac";
52
117
  import { datetime } from "@/store/states";
53
118
  import { mdiRayStartArrow, mdiRayEndArrow } from "@mdi/js";
@@ -55,6 +120,8 @@ import { eodashCollections } from "@/utils/states";
55
120
  import log from "loglevel";
56
121
  import { makePanelTransparent } from "@/composables";
57
122
 
123
+ const { lgAndDown } = useDisplay();
124
+
58
125
  // holds the number value of the datetime
59
126
  const currentDate = customRef((track, trigger) => ({
60
127
  get() {
@@ -86,6 +153,10 @@ defineProps({
86
153
  type: Boolean,
87
154
  default: false,
88
155
  },
156
+ toggleCalendar: {
157
+ type: Boolean,
158
+ default: false,
159
+ },
89
160
  });
90
161
 
91
162
  /**
@@ -137,7 +208,7 @@ watch(
137
208
  ];
138
209
  attributes.push({
139
210
  key: "id-" + idx.toString() + Math.random().toString(16).slice(2),
140
- bar: {
211
+ dot: {
141
212
  style: {
142
213
  backgroundColor: wongPalette[idx % wongPalette.length],
143
214
  },
@@ -182,6 +253,14 @@ function jumpDate(reverse) {
182
253
  }
183
254
  }
184
255
 
256
+ // fixes calendar dispalcement on lib mode
257
+ const transform = ref("");
258
+ onMounted(() => {
259
+ transform.value = document.querySelector("eo-dash")
260
+ ? "translate3d(50px,-80px,0)"
261
+ : "translate3d(0px,-80px,0)";
262
+ });
263
+
185
264
  makePanelTransparent(rootRef);
186
265
  </script>
187
266
  <style>
@@ -200,4 +279,8 @@ makePanelTransparent(rootRef);
200
279
  .vc-highlight-content-solid {
201
280
  color: white !important;
202
281
  }
282
+
283
+ .vc-popover-content-wrapper {
284
+ transform: v-bind("transform") !important;
285
+ }
203
286
  </style>
@@ -9,6 +9,7 @@
9
9
  toolsAsList="true"
10
10
  style="--eox-background-color: transparent"
11
11
  ref="eoxLayercontrol"
12
+ @layerConfig:change="onLayerConfigChange"
12
13
  />
13
14
  </span>
14
15
  </template>
@@ -22,7 +23,11 @@ import "color-legend-element";
22
23
  import { computed, ref } from "vue";
23
24
  import { mapEl, mapCompareEl } from "@/store/states";
24
25
  import { getColFromLayer } from "@/eodashSTAC/helpers";
25
- import { eodashCollections, eodashCompareCollections } from "@/utils/states";
26
+ import {
27
+ eodashCollections,
28
+ eodashCompareCollections,
29
+ layerControlFormValue,
30
+ } from "@/utils/states";
26
31
  import { storeToRefs } from "pinia";
27
32
  import { useSTAcStore } from "@/store/stac";
28
33
 
@@ -108,4 +113,11 @@ const debouncedHandleDateTime = (evt) => {
108
113
  }, 500);
109
114
  };
110
115
  // ------
116
+ /**
117
+ *
118
+ * @param {Event & {detail:{layer:import("ol/layer").Layer;jsonformValue:Record<string,any>}}} evt
119
+ */
120
+ const onLayerConfigChange = (evt) => {
121
+ layerControlFormValue.value = evt.detail.jsonformValue;
122
+ };
111
123
  </script>