@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.
Files changed (155) hide show
  1. package/README.md +1 -0
  2. package/core/client/App.vue +8 -2
  3. package/core/client/asWebComponent.js +5 -5
  4. package/core/client/components/DashboardLayout.vue +42 -25
  5. package/core/client/components/EodashOverlay.vue +1 -1
  6. package/core/client/components/ErrorAlert.vue +2 -2
  7. package/core/client/components/Footer.vue +4 -4
  8. package/core/client/components/Header.vue +3 -3
  9. package/core/client/components/MobileLayout.vue +9 -10
  10. package/core/client/composables/DefineEodash.js +38 -43
  11. package/core/client/composables/DefineTemplate.js +4 -2
  12. package/core/client/composables/DefineWidgets.js +14 -8
  13. package/core/client/composables/index.js +273 -23
  14. package/core/client/eodashSTAC/EodashCollection.js +80 -47
  15. package/core/client/eodashSTAC/helpers.js +136 -27
  16. package/core/client/eodashSTAC/parquet.js +145 -0
  17. package/core/client/eodashSTAC/triggers.js +6 -3
  18. package/core/client/plugins/index.js +4 -3
  19. package/core/client/plugins/vuetify.js +3 -0
  20. package/core/client/store/actions.js +21 -4
  21. package/core/client/store/stac.js +93 -56
  22. package/core/client/store/states.js +15 -5
  23. package/core/client/types.ts +59 -43
  24. package/core/client/utils/index.js +79 -0
  25. package/core/client/utils/keys.js +2 -2
  26. package/core/client/utils/states.js +30 -5
  27. package/core/client/views/Dashboard.vue +36 -32
  28. package/core/client/vite-env.d.ts +7 -0
  29. package/dist/client/{DashboardLayout-CkWvOMOW.js → DashboardLayout-ByVs1DrY.js} +23 -12
  30. package/dist/client/{DynamicWebComponent-DYBbpvUK.js → DynamicWebComponent-C3W7HSQm.js} +1 -1
  31. package/dist/client/{EodashDatePicker-CALmW3SI.js → EodashDatePicker-BIAf1sMT.js} +59 -32
  32. package/dist/client/{EodashItemFilter-DlQiE713.js → EodashItemFilter-DPznh8UB.js} +20 -10
  33. package/dist/client/{EodashLayerControl-DEzEbft7.js → EodashLayerControl-Bhxjw4V2.js} +29 -16
  34. package/dist/client/EodashLayoutSwitcher-C5qTEffW.js +61 -0
  35. package/dist/client/EodashMapBtns-WoGq8MuV.js +173 -0
  36. package/dist/client/{EodashStacInfo-DPPxDkF6.js → EodashStacInfo-CSvvF2jI.js} +3 -18
  37. package/dist/client/{EodashTools-CUaL9s4H.js → EodashTools-Cv1SXQ5y.js} +13 -13
  38. package/dist/client/{ExportState-DjyIZVhl.js → ExportState-D-iuwaad.js} +58 -52
  39. package/dist/client/{Footer-DyL0JoWt.js → Footer-CyF0zRAk.js} +15 -13
  40. package/dist/client/{Header-B5Dgty9l.js → Header-CgD8jDKU.js} +33 -28
  41. package/dist/client/{MobileLayout-CRsg_5Q4.js → MobileLayout-EKQ_kpSh.js} +69 -60
  42. package/dist/client/{PopUp-BfB8s_ki.js → PopUp-BsYLvWch.js} +19 -10
  43. package/dist/client/ProcessList-C2xsLU2_.js +191 -0
  44. package/dist/client/{VImg-FD1WVphJ.js → VImg-OHe8YTs2.js} +24 -24
  45. package/dist/client/{VMain-DJKG4SvM.js → VMain-PryTLU4a.js} +7 -7
  46. package/dist/client/{VOverlay-BzOdRu9h.js → VOverlay-yUn7p-Uf.js} +64 -27
  47. package/dist/client/{VTooltip-CfeefrXI.js → VTooltip-DZ0fjpB3.js} +13 -10
  48. package/dist/client/{WidgetsContainer-C2TaTdb6.js → WidgetsContainer-B9LBadcC.js} +1 -1
  49. package/dist/client/asWebComponent-By_7_JjS.js +19193 -0
  50. package/dist/client/async-DkSu_u2K.js +740 -0
  51. package/dist/client/eo-dash.js +1 -1
  52. package/dist/client/{forwardRefs-Bon_Kku1.js → forwardRefs-BXxrv98s.js} +31 -4
  53. package/dist/client/handling-CgmFXkW6.js +1212 -0
  54. package/dist/client/helpers-Dy0Q13tP.js +4534 -0
  55. package/dist/client/{index-Bm9cbtx5.js → index-BuhOHXKv.js} +2 -4
  56. package/dist/client/{index-CIHH_3dW.js → index-Ch_HchK3.js} +39 -32
  57. package/dist/client/{index-4CT7Tz83.js → index-Dqj4tbx2.js} +2 -2
  58. package/dist/client/index-skjhlH8u.js +376 -0
  59. package/dist/client/{ssrBoot-BP7SYRyC.js → ssrBoot-Zgc_Ttvi.js} +2 -2
  60. package/dist/client/templates.js +850 -0
  61. package/dist/client/transition-C98Yn4Vo.js +40 -0
  62. package/dist/node/cli.js +16 -6
  63. package/dist/node/types.d.ts +1 -1
  64. package/dist/types/core/client/App.vue.d.ts +2 -2
  65. package/dist/types/core/client/asWebComponent.d.ts +1 -1
  66. package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +1 -3
  67. package/dist/types/core/client/components/Footer.vue.d.ts +1 -105
  68. package/dist/types/core/client/components/IframeWrapper.vue.d.ts +1 -1
  69. package/dist/types/core/client/components/MobileLayout.vue.d.ts +1 -324
  70. package/dist/types/core/client/composables/DefineEodash.d.ts +2 -2
  71. package/dist/types/core/client/composables/DefineTemplate.d.ts +1 -1
  72. package/dist/types/core/client/composables/DefineWidgets.d.ts +4 -4
  73. package/dist/types/core/client/composables/index.d.ts +24 -2
  74. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +9 -6
  75. package/dist/types/core/client/eodashSTAC/helpers.d.ts +20 -5
  76. package/dist/types/core/client/eodashSTAC/parquet.d.ts +2 -0
  77. package/dist/types/core/client/plugins/vuetify.d.ts +7 -4
  78. package/dist/types/core/client/store/actions.d.ts +3 -2
  79. package/dist/types/core/client/store/stac.d.ts +16 -13
  80. package/dist/types/core/client/store/states.d.ts +14 -4
  81. package/dist/types/core/client/types.d.ts +45 -30
  82. package/dist/types/core/client/utils/index.d.ts +2 -0
  83. package/dist/types/core/client/utils/keys.d.ts +4 -4
  84. package/dist/types/core/client/utils/states.d.ts +59 -47
  85. package/dist/types/core/client/views/Dashboard.vue.d.ts +2 -2
  86. package/dist/types/templates/baseConfig.d.ts +4 -0
  87. package/dist/types/templates/compare.d.ts +210 -0
  88. package/dist/types/templates/expert.d.ts +151 -0
  89. package/dist/types/templates/index.d.ts +6 -0
  90. package/dist/types/templates/light.d.ts +145 -0
  91. package/dist/types/widgets/EodashDatePicker.vue.d.ts +1 -458
  92. package/dist/types/widgets/EodashItemFilter.vue.d.ts +3 -3
  93. package/dist/types/widgets/EodashLayerControl.vue.d.ts +14 -7
  94. package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +1 -3
  95. package/dist/types/widgets/EodashMap/index.vue.d.ts +1 -4
  96. package/dist/types/widgets/EodashMapBtns.vue.d.ts +8 -8
  97. package/dist/types/widgets/EodashProcess/ProcessList.vue.d.ts +8 -1
  98. package/dist/types/widgets/EodashProcess/index.vue.d.ts +8 -4
  99. package/dist/types/widgets/EodashProcess/methods/async.d.ts +18 -18
  100. package/dist/types/widgets/EodashProcess/methods/composables.d.ts +3 -2
  101. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/index.d.ts +1 -0
  102. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.d.ts +6 -0
  103. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.d.ts +4 -0
  104. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +5 -0
  105. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/index.d.ts +1 -0
  106. package/dist/types/widgets/EodashProcess/methods/handling.d.ts +12 -5
  107. package/dist/types/widgets/EodashProcess/methods/outputs.d.ts +72 -41
  108. package/dist/types/widgets/EodashProcess/methods/utils.d.ts +41 -21
  109. package/dist/types/widgets/EodashProcess/states.d.ts +11 -0
  110. package/dist/types/widgets/EodashProcess/types.d.ts +41 -0
  111. package/dist/types/widgets/EodashStacInfo.vue.d.ts +14 -14
  112. package/dist/types/widgets/EodashTools.vue.d.ts +3 -3
  113. package/dist/types/widgets/ExportState.vue.d.ts +1 -1
  114. package/dist/types/widgets/PopUp.vue.d.ts +11 -16
  115. package/dist/types/widgets/WidgetsContainer.vue.d.ts +3 -6
  116. package/package.json +53 -45
  117. package/templates/baseConfig.js +68 -0
  118. package/templates/compare.js +162 -0
  119. package/templates/expert.js +123 -0
  120. package/templates/index.js +8 -0
  121. package/templates/light.js +130 -0
  122. package/widgets/EodashDatePicker.vue +80 -31
  123. package/widgets/EodashItemFilter.vue +26 -11
  124. package/widgets/EodashLayerControl.vue +20 -11
  125. package/widgets/EodashLayoutSwitcher.vue +6 -3
  126. package/widgets/EodashMap/index.vue +3 -8
  127. package/widgets/EodashMap/methods/create-layers-config.js +4 -3
  128. package/widgets/EodashMap/methods/index.js +33 -23
  129. package/widgets/EodashMapBtns.vue +83 -41
  130. package/widgets/EodashProcess/ProcessList.vue +34 -10
  131. package/widgets/EodashProcess/index.vue +55 -20
  132. package/widgets/EodashProcess/methods/async.js +77 -59
  133. package/widgets/EodashProcess/methods/composables.js +21 -14
  134. package/widgets/EodashProcess/methods/custom-endpoints/chart/index.js +35 -0
  135. package/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.js +275 -0
  136. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +116 -0
  137. package/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.js +94 -0
  138. package/widgets/EodashProcess/methods/custom-endpoints/layers/index.js +33 -0
  139. package/widgets/EodashProcess/methods/handling.js +127 -80
  140. package/widgets/EodashProcess/methods/outputs.js +376 -125
  141. package/widgets/EodashProcess/methods/utils.js +398 -10
  142. package/widgets/EodashProcess/states.js +13 -0
  143. package/widgets/EodashProcess/types.ts +46 -0
  144. package/widgets/EodashStacInfo.vue +2 -17
  145. package/widgets/EodashTools.vue +13 -13
  146. package/widgets/WidgetsContainer.vue +1 -1
  147. package/core/client/eodash.js +0 -454
  148. package/dist/client/EodashLayoutSwitcher-CDeCV8F-.js +0 -52
  149. package/dist/client/EodashMapBtns-CktQCfa-.js +0 -131
  150. package/dist/client/ProcessList-DTefwQZx.js +0 -484
  151. package/dist/client/asWebComponent-CLhcT715.js +0 -12479
  152. package/dist/client/eo-dash.css +0 -5
  153. package/dist/client/index-DiGDvTQU.js +0 -780
  154. package/dist/client/transition-C5I57hn6.js +0 -37
  155. package/dist/types/core/client/eodash.d.ts +0 -8
