@eodash/eodash 5.7.0 → 5.8.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.
- package/core/client/components/EodashOverlay.vue +27 -4
- package/core/client/composables/DefineEodash.js +0 -1
- package/core/client/composables/DefineWidgets.js +3 -1
- package/core/client/eodashSTAC/EodashCollection.js +87 -24
- package/core/client/eodashSTAC/cql.js +64 -0
- package/core/client/eodashSTAC/createLayers.js +353 -187
- package/core/client/eodashSTAC/helpers.js +694 -110
- package/core/client/eodashSTAC/mosaic.js +422 -0
- package/core/client/plugins/axios.js +31 -1
- package/core/client/store/actions.js +1 -1
- package/core/client/store/stac.js +54 -4
- package/core/client/store/states.js +20 -2
- package/core/client/types.ts +152 -28
- package/core/client/utils/bands-editor/exampleSchema.json +50 -50
- package/core/client/utils/states.js +10 -0
- package/dist/client/{DashboardLayout-kRsmsNW5.js → DashboardLayout-DEs4f_Vy.js} +2 -2
- package/dist/client/{DynamicWebComponent-CnKhYo0K.js → DynamicWebComponent-PvnV88BA.js} +1 -1
- package/dist/client/EodashChart-D-3AGKZY.js +260 -0
- package/dist/client/{EodashDatePicker-CMPDT-ce.js → EodashDatePicker-Dm_goZzs.js} +3 -3
- package/dist/client/{EodashItemFilter-BpdA8QQa.js → EodashItemFilter-CJy3zYzD.js} +2 -1
- package/dist/client/{EodashLayerControl-BHpDA4_0.js → EodashLayerControl-rL8UnpkA.js} +55 -33
- package/dist/client/{EodashLayoutSwitcher-B1fRUt7G.js → EodashLayoutSwitcher-ZRlESI9O.js} +3 -3
- package/dist/client/{EodashMapBtns-Cpned0tc.js → EodashMapBtns-CG7u2Aq8.js} +227 -112
- package/dist/client/EodashStacInfo-CJhhxthD.js +169 -0
- package/dist/client/{EodashTools-1zHz26gv.js → EodashTools-CWyK8QJT.js} +4 -4
- package/dist/client/{ExportState-DbOm8hBI.js → ExportState-BXhy5TOU.js} +20 -174
- package/dist/client/{Footer-BKg-VVkj.js → Footer-DZPvnhcT.js} +1 -1
- package/dist/client/{Header-DCrwCvmY.js → Header-CiGsDE_a.js} +2 -2
- package/dist/client/{MobileLayout-vWSHpluo.js → MobileLayout-BJHW7x5V.js} +2 -2
- package/dist/client/{PopUp-9uimfK49.js → PopUp-7_XnhvCc.js} +4 -168
- package/dist/client/{ProcessList-CTTIZa06.js → ProcessList-LL_UCbvc.js} +5 -5
- package/dist/client/VDivider-DWYM0WUr.js +168 -0
- package/dist/client/{VImg-CrmB76ZY.js → VImg-B75dgw2K.js} +2 -2
- package/dist/client/{VMain-OKZNpcEG.js → VMain-DvMmOL4f.js} +1 -1
- package/dist/client/{VTooltip-CJw2FyWk.js → VTooltip-ClWHUmWL.js} +2 -2
- package/dist/client/{WidgetsContainer-BaWOnE5R.js → WidgetsContainer-BqaWs4ch.js} +1 -1
- package/dist/client/{asWebComponent-BHWpMuE3.js → asWebComponent-IZanwL-A.js} +677 -379
- package/dist/client/{async-DSKj6g1f.js → async-CiNIOBVz.js} +31 -29
- package/dist/client/{create-layers-config-CBoYedqB.js → create-layers-config-3S3y_kZg.js} +17 -17
- package/dist/client/dialog-transition-c4ZSnzac.js +170 -0
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-DH51zPUr.js → forwardRefs-B-c1_6yo.js} +8 -87
- package/dist/client/{handling-BrcDDlgS.js → handling-NvY8Csry.js} +3 -4
- package/dist/client/{helpers-DjZVl_WF.js → helpers-BFuh19CP.js} +1094 -194
- package/dist/client/{index-1JKE68n3.js → index-1wMAyuNL.js} +219 -67
- package/dist/client/{index-CSG_JoOA.js → index-B8jGJSTA.js} +62 -56
- package/dist/client/{index-Cu3-13Xg.js → index-BKQQJkhy.js} +167 -61
- package/dist/client/index-D0jUyol8.js +3167 -0
- package/dist/client/{index-CUjl-ZsI.js → index-KGxz5Egv.js} +2 -2
- package/dist/client/mosaic-vHvSuih6.js +459 -0
- package/dist/client/templates.js +251 -121
- package/dist/client/{transition-OHcz5Qq1.js → transition-BkyUsZh_.js} +1 -1
- package/dist/node/cli.js +5 -5
- package/dist/node/types.d.ts +4 -0
- package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +57 -25
- package/dist/types/core/client/eodashSTAC/cql.d.ts +15 -0
- package/dist/types/core/client/eodashSTAC/createLayers.d.ts +42 -23
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +118 -19
- package/dist/types/core/client/eodashSTAC/mosaic.d.ts +56 -0
- package/dist/types/core/client/store/stac.d.ts +38 -8
- package/dist/types/core/client/store/states.d.ts +24 -2
- package/dist/types/core/client/types.d.ts +128 -24
- package/dist/types/core/client/utils/states.d.ts +12 -0
- package/dist/types/templates/baseConfig.d.ts +1 -100
- package/dist/types/templates/compare.d.ts +32 -3
- package/dist/types/templates/expert.d.ts +18 -0
- package/dist/types/templates/explore.d.ts +10 -1
- package/dist/types/templates/lite.d.ts +11 -0
- package/dist/types/widgets/EodashChart.vue.d.ts +5 -3
- package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +129 -2
- package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +28 -6
- package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +17 -4
- package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +16 -4
- package/dist/types/widgets/EodashLayerControl.vue.d.ts +35 -16
- package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +14 -10
- package/dist/types/widgets/EodashMap/index.vue.d.ts +86 -37
- package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
- package/dist/types/widgets/EodashMap/methods/index.d.ts +5 -1
- package/dist/types/widgets/EodashMap/methods/use-map-loading.d.ts +1 -0
- package/dist/types/widgets/EodashProcess/index.vue.d.ts +5 -3
- package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
- package/dist/types/widgets/EodashProcess/states.d.ts +1 -1
- package/dist/types/widgets/EodashStacInfo.vue.d.ts +20 -0
- package/dist/types/widgets/EodashTimeSlider/index.vue.d.ts +20 -0
- package/dist/types/widgets/EodashTimeSlider/methods/index.d.ts +3 -8
- package/dist/types/widgets/EodashTimeSlider/types.d.ts +6 -16
- package/dist/types/widgets/EodashTools.vue.d.ts +5 -5
- package/package.json +34 -34
- package/templates/baseConfig.js +37 -6
- package/templates/compare.js +61 -7
- package/templates/expert.js +24 -2
- package/templates/explore.js +12 -5
- package/templates/lite.js +13 -0
- package/widgets/EodashChart.vue +162 -21
- package/widgets/EodashItemCatalog/index.vue +363 -35
- package/widgets/EodashItemCatalog/methods/filters.js +134 -70
- package/widgets/EodashItemCatalog/methods/handlers.js +113 -19
- package/widgets/EodashItemCatalog/methods/map.js +141 -28
- package/widgets/EodashLayerControl.vue +51 -25
- package/widgets/EodashMap/EodashMapBtns.vue +109 -48
- package/widgets/EodashMap/index.vue +91 -105
- package/widgets/EodashMap/methods/btns.js +64 -31
- package/widgets/EodashMap/methods/create-layers-config.js +16 -16
- package/widgets/EodashMap/methods/index.js +71 -8
- package/widgets/EodashMap/methods/use-map-loading.js +58 -0
- package/widgets/EodashProcess/index.vue +136 -16
- package/widgets/EodashProcess/methods/composables.js +13 -0
- package/widgets/EodashProcess/methods/outputs.js +0 -1
- package/widgets/EodashProcess/methods/utils.js +29 -27
- package/widgets/EodashProcess/states.js +1 -1
- package/widgets/EodashStacInfo.vue +64 -2
- package/widgets/EodashTimeSlider/index.vue +58 -2
- package/widgets/EodashTimeSlider/methods/index.js +5 -48
- package/widgets/EodashTimeSlider/types.ts +7 -17
- package/widgets/ExportState.vue +13 -4
- package/dist/client/EodashChart-CLDqE93C.js +0 -144
- package/dist/client/EodashStacInfo-BQspAHKH.js +0 -107
- package/dist/client/index-5Jhsa8Xe.js +0 -570
package/dist/node/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as
|
|
2
|
+
import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as U,mergeConfig as W,preview as O,createServer as A,build as L}from"vite";import{readFileSync as P,existsSync as v}from"fs";import i from"path";import{Command as T}from"commander";import{fileURLToPath as $}from"url";import{readFile as I,writeFile as H,rm as R,cp as M}from"fs/promises";import V from"@vitejs/plugin-vue";import J,{transformAssetUrls as B}from"vite-plugin-vuetify";import{config as G}from"dotenv";const y=new T("eodash"),c=x(),l=x(process.cwd());JSON.parse(P(i.join(l,"package.json"),"utf-8"));const S=JSON.parse(P(i.join(c,"package.json"),"utf-8"))??{},Y=["commander","vite","@vitejs/plugin-vue","vite-plugin-vuetify","axios","dotenv"],z=Object.keys(S?.dependencies).filter(e=>!Y.includes(e));y.version(S.version,"-v, --version","output the current version"),y.allowExcessArguments().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 s=await Q(y.opts(),process.argv?.[2]),X=s.publicDir?i.resolve(l,s.publicDir):i.join(l,"./public"),b=i.join(l,"/src"),f=s.runtime?i.resolve(l,s.runtime):i.join(b,"./runtime.js"),m=s.entryPoint==="false"?!1:s.entryPoint?i.resolve(l,s.entryPoint):i.join(b,"/main.js"),D=s.widgets?i.resolve(l,s.widgets):i.join(b,"widgets"),E=i.join(l,"/.eodash"),w=s.outDir?i.resolve(l,s.outDir):i.join(E,"/dist"),K=s.cacheDir?i.resolve(l,s.cacheDir):i.join(E,"cache"),j=F(void 0,{prefix:"[eodash]"});async function Q(e,n){let r=e.config?i.resolve(l,e.config):i.join(l,"eodash.config.js"),t={};return v(r)?t=await import(r).then(o=>o.default instanceof Function?o.default():o.default).catch(o=>{console.error(o)}):r=null,{base:e.base??t?.base,port:Number(e.port??t?.[n]?.port),host:e.host??t?.[n]?.host,open:e.open??t?.[n]?.open,cacheDir:e.cacheDir??t?.cacheDir,entryPoint:e.entryPoint??t?.entryPoint,outDir:e.outDir??t?.outDir,publicDir:e.publicDir??t?.publicDir,runtime:e.runtime??t?.runtime,widgets:e.widgets??t?.widgets,lib:e.lib??t?.lib,vite:t.vite}}function x(e=import.meta.dirname??i.dirname($(import.meta.url))){if(e?.split("/").length)return v(i.resolve(e,"package.json"))?e:x(i.resolve(e,".."));throw new Error("no package root found from "+e)}const k=`
|
|
3
3
|
<!DOCTYPE html>
|
|
4
4
|
<html lang="en" style="overflow: hidden">
|
|
5
5
|
|
|
@@ -21,10 +21,10 @@ import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as W,mergeConf
|
|
|
21
21
|
|
|
22
22
|
<body>
|
|
23
23
|
${s.lib?`<eo-dash style="height:100%;"/>
|
|
24
|
-
<script type="module" src="${
|
|
24
|
+
<script type="module" src="${i.resolve(`/@fs/${c}`,"core/client/asWebComponent.js")}"><\/script>
|
|
25
25
|
`:` <div id="app" style="height:100%;" />
|
|
26
|
-
<script type="module" src="${
|
|
26
|
+
<script type="module" src="${i.resolve(`/@fs/${c}`,"core/client/render.js")}"><\/script>
|
|
27
27
|
`}
|
|
28
28
|
</body>
|
|
29
|
-
</html>`;function Z(e={customElementFileName:"asWebComponent.js",stylePlaceHolder:"__VUE_CE_STYLES__"}){const{customElementFileName:n,stylePlaceHolder:r}=e;return{name:"vite-plugin-vue-custom-element-style-injector",enforce:"post",async transform(o
|
|
30
|
-
styles: ${r},`)),{code:p,map:null}}},generateBundle(o
|
|
29
|
+
</html>`;function Z(e={customElementFileName:"asWebComponent.js",stylePlaceHolder:"__VUE_CE_STYLES__"}){const{customElementFileName:n,stylePlaceHolder:r}=e;return{name:"vite-plugin-vue-custom-element-style-injector",enforce:"post",async transform(t,o){if(this.environment.mode!=="build")return;if(i.basename(o)===n){let p=t;return/defineCustomElement\s*\([^{]*\{[\s\S]*?styles\s*:/.test(t)||(p=t.replace(/(defineCustomElement\s*\(\s*[^,{]*,?\s*\{)/,`$1
|
|
30
|
+
styles: ${r},`)),{code:p,map:null}}},generateBundle(t,o){let a="",p=[];const u=[];for(const d in o){const h=o[d];if(h.type==="chunk"&&h.code.includes(r)){a=d;break}}for(const d in o){const h=o[d];if(q(d)&&h.type==="asset"){let g=h.source.toString();g=g.replaceAll(":root",":host"),p.push(g),u.push(d)}}o[a].code=o[a].code.replace(r,JSON.stringify(p)),u.forEach(d=>{delete o[d]})}}}function q(e){return/\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/.test(e)}const _=C(async({mode:e,command:n})=>{const r=["VITE_","EODASH_"];return{base:s.base??"",cacheDir:K,plugins:[V({features:{customElement:n==="build"&&s.lib},template:{transformAssetUrls:B,compilerOptions:{isCustomElement:t=>!t.includes("v-")&&t.includes("-")}}}),J({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:ee},s.lib&&Z()],customLogger:j,define:{__userConfigExist__:!!m,...n==="build"&&s.lib?{"process.env":"import.meta.env"}:{"process.env":{},...te(r)}},envPrefix:r,resolve:{alias:{"@":i.join(c,"core/client"),"^":i.join(c,"widgets"),"user:widgets":D,...m&&{"user:config":m}},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[i.join(c,"core/client/**"),m]},port:s.port??3e3,open:s.open,fs:{allow:[U(process.cwd())]},host:s.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/map/src/plugins/globe","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo","@eox/elements-utils","@eox/geosearch","@eox/feedback"],noDiscovery:!0}},publicDir:s.publicDir===!1?!1:X,build:{outDir:w,emptyOutDir:!0,target:"esnext",cssMinify:!0,...!s.lib&&n==="build"&&{manifest:!0,rollupOptions:{input:{main:i.join(c,"index.html"),templates:i.join(c,"templates/index.js")}}},...s.lib&&n==="build"&&{minify:!1,lib:{entry:i.join(c,"core/client/asWebComponent.js"),fileName:(t,o)=>o==="asWebComponent"?"eo-dash.js":"templates.js",cssFileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:{asWebComponent:i.join(c,"core/client/asWebComponent.js"),templates:i.join(c,"templates/index.js")},external:t=>{const o=t.includes("vuetify")||t.endsWith(".css")||t.endsWith("styles"),a=z.some(u=>t.startsWith(u));return!o&&a||t==="user:config"&&!m},treeshake:{moduleSideEffects:!0,preset:"smallest"},onwarn(t,o){t.code!=="UNUSED_EXTERNAL_IMPORT"&&o(t)}}}}}}),N=C(async e=>s.vite?W(await _(e),s.vite):_(e));async function ee(e){const n=[f,i.join(D,"**/*.vue")];m&&n.push(m),e.watcher.add(n);let r="";const t=j.info;return j.info=(o,a)=>{if(o.includes("core")){const p=o.split("/")[0].split(" ");p.pop();const u=p.join(" ")+" "+r.replace(l,"");return t(u,a)}return t(o,a)},e.watcher.on("change",async o=>{r=o,o===f&&e.ws.send({type:"full-reload",path:o})}),()=>{e.middlewares.use(async(o,a,p)=>{if(o.originalUrl==="/@fs/config.js"||o.originalUrl==="/config.js"){a.statusCode=200,a.setHeader("Content-Type","text/javascript"),v(f)&&await I(f).then(u=>{a.write(u)}),a.end();return}if(o.url?.endsWith(".html")){a.statusCode=200,a.setHeader("Content-Type","text/html");const u=await e.transformIndexHtml(o.url,k,o.originalUrl);a.end(u);return}p()})}}function te(e){G({quiet:!0});const n={};for(const r in process.env)e.some(t=>r.startsWith(t))&&(n["process.env."+r]=`"${process.env[r]}"`);return n}const oe=async()=>{const e=await A(await N({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},ie=async()=>{const e=async()=>{const n=await N({mode:"production",command:"build"});await L(n),v(f)&&await M(f,i.join(w,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(s.lib)await e();else{const n=i.join(c,"/index.html");await H(n,k).then(async()=>{await e(),await R(n).catch(()=>{console.error("failed to remove index.html")})})}};async function se(){(await O({root:l,base:s.base??"",preview:{port:isNaN(s.port)?8080:s.port,open:s.open,host:s.host},build:{outDir:w}})).printUrls()}const ne=process.argv?.[2];(async()=>{switch(ne){case"dev":await oe();break;case"build":await ie();break;case"preview":await se();break;default:console.error("command not found");break}})();
|
package/dist/node/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function useEodashRuntime(runtimeConfig?: string | undefined | (() => Promise<import("../types").Eodash>) | Function): Promise<
|
|
1
|
+
export function useEodashRuntime(runtimeConfig?: string | undefined | (() => Promise<import("../types").Eodash>) | Function): Promise<any>;
|
|
2
2
|
export function createEodash<T extends import("../types").Eodash>(config: T | ((store: typeof import("../store").default) => Promise<T>)): Promise<T>;
|
|
@@ -4,6 +4,46 @@ 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
|
+
type: string;
|
|
8
|
+
source: {
|
|
9
|
+
type: string;
|
|
10
|
+
normalize: boolean;
|
|
11
|
+
interpolate: boolean;
|
|
12
|
+
sources: {
|
|
13
|
+
attributions?: {} | undefined;
|
|
14
|
+
url: string;
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
properties: {
|
|
18
|
+
id: string;
|
|
19
|
+
title: string;
|
|
20
|
+
layerConfig: Record<string, unknown> | {
|
|
21
|
+
schema: any;
|
|
22
|
+
legend: any;
|
|
23
|
+
type: string;
|
|
24
|
+
} | undefined;
|
|
25
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
26
|
+
};
|
|
27
|
+
style: import("../types").EodashStyleJson | undefined;
|
|
28
|
+
} | {
|
|
29
|
+
style?: import("../types").EodashStyleJson | undefined;
|
|
30
|
+
type: string;
|
|
31
|
+
properties: {
|
|
32
|
+
id: string;
|
|
33
|
+
title: string;
|
|
34
|
+
layerConfig: Record<string, unknown> | {
|
|
35
|
+
schema: any;
|
|
36
|
+
legend: any;
|
|
37
|
+
type: string;
|
|
38
|
+
} | undefined;
|
|
39
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
40
|
+
};
|
|
41
|
+
source: {
|
|
42
|
+
type: string;
|
|
43
|
+
url: string;
|
|
44
|
+
bands: any;
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
7
47
|
interactions: never[];
|
|
8
48
|
style?: import("../types").EodashStyleJson | undefined;
|
|
9
49
|
type: string;
|
|
@@ -52,28 +92,6 @@ export class EodashCollection {
|
|
|
52
92
|
title: string;
|
|
53
93
|
layerDatetime: Record<string, unknown> | undefined;
|
|
54
94
|
};
|
|
55
|
-
} | {
|
|
56
|
-
type: string;
|
|
57
|
-
source: {
|
|
58
|
-
type: string;
|
|
59
|
-
normalize: boolean;
|
|
60
|
-
interpolate: boolean;
|
|
61
|
-
sources: {
|
|
62
|
-
attributions?: {} | undefined;
|
|
63
|
-
url: string;
|
|
64
|
-
}[];
|
|
65
|
-
};
|
|
66
|
-
properties: {
|
|
67
|
-
id: string;
|
|
68
|
-
title: string;
|
|
69
|
-
layerConfig: Record<string, unknown> | {
|
|
70
|
-
schema: any;
|
|
71
|
-
legend: any;
|
|
72
|
-
type: string;
|
|
73
|
-
} | undefined;
|
|
74
|
-
layerDatetime: Record<string, unknown> | undefined;
|
|
75
|
-
};
|
|
76
|
-
style: import("../types").EodashStyleJson | undefined;
|
|
77
95
|
})[]>;
|
|
78
96
|
/**
|
|
79
97
|
* Returns Observation points layer from a list of EodashCollections
|
|
@@ -145,12 +163,26 @@ export class EodashCollection {
|
|
|
145
163
|
fetchCollection(): Promise<import("stac-ts").StacCollection>;
|
|
146
164
|
/**
|
|
147
165
|
* Returns all item links sorted by datetime ascendingly
|
|
148
|
-
* @param {boolean} [fields=false] if true, fetch items from API with only properties
|
|
166
|
+
* @param {boolean} [fields=false] if true, fetch items from API with only properties.datetime to optimize performance
|
|
149
167
|
* @param {boolean} [first] - if true, returns the first page of items only (for API collections)
|
|
168
|
+
* @param {string | Date} [centerDatetime] - Date to center the search around if items exceed maxNumber
|
|
150
169
|
* @returns {Promise<import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined>}
|
|
151
170
|
*/
|
|
152
|
-
getItems(fields?: boolean, first?: boolean): Promise<import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined>;
|
|
153
|
-
|
|
171
|
+
getItems(fields?: boolean, first?: boolean, centerDatetime?: string | Date): Promise<import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined>;
|
|
172
|
+
/**
|
|
173
|
+
* Returns all available dates for the collection, sorted as the source
|
|
174
|
+
* provides. Tries the daily `pre-aggregation` link first (cheap, single
|
|
175
|
+
* request), falls back to fetching items via the API. Use anywhere the
|
|
176
|
+
* collection's date list is needed (date picker, mosaic time control,
|
|
177
|
+
* single-item time slider).
|
|
178
|
+
*
|
|
179
|
+
* NOTE: only the `daily` aggregation interval is consumed today. Other
|
|
180
|
+
* intervals (`monthly`, `hourly`) fall through to the API path.
|
|
181
|
+
*
|
|
182
|
+
* @param {string | Date} [centerDatetime]
|
|
183
|
+
* @returns {Promise<Date[]>}
|
|
184
|
+
*/
|
|
185
|
+
getDates(centerDatetime?: string | Date): Promise<Date[]>;
|
|
154
186
|
getExtent(): Promise<import("stac-ts").Extents | undefined>;
|
|
155
187
|
/**
|
|
156
188
|
* Get closest Item Link from a certain date,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a CQL2-text filter string from an eox-itemfilter filters record.
|
|
3
|
+
*
|
|
4
|
+
* Handles range, multiselect, and select filter types.
|
|
5
|
+
* - Strips "properties." prefix from keys (catalog eox-itemfilter convention).
|
|
6
|
+
* - Double-quotes property names that contain non-word characters (e.g. "eo:cloud_cover").
|
|
7
|
+
* - Skips catalog-only keys (e.g. "collection").
|
|
8
|
+
*
|
|
9
|
+
* Compatible with both TiTiler's `filter` param and the STAC API `filter` param
|
|
10
|
+
* (both accept CQL2-text).
|
|
11
|
+
*
|
|
12
|
+
* @param {import("../types").ItemFilterFilters | null | undefined} filters
|
|
13
|
+
* @returns {string}
|
|
14
|
+
*/
|
|
15
|
+
export function buildCqlFilter(filters: import("../types").ItemFilterFilters | null | undefined): string;
|
|
@@ -5,8 +5,49 @@
|
|
|
5
5
|
* @param {import("stac-ts").StacItem | import("stac-ts").StacCollection } stacObject
|
|
6
6
|
* @param {Record<string, unknown>} [layerDatetime]
|
|
7
7
|
* @param {object | null} [extraProperties]
|
|
8
|
+
* @param {import("stac-ts").StacCollection | null} [collection] - Used to fall back to a collection-level style link.
|
|
8
9
|
**/
|
|
9
|
-
export function createLayersFromAssets(collectionId: string, title: string, assets: Record<string, import("stac-ts").StacAsset>, stacObject: import("stac-ts").StacItem | import("stac-ts").StacCollection, layerDatetime?: Record<string, unknown>, extraProperties?: object | null): Promise<({
|
|
10
|
+
export function createLayersFromAssets(collectionId: string, title: string, assets: Record<string, import("stac-ts").StacAsset>, stacObject: import("stac-ts").StacItem | import("stac-ts").StacCollection, layerDatetime?: Record<string, unknown>, extraProperties?: object | null, collection?: import("stac-ts").StacCollection | null): Promise<({
|
|
11
|
+
type: string;
|
|
12
|
+
source: {
|
|
13
|
+
type: string;
|
|
14
|
+
normalize: boolean;
|
|
15
|
+
interpolate: boolean;
|
|
16
|
+
sources: {
|
|
17
|
+
attributions?: {} | undefined;
|
|
18
|
+
url: string;
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
properties: {
|
|
22
|
+
id: string;
|
|
23
|
+
title: string;
|
|
24
|
+
layerConfig: Record<string, unknown> | {
|
|
25
|
+
schema: any;
|
|
26
|
+
legend: any;
|
|
27
|
+
type: string;
|
|
28
|
+
} | undefined;
|
|
29
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
30
|
+
};
|
|
31
|
+
style: import("../types").EodashStyleJson | undefined;
|
|
32
|
+
} | {
|
|
33
|
+
style?: import("../types").EodashStyleJson | undefined;
|
|
34
|
+
type: string;
|
|
35
|
+
properties: {
|
|
36
|
+
id: string;
|
|
37
|
+
title: string;
|
|
38
|
+
layerConfig: Record<string, unknown> | {
|
|
39
|
+
schema: any;
|
|
40
|
+
legend: any;
|
|
41
|
+
type: string;
|
|
42
|
+
} | undefined;
|
|
43
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
44
|
+
};
|
|
45
|
+
source: {
|
|
46
|
+
type: string;
|
|
47
|
+
url: string;
|
|
48
|
+
bands: any;
|
|
49
|
+
};
|
|
50
|
+
} | {
|
|
10
51
|
interactions: never[];
|
|
11
52
|
style?: import("../types").EodashStyleJson | undefined;
|
|
12
53
|
type: string;
|
|
@@ -55,28 +96,6 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
|
|
|
55
96
|
title: string;
|
|
56
97
|
layerDatetime: Record<string, unknown> | undefined;
|
|
57
98
|
};
|
|
58
|
-
} | {
|
|
59
|
-
type: string;
|
|
60
|
-
source: {
|
|
61
|
-
type: string;
|
|
62
|
-
normalize: boolean;
|
|
63
|
-
interpolate: boolean;
|
|
64
|
-
sources: {
|
|
65
|
-
attributions?: {} | undefined;
|
|
66
|
-
url: string;
|
|
67
|
-
}[];
|
|
68
|
-
};
|
|
69
|
-
properties: {
|
|
70
|
-
id: string;
|
|
71
|
-
title: string;
|
|
72
|
-
layerConfig: Record<string, unknown> | {
|
|
73
|
-
schema: any;
|
|
74
|
-
legend: any;
|
|
75
|
-
type: string;
|
|
76
|
-
} | undefined;
|
|
77
|
-
layerDatetime: Record<string, unknown> | undefined;
|
|
78
|
-
};
|
|
79
|
-
style: import("../types").EodashStyleJson | undefined;
|
|
80
99
|
})[]>;
|
|
81
100
|
export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, layerDatetime?: Record<string, any>, extraProperties?: object | null, collection?: import("stac-ts").StacCollection): Promise<Record<string, any>[]>;
|
|
82
101
|
export function createLayerFromRender(rasterURL: string, collection: import("stac-ts").StacCollection | undefined | null, item: import("stac-ts").StacItem | undefined | null, extraProperties?: Record<string, any>): Promise<import("@eox/map/src/layers").EOxLayerType<"Tile", "XYZ">[]>;
|
|
@@ -13,6 +13,14 @@ export function generateFeatures(links?: import("stac-ts").StacLink[], extraProp
|
|
|
13
13
|
};
|
|
14
14
|
features: import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[];
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Fetches or extracts the raster form configuration for a STAC object.
|
|
18
|
+
* Supports direct JSON objects, data URIs, and URL strings.
|
|
19
|
+
*
|
|
20
|
+
* @param {string|object|undefined} rasterform - The rasterform property from the STAC object.
|
|
21
|
+
* @returns {Promise<import("../types").EodashRasterJSONForm|undefined>}
|
|
22
|
+
*/
|
|
23
|
+
export function fetchRasterForm(rasterform: string | object | undefined): Promise<import("../types").EodashRasterJSONForm | undefined>;
|
|
16
24
|
/**
|
|
17
25
|
* Spearates and extracts layerConfig (jsonform schema & legend) from a style json
|
|
18
26
|
*
|
|
@@ -32,6 +40,13 @@ export function extractLayerConfig(collectionId: string, style?: import("../type
|
|
|
32
40
|
layerConfig: Record<string, unknown> | undefined;
|
|
33
41
|
style: import("../types").EodashStyleJson | undefined;
|
|
34
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Recursively extracts URL keys from a JSON Schema.
|
|
45
|
+
* Maps schema property names to their defined `url_key`.
|
|
46
|
+
* @param {Record<string, any> | null | undefined} schema
|
|
47
|
+
* @returns {Record<string, string>}
|
|
48
|
+
*/
|
|
49
|
+
export function extractUrlKeys(schema: Record<string, any> | null | undefined): Record<string, string>;
|
|
35
50
|
/**
|
|
36
51
|
* Function to extract collection urls from an indicator
|
|
37
52
|
* @param {import("stac-ts").StacCatalog
|
|
@@ -42,6 +57,16 @@ export function extractLayerConfig(collectionId: string, style?: import("../type
|
|
|
42
57
|
* @param {string} basepath
|
|
43
58
|
*/
|
|
44
59
|
export function extractCollectionUrls(stacObject: import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, basepath: string): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Fetches the daily pre-aggregation data for a STAC collection if available.
|
|
62
|
+
* Returns the raw AggregationCollection,
|
|
63
|
+
* or null if no daily pre-aggregation link exists, or the fetch fails.
|
|
64
|
+
*
|
|
65
|
+
* @param {import("stac-ts").StacCollection | undefined} stacCollection
|
|
66
|
+
* @param {string} fallbackBaseUrl - base for relative href resolution when no `self` link is present
|
|
67
|
+
* @returns {Promise<any | null>}
|
|
68
|
+
*/
|
|
69
|
+
export function fetchPreAggregations(stacCollection: import("stac-ts").StacCollection | undefined, fallbackBaseUrl: string): Promise<any | null>;
|
|
45
70
|
/**
|
|
46
71
|
* Assigns projection code to the layer ID
|
|
47
72
|
* @param {import("stac-ts").StacItem} item
|
|
@@ -72,7 +97,7 @@ export function revokeCollectionBlobUrls(collection: import("../eodashSTAC/Eodas
|
|
|
72
97
|
*
|
|
73
98
|
* @param {import("stac-ts").StacLink[] | import("stac-ts").StacItem[] |undefined |null} [linksOrItems]
|
|
74
99
|
*/
|
|
75
|
-
export function getDatetimeProperty(linksOrItems?: import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined | null):
|
|
100
|
+
export function getDatetimeProperty(linksOrItems?: import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined | null): "datetime" | "start_datetime" | "end_datetime" | undefined;
|
|
76
101
|
/**
|
|
77
102
|
*
|
|
78
103
|
* @param {*} stacObject
|
|
@@ -86,8 +111,10 @@ export function isSTACItem(stacObject: any): stacObject is import("stac-ts").Sta
|
|
|
86
111
|
* @param {number} [limit=100] - The maximum number of items to fetch per request.
|
|
87
112
|
* @param {boolean} [returnFirst] - If true, only the first page of results will be returned.
|
|
88
113
|
* @param {number} [maxNumber=1000] - if the matched number of items exceed this, only the first page will be returned.
|
|
114
|
+
* @param {string | Date} [centerDatetime] - Date to center the search around if items exceed maxNumber
|
|
115
|
+
* @returns {Promise<import("stac-ts").StacItem[]>}
|
|
89
116
|
*/
|
|
90
|
-
export function fetchApiItems(itemsUrl: string, query?: string, limit?: number, returnFirst?: boolean, maxNumber?: number): Promise<import("stac-ts").StacItem[]>;
|
|
117
|
+
export function fetchApiItems(itemsUrl: string, query?: string, limit?: number, returnFirst?: boolean, maxNumber?: number, centerDatetime?: string | Date): Promise<import("stac-ts").StacItem[]>;
|
|
91
118
|
/**
|
|
92
119
|
* @param {import ("stac-ts").StacCollection | undefined | null} collection
|
|
93
120
|
* @returns {object}
|
|
@@ -98,9 +125,91 @@ export function extractLayerLegend(collection: import("stac-ts").StacCollection
|
|
|
98
125
|
* @returns {object}
|
|
99
126
|
*/
|
|
100
127
|
export function extractEoxLegendLink(link: import("stac-ts").StacLink): object;
|
|
128
|
+
/**
|
|
129
|
+
* Locate the first sub-schema whose `format` matches by walking `properties`
|
|
130
|
+
* and the `oneOf` / `allOf` / `anyOf` combinators. Returns the schema path
|
|
131
|
+
* (array of keys/indices) from the root schema to the matched node, or
|
|
132
|
+
* undefined if not found. Empty array means the input schema itself matched.
|
|
133
|
+
*
|
|
134
|
+
* @param {Record<string, any> | null | undefined} schema
|
|
135
|
+
* @param {string} [format="bands"]
|
|
136
|
+
* @returns {(string | number)[] | undefined}
|
|
137
|
+
*/
|
|
138
|
+
export function getBandsProperty(schema: Record<string, any> | null | undefined, format?: string): (string | number)[] | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* Checks whether a GeoZarr layer's bands changed in the jsonform output and,
|
|
141
|
+
* if so, rebuilds the source with the new 3 selected bands.
|
|
142
|
+
* Gamma and rescale are handled automatically by `applyUpdatedStyles` via
|
|
143
|
+
* `updateStyleVariables` — this function only manages source reconstruction.
|
|
144
|
+
* Uses the existing source constructor to avoid import-version mismatches.
|
|
145
|
+
*
|
|
146
|
+
* @param {import("ol/layer/Layer").default} olLayer - Layer from layerConfig:change event
|
|
147
|
+
* @param {Record<string, any>} jsonformValue - Current jsonform output
|
|
148
|
+
* @returns {boolean} true if the source was rebuilt
|
|
149
|
+
*/
|
|
150
|
+
export function updateGeoZarrBands(olLayer: import("ol/layer/Layer").default, jsonformValue: Record<string, any>): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Checks whether a VectorTile layer's URL needs to be updated based on jsonform output.
|
|
153
|
+
* If the style's jsonform schema has properties with `url_key` defined, their values
|
|
154
|
+
* are injected as query parameters into the source URL.
|
|
155
|
+
*
|
|
156
|
+
* @param {import("ol/layer/Layer").default} olLayer - Layer from layerConfig:change event
|
|
157
|
+
* @param {Record<string, any>} jsonformValue - Current jsonform output
|
|
158
|
+
* @returns {boolean} true if the URL was updated
|
|
159
|
+
*/
|
|
160
|
+
export function updateLayerUrl(olLayer: import("ol/layer/Layer").default, jsonformValue: Record<string, any>): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Applies titiler upscaling to an XYZ tile URL based on the matched endpoint config.
|
|
163
|
+
* - titiler v1: appends `@2x` to the `{y}` tile coordinate
|
|
164
|
+
* - titiler v2: adds `tilesize=512` query parameter (v2 removed the `@2x` suffix)
|
|
165
|
+
* Plain strings in the config default to v1 behavior for backward compatibility.
|
|
166
|
+
*
|
|
167
|
+
* @param {string} url - The XYZ tile URL template
|
|
168
|
+
* @param {Array<string | { url: string; titilerVersion?: 1 | 2 }>} upscalingEndpoints
|
|
169
|
+
* @returns {{ url: string; tileSize: [number, number] } | null} null if no endpoint matches
|
|
170
|
+
*/
|
|
171
|
+
export function applyTitilerUpscaling(url: string, upscalingEndpoints: Array<string | {
|
|
172
|
+
url: string;
|
|
173
|
+
titilerVersion?: 1 | 2;
|
|
174
|
+
}>): {
|
|
175
|
+
url: string;
|
|
176
|
+
tileSize: [number, number];
|
|
177
|
+
} | null;
|
|
178
|
+
/**
|
|
179
|
+
* Picks the render presets for a collection, preferring client-provided config
|
|
180
|
+
* (`options.renders[collectionId]`) and falling back to the collection's own STAC
|
|
181
|
+
* `renders` extension when no config entry exists.
|
|
182
|
+
* @param {import("stac-ts").StacCollection | null | undefined} collection
|
|
183
|
+
* @param {Record<string, Record<string, import("../types").Render>> | undefined} [configRenders]
|
|
184
|
+
* @returns {Record<string, import("../types").Render> | undefined}
|
|
185
|
+
*/
|
|
186
|
+
export function resolveRenders(collection: import("stac-ts").StacCollection | null | undefined, configRenders?: Record<string, Record<string, import("../types").Render>> | undefined): Record<string, import("../types").Render> | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* TiTiler expects rescale as [min,max] pairs; chunks a flat numeric list
|
|
189
|
+
* into pairs (e.g. [0,0.4,0,0.1] -> [[0,0.4],[0,0.1]]). Nested input passes through.
|
|
190
|
+
* @param {number[]|number[][]|undefined} rescale - flat or nested rescale values
|
|
191
|
+
* @returns {number[][]|undefined} rescale as [min,max] pairs
|
|
192
|
+
*/
|
|
193
|
+
export function normalizeRescale(rescale: number[] | number[][] | undefined): number[][] | undefined;
|
|
194
|
+
/**
|
|
195
|
+
* Drops NaN nodata values; NaN is already the implicit fill for float data,
|
|
196
|
+
* so forwarding `nodata=nan` to TiTiler is redundant.
|
|
197
|
+
* @param {string|number|undefined} nodata - nodata value from render/asset metadata
|
|
198
|
+
* @returns {string|number|undefined} nodata, or undefined when it is NaN
|
|
199
|
+
*/
|
|
200
|
+
export function normalizeNodata(nodata: string | number | undefined): string | number | undefined;
|
|
201
|
+
/**
|
|
202
|
+
* Serializes an object into a TiTiler query string. Arrays repeat the key per
|
|
203
|
+
* element (TiTiler list params, e.g. `assets=a&assets=b`); nested elements
|
|
204
|
+
* comma-join (`rescale: [[0,1],[0,2]]` -> `rescale=0,1&rescale=0,2`); objects
|
|
205
|
+
* are JSON-encoded. Shared by the render-extension and mosaic paths.
|
|
206
|
+
* @param {Record<string,any>} obj
|
|
207
|
+
* @returns {string}
|
|
208
|
+
*/
|
|
209
|
+
export function encodeURLObject(obj: Record<string, any>): string;
|
|
101
210
|
export function sanitizeBbox(bbox: number[]): number[];
|
|
102
211
|
export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): Record<string, any>;
|
|
103
|
-
export function fetchStyle(stacObject: import("stac-ts").StacItem | import("stac-ts").StacCollection, linkKey?: string | undefined, assetKey?: string | undefined): Promise<{
|
|
212
|
+
export function fetchStyle(stacObject: import("stac-ts").StacItem | import("stac-ts").StacCollection | null | undefined, linkKey?: string | undefined, assetKey?: string | undefined): Promise<{
|
|
104
213
|
"fill-color"?: import("ol/style/flat.js").ColorExpression | undefined;
|
|
105
214
|
"fill-pattern-src"?: import("ol/style/flat.js").StringExpression | undefined;
|
|
106
215
|
"fill-pattern-size"?: import("ol/style/flat.js").SizeExpression | undefined;
|
|
@@ -488,28 +597,17 @@ export function fetchStyle(stacObject: import("stac-ts").StacItem | import("stac
|
|
|
488
597
|
decimals?: number;
|
|
489
598
|
}[];
|
|
490
599
|
} | undefined>;
|
|
600
|
+
export function resolveStyle(item: import("stac-ts").StacItem | import("stac-ts").StacCollection, collection: import("stac-ts").StacCollection | null | undefined, linkKey?: string, assetKey?: string): Promise<import("../types").EodashStyleJson | undefined>;
|
|
491
601
|
export function fetchAllStyles(stacObject: import("stac-ts").StacItem | import("stac-ts").StacCollection): Promise<Array<import("../types").EodashStyleJson>>;
|
|
492
602
|
export function getProjectionCode(projection?: string | number | {
|
|
493
603
|
name: string;
|
|
494
604
|
def: string;
|
|
495
605
|
}): string;
|
|
496
|
-
export function extractLayerTimeValues(
|
|
497
|
-
layerDatetime: undefined;
|
|
498
|
-
timeControlValues: undefined;
|
|
499
|
-
} | {
|
|
500
|
-
layerDatetime: {
|
|
501
|
-
controlValues: string[];
|
|
502
|
-
currentStep: string;
|
|
503
|
-
slider: boolean;
|
|
504
|
-
navigation: boolean;
|
|
505
|
-
play: boolean;
|
|
506
|
-
displayFormat: string;
|
|
507
|
-
animateOnClickInterval: boolean;
|
|
508
|
-
};
|
|
606
|
+
export function extractLayerTimeValues(dates: Date[] | undefined, currentStep?: string | null): {
|
|
607
|
+
layerDatetime: Record<string, any> | undefined;
|
|
509
608
|
timeControlValues: {
|
|
510
609
|
date: string;
|
|
511
|
-
|
|
512
|
-
}[];
|
|
610
|
+
}[] | undefined;
|
|
513
611
|
};
|
|
514
612
|
export function findLayersByLayerPrefix(layers: import("@eox/map").EoxLayer[], referenceLayer: import("@eox/map").EoxLayer | undefined): import("@eox/map").EoxLayer[];
|
|
515
613
|
export function findLayer(layers: import("@eox/map").EoxLayer[], layer: string): import("@eox/map").EoxLayer | undefined;
|
|
@@ -518,5 +616,6 @@ export function replaceLayer(layers: import("@eox/map").EoxLayer[], toRemove: st
|
|
|
518
616
|
export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): Promise<import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined>;
|
|
519
617
|
export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string | import("ol/proj").ProjectionLike): string;
|
|
520
618
|
export function createAssetID(collectionId: string, itemId: string, index: number): string;
|
|
521
|
-
export function removeUnneededProperties(layers: Record<string, any>[]): Record<string, any>[];
|
|
619
|
+
export function removeUnneededProperties(layers: Record<string, any>[], formValues?: {}): Record<string, any>[];
|
|
522
620
|
export function addTooltipInteraction(layer: Record<string, any>, style?: import("../types").EodashStyleJson): void;
|
|
621
|
+
export function fetchSplitItems(itemsUrl: string, query: string, centerDatetime: string | Date, maxNumber: number): Promise<import("stac-ts").StacItem[]>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modifies the layers collection to display the mosaic layer.
|
|
3
|
+
* @param {string} mosaicEndpoint - The TileJSON URL for the mosaic.
|
|
4
|
+
* @param {Record<string, string> | null} [params] - Query params forwarded to the tilejson URL.
|
|
5
|
+
*/
|
|
6
|
+
export function renderMosaic(mosaicEndpoint: string, params?: Record<string, string> | null): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Updates the mosaic layer based on the current filters.
|
|
9
|
+
* @param {string | undefined | null} mosaicEndpoint - The TileJSON URL for the mosaic.
|
|
10
|
+
* @param {{ timeRange?: [string, string]; filters?: import("../types").ItemFilterFilters }} [queries]
|
|
11
|
+
*/
|
|
12
|
+
export function updateMosaicLayer(mosaicEndpoint: string | undefined | null, { timeRange, filters }?: {
|
|
13
|
+
timeRange?: [string, string];
|
|
14
|
+
filters?: import("../types").ItemFilterFilters;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Renders the latest mosaic layer stored in the shared mosaic state.
|
|
18
|
+
*/
|
|
19
|
+
export function renderLatestMosaic(): void;
|
|
20
|
+
/**
|
|
21
|
+
* @param {string} mosaicEndpoint - The TileJSON URL for the mosaic.
|
|
22
|
+
* @param {[string, string] | undefined} timeRange
|
|
23
|
+
*/
|
|
24
|
+
export function initMosaic(mosaicEndpoint: string, timeRange: [string, string] | undefined): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Vue composable that initializes the mosaic layer and keeps it in sync with
|
|
27
|
+
* map zoom and layer updates.
|
|
28
|
+
* @param {string | null | undefined} mosaicEndpoint - Pass null/undefined to disable.
|
|
29
|
+
* @param {import("vue").Ref<[string, string]> | undefined} timeRange
|
|
30
|
+
* @param {string[]} [indicators] - If provided, mosaic only activates for these collection IDs.
|
|
31
|
+
*/
|
|
32
|
+
export function useInitMosaic(mosaicEndpoint: string | null | undefined, timeRange: import("vue").Ref<[string, string]> | undefined, indicators?: string[]): void;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the OL-equivalent zoom from `mapPosition[2]`. In 2D the raw value
|
|
35
|
+
* is already the OL zoom. In globe mode the raw value is camera altitude in
|
|
36
|
+
* meters; convert it via eox-map's internal formula so callers can compare
|
|
37
|
+
* against a single (2D-style) threshold.
|
|
38
|
+
*
|
|
39
|
+
* @param {number} rawZ
|
|
40
|
+
* @returns {number}
|
|
41
|
+
*/
|
|
42
|
+
export function normalizeGlobeZoom(rawZ: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* check whether the filtered dataset has any assets in the current 2D view
|
|
45
|
+
*/
|
|
46
|
+
export function checkMosaicDataInView(): Promise<void>;
|
|
47
|
+
export function useMosaicState(): {
|
|
48
|
+
latestLayer: import("vue").ShallowRef<Record<string, any> | null, Record<string, any> | null>;
|
|
49
|
+
query: import("vue").Ref<Record<string, string> | null, Record<string, string> | null>;
|
|
50
|
+
visibilityThreshold: import("vue").Ref<number, number>;
|
|
51
|
+
isItemView: import("vue").Ref<boolean, boolean>;
|
|
52
|
+
hasDataInView: import("vue").Ref<boolean, boolean>;
|
|
53
|
+
returnToOverview: import("@vueuse/core").UseEventBusReturn<unknown, any>;
|
|
54
|
+
mosaicEndpoint: import("vue").ComputedRef<string | null>;
|
|
55
|
+
};
|
|
56
|
+
export function useScheduleMosaicUpdate(): import("@vueuse/shared").UseDebounceFnReturn<(mosaicEndpoint: string | undefined | null, timeRange: [string, string] | undefined, filters?: import("../types").ItemFilterFilters) => void>;
|
|
@@ -1,40 +1,70 @@
|
|
|
1
1
|
export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
|
|
2
2
|
stacEndpoint: import("vue").Ref<string | null, string | null>;
|
|
3
|
+
rasterEndpoint: import("vue").Ref<string | null, string | null>;
|
|
3
4
|
isApi: import("vue").Ref<boolean, boolean>;
|
|
4
5
|
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
5
6
|
init: (endpoint: import("../types").StacEndpoint) => void;
|
|
6
7
|
loadSTAC: (url?: string) => Promise<void>;
|
|
7
8
|
loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
|
|
8
|
-
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
|
|
9
|
+
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean, stacItem?: Object) => Promise<void>;
|
|
9
10
|
resetSelectedCompareSTAC: () => Promise<void>;
|
|
10
11
|
selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
11
12
|
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
12
13
|
selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
selectedCompareItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
15
|
+
supportedUpscalingEndpoints: import("vue").Ref<(string | {
|
|
16
|
+
url: string;
|
|
17
|
+
titilerVersion?: 1 | 2;
|
|
18
|
+
})[], (string | {
|
|
19
|
+
url: string;
|
|
20
|
+
titilerVersion?: 1 | 2;
|
|
21
|
+
})[]>;
|
|
22
|
+
colormapRegistry: import("vue").Ref<Record<string, string[]> | null, Record<string, string[]> | null>;
|
|
23
|
+
loadColormapRegistry: (registry: string | Record<string, string[]>) => Promise<void>;
|
|
24
|
+
}, "stac" | "stacEndpoint" | "rasterEndpoint" | "isApi" | "selectedStac" | "selectedCompareStac" | "selectedItem" | "selectedCompareItem" | "supportedUpscalingEndpoints" | "colormapRegistry">, Pick<{
|
|
15
25
|
stacEndpoint: import("vue").Ref<string | null, string | null>;
|
|
26
|
+
rasterEndpoint: import("vue").Ref<string | null, string | null>;
|
|
16
27
|
isApi: import("vue").Ref<boolean, boolean>;
|
|
17
28
|
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
18
29
|
init: (endpoint: import("../types").StacEndpoint) => void;
|
|
19
30
|
loadSTAC: (url?: string) => Promise<void>;
|
|
20
31
|
loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
|
|
21
|
-
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
|
|
32
|
+
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean, stacItem?: Object) => Promise<void>;
|
|
22
33
|
resetSelectedCompareSTAC: () => Promise<void>;
|
|
23
34
|
selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
24
35
|
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
25
36
|
selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
26
|
-
|
|
37
|
+
selectedCompareItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
38
|
+
supportedUpscalingEndpoints: import("vue").Ref<(string | {
|
|
39
|
+
url: string;
|
|
40
|
+
titilerVersion?: 1 | 2;
|
|
41
|
+
})[], (string | {
|
|
42
|
+
url: string;
|
|
43
|
+
titilerVersion?: 1 | 2;
|
|
44
|
+
})[]>;
|
|
45
|
+
colormapRegistry: import("vue").Ref<Record<string, string[]> | null, Record<string, string[]> | null>;
|
|
46
|
+
loadColormapRegistry: (registry: string | Record<string, string[]>) => Promise<void>;
|
|
27
47
|
}, never>, Pick<{
|
|
28
48
|
stacEndpoint: import("vue").Ref<string | null, string | null>;
|
|
49
|
+
rasterEndpoint: import("vue").Ref<string | null, string | null>;
|
|
29
50
|
isApi: import("vue").Ref<boolean, boolean>;
|
|
30
51
|
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
31
52
|
init: (endpoint: import("../types").StacEndpoint) => void;
|
|
32
53
|
loadSTAC: (url?: string) => Promise<void>;
|
|
33
54
|
loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
|
|
34
|
-
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
|
|
55
|
+
loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean, stacItem?: Object) => Promise<void>;
|
|
35
56
|
resetSelectedCompareSTAC: () => Promise<void>;
|
|
36
57
|
selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
37
58
|
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
|
|
38
59
|
selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
39
|
-
|
|
40
|
-
|
|
60
|
+
selectedCompareItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
|
|
61
|
+
supportedUpscalingEndpoints: import("vue").Ref<(string | {
|
|
62
|
+
url: string;
|
|
63
|
+
titilerVersion?: 1 | 2;
|
|
64
|
+
})[], (string | {
|
|
65
|
+
url: string;
|
|
66
|
+
titilerVersion?: 1 | 2;
|
|
67
|
+
})[]>;
|
|
68
|
+
colormapRegistry: import("vue").Ref<Record<string, string[]> | null, Record<string, string[]> | null>;
|
|
69
|
+
loadColormapRegistry: (registry: string | Record<string, string[]>) => Promise<void>;
|
|
70
|
+
}, "init" | "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC" | "loadColormapRegistry">>;
|