@eodash/eodash 5.0.0-alpha.2.9 → 5.0.0-rc

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 (113) hide show
  1. package/README.md +1 -1
  2. package/core/client/App.vue +13 -1
  3. package/core/client/asWebComponent.js +13 -4
  4. package/core/client/components/DashboardLayout.vue +36 -14
  5. package/core/client/components/Loading.vue +6 -9
  6. package/core/client/components/MobileLayout.vue +16 -14
  7. package/core/client/composables/DefineEodash.js +14 -4
  8. package/core/client/composables/DefineTemplate.js +67 -0
  9. package/core/client/composables/DefineWidgets.js +3 -2
  10. package/core/client/composables/EodashMap.js +360 -0
  11. package/core/client/composables/EodashProcess.js +574 -0
  12. package/core/client/composables/index.js +136 -28
  13. package/core/client/eodash.js +395 -80
  14. package/core/client/eodashSTAC/EodashCollection.js +432 -0
  15. package/core/client/eodashSTAC/createLayers.js +315 -0
  16. package/core/client/eodashSTAC/helpers.js +375 -0
  17. package/core/client/eodashSTAC/triggers.js +43 -0
  18. package/core/client/plugins/axios.js +8 -0
  19. package/core/client/plugins/index.js +2 -1
  20. package/core/client/plugins/vuetify.js +2 -1
  21. package/core/client/store/actions.js +79 -0
  22. package/core/client/store/index.js +4 -18
  23. package/core/client/store/stac.js +99 -9
  24. package/core/client/store/states.js +37 -0
  25. package/core/client/{types.d.ts → types.ts} +66 -20
  26. package/core/client/utils/keys.js +2 -0
  27. package/core/client/utils/states.js +22 -0
  28. package/core/client/views/Dashboard.vue +22 -49
  29. package/core/client/vite-env.d.ts +2 -10
  30. package/dist/client/DashboardLayout-232tRmjz.js +84 -0
  31. package/dist/client/DynamicWebComponent-Cl4LqHU6.js +88 -0
  32. package/dist/client/EodashDatePicker-Pok6bZwU.js +306 -0
  33. package/dist/client/EodashItemFilter-16eMMjTV.js +151 -0
  34. package/dist/client/EodashLayerControl-De7IlCm_.js +120 -0
  35. package/dist/client/EodashLayoutSwitcher-C-3-jjn5.js +52 -0
  36. package/dist/client/EodashMap-CMvbfI6-.js +549 -0
  37. package/dist/client/EodashMapBtns-BeknGDtc.js +107 -0
  38. package/dist/client/EodashProcess-BwKAa9Ee.js +1476 -0
  39. package/dist/client/EodashStacInfo-_BfonNUG.js +85 -0
  40. package/dist/client/EodashTools-PD3XPYuR.js +103 -0
  41. package/dist/client/ExportState-DOrT7M15.js +644 -0
  42. package/dist/client/Footer-CCigxYBo.js +141 -0
  43. package/dist/client/Header-C2cdx4gb.js +437 -0
  44. package/dist/client/IframeWrapper-BgM9aU8f.js +28 -0
  45. package/dist/client/MobileLayout-BdiFjHg7.js +1207 -0
  46. package/dist/client/PopUp--_xn1Cms.js +410 -0
  47. package/dist/client/VImg-9xu2l99m.js +384 -0
  48. package/dist/client/VMain-BUs3kDTd.js +43 -0
  49. package/dist/client/VOverlay-D89omJis.js +1453 -0
  50. package/dist/client/VTooltip-CDu3bErh.js +86 -0
  51. package/dist/client/WidgetsContainer-aFG9yFT6.js +83 -0
  52. package/dist/client/asWebComponent-BRGyP_j5.js +11943 -0
  53. package/dist/client/{style.css → eo-dash.css} +2 -2
  54. package/dist/client/eo-dash.js +2 -6
  55. package/dist/client/forwardRefs-CYrR6bMw.js +245 -0
  56. package/dist/client/index-BZwk0V42.js +199 -0
  57. package/dist/client/ssrBoot-BP7SYRyC.js +22 -0
  58. package/dist/client/transition-DG9nRSW4.js +37 -0
  59. package/dist/node/cli.js +4 -4
  60. package/dist/node/types.d.ts +2 -0
  61. package/package.json +73 -38
  62. package/widgets/EodashDatePicker.vue +176 -134
  63. package/widgets/EodashItemFilter.vue +79 -38
  64. package/widgets/EodashLayerControl.vue +111 -0
  65. package/widgets/EodashLayoutSwitcher.vue +36 -0
  66. package/widgets/EodashMap.vue +108 -133
  67. package/widgets/EodashMapBtns.vue +62 -8
  68. package/widgets/EodashProcess.vue +143 -0
  69. package/widgets/EodashStacInfo.vue +82 -0
  70. package/widgets/EodashTools.vue +83 -0
  71. package/widgets/ExportState.vue +17 -13
  72. package/widgets/PopUp.vue +24 -2
  73. package/core/client/SuspensedDashboard.ce.vue +0 -105
  74. package/core/client/asWebComponent.d.ts +0 -23
  75. package/core/client/store/Actions.js +0 -14
  76. package/core/client/store/States.js +0 -16
  77. package/core/client/utils/eodashSTAC.js +0 -249
  78. package/core/client/utils/helpers.js +0 -38
  79. package/dist/client/DashboardLayout-D0ZF6V2S.js +0 -156
  80. package/dist/client/DynamicWebComponent-CPsMSBHi.js +0 -57
  81. package/dist/client/EodashDatePicker-CBQP7u2X.js +0 -252
  82. package/dist/client/EodashItemFilter-DL2ScI-5.js +0 -7671
  83. package/dist/client/EodashMap-CkKoQlmR.js +0 -86917
  84. package/dist/client/EodashMapBtns-yuO2QmiR.js +0 -36
  85. package/dist/client/ExportState-CCzOhppU.js +0 -558
  86. package/dist/client/Footer-BPAND0yG.js +0 -115
  87. package/dist/client/Header-DLhebNvG.js +0 -350
  88. package/dist/client/IframeWrapper-1GEMHlsW.js +0 -19
  89. package/dist/client/MobileLayout-mGkOYRhu.js +0 -945
  90. package/dist/client/PopUp-1d2bBFjw.js +0 -300
  91. package/dist/client/VImg-DxHcztfM.js +0 -291
  92. package/dist/client/VMain-BLX5vRRn.js +0 -39
  93. package/dist/client/VOverlay-CvrYEmLu.js +0 -967
  94. package/dist/client/WidgetsContainer-CmYjvGm7.js +0 -129
  95. package/dist/client/_commonjsHelpers-DaMA6jEr.js +0 -8
  96. package/dist/client/asWebComponent-B91uK0U7.js +0 -20361
  97. package/dist/client/basedecoder-DHcBySSe-BmCFNFnw.js +0 -88
  98. package/dist/client/decoder-CP4lv0Kb-B6yqkcfC.js +0 -10
  99. package/dist/client/deflate-BXt-9JA_-CWfClgpK.js +0 -10
  100. package/dist/client/eodashSTAC-DBjqe_Ho.js +0 -2788
  101. package/dist/client/eox-stacinfo-l7ALSV90.js +0 -13969
  102. package/dist/client/forwardRefs-BJJiadQP.js +0 -185
  103. package/dist/client/index-Q-bHLjxx.js +0 -153
  104. package/dist/client/jpeg-BAgeD1d3-oeHbFPUL.js +0 -514
  105. package/dist/client/lerc-DzVumYtB-P-KXC0TO.js +0 -1027
  106. package/dist/client/lzw-LAGDNbSC-DkP96qO9.js +0 -84
  107. package/dist/client/packbits-BlDR4Kj5-C66n1-zr.js +0 -24
  108. package/dist/client/pako.esm-CB1uQYY0-DB0PYm1P.js +0 -1081
  109. package/dist/client/raw-CMGvRjfu-BRi6E4i1.js +0 -9
  110. package/dist/client/ssrBoot-yo11mybw.js +0 -17
  111. package/dist/client/transition-CSJhuYGK.js +0 -34
  112. package/dist/client/webfontloader-qotgY98I.js +0 -435
  113. package/dist/client/webimage-BM_pbLN3-L2cGWK5l.js +0 -19
