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

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 (62) hide show
  1. package/README.md +1 -1
  2. package/core/client/composables/EodashMap.js +47 -28
  3. package/core/client/composables/EodashProcess.js +51 -5
  4. package/core/client/composables/index.js +8 -1
  5. package/core/client/eodash.js +21 -7
  6. package/core/client/eodashSTAC/EodashCollection.js +24 -4
  7. package/core/client/eodashSTAC/createLayers.js +62 -6
  8. package/core/client/eodashSTAC/helpers.js +48 -5
  9. package/core/client/eodashSTAC/triggers.js +52 -1
  10. package/core/client/store/stac.js +7 -2
  11. package/core/client/types.ts +10 -1
  12. package/core/client/utils/index.js +12 -0
  13. package/core/client/utils/states.js +18 -1
  14. package/core/client/views/Dashboard.vue +3 -1
  15. package/dist/client/{DashboardLayout-B-4X57-t.js → DashboardLayout-VrJIbhe8.js} +2 -2
  16. package/dist/client/{DynamicWebComponent-Dj3QYwag.js → DynamicWebComponent-BCwpocDX.js} +1 -1
  17. package/dist/client/EodashDatePicker-Bp5ec3BC.js +430 -0
  18. package/dist/client/{EodashItemFilter-DBQwJQPh.js → EodashItemFilter-Cx0t-qeW.js} +1 -1
  19. package/dist/client/{EodashLayerControl-C5fOCvoI.js → EodashLayerControl-DERx00In.js} +10 -2
  20. package/dist/client/{EodashLayoutSwitcher-BMO9k_20.js → EodashLayoutSwitcher-DTS7otlk.js} +2 -2
  21. package/dist/client/{EodashMap-D2bnMLAC.js → EodashMap-C-I6puhb.js} +101 -73
  22. package/dist/client/{EodashMapBtns-l9B977id.js → EodashMapBtns-CWgtJiG4.js} +4 -4
  23. package/dist/client/{EodashProcess-BtIlJvF1.js → EodashProcess-DWrTIyHT.js} +188 -33
  24. package/dist/client/{EodashStacInfo-CPVvp_Hm.js → EodashStacInfo-Dvsk97Mz.js} +1 -1
  25. package/dist/client/{EodashTools-DY2dlNXW.js → EodashTools-CdnjgTTl.js} +4 -4
  26. package/dist/client/{ExportState-BvD5A0XG.js → ExportState-S4lcehm3.js} +4 -4
  27. package/dist/client/{Footer-w95gBnSH.js → Footer-DlIEbXp-.js} +1 -1
  28. package/dist/client/{Header-BpiorKy9.js → Header-CTiEXLi0.js} +3 -3
  29. package/dist/client/{MobileLayout-CmVlZe7S.js → MobileLayout-DRgyQYFz.js} +17 -7
  30. package/dist/client/{PopUp-CREaSybs.js → PopUp-CzqV8BFZ.js} +3 -3
  31. package/dist/client/{VImg-DF9esgdd.js → VImg-Bn8bCvVM.js} +2 -2
  32. package/dist/client/{VMain-BWLMf-rn.js → VMain-2GOqWb6m.js} +1 -1
  33. package/dist/client/{VOverlay-DmNfblmy.js → VOverlay-BetC0LGI.js} +3 -3
  34. package/dist/client/{VTooltip-C3PeE7iO.js → VTooltip-BWg0dxx5.js} +3 -3
  35. package/dist/client/{WidgetsContainer-6FHEEXns.js → WidgetsContainer-Cv466WUW.js} +1 -1
  36. package/dist/client/{asWebComponent-BnFMd0T6.js → asWebComponent-CLUhauLl.js} +422 -164
  37. package/dist/client/eo-dash.css +1 -1
  38. package/dist/client/eo-dash.js +1 -1
  39. package/dist/client/{forwardRefs-BF3Me2RX.js → forwardRefs-CxSsJulB.js} +1 -1
  40. package/dist/client/{index-CRd5-RSy.js → index-BMj56LY3.js} +1 -1
  41. package/dist/client/{transition-Cpn_g5jE.js → transition-DidoPMgC.js} +1 -1
  42. package/dist/node/cli.js +2 -2
  43. package/dist/types/core/client/composables/EodashMap.d.ts +2 -1
  44. package/dist/types/core/client/composables/EodashProcess.d.ts +17 -11
  45. package/dist/types/core/client/composables/index.d.ts +1 -1
  46. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +11 -4
  47. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +6 -6
  48. package/dist/types/core/client/eodashSTAC/helpers.d.ts +77 -20
  49. package/dist/types/core/client/eodashSTAC/triggers.d.ts +6 -0
  50. package/dist/types/core/client/types.d.ts +13 -1
  51. package/dist/types/core/client/utils/index.d.ts +1 -0
  52. package/dist/types/core/client/utils/states.d.ts +9 -0
  53. package/dist/types/widgets/EodashDatePicker.vue.d.ts +459 -2
  54. package/dist/types/widgets/EodashMap.vue.d.ts +2 -0
  55. package/dist/types/widgets/EodashProcess.vue.d.ts +1 -0
  56. package/dist/types/widgets/PopUp.vue.d.ts +1 -2
  57. package/package.json +24 -24
  58. package/widgets/EodashDatePicker.vue +139 -22
  59. package/widgets/EodashLayerControl.vue +13 -1
  60. package/widgets/EodashMap.vue +63 -5
  61. package/widgets/EodashProcess.vue +82 -22
  62. 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-CLUhauLl.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-CLUhauLl.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-CLUhauLl.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-CLUhauLl.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