@@ -2,44 +2,44 @@
2
2
  * Polls the process status and fetches a result item when the process is successful.
3
3
  *
4
4
  * @param {Object} params - Parameters for polling the process status.
5
+ * @param {import("vue").Ref<import("../types").AsyncJob[]>} params.jobs - The list of jobs to update.
5
6
  * @param {string} params.processUrl - The URL of the process JSON report.
6
7
  * @param {import("vue").Ref<boolean>} params.isPolling - checks wether the polling should continue
7
8
  * @param {number} [params.pollInterval=5000] - The interval (in milliseconds) between polling attempts.
8
9
  * @param {number} [params.maxRetries=60] - The maximum number of polling attempts.
9
- * @returns {Promise<JSON>} The fetched results JSON.
10
+ * @param {boolean} [params.enableCompare=false] - Whether to enable comparison mode, affecting the indicator used.
11
+ * @returns {Promise<import("../types").EOxHubProcessResults>} The fetched results JSON.
10
12
  * @throws {Error} If the process does not complete successfully within the maximum retries.
11
13
  */
12
- export function pollProcessStatus({ processUrl, isPolling, pollInterval, maxRetries, }: {
14
+ export function pollProcessStatus({ jobs, processUrl, isPolling, pollInterval, maxRetries, enableCompare, }: {
15
+ jobs: import("vue").Ref<import("../types").AsyncJob[]>;
13
16
  processUrl: string;
14
17
  isPolling: import("vue").Ref<boolean>;
15
18
  pollInterval?: number | undefined;
16
19
  maxRetries?: number | undefined;
17
- }): Promise<JSON>;
20
+ enableCompare?: boolean | undefined;
21
+ }): Promise<import("../types").EOxHubProcessResults>;
18
22
  /**
19
23
  *
20
- * @param {*} jobs
21
- * @param {*} indicator
24
+ * @param {import("vue").Ref<import("../types").AsyncJob[]>} jobs
25
+ * @param {string} indicator
22
26
  */