@@ -1,5 +1,6 @@
1
+ import { mdiViewDashboard, mdiViewDashboardVariant } from "@mdi/js";
1
2
  import { reactive } from "vue";
2
- import { currentUrl } from "./store/States";
3
+
3
4
  /**
4
5
  * Reactive Edoash Instance Object. provided globally in the app, and used as an
5
6
  * intermediate object to make user defined instances config reactive.
@@ -8,110 +9,424 @@ import { currentUrl } from "./store/States";
8
9
  */
9
10
  export const eodash = reactive({
10
11
  id: "demo",
11
- stacEndpoint: "https://gtif-cerulean.github.io/catalog/cerulean/catalog.json",
12
+ stacEndpoint:
13
+ // "https://eurodatacube.github.io/eodash-catalog/RACE/catalog.json",
14
+ // "https://gtif-cerulean.github.io/catalog/cerulean/catalog.json",
15
+ "https://eodashcatalog.eox.at/samplecatalog/samples/catalog.json",
16
+ // "https://eodashcatalog.eox.at/test-style/trilateral/catalog.json",
17
+ // "https://gtif-cerulean.github.io/catalog/cerulean/catalog.json",
12
18
  brand: {
13
19
  noLayout: true,
14
20
  name: "Demo",
15
21
  theme: {
16
22
  colors: {
17
- primary: "#fff",
18
- secondary: "#fff",
19
- surface: "#fff",
23
+ primary: "#002742",
24
+ secondary: "#0071C2",
25
+ surface: "#ffff",
26
+ },
27
+ variables: {
28
+ "surface-opacity": 0.6,
29
+ "primary-opacity": 0.8,
20
30
  },
21
31
  },
22
32
  footerText: "Demo configuration of eodash client",
23
33
  },
24
- template: {
25
- loading: {
26
- id: Symbol(),
27
- type: "web-component",
28
- widget: {
29
- // https://uiball.com/ldrs/
30
- link: "https://cdn.jsdelivr.net/npm/ldrs/dist/auto/mirage.js",
31
- tagName: "l-mirage",
32
- properties: {
33
- class: "align-self-center justify-self-center",
34
- size: "120",
35
- speed: "2.5",
36
- color: "#004170",
34
+ templates: {
35
+ light: {
36
+ gap: 16,
37
+ loading: {
38
+ id: Symbol(),
39
+ type: "web-component",
40
+ widget: {
41
+ // https://uiball.com/ldrs/
42
+ link: "https://cdn.jsdelivr.net/npm/ldrs/dist/auto/mirage.js",
43
+ tagName: "l-mirage",
44
+ properties: {
45
+ class: "align-self-center justify-self-center",
46
+ size: "120",
47
+ speed: "2.5",
48
+ color: "#004170",
49
+ },
37
50
  },
38
51
  },
39
- },
40
- background: {
41
- id: Symbol(),
42
- type: "internal",
43
- widget: {
44
- name: "EodashMap",
52
+ background: {
53
+ id: Symbol(),
54
+ type: "internal",
55
+ widget: {
56
+ name: "EodashMap",
57
+ properties: {
58
+ enableCompare: true,
59
+ },
60
+ },
45
61
  },
62
+ widgets: [
63
+ {
64
+ id: Symbol(),
65
+ type: "internal",
66
+ title: "Tools",
67
+ layout: { x: 0, y: 0, w: 3, h: 1 },
68
+ widget: {
69
+ name: "EodashTools",
70
+ properties: {
71
+ layoutTarget: "expert",
72
+ layoutIcon: mdiViewDashboardVariant,
73
+ itemFilterConfig: {
74
+ resultType: "cards",
75
+ filtersTitle: "",
76
+ style: "--padding: 72px",
77
+ filterProperties: [],
78
+ resultsTitle: "Explore more indicators",
79
+ subTitleProperty: "subtitle",
80
+ imageProperty: "thumbnail",
81
+ },
82
+ },
83
+ },
84
+ },
85
+ {
86
+ defineWidget: (selectedSTAC) => {
87
+ return selectedSTAC
88
+ ? {
89
+ id: "layercontrol-light",
90
+ type: "internal",
91
+ title: "Layers",
92
+ layout: { x: 0, y: 1, w: 3, h: 3 },
93
+ widget: {
94
+ name: "EodashLayerControl",
95
+ properties: {
96
+ slider: false,
97
+ tools: ["datetime", "info", "legend"],
98
+ cssVars: {
99
+ "--list-padding": "0",
100
+ "--tools-button-visibility": "none",
101
+ "--layer-input-visibility": "none",
102
+ "--layer-type-visibility": "none",
103
+ "--padding": "16px",
104
+ "--padding-vertical": "16px",
105
+ "--layer-tools-button-visibility": "none",
106
+ "--layer-summary-visibility": "none",
107
+ },
108
+ },
109
+ },
110
+ }
111
+ : null;
112
+ },
113
+ },
114
+ {
115
+ defineWidget: (selectedSTAC) => {
116
+ return selectedSTAC
117
+ ? {
118
+ id: "stacinfo-light",
119
+ type: "internal",
120
+ title: "Information",
121
+ layout: { x: 9, y: 0, w: 3, h: 6 },
122
+ widget: {
123
+ name: "EodashStacInfo",
124
+ properties: {
125
+ tags: [],
126
+ header: [],
127
+ footer: [],
128
+ body: ["description"],
129
+ styleOverride: "",
130
+ featured: [],
131
+ },
132
+ },
133
+ }
134
+ : null;
135
+ },
136
+ },
137
+ {
138
+ defineWidget: (selectedSTAC) => {
139
+ return selectedSTAC
140
+ ? {
141
+ id: "Datepicker",
142
+ type: "internal",
143
+ layout: { x: 5, y: 8, w: 2, h: 4 },
144
+ title: "Date",
145
+ widget: {
146
+ name: "EodashDatePicker",
147
+ properties: {
148
+ hideArrows: true,
149
+ hideInputField: true,
150
+ hintText: `<b>Hint:</b> closest available date is displayed <br />
151
+ on map (see Analysis Layers)`,
152
+ },
153
+ },
154
+ }
155
+ : null;
156
+ },
157
+ },
158
+ ],
46
159
  },
47
- widgets: [
48
- {
160
+ expert: {
161
+ loading: {
162
+ id: Symbol(),
163
+ type: "web-component",
164
+ widget: {
165
+ // https://uiball.com/ldrs/
166
+ link: "https://cdn.jsdelivr.net/npm/ldrs/dist/auto/mirage.js",
167
+ tagName: "l-mirage",
168
+ properties: {
169
+ class: "align-self-center justify-self-center",
170
+ size: "120",
171
+ speed: "2.5",
172
+ color: "#004170",
173
+ },
174
+ },
175
+ },
176
+ background: {
49
177
  id: Symbol(),
50
178
  type: "internal",
51
- title: "Indicators",
52
- layout: { x: 0, y: 0, w: 2, h: 12 },
53
179
  widget: {
54
- name: "EodashItemFilter",
180
+ name: "EodashMap",
181
+ properties: {
182
+ enableCompare: true,
183
+ },
55
184
  },
56
185
  },
57
- {
58
- defineWidget: (selectedSTAC) => {
59
- return selectedSTAC
60
- ? {
61
- id: "Information",
62
- title: "Information",
63
- layout: { x: 9, y: 0, w: 3, h: 12 },
64
- type: "web-component",
65
- widget: {
66
- link: async () => await import("@eox/stacinfo"),
67
- properties: {
68
- for: currentUrl,
69
- allowHtml: "true",
70
- styleOverride:
71
- "#properties li > .value {font-weight: normal !important;}",
72
- header: "[]",
73
- subheader: "[]",
74
- properties: '["description"]',
75
- featured: "[]",
76
- footer: "[]",
77
- },
78
- tagName: "eox-stacinfo",
186
+ widgets: [
187
+ {
188
+ id: Symbol(),
189
+ type: "internal",
190
+ title: "Tools",
191
+ layout: { x: 0, y: 0, w: 3, h: 1 },
192
+ widget: {
193
+ name: "EodashTools",
194
+ properties: {
195
+ layoutTarget: "light",
196
+ layoutIcon: mdiViewDashboard,
197
+ itemFilterConfig: {
198
+ resultType: "cards",
199
+ subTitleProperty: "subtitle",
200
+ imageProperty: "thumbnail",
201
+ aggregateResults: "collection_group",
202
+ style: {
203
+ "--form-flex-direction": "row",
79
204
  },
80
- }
81
- : null;
205
+ },
206
+ },
207
+ },
208
+ },
209
+ {
210
+ id: Symbol(),
211
+ type: "internal",
212
+ title: "Layers",
213
+ layout: { x: 0, y: 1, w: 3, h: 6 },
214
+ widget: {
215
+ name: "EodashLayerControl",
216
+ },
217
+ },
218
+ {
219
+ defineWidget: (selectedSTAC) => {
220
+ return selectedSTAC
221
+ ? {
222
+ id: "Information",
223
+ title: "Information",
224
+ layout: { x: 9, y: 0, w: 3, h: 6 },
225
+ type: "internal",
226
+ widget: {
227
+ name: "EodashStacInfo",
228
+ properties: {
229
+ showIndicatorsBtn: false,
230
+ showLayoutSwitcher: false,
231
+ },
232
+ },
233
+ }
234
+ : null;
235
+ },
236
+ },
237
+ {
238
+ defineWidget: (selectedSTAC) => {
239
+ return selectedSTAC
240
+ ? {
241
+ id: "Datepicker",
242
+ type: "internal",
243
+ layout: { x: 5, y: 8, w: 2, h: 4 },
244
+ title: "Date",
245
+ widget: {
246
+ name: "EodashDatePicker",
247
+ properties: {
248
+ hintText: `<b>Hint:</b> closest available date is displayed <br />
249
+ on map (see Analysis Layers)`,
250
+ },
251
+ },
252
+ }
253
+ : null;
254
+ },
255
+ },
256
+ {
257
+ defineWidget: (selected) => {
258
+ return selected
259
+ ? {
260
+ id: "Buttons",
261
+ layout: { x: 8, y: 0, w: 1, h: 2 },
262
+ title: "Buttons",
263
+ type: "internal",
264
+ widget: {
265
+ name: "EodashMapBtns",
266
+ },
267
+ }
268
+ : null;
269
+ },
270
+ },
271
+ {
272
+ defineWidget: (selectedSTAC) =>
273
+ selectedSTAC?.links.some((l) => l.rel === "service")
274
+ ? {
275
+ id: Symbol(),
276
+ type: "internal",
277
+ title: "Processes",
278
+ layout: { x: 0, y: 7, w: 3, h: 5 },
279
+ widget: {
280
+ name: "EodashProcess",
281
+ },
282
+ }
283
+ : null,
284
+ },
285
+ ],
286
+ },
287
+ compare: {
288
+ gap: 16,
289
+ loading: {
290
+ id: Symbol(),
291
+ type: "web-component",
292
+ widget: {
293
+ // https://uiball.com/ldrs/
294
+ link: "https://cdn.jsdelivr.net/npm/ldrs/dist/auto/mirage.js",
295
+ tagName: "l-mirage",
296
+ properties: {
297
+ class: "align-self-center justify-self-center",
298
+ size: "120",
299
+ speed: "2.5",
300
+ color: "#004170",
301
+ },
82
302
  },
83
303
  },
84
- {
85
- defineWidget: (selectedSTAC) => {
86
- return selectedSTAC
87
- ? {
88
- id: "Datepicker",
89
- type: "internal",
90
- layout: { x: 5, y: 10, w: 1, h: 1 },
91
- title: "Datepicker",
92
- widget: {
93
- name: "EodashDatePicker",
94
- },
95
- }
96
- : null;
304
+ background: {
305
+ id: Symbol(),
306
+ type: "internal",
307
+ widget: {
308
+ name: "EodashMap",
309
+ properties: {
310
+ enableCompare: true,
311
+ },
97
312
  },
98
313
  },
99
- {
100
- defineWidget: (selected) => {
101
- return selected
102
- ? {
103
- id: Symbol(),
104
- layout: { x: 8, y: 0, w: 1, h: 1 },
105
- title: "Buttons",
106
- type: "internal",
107
- widget: {
108
- name: "EodashMapBtns",
314
+ widgets: [
315
+ {
316
+ id: Symbol(),
317
+ type: "internal",
318
+ title: "Tools",
319
+ layout: { x: 0, y: 0, w: 3, h: 1 },
320
+ widget: {
321
+ name: "EodashTools",
322
+ properties: {
323
+ layoutTarget: "expert",
324
+ layoutIcon: mdiViewDashboardVariant,
325
+ itemFilterConfig: {
326
+ cssVars: {
327
+ "--form-flex-direction": "row",
109
328
  },
110
- }
111
- : null;
329
+ },
330
+ },
331
+ },
112
332
  },
113
- },
114
- ],
333
+ // compare indicators
334
+ {
335
+ id: Symbol(),
336
+ type: "internal",
337
+ title: "Tools",
338
+ layout: { x: 9, y: 0, w: 3, h: 1 },
339
+ widget: {
340
+ name: "EodashTools",
341
+ properties: {
342
+ showLayoutSwitcher: false,
343
+ indicatorBtnText: "Select an indicator to compare",
344
+ itemFilterConfig: {
345
+ enableCompare: true,
346
+ // resultsTitle:"Select an indicator to compare",
347
+ filtersTitle: "Select an indicator to compare",
348
+ // filterProperties: [],
349
+ cssVars: {
350
+ "--form-flex-direction": "row",
351
+ },
352
+ },
353
+ },
354
+ },
355
+ },
356
+ {
357
+ id: Symbol(),
358
+ type: "internal",
359
+ title: "Layers",
360
+ layout: { x: 0, y: 1, w: 3, h: 6 },
361
+ widget: {
362
+ name: "EodashLayerControl",
363
+ },
364
+ },
365
+ {
366
+ id: Symbol(),
367
+ title: "Comparison Layers",
368
+ layout: { x: 9, y: 1, w: 3, h: 6 },
369
+ type: "internal",
370
+ widget: {
371
+ name: "EodashLayerControl",
372
+ properties: {
373
+ map: "second",
374
+ },
375
+ },
376
+ },
377
+ {
378
+ defineWidget: (selectedSTAC) =>
379
+ selectedSTAC?.links.some((l) => l.rel === "service")
380
+ ? {
381
+ id: Symbol(),
382
+ type: "internal",
383
+ title: "Processes",
384
+ layout: { x: 0, y: 7, w: 3, h: 5 },
385
+ widget: {
386
+ name: "EodashProcess",
387
+ },
388
+ }
389
+ : null,
390
+ },
391
+ {
392
+ defineWidget: (selected) => {
393
+ return selected
394
+ ? {
395
+ id: "Buttons",
396
+ layout: { x: 8, y: 0, w: 1, h: 2 },
397
+ title: "Buttons",
398
+ type: "internal",
399
+ widget: {
400
+ name: "EodashMapBtns",
401
+ properties: {
402
+ compareIndicators: false,
403
+ },
404
+ },
405
+ }
406
+ : null;
407
+ },
408
+ },
409
+ {
410
+ defineWidget: (selectedSTAC) => {
411
+ return selectedSTAC
412
+ ? {
413
+ id: "Datepicker",
414
+ type: "internal",
415
+ layout: { x: 5, y: 8, w: 2, h: 4 },
416
+ title: "Date",
417
+ widget: {
418
+ name: "EodashDatePicker",
419
+ properties: {
420
+ hintText: `<b>Hint:</b> closest available date is displayed <br />
421
+ on map (see Analysis Layers)`,
422
+ },
423
+ },
424
+ }
425
+ : null;
426
+ },
427
+ },
428
+ ],
429
+ },
115
430
  },
116
431
  });
117
432