package/dist/node/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{createLogger as S,defineConfig as w,searchForWorkspaceRoot as W,mergeConfig as F,createServer as O,preview as U,build as N}from"vite";import{readFileSync as y,existsSync as u}from"fs";import t from"path";import{Command as E}from"commander";import{fileURLToPath as I}from"url";import{readFile as L,writeFile as T,rm as $,cp as A}from"fs/promises";import H from"@vitejs/plugin-vue";import M,{transformAssetUrls as J}from"vite-plugin-vuetify";const h=new E("eodash"),c=b(),s=b(process.cwd());JSON.parse(y(t.join(s,"package.json"),"utf-8"));const j=JSON.parse(y(t.join(c,"package.json"),"utf-8"))??{},R=["commander","vite","@vitejs/plugin-vue","vite-plugin-vuetify","axios"],V=Object.keys(j?.dependencies).filter(e=>!R.includes(e));h.version(j.version,"-v, --version","output the current version"),h.option("--publicDir <path>","path to statically served assets folder").option("--no-publicDir","stop serving static assets").option("--outDir <path>","minified output folder").option("-e, --entryPoint <path>","file exporting `createEodash`").option("-w, --widgets <path>","folder that contains vue components as internal widgets").option("--cacheDir <path>","cache folder").option("-r, --runtime <path>","file exporting eodash client runtime config").option("-b, --base <path>","base public path").option("-p, --port <port>","serving port").option("-o, --open","open default browser when the server starts").option("-c, --config <path>","path to eodash server and build configuration file").option("--host [IP address]","specify which IP addresses the server should listen on").option("-l, --lib","builds eodash as a web component library").option("--no-lib","builds eodash as an SPA").option("--no-host","do not expose server to the network").parse(process.argv);const i=await B(h.opts(),process.argv?.[2]),z=i.publicDir?t.resolve(s,i.publicDir):t.join(s,"./public"),m=t.join(s,"/src"),p=i.runtime?t.resolve(s,i.runtime):t.join(m,"./runtime.js"),f=i.entryPoint?t.resolve(s,i.entryPoint):t.join(m,"/main.js"),D=i.widgets?t.resolve(s,i.widgets):t.join(m,"widgets"),x=t.join(s,"/.eodash"),v=i.outDir?t.resolve(s,i.outDir):t.join(x,"/dist"),Y=i.cacheDir?t.resolve(s,i.cacheDir):t.join(x,"cache"),g=S(void 0,{prefix:"[eodash]"});async function B(e,a){let r=e.config?t.resolve(s,e.config):t.join(s,"eodash.config.js"),o={};return u(r)?o=await import(r).then(n=>n.default instanceof Function?n.default():n.default).catch(n=>{console.error(n)}):r=null,{base:e.base??o?.base,port:Number(e.port??o?.[a]?.port),host:e.host??o?.[a]?.host,open:e.open??o?.[a]?.open,cacheDir:e.cacheDir??o?.cacheDir,entryPoint:e.entryPoint??o?.entryPoint,outDir:e.outDir??o?.outDir,publicDir:e.publicDir??o?.publicDir,runtime:e.runtime??o?.runtime,widgets:e.widgets??o?.widgets,lib:e.lib??o?.lib,vite:o.vite}}function b(e=import.meta.dirname??t.dirname(I(import.meta.url))){if(e?.split("/").length)return u(t.resolve(e,"package.json"))?e:b(t.resolve(e,".."));throw new Error("no package root found from "+e)}const P=`
2
+ import{createLogger as S,defineConfig as b,searchForWorkspaceRoot as W,mergeConfig as F,createServer as O,preview as U,build as L}from"vite";import{readFileSync as y,existsSync as u}from"fs";import t from"path";import{Command as N}from"commander";import{fileURLToPath as A}from"url";import{readFile as E,writeFile as I,rm as T,cp as $}from"fs/promises";import H from"@vitejs/plugin-vue";import M,{transformAssetUrls as J}from"vite-plugin-vuetify";const h=new N("eodash"),c=w(),s=w(process.cwd());JSON.parse(y(t.join(s,"package.json"),"utf-8"));const j=JSON.parse(y(t.join(c,"package.json"),"utf-8"))??{},R=["commander","vite","@vitejs/plugin-vue","vite-plugin-vuetify","axios"],V=Object.keys(j?.dependencies).filter(e=>!R.includes(e));h.version(j.version,"-v, --version","output the current version"),h.option("--publicDir <path>","path to statically served assets folder").option("--no-publicDir","stop serving static assets").option("--outDir <path>","minified output folder").option("-e, --entryPoint <path>","file exporting `createEodash`").option("-w, --widgets <path>","folder that contains vue components as internal widgets").option("--cacheDir <path>","cache folder").option("-r, --runtime <path>","file exporting eodash client runtime config").option("-b, --base <path>","base public path").option("-p, --port <port>","serving port").option("-o, --open","open default browser when the server starts").option("-c, --config <path>","path to eodash server and build configuration file").option("--host [IP address]","specify which IP addresses the server should listen on").option("-l, --lib","builds eodash as a web component library").option("--no-lib","builds eodash as an SPA").option("--no-host","do not expose server to the network").parse(process.argv);const i=await B(h.opts(),process.argv?.[2]),z=i.publicDir?t.resolve(s,i.publicDir):t.join(s,"./public"),m=t.join(s,"/src"),p=i.runtime?t.resolve(s,i.runtime):t.join(m,"./runtime.js"),f=i.entryPoint?t.resolve(s,i.entryPoint):t.join(m,"/main.js"),x=i.widgets?t.resolve(s,i.widgets):t.join(m,"widgets"),D=t.join(s,"/.eodash"),v=i.outDir?t.resolve(s,i.outDir):t.join(D,"/dist"),Y=i.cacheDir?t.resolve(s,i.cacheDir):t.join(D,"cache"),g=S(void 0,{prefix:"[eodash]"});async function B(e,a){let r=e.config?t.resolve(s,e.config):t.join(s,"eodash.config.js"),o={};return u(r)?o=await import(r).then(n=>n.default instanceof Function?n.default():n.default).catch(n=>{console.error(n)}):r=null,{base:e.base??o?.base,port:Number(e.port??o?.[a]?.port),host:e.host??o?.[a]?.host,open:e.open??o?.[a]?.open,cacheDir:e.cacheDir??o?.cacheDir,entryPoint:e.entryPoint??o?.entryPoint,outDir:e.outDir??o?.outDir,publicDir:e.publicDir??o?.publicDir,runtime:e.runtime??o?.runtime,widgets:e.widgets??o?.widgets,lib:e.lib??o?.lib,vite:o.vite}}function w(e=import.meta.dirname??t.dirname(A(import.meta.url))){if(e?.split("/").length)return u(t.resolve(e,"package.json"))?e:w(t.resolve(e,".."));throw new Error("no package root found from "+e)}const P=`
3
3
  <!DOCTYPE html>