23
- export function updateJobsStatus(jobs: any, indicator: any): Promise<void>;
27
+ export function updateJobsStatus(jobs: import("vue").Ref<import("../types").AsyncJob[]>, indicator: string): Promise<void>;
24
28
  /**
25
29
  * load a geotiff to the map from an existing process
26
30
  *
27
31
  * @param {Object} params
28
32
  * @param {import("stac-ts").StacCollection | null} params.selectedStac
29
- * @param {any[]} params.results
30
33
  * @param {string} params.jobId
34
+ * @param {import("../types").EOxHubProcessResults} params.results
35
+ * @param {import("@eox/map").EOxMap | null} params.mapElement
31
36
  */
32
- export function loadPreviousProcess({ selectedStac, results, jobId }: {
37
+ export function loadPreviousProcess({ selectedStac, results, jobId, mapElement, }: {
33
38
  selectedStac: import("stac-ts").StacCollection | null;
34
- results: any[];
35
39
  jobId: string;
40
+ results: import("../types").EOxHubProcessResults;
41
+ mapElement: import("@eox/map").EOxMap | null;
36
42
  }): Promise<void>;
37
- /**
38
- * The list of job result from the server
39
- * {job_start_datetime: string, job_end_datetime: string,status: string}
40
- * @type {import("vue").Ref<any[]>}
41
- **/
42
- export const jobs: import("vue").Ref<any[]>;
43
- export function deleteJob(jobObject: any): Promise<void>;
44
- export function downloadPreviousResults(jobObject: any, selectedStac: any): Promise<void>;
45
- export function loadProcess(jobObject: any, selectedStac: any): Promise<void>;
43
+ export function deleteJob(jobs: import("vue").Ref<import("../types").AsyncJob[]>, jobObject: import("../types").AsyncJob, indicator: string): Promise<void>;
44
+ export function downloadPreviousResults(jobObject: import("../types").AsyncJob, selectedStac: import("stac-ts").StacCollection | null): Promise<void>;
45
+ export function loadProcess(jobObject: import("../types").AsyncJob, selectedStac: import("stac-ts").StacCollection | null, mapElement: import("@eox/map").EOxMap | null): Promise<void>;
@@ -7,8 +7,8 @@
7
7
  * @param {() => Promise<void>} startProcess
8
8
  **/
9
9
  export function useAutoExec(autoExec: import("vue").Ref<boolean>, jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>, jsonformSchema: import("vue").Ref<Record<string, any> | null>, startProcess: () => Promise<void>): void;
10
- export function useInitProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, processResults, loading, isPolling, }: {
11
- selectedStac: import("vue").Ref<import("stac-ts").StacCollection>;
10
+ export function useInitProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, processResults, loading, isPolling, mapElement, }: {
11
+ selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
12
12
  jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
13
13
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
14
14
  chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>;
@@ -16,4 +16,5 @@ export function useInitProcess({ selectedStac, jsonformEl, jsonformSchema, chart
16
16
  isProcessed: import("vue").Ref<boolean>;
17
17
  loading: import("vue").Ref<boolean>;
18
18
  isPolling: import("vue").Ref<boolean>;
19
+ mapElement: import("@eox/map").EOxMap | null;
19
20
  }): void;
@@ -0,0 +1 @@
1
+ export function handleChartCustomEndpoints(inputs: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<any[] | null>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ *
3
+ * @param {import("../../../../EodashProcess/types").CustomEnpointInput} inputs
4
+ * @returns
5
+ */
6
+ export function handleSentinelHubProcess({ links, jsonformValue, jsonformSchema, selectedStac, enableCompare, }: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<any[] | undefined>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @param {import("../../../../EodashProcess/types").CustomEnpointInput} inputs
3
+ */
4
+ export function handleVedaEndpoint({ links, jsonformSchema, jsonformValue, selectedStac, enableCompare, }: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<any[] | undefined>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ *
3
+ * @param {import("../../../../EodashProcess/types").CustomEnpointInput} param0
4
+ */
5
+ export function handleEOxHubEndpoint({ links, jsonformValue, isPolling, selectedStac, jobs, enableCompare, }: import("../../../../EodashProcess/types").CustomEnpointInput): Promise<(import("@eox/map/src/layers").EOxLayerType<"Vector", "Vector"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "FlatGeoBuf"> | import("@eox/map/src/layers").EOxLayerType<"Vector", "Cluster"> | import("@eox/map/src/layers").EOxLayerType<"VectorTile", "VectorTile"> | import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoTIFF"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "OSM"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTSCapabilities"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "StadiaMaps"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "WMTS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "XYZ"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileJSON"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileArcGISRest"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileDebug"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileImage"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "TileWMS"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "UrlTile"> | import("@eox/map/src/layers").EOxLayerType<"Tile", "BingMaps"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Image"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageCanvas"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageStatic"> | import("@eox/map/src/layers").EOxLayerType<"Image", "ImageWMS"> | import("@eox/map/src/layers").EOxLayerType<"Image", "Raster"> | import("@eox/map/src/layers").EOxLayerType<"Image", "IIIF"> | import("@eox/map/src/layers").EOxLayerTypeGroup)[] | undefined>;
@@ -0,0 +1 @@
1
+ export const handleLayersCustomEndpoints: (input: import("../../../../EodashProcess/types").CustomEnpointInput) => Promise<import("@eox/map/.").EoxLayer[]>;
@@ -4,7 +4,7 @@
4
4
  * @export
5
5
  * @async
6
6
  * @param {Object} params
7
- * @param {import("vue").Ref<import("stac-ts").StacCollection>} params.selectedStac
7
+ * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
8
8
  * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
9
9
  * @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
10
10
  * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
@@ -12,9 +12,10 @@
12
12
  * @param {import("vue").Ref<boolean>} params.isProcessed
13
13
  * @param {import("vue").Ref<boolean>} params.loading
14
14
  * @param {import("vue").Ref<boolean>} params.isPolling
15
+ * @param {boolean} params.enableCompare
15
16
  */
16
- export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, processResults, loading, isPolling, }: {
17
- selectedStac: import("vue").Ref<import("stac-ts").StacCollection>;
17
+ export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpec, isProcessed, processResults, loading, isPolling, enableCompare, }: {
18
+ selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
18
19
  jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
19
20
  jsonformSchema: import("vue").Ref<Record<string, any> | null>;
20
21
  chartSpec: import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>;
@@ -22,10 +23,11 @@ export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpe
22
23
  isProcessed: import("vue").Ref<boolean>;
23
24
  loading: import("vue").Ref<boolean>;
24
25
  isPolling: import("vue").Ref<boolean>;
26
+ enableCompare: boolean;
25
27
  }): Promise<void>;
26
28
  /**
27
29
  *
28
- * @param {Object} params
30
+ * @param {object} params
29
31
  * @param {import("vue").Ref<boolean>} params.loading
30
32
  * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
31
33
  * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
@@ -34,8 +36,10 @@ export function initProcess({ selectedStac, jsonformEl, jsonformSchema, chartSpe
34
36
  * @param {import("vue").Ref<Record<string, any> | null>} params.chartData
35
37
  * @param {import("vue").Ref<boolean>} params.isPolling
36
38
  * @param {import("vue").Ref<any[]>} params.processResults
39
+ * @param {import("@eox/map").EOxMap | null} params.mapElement
40
+ * @param {import("vue").Ref<import("../types").AsyncJob[]>} params.jobs
37
41
  */
38
- export function handleProcesses({ loading, selectedStac, jsonformEl, jsonformSchema, chartSpec, chartData, isPolling, processResults, }: {
42
+ export function handleProcesses({ loading, selectedStac, jsonformEl, jsonformSchema, chartSpec, chartData, isPolling, processResults, mapElement, jobs, }: {
39
43
  loading: import("vue").Ref<boolean>;
40
44
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null>;
41
45
  jsonformEl: import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>;
@@ -44,6 +48,8 @@ export function handleProcesses({ loading, selectedStac, jsonformEl, jsonformSch
44
48
  chartData: import("vue").Ref<Record<string, any> | null>;
45
49
  isPolling: import("vue").Ref<boolean>;
46
50
  processResults: import("vue").Ref<any[]>;
51
+ mapElement: import("@eox/map").EOxMap | null;
52
+ jobs: import("vue").Ref<import("../types").AsyncJob[]>;
47
53
  }): Promise<void>;
48
54
  /**
49
55
  * Reset the process state
@@ -76,3 +82,4 @@ export function onChartClick(evt: {
76
82
  item: import("vega").Item;
77
83
  };
78
84
  }): void;
85
+ export function loadPOiIndicator(): void;
@@ -1,54 +1,85 @@
1
+ /**
2
+ * @param {object} options
3
+ * @param {import("stac-ts").StacLink[] | undefined} options.links
4
+ * @param {Record<string,any> | undefined} options.jsonformValue
5
+ * @param {string} options.specUrl
6
+ * @param {(input:import("../../EodashProcess/types").CustomEnpointInput)=>Promise<Record<string,any>[] | undefined | null>} [options.customEndpointsHandler]
7
+ * @param {import("vue").Ref<boolean>} options.isPolling
8
+ * @param {import("stac-ts").StacCollection} options.selectedStac
9
+ * @param {Record<string,any>} options.jsonformSchema
10
+ * @param {import("vue").Ref<import("../types").AsyncJob[]>} options.jobs
11
+ * @param {boolean} [options.enableCompare=false] - Whether to enable compare mode
12
+ * @returns {Promise<[import("@eox/chart").EOxChart["spec"] | null,Record<string,any>|null]>}
13
+ **/
14
+ export function processCharts({ links, jsonformValue, specUrl, customEndpointsHandler, jsonformSchema, selectedStac, isPolling, jobs, enableCompare, }: {
15
+ links: import("stac-ts").StacLink[] | undefined;
16
+ jsonformValue: Record<string, any> | undefined;
17
+ specUrl: string;
18
+ customEndpointsHandler?: ((input: import("../../EodashProcess/types").CustomEnpointInput) => Promise<Record<string, any>[] | undefined | null>) | undefined;
19
+ isPolling: import("vue").Ref<boolean>;
20
+ selectedStac: import("stac-ts").StacCollection;
21
+ jsonformSchema: Record<string, any>;
22
+ jobs: import("vue").Ref<import("../types").AsyncJob[]>;
23
+ enableCompare?: boolean | undefined;
24
+ }): Promise<[import("@eox/chart").EOxChart["spec"] | null, Record<string, any> | null]>;
25
+ /**
26
+ * @param {object} options
27
+ * @param {import("stac-ts").StacLink[] | undefined} options.links
28
+ * @param {Record<string,any> | undefined} options.jsonformValue
29
+ * @param {string} options.layerId
30
+ * @param {string} [options.projection]
31
+ */
32
+ export function processGeoTiff({ links, jsonformValue, layerId, projection, }: {
33
+ links: import("stac-ts").StacLink[] | undefined;
34
+ jsonformValue: Record<string, any> | undefined;
35
+ layerId: string;
36
+ projection?: string | undefined;
37
+ }): Promise<import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoTIFF">[] | undefined>;
1
38
  /**
2
39
  * @param {import("stac-ts").StacLink[] | undefined} links
3
40
  * @param {Record<string,any>|undefined} jsonformValue
4
41
  * @param {number[]} origBbox
5
42
  */
6
- export function processImage(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, origBbox: number[]): {
7
- type: string;
8
- properties: {
9
- id: unknown;
10
- title: string;
11
- };
12
- source: {
13
- type: string;
14
- imageExtent: number[];
15
- url: string;
16
- };
17
- }[] | undefined;
43
+ export function processImage(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, origBbox: number[]): import("@eox/map/src/layers").EOxLayerType<"Image", "ImageStatic">[] | undefined;
18
44
  /**
19
45
  * @param {import("stac-ts").StacLink[] | undefined} links
20
46
  * @param {Record<string,any> | undefined} jsonformValue
21
47
  * @param {string} layerId
22
48
  */
23
- export function processVector(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, layerId: string): Promise<Record<string, any>[] | undefined>;
49
+ export function processVector(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, layerId: string): Promise<import("@eox/map/src/layers").EOxLayerType<"Vector", any>[] | undefined>;
24
50
  /**
25
- * @param {import("stac-ts").StacLink[] | undefined} links
26
- * @param {Record<string,any> | undefined} jsonformValue
27
- * @param {string} specUrl
28
- * @returns {Promise<[import("@eox/chart").EOxChart["spec"] | null,Record<string,any>|null]>}
29
- **/
30
- 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]>;
51
+ * Unified wrapper for processing map layer types (Vector, Image, GeoTiff)
52
+ * @param {object} options
53
+ * @param {import("stac-ts").StacLink[] | undefined} options.links
54
+ * @param {Record<string,any> | undefined} options.jsonformValue
55
+ * @param {string} options.layerId
56
+ * @param {string} [options.projection] - Required for GeoTiff layers
57
+ * @param {number[]} options.origBbox - Required for Image layers
58
+ * @param {import("vue").Ref<boolean>} options.isPolling
59
+ * @param {import("stac-ts").StacCollection} options.selectedStac
60
+ * @param {import("json-schema").JSONSchema7} options.jsonformSchema
61
+ * @param {import("vue").Ref<import("../types").AsyncJob[]>} options.jobs
62
+ * @param {(input:import("../types").CustomEnpointInput)=>Promise<import("@eox/map").EoxLayer[]>} options.customLayersHandler
63
+ * @param {boolean} [options.enableCompare=false] - Whether to enable compare mode
64
+ */
65
+ export function processLayers({ links, jsonformValue, layerId, projection, origBbox, isPolling, selectedStac, jsonformSchema, jobs, customLayersHandler, enableCompare, }: {
66
+ links: import("stac-ts").StacLink[] | undefined;
67
+ jsonformValue: Record<string, any> | undefined;
68
+ layerId: string;
69
+ projection?: string | undefined;
70
+ origBbox: number[];
71
+ isPolling: import("vue").Ref<boolean>;
72
+ selectedStac: import("stac-ts").StacCollection;
73
+ jsonformSchema: import("json-schema").JSONSchema7;
74
+ jobs: import("vue").Ref<import("../types").AsyncJob[]>;
75
+ customLayersHandler: (input: import("../types").CustomEnpointInput) => Promise<import("@eox/map").EoxLayer[]>;
76
+ enableCompare?: boolean | undefined;
77
+ }): Promise<import("@eox/map/src/layers").EoxLayer[]>;
31
78
  /**
32
- * @param {import("stac-ts").StacLink[] | undefined} links
33
- * @param {Record<string,any> | undefined} jsonformValue
34
- * @param {import("vue").Ref<boolean>} isPolling
35
- * @param {string} layerId
36
- * @param {string} projection
79
+ * This function loads a STAC collection as a processing output.
80
+ * Currently, it only supports POI STAC collections
81
+ *
82
+ * @param {import("stac-ts").StacLink[]} links
83
+ * @param {Record<string,any>} jsonformValue
37
84
  */
38
- export function processGeoTiff(links: import("stac-ts").StacLink[] | undefined, jsonformValue: Record<string, any> | undefined, layerId: string, isPolling: import("vue").Ref<boolean>, projection: string): Promise<{
39
- style?: Record<string, any> | undefined;
40
- type: string;
41
- source: {
42
- type: string;
43
- normalize: boolean;
44
- sources: {
45
- url: string;
46
- }[];
47
- };
48
- properties: {
49
- layerControlToolsExpand: boolean;
50
- layerConfig?: Record<string, any> | undefined;
51
- id: string;
52
- title: string;
53
- };
54
- } | undefined>;
85
+ export function processSTAC(links: import("stac-ts").StacLink[], jsonformValue: Record<string, any>, enableCompare?: boolean): Promise<void>;
@@ -15,28 +15,48 @@ export function getGeoJsonProperties(jsonformSchema?: Record<string, any> | null
15
15
  export function extractGeometries(jsonformValue: Record<string, any>, jsonformSchema?: Record<string, any> | null): void;
16
16
  /**
17
17
  *
18
- * @param {*} link
19
- * @param {*} layerId
18
+ * @param {import("stac-ts").StacLink} link
19
+ * @param {string} layerId
20
20
  * @param {string[]} urls
21
- * @param {*} projection
22
- * @param {*} processId
21
+ * @param {import("openlayers").ProjectionLike} projection
22
+ * @param {string} processId
23
+ */
24
+ export function createTiffLayerDefinition(link: import("stac-ts").StacLink, layerId: string, urls: string[], projection: import("openlayers").ProjectionLike, processId: string): Promise<import("@eox/map/src/layers").EOxLayerType<"WebGLTile", "GeoTIFF"> | undefined>;
25
+ /**
26
+ * Generate time pairs from a temporal extent
27
+ * @param {import("stac-ts").TemporalExtent} stacExtent - [start, end]
28
+ * @param {import("stac-ts").TemporalExtent} [userExtent] -[start, end]
29
+ * @param {string} [distribution] - daily, weekly, monthly, or yearly
30
+ */
31
+ export function generateTimePairs(stacExtent: import("stac-ts").TemporalExtent, userExtent?: import("stac-ts").TemporalExtent, distribution?: string): string[][];
32
+ /**
33
+ * Filter links to separate those with and without endpoint property
34
+ * @param {import("stac-ts").StacLink[] | undefined} links
35
+ * @param {string} [relType] - Optional relationship type
36
+ * @param {string} [contentType] - Optional content type
37
+ * @returns {[import("stac-ts").StacLink[], import("stac-ts").StacLink[]]}
38
+ */
39
+ export function separateEndpointLinks(links: import("stac-ts").StacLink[] | undefined, relType?: string, contentType?: string): [import("stac-ts").StacLink[], import("stac-ts").StacLink[]];
40
+ /**
41
+ * Generates layer definitions for asynchronous process results.
42
+ * using AsyncProcessResults data structure.
43
+ * @param {import("../../EodashProcess/types").AsyncProcessResults} processResults
44
+ * @param {import("stac-ts").StacLink} endpointLink
45
+ * @param {import("stac-ts").StacCollection|null} selectedStac
46
+ * @param {string} [postfixId=""] - Optional layers id postfix
23
47
  * @returns
24
48
  */
25
- export function createLayerDefinition(link: any, layerId: any, urls: string[], projection: any, processId: any): Promise<{
26
- style?: Record<string, any> | undefined;
27
- type: string;
28
- source: {
29
- type: string;
30
- normalize: boolean;
31
- sources: {
32
- url: string;
33
- }[];
34
- };
35
- properties: {
36
- layerControlToolsExpand: boolean;
37
- layerConfig?: Record<string, any> | undefined;
38
- id: string;
39
- title: string;
40
- };
41
- } | undefined>;
49
+ export function creatAsyncProcessLayerDefinitions(processResults: import("../../EodashProcess/types").AsyncProcessResults, endpointLink: import("stac-ts").StacLink, selectedStac: import("stac-ts").StacCollection | null, postfixId?: string): Promise<import("@eox/map/src/layers").EoxLayer[]>;
50
+ /**
51
+ *
52
+ * @param {import("../../EodashProcess/types").EOxHubProcessResults} resultItem
53
+ * @returns {import("../../EodashProcess/types").AsyncProcessResults}
54
+ */
55
+ export function extractAsyncResults(resultItem: import("../../EodashProcess/types").EOxHubProcessResults): import("../../EodashProcess/types").AsyncProcessResults;
56
+ /**
57
+ * Updates the jsonform schema to target the compare map
58
+ * @param {import("json-schema").JSONSchema7 | null | undefined} jsonformSchema
59
+ */
60
+ export function updateJsonformSchemaTarget(jsonformSchema: import("json-schema").JSONSchema7 | null | undefined): import("json-schema").JSONSchema7 | null | undefined;
42
61
  export function download(fileName: string, content: string | Record<string, any>): void;
62
+ export function applyProcessLayersToMap(mapElement: import("@eox/map").EOxMap | null, processLayers: import("@eox/map").EoxLayer[]): void;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The list of job result from the server
3
+ * {job_start_datetime: string, job_end_datetime: string,status: string}
4
+ * @type {import("vue").Ref<import("./types").AsyncJob[]>}
5
+ **/
6
+ export const jobs: import("vue").Ref<import("./types").AsyncJob[]>;
7
+ /**
8
+ * The list of jobs results from the server for the compare map
9
+ * @type {import("vue").Ref<import("./types").AsyncJob[]>}
10
+ */
11
+ export const compareJobs: import("vue").Ref<import("./types").AsyncJob[]>;
@@ -0,0 +1,41 @@
1
+ import type { StacLink, StacCollection } from "stac-ts";
2
+ import type { Ref } from "vue";
3
+ export interface CustomEnpointInput {
4
+ links: StacLink[];
5
+ jsonformSchema: Record<string, any>;
6
+ jsonformValue: Record<string, any>;
7
+ selectedStac: StacCollection;
8
+ isPolling?: Ref<boolean>;
9
+ enableCompare?: boolean;
10
+ jobs: Ref<AsyncJob[]>;
11
+ }
12
+ export interface AsyncJob {
13
+ type: string;
14
+ processID: string;
15
+ jobID: string;
16
+ status: "successful" | "failed" | "running";
17
+ message: string;
18
+ /** percentage of completion */
19
+ progress: number | string;
20
+ /** stringified object of parameters */
21
+ parameters: string;
22
+ /** ISO datetime string */
23
+ job_start_datetime: string;
24
+ /** ISO datetime string */
25
+ job_end_datetime: string;
26
+ /** typically contains links to differen types of the results */
27
+ links: StacLink[];
28
+ }
29
+ export type EOxHubProcessResults = {
30
+ urls: string[];
31
+ } | {
32
+ [K in string as K extends "urls" ? never : K]: {
33
+ urls: string[];
34
+ mimetype: string;
35
+ };
36
+ };
37
+ export type AsyncProcessResults = {
38
+ type: string;
39
+ urls: string[];
40
+ id: string;
41
+ }[];
@@ -1,21 +1,21 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- body: string[];
3
- styleOverride: string;
4
2
  allowHtml: boolean;
5
- header: string[];
6
- tags: string[];
7
- subheader: string[];
8
3
  featured: string[];
9
4
  footer: string[];
5
+ header: string[];
6
+ body: string[];
7
+ styleOverride: string;
8
+ subheader: string[];
9
+ tags: string[];
10
10
  $props: {
11
- readonly body?: string[] | undefined;
12
- readonly styleOverride?: string | undefined;
13
- readonly allowHtml?: boolean | undefined;
14
- readonly header?: string[] | undefined;
15
- readonly tags?: string[] | undefined;
16
- readonly subheader?: string[] | undefined;
17
- readonly featured?: string[] | undefined;
18
- readonly footer?: string[] | undefined;
11
+ allowHtml?: boolean | undefined;
12
+ featured?: string[] | undefined;
13
+ footer?: string[] | undefined;
14
+ header?: string[] | undefined;
15
+ body?: string[] | undefined;
16
+ styleOverride?: string | undefined;
17
+ subheader?: string[] | undefined;
18
+ tags?: string[] | undefined;
19
19
  };
20
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
21
  export default _default;
@@ -16,6 +16,7 @@ declare const _default: import("vue").DefineComponent<{}, {
16
16
  readonly enableHighlighting?: boolean | undefined;
17
17
  readonly expandMultipleFilters?: boolean | undefined;
18
18
  readonly expandMultipleResults?: boolean | undefined;
19
+ readonly styleOverride?: string | undefined;
19
20
  readonly filterProperties?: {
20
21
  keys: string[];
21
22
  title: string;
@@ -42,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{}, {
42
43
  readonly enableHighlighting?: boolean | undefined;
43
44
  readonly expandMultipleFilters?: boolean | undefined;
44
45
  readonly expandMultipleResults?: boolean | undefined;
46
+ readonly styleOverride?: string | undefined;
45
47
  readonly filterProperties?: {
46
48
  keys: string[];
47
49
  title: string;
@@ -51,7 +53,5 @@ declare const _default: import("vue").DefineComponent<{}, {
51
53
  readonly aggregateResults?: string | undefined;
52
54
  }) | undefined;
53
55
  };
54
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {
55
- rootEl: HTMLDivElement;
56
- }, HTMLDivElement>;
56
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
57
  export default _default;
@@ -3,5 +3,5 @@ declare const _default: import("vue").DefineComponent<{}, {
3
3
  $props: {
4
4
  readonly getLayers?: Function | undefined;
5
5
  };
6
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLSpanElement>;
6
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7
7
  export default _default;
@@ -1,27 +1,22 @@
1
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
1
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
2
2
  export default _default;
3
- type __VLS_WithTemplateSlots<T, S> = T & (new () => {
3
+ type __VLS_WithSlots<T, S> = T & (new () => {
4
4
  $slots: S;
5
5
  });
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
- maxWidth: string;
8
- maxHeight: string;
9
7
  width: string;
10
8
  height: string;
11
- widget?: import("../core/client/types").Widget<"compiletime"> | undefined;
9
+ maxWidth: string;
10
+ maxHeight: string;
11
+ widget?: import("../core/client/types").Widget | undefined;
12
12
  $props: {
13
- readonly maxWidth?: string | undefined;
14
- readonly maxHeight?: string | undefined;
15
13
  readonly width?: string | undefined;
16
14
  readonly height?: string | undefined;
17
- readonly widget?: import("../core/client/types").Widget<"compiletime"> | undefined;
18
- };
19
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLSpanElement>;
20
- type __VLS_TemplateResult = {
21
- attrs: Partial<{}>;
22
- slots: {
23
- default?(_: {}): any;
15
+ readonly maxWidth?: string | undefined;
16
+ readonly maxHeight?: string | undefined;
17
+ readonly widget?: import("../core/client/types").Widget | undefined;
24
18
  };
25
- refs: {};
26
- rootEl: HTMLSpanElement;
19
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
+ type __VLS_Slots = {
21
+ default?: ((props: {}) => any) | undefined;
27
22
  };
@@ -1,10 +1,7 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- widgets: Omit<import("../core/client/types").Widget<"compiletime">, "layout">[];
2
+ widgets: Omit<import("../core/client/types").Widget, "layout">[];
3
3
  $props: {
4
- readonly widgets?: Omit<import("../core/client/types").Widget<"compiletime">, "layout">[] | undefined;
4
+ readonly widgets?: Omit<import("../core/client/types").Widget, "layout">[] | undefined;
5
5
  };
6
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {
7
- detailsEls: HTMLDetailsElement[];
8
- summaryEls: HTMLElement;
9
- }, any>;
6
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
7
  export default _default;