4
4
  <html lang="en" style="overflow: hidden">
5
5
 
@@ -17,4 +17,4 @@ ${i.lib?`<eo-dash style="height:100dvh;"/>
17
17
  <script type="module" src="${t.resolve(`/@fs/${c}`,"core/client/render.js")}"><\/script>
18
18
  `}
19
19
  </body>
20
- </html>`,C=w(async({mode:e,command:a})=>({base:i.base??"",cacheDir:Y,plugins:[H({template:{transformAssetUrls:J,compilerOptions:{isCustomElement:r=>!r.includes("v-")&&r.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:G}],customLogger:g,define:{"process.env":{}},resolve:{alias:{"@":t.join(c,"core/client"),"^":t.join(c,"widgets"),"user:config":f,"user:widgets":D},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{warmup:{clientFiles:[t.join(c,"core/client/**"),f]},port:i.port??3e3,open:i.open,fs:{allow:[W(process.cwd())]},host:i.host},root:c,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element"],noDiscovery:!0}},publicDir:i.publicDir===!1?!1:z,build:{outDir:v,emptyOutDir:!0,target:"esnext",cssMinify:!0,...i.lib&&a==="build"&&{minify:!1,lib:{entry:t.join(c,"core/client/asWebComponent.js"),fileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:t.join(c,"core/client/asWebComponent.js"),external:r=>{const o=r.includes("vuetify")||r.endsWith(".css")||r.endsWith("styles"),n=V.some(l=>r.startsWith(l));return!o&&n}}}}})),k=w(async e=>i.vite?F(await C(e),i.vite):C(e));async function G(e){e.watcher.add([f,p,t.join(D,"**/*.vue")]);let a="";const r=g.info;return g.info=(o,n)=>{if(o.includes("core")){const l=o.split("/")[0].split(" ");l.pop();const d=l.join(" ")+" "+a.replace(s,"");return r(d,n)}return r(o,n)},e.watcher.on("change",async o=>{a=o,o===p&&e.ws.send({type:"full-reload",path:o})}),()=>{e.middlewares.use(async(o,n,l)=>{if(o.originalUrl==="/@fs/config.js"||o.originalUrl==="/config.js"){n.statusCode=200,n.setHeader("Content-Type","text/javascript"),u(p)&&await L(p).then(d=>{n.write(d)}),n.end();return}if(o.url?.endsWith(".html")){n.statusCode=200,n.setHeader("Content-Type","text/html");const d=await e.transformIndexHtml(o.url,P,o.originalUrl);n.end(d);return}l()})}}const K=async()=>{const e=await O(await k({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},Q=async()=>{const e=async()=>{const a=await k({mode:"production",command:"build"});await N(a),u(p)&&await A(p,t.join(v,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(i.lib)await e();else{const a=t.join(c,"/index.html");await T(a,P).then(async()=>{await e(),await $(a).catch(()=>{console.error("failed to remove index.html")})})}};async function X(){(await U({root:s,base:i.base??"",preview:{port:isNaN(i.port)?8080:i.port,open:i.open,host:i.host},build:{outDir:v}})).printUrls()}const Z=process.argv?.[2];(async()=>{switch(Z){case"dev":await K();break;case"build":await Q();break;case"preview":await X();break;default:console.error("command not found");break}})();
20
+ </html>`,C=b(async({mode:e,command:a})=>({base:i.base??"",cacheDir:Y,plugins:[H({template:{transformAssetUrls:J,compilerOptions:{isCustomElement:r=>!r.includes("v-")&&r.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:G}],customLogger:g,define:{"process.env":{}},resolve:{alias:{"@":t.join(c,"core/client"),"^":t.join(c,"widgets"),"user:config":f,"user:widgets":x},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[t.join(c,"core/client/**"),f]},port:i.port??3e3,open:i.open,fs:{allow:[W(process.cwd())]},host:i.host},root:c,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo"],noDiscovery:!0}},publicDir:i.publicDir===!1?!1:z,build:{outDir:v,emptyOutDir:!0,target:"esnext",cssMinify:!0,...i.lib&&a==="build"&&{minify:!1,lib:{entry:t.join(c,"core/client/asWebComponent.js"),fileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:t.join(c,"core/client/asWebComponent.js"),external:r=>{const o=r.includes("vuetify")||r.endsWith(".css")||r.endsWith("styles"),n=V.some(l=>r.startsWith(l));return!o&&n}}}}})),k=b(async e=>i.vite?F(await C(e),i.vite):C(e));async function G(e){e.watcher.add([f,p,t.join(x,"**/*.vue")]);let a="";const r=g.info;return g.info=(o,n)=>{if(o.includes("core")){const l=o.split("/")[0].split(" ");l.pop();const d=l.join(" ")+" "+a.replace(s,"");return r(d,n)}return r(o,n)},e.watcher.on("change",async o=>{a=o,o===p&&e.ws.send({type:"full-reload",path:o})}),()=>{e.middlewares.use(async(o,n,l)=>{if(o.originalUrl==="/@fs/config.js"||o.originalUrl==="/config.js"){n.statusCode=200,n.setHeader("Content-Type","text/javascript"),u(p)&&await E(p).then(d=>{n.write(d)}),n.end();return}if(o.url?.endsWith(".html")){n.statusCode=200,n.setHeader("Content-Type","text/html");const d=await e.transformIndexHtml(o.url,P,o.originalUrl);n.end(d);return}l()})}}const K=async()=>{const e=await O(await k({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},Q=async()=>{const e=async()=>{const a=await k({mode:"production",command:"build"});await L(a),u(p)&&await $(p,t.join(v,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(i.lib)await e();else{const a=t.join(c,"/index.html");await I(a,P).then(async()=>{await e(),await T(a).catch(()=>{console.error("failed to remove index.html")})})}};async function X(){(await U({root:s,base:i.base??"",preview:{port:isNaN(i.port)?8080:i.port,open:i.open,host:i.host},build:{outDir:v}})).printUrls()}const Z=process.argv?.[2];(async()=>{switch(Z){case"dev":await K();break;case"build":await Q();break;case"preview":await X();break;default:console.error("command not found");break}})();
@@ -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>, zoomToExtent: boolean): void;
5
+ export function useUpdateTooltipProperties(eodashCols: EodashCollection[], tooltipProperties: import("vue").Ref<Exclude<import("../types").EodashStyleJson["tooltip"], undefined>>): 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>;
@@ -1,6 +1,6 @@
1
1
  export function useAbsoluteUrl(rel?: string, base?: string): import("vue").Ref<string>;
2
2
  export function useCompareAbsoluteUrl(rel?: string, base?: string): import("vue").Ref<string>;
3
- export function useUpdateTheme(themeName: string, themeDefinition?: import("vuetify").ThemeDefinition): import("vuetify").ThemeInstance;
3
+ export function useUpdateTheme(themeName: string, themeDefinition?: import("../types").Eodash["brand"]["theme"]): import("vuetify").ThemeInstance;
4
4
  export function useURLSearchParametersSync(): void;
5
5
  export function makePanelTransparent(root: import("vue").Ref<HTMLElement | null>): void;
6
6
  export function useGetTemplates(): string[];
@@ -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
@@ -71,6 +71,8 @@ export class EodashCollection {
71
71
  * | undefined}
72
72
  */
73
73
  selectedItem: import("stac-ts").StacLink | import("stac-ts").StacItem | undefined;
74
+ /** @type {string | undefined} */
75
+ color: string | undefined;
74
76
  get collectionStac(): import("stac-ts").StacCollection | undefined;
75
77
  /**
76
78
  * @async
@@ -97,6 +99,11 @@ export class EodashCollection {
97
99
  * @param {Date} [date]
98
100
  **/
99
101
  getItem(date?: Date): import("stac-ts").StacLink | undefined;
102
+ getToolTipProperties(): Promise<{
103
+ id: string;
104
+ title?: string;
105
+ appendix?: string;
106
+ }[]>;
100
107
  /**
101
108
  *
102
109
  * @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,15 @@ 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 {string} collectionId
16
+ * @param { import("../types").EodashStyleJson} [style]
17
+ * */
18
+ export function extractLayerConfig(collectionId: string, style?: import("../types").EodashStyleJson): {
19
+ layerConfig: undefined;
20
+ style: undefined;
21
+ } | {
21
22
  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;
23
+ style: import("../types").EodashStyleJson;
27
24
  };
28
25
  /**
29
26
  * Function to extract collection urls from an indicator
@@ -48,18 +45,77 @@ export function assignProjID(item: import("stac-ts").StacItem, linkOrAsset: impo
48
45
  id: string;
49
46
  } & Record<string, any>;
50
47
  } & Record<string, any>): string;
48
+ /**
49
+ * @param {string[]} geojsonUrls
50
+ */
51
+ export function mergeGeojsons(geojsonUrls: string[]): Promise<string | undefined>;
51
52
  export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): void;
52
53
  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;
54
+ filter?: import("ol/expr/expression.js").ExpressionValue | undefined;
55
+ "icon-src"?: string | undefined;
56
+ "icon-anchor"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
57
+ "icon-anchor-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
58
+ "icon-anchor-x-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
59
+ "icon-anchor-y-units"?: import("ol/style/Icon.js").IconAnchorUnits | undefined;
60
+ "icon-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
61
+ "icon-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
62
+ "icon-cross-origin"?: string | null | undefined;
63
+ "icon-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
64
+ "icon-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
65
+ "icon-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
66
+ "icon-height"?: import("ol/expr/expression.js").ExpressionValue | undefined;
67
+ "icon-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
68
+ "icon-rotate-with-view"?: boolean | undefined;
69
+ "icon-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
70
+ "icon-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
71
+ "icon-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
72
+ "stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
73
+ "stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
74
+ "stroke-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
75
+ "stroke-line-cap"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
76
+ "stroke-line-join"?: string | number | boolean | any[] | import("ol/color.js").Color | undefined;
77
+ "stroke-line-dash"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
78
+ "stroke-line-dash-offset"?: import("ol/expr/expression.js").ExpressionValue | undefined;
79
+ "stroke-miter-limit"?: import("ol/expr/expression.js").ExpressionValue | undefined;
80
+ "stroke-pattern-src"?: string | undefined;
81
+ "stroke-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
82
+ "stroke-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
83
+ "stroke-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
84
+ "stroke-pattern-spacing"?: import("ol/expr/expression.js").ExpressionValue | undefined;
85
+ "fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
86
+ "fill-pattern-src"?: string | undefined;
87
+ "fill-pattern-offset"?: number[] | import("ol/expr/expression.js").ExpressionValue | undefined;
88
+ "fill-pattern-offset-origin"?: import("ol/style/Icon.js").IconOrigin | undefined;
89
+ "fill-pattern-size"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | undefined;
90
+ "circle-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
91
+ "circle-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
92
+ "circle-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
93
+ "circle-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
94
+ "circle-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
95
+ "circle-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
96
+ "circle-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
97
+ "circle-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
98
+ "circle-rotate-with-view"?: boolean | undefined;
99
+ "shape-points"?: import("ol/expr/expression.js").ExpressionValue | undefined;
100
+ "shape-fill-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
101
+ "shape-stroke-color"?: import("ol/style/webgl.js").ColorExpression | undefined;
102
+ "shape-stroke-width"?: import("ol/expr/expression.js").ExpressionValue | undefined;
103
+ "shape-opacity"?: import("ol/expr/expression.js").ExpressionValue | undefined;
104
+ "shape-radius"?: import("ol/expr/expression.js").ExpressionValue | undefined;
105
+ "shape-radius2"?: import("ol/expr/expression.js").ExpressionValue | undefined;
106
+ "shape-angle"?: import("ol/expr/expression.js").ExpressionValue | undefined;
107
+ "shape-displacement"?: number[] | import("ol/expr/expression.js").ExpressionValue[] | undefined;
108
+ "shape-rotation"?: import("ol/expr/expression.js").ExpressionValue | undefined;
109
+ "shape-rotate-with-view"?: boolean | undefined;
110
+ "shape-scale"?: import("ol/size.js").Size | import("ol/expr/expression.js").ExpressionValue | import("ol/expr/expression.js").ExpressionValue[] | undefined;
111
+ variables?: Record<string, any>;
112
+ legend?: Record<string, any>;
62
113
  jsonform?: Record<string, any>;
114
+ tooltip?: {
115
+ id: string;
116
+ title?: string;
117
+ appendix?: string;
118
+ }[];
63
119
  } | undefined>;
64
120
  export function getProjectionCode(projection?: string | number | {
65
121
  name: string;
@@ -69,6 +125,7 @@ export function extractLayerDatetime(links?: import("stac-ts").StacLink[], curre
69
125
  controlValues: string[];
70
126
  currentStep: string;
71
127
  slider: boolean;
128
+ navigation: boolean;
72
129
  play: boolean;
73
130
  displayFormat: string;
74
131
  } | undefined;
@@ -1 +1,7 @@
1
+ /**
2
+ *
3
+ * @param {string} collectionId
4
+ * @param {import("../types").EodashStyleJson["variables"]} variables
5
+ */
6
+ export function getStyleVariablesState(collectionId: string, variables: import("../types").EodashStyleJson["variables"]): any;
1
7
  export function setMapProjFromCol(STAcCollection?: import("stac-ts").StacCollection): Promise<void>;
@@ -195,7 +195,9 @@ export type Eodash<T extends ExecutionTime = "compiletime"> = {
195
195
  * Dashboard theme as a custom [vuetifyJs
196
196
  * theme](https://vuetifyjs.com/en/features/theme/).
197
197
  */
198
- theme?: import("vuetify/lib/index.mjs").ThemeDefinition;
198
+ theme?: import("vuetify/lib/index.mjs").ThemeDefinition & {
199
+ collectionsPalette?: string[];
200
+ };
199
201
  /** Text applied to the footer. */
200
202
  footerText?: string;
201
203
  };
@@ -267,3 +269,13 @@ export declare function register(): void;
267
269
  */
268
270
  export declare const store: typeof import("./store").default;
269
271
  export * from "./main.js";
272
+ export type EodashStyleJson = import("ol/style/webgl.js").WebGLStyle & {
273
+ variables?: Record<string, any>;
274
+ legend?: Record<string, any>;
275
+ jsonform?: Record<string, any>;
276
+ tooltip?: {
277
+ id: string;
278
+ title?: string;
279
+ appendix?: string;
280
+ }[];
281
+ };
@@ -1,2 +1,3 @@
1
1
  export function loadFont(family?: string, link?: string, isWebComponent?: boolean): Promise<string>;
2
2
  export function copyToClipBoard(text: string, showIcon: import("vue").Ref<boolean>): Promise<void>;
3
+ export function setCollectionsPalette(colors: string[]): void;
@@ -16,3 +16,12 @@ 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
+ /**
20
+ * Current value of the layer control JSON form for the latest layer the user interacted with.
21
+ * @type {import("vue").Ref<Record<string, any> | undefined>}
22
+ */
23
+ export const layerControlFormValue: import("vue").Ref<Record<string, any> | undefined>;
24
+ /**
25
+ * STAC indicators color palette, defaults to Bank-Wong palette
26
+ * @type {string[]} */
27
+ export const collectionsPalette: string[];