@eodash/eodash 5.0.0-rc.1 → 5.0.0-rc.1.5
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/eodashSTAC/createLayers.js +4 -3
- package/dist/client/{DashboardLayout-FS5inBIm.js → DashboardLayout-B-4X57-t.js} +2 -2
- package/dist/client/{DynamicWebComponent-CBSgT677.js → DynamicWebComponent-Dj3QYwag.js} +1 -1
- package/dist/client/{EodashDatePicker-BGSS2ZYK.js → EodashDatePicker-DGRJrJ0s.js} +2 -2
- package/dist/client/{EodashItemFilter-CFNKjm_Z.js → EodashItemFilter-DBQwJQPh.js} +1 -1
- package/dist/client/{EodashLayerControl-CzffoPUs.js → EodashLayerControl-C5fOCvoI.js} +1 -1
- package/dist/client/{EodashLayoutSwitcher-DM0zDhvI.js → EodashLayoutSwitcher-BMO9k_20.js} +2 -2
- package/dist/client/{EodashMap-BdFZ657e.js → EodashMap-D2bnMLAC.js} +1 -1
- package/dist/client/{EodashMapBtns-rC_IPD-Z.js → EodashMapBtns-l9B977id.js} +4 -4
- package/dist/client/{EodashProcess-SLsTISKV.js → EodashProcess-BtIlJvF1.js} +1 -1
- package/dist/client/{EodashStacInfo-DFD0gtWm.js → EodashStacInfo-CPVvp_Hm.js} +1 -1
- package/dist/client/{EodashTools-ImohD2ys.js → EodashTools-DY2dlNXW.js} +4 -4
- package/dist/client/{ExportState-LNZAovzM.js → ExportState-BvD5A0XG.js} +4 -4
- package/dist/client/{Footer-c19dV1ZR.js → Footer-w95gBnSH.js} +1 -1
- package/dist/client/{Header-CcvXFqqt.js → Header-BpiorKy9.js} +3 -3
- package/dist/client/{MobileLayout-OM6Wc-vj.js → MobileLayout-CmVlZe7S.js} +5 -5
- package/dist/client/{PopUp-B0_c0207.js → PopUp-CREaSybs.js} +3 -3
- package/dist/client/{VImg-BpDhCbL0.js → VImg-DF9esgdd.js} +2 -2
- package/dist/client/{VMain-DC05bDwX.js → VMain-BWLMf-rn.js} +1 -1
- package/dist/client/{VOverlay-C7EUyVe_.js → VOverlay-DmNfblmy.js} +3 -3
- package/dist/client/{VTooltip-C78suika.js → VTooltip-C3PeE7iO.js} +3 -3
- package/dist/client/{WidgetsContainer-sD1vDnhF.js → WidgetsContainer-6FHEEXns.js} +1 -1
- package/dist/client/{asWebComponent-D8bMMCEr.js → asWebComponent-BnFMd0T6.js} +10 -9
- package/dist/client/eo-dash.js +1 -1
- package/dist/client/{forwardRefs-yw6tFXER.js → forwardRefs-BF3Me2RX.js} +1 -1
- package/dist/client/{index-CpK_Yaom.js → index-CRd5-RSy.js} +1 -1
- package/dist/client/{transition-B2YwqAYJ.js → transition-Cpn_g5jE.js} +1 -1
- package/dist/types/core/client/App.vue.d.ts +7 -0
- package/dist/types/core/client/asWebComponent.d.ts +9 -0
- package/dist/types/core/client/components/DashboardLayout.vue.d.ts +2 -0
- package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +20 -0
- package/dist/types/core/client/components/ErrorAlert.vue.d.ts +2 -0
- package/dist/types/core/client/components/Footer.vue.d.ts +106 -0
- package/dist/types/core/client/components/Header.vue.d.ts +2 -0
- package/dist/types/core/client/components/IframeWrapper.vue.d.ts +7 -0
- package/dist/types/core/client/components/Loading.vue.d.ts +2 -0
- package/dist/types/core/client/components/MobileLayout.vue.d.ts +312 -0
- package/dist/types/core/client/composables/DefineEodash.d.ts +2 -0
- package/dist/types/core/client/composables/DefineTemplate.d.ts +15 -0
- package/dist/types/core/client/composables/DefineWidgets.d.ts +14 -0
- package/dist/types/core/client/composables/EodashMap.d.ts +5 -0
- package/dist/types/core/client/composables/EodashProcess.d.ts +156 -0
- package/dist/types/core/client/composables/index.d.ts +9 -0
- package/dist/types/core/client/eodash.d.ts +8 -0
- package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +108 -0
- package/dist/types/core/client/eodashSTAC/createLayers.d.ts +45 -0
- package/dist/types/core/client/eodashSTAC/helpers.d.ts +80 -0
- package/dist/types/core/client/eodashSTAC/triggers.d.ts +1 -0
- package/dist/types/core/client/main.d.ts +2 -0
- package/dist/types/core/client/plugins/axios.d.ts +2 -0
- package/dist/types/core/client/plugins/index.d.ts +3 -0
- package/dist/types/core/client/plugins/vuetify.d.ts +82 -0
- package/dist/types/core/client/render.d.ts +1 -0
- package/dist/types/core/client/store/actions.d.ts +12 -0
- package/dist/types/core/client/store/index.d.ts +11 -0
- package/dist/types/core/client/store/stac.d.ts +25 -0
- package/dist/types/core/client/store/states.d.ts +22 -0
- package/dist/types/core/client/types.d.ts +269 -0
- package/dist/types/core/client/utils/index.d.ts +2 -0
- package/dist/types/core/client/utils/keys.d.ts +8 -0
- package/dist/types/core/client/utils/states.d.ts +18 -0
- package/dist/types/core/client/views/Dashboard.vue.d.ts +9 -0
- package/dist/types/widgets/EodashDatePicker.vue.d.ts +13 -0
- package/dist/types/widgets/EodashItemFilter.vue.d.ts +44 -0
- package/dist/types/widgets/EodashLayerControl.vue.d.ts +13 -0
- package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +11 -0
- package/dist/types/widgets/EodashMap.vue.d.ts +14 -0
- package/dist/types/widgets/EodashMapBtns.vue.d.ts +13 -0
- package/dist/types/widgets/EodashProcess.vue.d.ts +4 -0
- package/dist/types/widgets/EodashStacInfo.vue.d.ts +21 -0
- package/dist/types/widgets/EodashTools.vue.d.ts +19 -0
- package/dist/types/widgets/ExportState.vue.d.ts +7 -0
- package/dist/types/widgets/PopUp.vue.d.ts +28 -0
- package/dist/types/widgets/WidgetsContainer.vue.d.ts +10 -0
- package/package.json +4 -4
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {string} collectionId
|
|
3
|
+
* @param {string} title
|
|
4
|
+
* @param {Record<string,import("stac-ts").StacAsset>} assets
|
|
5
|
+
* @param {import("stac-ts").StacItem } item
|
|
6
|
+
* @param {import("ol/layer/WebGLTile").Style} [style]
|
|
7
|
+
* @param {Record<string, unknown>} [layerConfig]
|
|
8
|
+
* @param {Record<string, unknown>} [layerDatetime]
|
|
9
|
+
* @param {object | null} [extraProperties]
|
|
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;
|
|
13
|
+
type: string;
|
|
14
|
+
source: {
|
|
15
|
+
type: string;
|
|
16
|
+
url: string;
|
|
17
|
+
format: string;
|
|
18
|
+
};
|
|
19
|
+
properties: {
|
|
20
|
+
layerConfig?: {
|
|
21
|
+
style: import("ol/layer/WebGLTile").Style | undefined;
|
|
22
|
+
} | undefined;
|
|
23
|
+
id: string;
|
|
24
|
+
title: string;
|
|
25
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
26
|
+
};
|
|
27
|
+
} | {
|
|
28
|
+
type: string;
|
|
29
|
+
source: {
|
|
30
|
+
type: string;
|
|
31
|
+
normalize: boolean;
|
|
32
|
+
interpolate: boolean;
|
|
33
|
+
sources: {
|
|
34
|
+
url: string;
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
properties: {
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
layerConfig: Record<string, unknown> | undefined;
|
|
41
|
+
layerDatetime: Record<string, unknown> | undefined;
|
|
42
|
+
};
|
|
43
|
+
style: import("ol/layer/WebGLTile").Style | undefined;
|
|
44
|
+
})[]>;
|
|
45
|
+
export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, layerDatetime?: Record<string, any>, extraProperties?: object | null): Promise<Record<string, any>[]>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/** @param {import("stac-ts").StacLink[]} [links] */
|
|
2
|
+
export function generateFeatures(links?: import("stac-ts").StacLink[]): {
|
|
3
|
+
type: string;
|
|
4
|
+
crs: {
|
|
5
|
+
type: string;
|
|
6
|
+
properties: {
|
|
7
|
+
name: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
features: import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Sperates and extracts layerConfig (jsonform schema & legend) from a style json
|
|
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
|
+
}): {
|
|
21
|
+
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;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Function to extract collection urls from an indicator
|
|
30
|
+
* @param {import("stac-ts").StacCatalog
|
|
31
|
+
* | import("stac-ts").StacCollection
|
|
32
|
+
* | import("stac-ts").StacItem
|
|
33
|
+
* | null
|
|
34
|
+
* } stacObject
|
|
35
|
+
* @param {string} basepath
|
|
36
|
+
*/
|
|
37
|
+
export function extractCollectionUrls(stacObject: import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, basepath: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Assigns projection code to the layer ID
|
|
40
|
+
* @param {import("stac-ts").StacItem} item
|
|
41
|
+
* @param {import("stac-ts").StacLink | import("stac-ts").StacAsset} linkOrAsset
|
|
42
|
+
* @param {string} id - {@link createLayerID} & {@link extractRoles}
|
|
43
|
+
* @param {{ properties:{id:string} & Record<string, any> }& Record<string,any>} layer
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
export function assignProjID(item: import("stac-ts").StacItem, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset, id: string, layer: {
|
|
47
|
+
properties: {
|
|
48
|
+
id: string;
|
|
49
|
+
} & Record<string, any>;
|
|
50
|
+
} & Record<string, any>): string;
|
|
51
|
+
export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): void;
|
|
52
|
+
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;
|
|
62
|
+
jsonform?: Record<string, any>;
|
|
63
|
+
} | undefined>;
|
|
64
|
+
export function getProjectionCode(projection?: string | number | {
|
|
65
|
+
name: string;
|
|
66
|
+
def: string;
|
|
67
|
+
}): string;
|
|
68
|
+
export function extractLayerDatetime(links?: import("stac-ts").StacLink[], currentStep?: string | null): {
|
|
69
|
+
controlValues: string[];
|
|
70
|
+
currentStep: string;
|
|
71
|
+
slider: boolean;
|
|
72
|
+
play: boolean;
|
|
73
|
+
displayFormat: string;
|
|
74
|
+
} | undefined;
|
|
75
|
+
export function findLayer(layers: Record<string, any>[], layer: string): Record<string, any> | undefined;
|
|
76
|
+
export function replaceLayer(currentLayers: Record<string, any>[], oldLayer: string, newLayers: Record<string, any>[]): Record<string, any>[] | undefined;
|
|
77
|
+
export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): Promise<import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined>;
|
|
78
|
+
export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string): string;
|
|
79
|
+
export function createAssetID(collectionId: string, itemId: string, index: number): string;
|
|
80
|
+
export function removeUnneededProperties(layers: Record<string, any>[]): Record<string, any>[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function setMapProjFromCol(STAcCollection?: import("stac-ts").StacCollection): Promise<void>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export default vuetify;
|
|
2
|
+
declare const vuetify: {
|
|
3
|
+
install: (app: import("vue").App) => void;
|
|
4
|
+
defaults: import("vue").Ref<import("vuetify").DefaultsInstance>;
|
|
5
|
+
display: import("vuetify").DisplayInstance;
|
|
6
|
+
theme: import("vuetify").ThemeInstance & {
|
|
7
|
+
install: (app: import("vue").App) => void;
|
|
8
|
+
};
|
|
9
|
+
icons: {
|
|
10
|
+
defaultSet: string;
|
|
11
|
+
aliases: Partial<import("vuetify").IconAliases>;
|
|
12
|
+
sets: Record<string, import("vuetify").IconSet>;
|
|
13
|
+
};
|
|
14
|
+
locale: {
|
|
15
|
+
isRtl: import("vue").Ref<boolean>;
|
|
16
|
+
rtl: import("vue").Ref<Record<string, boolean>>;
|
|
17
|
+
rtlClasses: import("vue").Ref<string>;
|
|
18
|
+
name: string;
|
|
19
|
+
messages: import("vue").Ref<import("vuetify").LocaleMessages>;
|
|
20
|
+
current: import("vue").Ref<string>;
|
|
21
|
+
fallback: import("vue").Ref<string>;
|
|
22
|
+
t: (key: string, ...params: unknown[]) => string;
|
|
23
|
+
n: (value: number) => string;
|
|
24
|
+
provide: (props: import("vuetify").LocaleOptions) => import("vuetify").LocaleInstance;
|
|
25
|
+
};
|
|
26
|
+
date: {
|
|
27
|
+
options: {
|
|
28
|
+
adapter: (new (options: {
|
|
29
|
+
locale: any;
|
|
30
|
+
formats?: any;
|
|
31
|
+
}) => import("vuetify").DateInstance) | import("vuetify").DateInstance;
|
|
32
|
+
formats?: Record<string, any>;
|
|
33
|
+
locale: Record<string, any>;
|
|
34
|
+
};
|
|
35
|
+
instance: {
|
|
36
|
+
locale?: any;
|
|
37
|
+
date: (value?: any) => unknown;
|
|
38
|
+
format: (date: unknown, formatString: string) => string;
|
|
39
|
+
toJsDate: (value: unknown) => Date;
|
|
40
|
+
parseISO: (date: string) => unknown;
|
|
41
|
+
toISO: (date: unknown) => string;
|
|
42
|
+
startOfDay: (date: unknown) => unknown;
|
|
43
|
+
endOfDay: (date: unknown) => unknown;
|
|
44
|
+
startOfWeek: (date: unknown, firstDayOfWeek?: number | string) => unknown;
|
|
45
|
+
endOfWeek: (date: unknown) => unknown;
|
|
46
|
+
startOfMonth: (date: unknown) => unknown;
|
|
47
|
+
endOfMonth: (date: unknown) => unknown;
|
|
48
|
+
startOfYear: (date: unknown) => unknown;
|
|
49
|
+
endOfYear: (date: unknown) => unknown;
|
|
50
|
+
isAfter: (date: unknown, comparing: unknown) => boolean;
|
|
51
|
+
isAfterDay: (value: unknown, comparing: unknown) => boolean;
|
|
52
|
+
isSameDay: (date: unknown, comparing: unknown) => boolean;
|
|
53
|
+
isSameMonth: (date: unknown, comparing: unknown) => boolean;
|
|
54
|
+
isSameYear: (value: unknown, comparing: unknown) => boolean;
|
|
55
|
+
isBefore: (date: unknown, comparing: unknown) => boolean;
|
|
56
|
+
isEqual: (date: unknown, comparing: unknown) => boolean;
|
|
57
|
+
isValid: (date: any) => boolean;
|
|
58
|
+
isWithinRange: (date: unknown, range: [unknown, unknown]) => boolean;
|
|
59
|
+
addMinutes: (date: unknown, amount: number) => unknown;
|
|
60
|
+
addHours: (date: unknown, amount: number) => unknown;
|
|
61
|
+
addDays: (date: unknown, amount: number) => unknown;
|
|
62
|
+
addWeeks: (date: unknown, amount: number) => unknown;
|
|
63
|
+
addMonths: (date: unknown, amount: number) => unknown;
|
|
64
|
+
getYear: (date: unknown) => number;
|
|
65
|
+
setYear: (date: unknown, year: number) => unknown;
|
|
66
|
+
getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
|
|
67
|
+
getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
|
|
68
|
+
getWeekdays: (firstDayOfWeek?: number | string) => string[];
|
|
69
|
+
getMonth: (date: unknown) => number;
|
|
70
|
+
setMonth: (date: unknown, month: number) => unknown;
|
|
71
|
+
getDate: (date: unknown) => number;
|
|
72
|
+
setDate: (date: unknown, day: number) => unknown;
|
|
73
|
+
getNextMonth: (date: unknown) => unknown;
|
|
74
|
+
getPreviousMonth: (date: unknown) => unknown;
|
|
75
|
+
getHours: (date: unknown) => number;
|
|
76
|
+
setHours: (date: unknown, hours: number) => unknown;
|
|
77
|
+
getMinutes: (date: unknown) => number;
|
|
78
|
+
setMinutes: (date: unknown, minutes: number) => unknown;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
goTo: import("vuetify").GoToInstance;
|
|
82
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function getLayers(): Record<string, any>[];
|
|
2
|
+
export function getCompareLayers(): Record<string, any>[];
|
|
3
|
+
export function registerProjection(projection?: string | number | {
|
|
4
|
+
name: string;
|
|
5
|
+
def: string;
|
|
6
|
+
extent?: number[];
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
export function changeMapProjection(projection?: string | number | {
|
|
9
|
+
name: string;
|
|
10
|
+
def: string;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export function setActiveTemplate(template: string): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export namespace stac {
|
|
3
|
+
export { useSTAcStore };
|
|
4
|
+
}
|
|
5
|
+
export { actions };
|
|
6
|
+
export { states };
|
|
7
|
+
}
|
|
8
|
+
export default _default;
|
|
9
|
+
import { useSTAcStore } from "./stac";
|
|
10
|
+
import * as actions from "./actions";
|
|
11
|
+
import * as states from "./states";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
|
|
2
|
+
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
3
|
+
loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
|
|
4
|
+
loadSelectedSTAC: (relativePath?: string) => Promise<void>;
|
|
5
|
+
loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
|
|
6
|
+
resetSelectedCompareSTAC: () => Promise<void>;
|
|
7
|
+
selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
8
|
+
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
9
|
+
}, "stac" | "selectedStac" | "selectedCompareStac">, Pick<{
|
|
10
|
+
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
11
|
+
loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
|
|
12
|
+
loadSelectedSTAC: (relativePath?: string) => Promise<void>;
|
|
13
|
+
loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
|
|
14
|
+
resetSelectedCompareSTAC: () => Promise<void>;
|
|
15
|
+
selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
16
|
+
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
17
|
+
}, never>, Pick<{
|
|
18
|
+
stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
|
|
19
|
+
loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
|
|
20
|
+
loadSelectedSTAC: (relativePath?: string) => Promise<void>;
|
|
21
|
+
loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
|
|
22
|
+
resetSelectedCompareSTAC: () => Promise<void>;
|
|
23
|
+
selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
24
|
+
selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
|
|
25
|
+
}, "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC">>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Currently selected STAC endpoint */
|
|
2
|
+
export const currentUrl: import("vue").Ref<string, string>;
|
|
3
|
+
/** Currently selected compare STAC endpoint */
|
|
4
|
+
export const currentCompareUrl: import("vue").Ref<string, string>;
|
|
5
|
+
/** Currently selected datetime */
|
|
6
|
+
export const datetime: import("vue").Ref<string, string>;
|
|
7
|
+
/** Currently selected indicator */
|
|
8
|
+
export const indicator: import("vue").Ref<string, string>;
|
|
9
|
+
/**
|
|
10
|
+
* Current map position
|
|
11
|
+
*
|
|
12
|
+
* @type {import("vue").Ref<(number | undefined)[]>}
|
|
13
|
+
*/
|
|
14
|
+
export const mapPosition: import("vue").Ref<(number | undefined)[]>;
|
|
15
|
+
export const registeredProjections: string[];
|
|
16
|
+
/** available projection to be rendered by `EodashMap` */
|
|
17
|
+
export const availableMapProjection: import("vue").Ref<string, string>;
|
|
18
|
+
/** @type {import("vue").Ref<HTMLElement & Record<string,any> | null>} */
|
|
19
|
+
export const mapEl: import("vue").Ref<(HTMLElement & Record<string, any>) | null>;
|
|
20
|
+
/** @type {import("vue").Ref<HTMLElement & Record<string,any> | null>} */
|
|
21
|
+
export const mapCompareEl: import("vue").Ref<(HTMLElement & Record<string, any>) | null>;
|
|
22
|
+
export const activeTemplate: import("vue").Ref<string, string>;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/** @group Eodash */
|
|
2
|
+
export interface WebComponentProps<T extends ExecutionTime = "compiletime"> {
|
|
3
|
+
/**
|
|
4
|
+
* Imports web component file, either using a URL or an import function.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* importing `eox-itemfilter` web component, after installing `@eox/itemfilter` it can be
|
|
8
|
+
* referenced:
|
|
9
|
+
* ```js
|
|
10
|
+
* link: async() => import("@eox/itemfilter")
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* ::: warning
|
|
14
|
+
* import maps are not available in runtime config
|
|
15
|
+
* :::
|
|
16
|
+
*/
|
|
17
|
+
link: T extends "runtime" ? string : string | (() => Promise<unknown>);
|
|
18
|
+
/**
|
|
19
|
+
* Exported Constructor, needs to be provided if the web component is not
|
|
20
|
+
* registered in by the [link](#link) provided
|
|
21
|
+
*/
|
|
22
|
+
constructorProp?: string;
|
|
23
|
+
tagName: `${string}-${string}`;
|
|
24
|
+
/** Object defining all the properties and attributes of the web component */
|
|
25
|
+
properties?: Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Triggered when the web component is mounted in the DOM.
|
|
28
|
+
*
|
|
29
|
+
* @param el - Web component
|
|
30
|
+
* @param store - Return value of the core STAC pinia store in
|
|
31
|
+
* `/core/client/store/stac.ts`
|
|
32
|
+
*/
|
|
33
|
+
onMounted?: (el: Element | null, store: ReturnType<typeof import("./store/stac.js").useSTAcStore>) => Promise<void> | void;
|
|
34
|
+
/**
|
|
35
|
+
* Triggered when the web component is unmounted from the DOM.
|
|
36
|
+
*
|
|
37
|
+
* @param el - Web component
|
|
38
|
+
* @param store - Return value of the core STAC pinia store in
|
|
39
|
+
* `/core/client/store/stac.ts`
|
|
40
|
+
*/
|
|
41
|
+
onUnmounted?: (el: Element | null, store: ReturnType<typeof import("./store/stac.js").useSTAcStore>) => Promise<void> | void;
|
|
42
|
+
}
|
|
43
|
+
/** @ignore */
|
|
44
|
+
export interface WidgetsContainerProps {
|
|
45
|
+
widgets: Omit<Widget, "layout">[];
|
|
46
|
+
}
|
|
47
|
+
/** Properties of EOxLayoutItem used for setting the position and size of panels */
|
|
48
|
+
export interface Layout {
|
|
49
|
+
/** Horizontal start position. Integer between 1 and 12 */
|
|
50
|
+
x: number;
|
|
51
|
+
/** Vertical start position. Integer between 1 and 12 */
|
|
52
|
+
y: number;
|
|
53
|
+
/** Width. Integer between 1 and 12 */
|
|
54
|
+
w: number;
|
|
55
|
+
/** Height. Integer between 1 and 12 */
|
|
56
|
+
h: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Widget type: `web-component` API
|
|
60
|
+
*
|
|
61
|
+
* @group Eodash
|
|
62
|
+
*/
|
|
63
|
+
export interface WebComponentWidget<T extends ExecutionTime = "compiletime"> {
|
|
64
|
+
id: number | string | symbol;
|
|
65
|
+
title: string;
|
|
66
|
+
/** Widget position and size. */
|
|
67
|
+
layout: Layout;
|
|
68
|
+
widget: WebComponentProps<T>;
|
|
69
|
+
type: "web-component";
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Widget type: `internal` API. Internal widgets are Vue components provided by
|
|
73
|
+
* eodash.
|
|
74
|
+
*
|
|
75
|
+
* @group Eodash
|
|
76
|
+
*/
|
|
77
|
+
export interface InternalComponentWidget {
|
|
78
|
+
id: number | string | symbol;
|
|
79
|
+
title: string;
|
|
80
|
+
/** Widget position and size. */
|
|
81
|
+
layout: Layout;
|
|
82
|
+
widget: {
|
|
83
|
+
/**
|
|
84
|
+
* Internal Vue Components inside the
|
|
85
|
+
* [widgets](https://github.com/eodash/eodash/tree/main/widgets) folder.
|
|
86
|
+
* Referenced using their name without the .vue extention
|
|
87
|
+
*/
|
|
88
|
+
name: string;
|
|
89
|
+
/** Specified Vue component props */
|
|
90
|
+
properties?: Record<string, unknown>;
|
|
91
|
+
};
|
|
92
|
+
type: "internal";
|
|
93
|
+
}
|
|
94
|
+
/** Widget type: `iframe` API Renders an external HTML file as a widget. */
|
|
95
|
+
/** @group Eodash */
|
|
96
|
+
export interface IFrameWidget {
|
|
97
|
+
id: number | string | symbol;
|
|
98
|
+
title: string;
|
|
99
|
+
/** Widget position and size. */
|
|
100
|
+
layout: Layout;
|
|
101
|
+
widget: {
|
|
102
|
+
/** The URL of the page to embed */
|
|
103
|
+
src: string;
|
|
104
|
+
};
|
|
105
|
+
type: "iframe";
|
|
106
|
+
}
|
|
107
|
+
/** @group Eodash */
|
|
108
|
+
export interface FunctionalWidget<T extends ExecutionTime = "compiletime"> {
|
|
109
|
+
/**
|
|
110
|
+
* Provides a functional definition of widgets, gets triggered whenever a STAC
|
|
111
|
+
* object is selected, and only renders the returned configuration if the `id`
|
|
112
|
+
* doesn't match the currently rendered `id`
|
|
113
|
+
*
|
|
114
|
+
* @param selectedSTAC - Currently selected STAC object
|
|
115
|
+
*/
|
|
116
|
+
defineWidget: (selectedSTAC: import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null) => StaticWidget<T> | undefined | null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* There are 3 types of Widgets:
|
|
120
|
+
*
|
|
121
|
+
* @group Eodash
|
|
122
|
+
*/
|
|
123
|
+
export type StaticWidget<T extends ExecutionTime = "compiletime"> = WebComponentWidget<T> | InternalComponentWidget | IFrameWidget;
|
|
124
|
+
/**
|
|
125
|
+
* Widgets can be defined in 2 forms:
|
|
126
|
+
*
|
|
127
|
+
* 1. {@link StaticWidget} : This is defined as an object once, and is considered
|
|
128
|
+
* the default form.
|
|
129
|
+
* 2. {@link FunctionalWidget} : a special form which contains the
|
|
130
|
+
* {@link FunctionalWidget.defineWidget `defineWidget`} function that runs
|
|
131
|
+
* when {@link EodashStore.stac `loadSelectedSTAC`} function is triggered, and
|
|
132
|
+
* returns a value of a Static Widget or null or undefined.
|
|
133
|
+
*
|
|
134
|
+
* @group Eodash
|
|
135
|
+
*/
|
|
136
|
+
export type Widget<T extends ExecutionTime = "compiletime"> = StaticWidget<T> | FunctionalWidget<T>;
|
|
137
|
+
/** @group Eodash */
|
|
138
|
+
export type BackgroundWidget<T extends ExecutionTime = "compiletime"> = Omit<WebComponentWidget<T>, "layout" | "title" | "slidable"> | Omit<InternalComponentWidget, "layout" | "title" | "slidable"> | Omit<IFrameWidget, "layout" | "title" | "slidable"> | Omit<FunctionalWidget<T>, "layout" | "slidable">;
|
|
139
|
+
/**
|
|
140
|
+
* Dashboard rendered widgets specification. 3 types of widgets are supported:
|
|
141
|
+
* `"iframe"`, `"internal"`, and `"web-component"`. A specific object should be
|
|
142
|
+
* provided based on the type of the widget.
|
|
143
|
+
*
|
|
144
|
+
* @group Eodash
|
|
145
|
+
*/
|
|
146
|
+
export interface SingleTemplate<T extends ExecutionTime = "compiletime"> {
|
|
147
|
+
/** Gap between widgets */
|
|
148
|
+
gap?: number;
|
|
149
|
+
/** Loading widget */
|
|
150
|
+
loading?: BackgroundWidget<T>;
|
|
151
|
+
/**
|
|
152
|
+
* Widget rendered as the dashboard background. Has the same specifications of
|
|
153
|
+
* {@link Widget} without the `title` and `layout` properties
|
|
154
|
+
*/
|
|
155
|
+
background?: BackgroundWidget<T>;
|
|
156
|
+
/** Array of widgets that will be rendered as dashboard panels. */
|
|
157
|
+
widgets: Widget<T>[];
|
|
158
|
+
}
|
|
159
|
+
export type MultiTemplates<T extends ExecutionTime = "compiletime"> = Record<string, SingleTemplate<T>>;
|
|
160
|
+
/** @ignore */
|
|
161
|
+
export type StacEndpoint = `${string}/catalog.json`;
|
|
162
|
+
/** @group Eodash */
|
|
163
|
+
type ExecutionTime = "runtime" | "compiletime";
|
|
164
|
+
/**
|
|
165
|
+
* Eodash instance API
|
|
166
|
+
*
|
|
167
|
+
* @group Eodash
|
|
168
|
+
*/
|
|
169
|
+
export type Eodash<T extends ExecutionTime = "compiletime"> = {
|
|
170
|
+
/** Instance ID. */
|
|
171
|
+
id?: string;
|
|
172
|
+
/** Root STAC catalog endpoint */
|
|
173
|
+
stacEndpoint: StacEndpoint;
|
|
174
|
+
/** Brand specifications. */
|
|
175
|
+
brand: {
|
|
176
|
+
/** Removes the dashboard layout */
|
|
177
|
+
noLayout?: boolean;
|
|
178
|
+
/** Custom error message to alert the users if something crashes */
|
|
179
|
+
errorMessage?: string;
|
|
180
|
+
/** Fetches the specified font family from the specified `link` property. */
|
|
181
|
+
font?: {
|
|
182
|
+
/**
|
|
183
|
+
* Link to stylesheet that defines font-face. Could be either a relative
|
|
184
|
+
* or absolute URL.
|
|
185
|
+
*/
|
|
186
|
+
link: string;
|
|
187
|
+
/** Font family name. */
|
|
188
|
+
family: string;
|
|
189
|
+
};
|
|
190
|
+
/** Title that will be shown in the app header */
|
|
191
|
+
name: string;
|
|
192
|
+
/** Brand logo */
|
|
193
|
+
logo?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Dashboard theme as a custom [vuetifyJs
|
|
196
|
+
* theme](https://vuetifyjs.com/en/features/theme/).
|
|
197
|
+
*/
|
|
198
|
+
theme?: import("vuetify/lib/index.mjs").ThemeDefinition;
|
|
199
|
+
/** Text applied to the footer. */
|
|
200
|
+
footerText?: string;
|
|
201
|
+
};
|
|
202
|
+
} & ({
|
|
203
|
+
/** Template configuration */
|
|
204
|
+
template: SingleTemplate<T>;
|
|
205
|
+
} | {
|
|
206
|
+
/** Multiple templates configuration */
|
|
207
|
+
templates: MultiTemplates<T>;
|
|
208
|
+
});
|
|
209
|
+
/** @group EodashStore */
|
|
210
|
+
export interface EodashStore {
|
|
211
|
+
/** Stateful Reactive variables */
|
|
212
|
+
states: {
|
|
213
|
+
/** Currently selected STAC endpoint */
|
|
214
|
+
currentUrl: import("vue").Ref<string>;
|
|
215
|
+
/** Currently selected datetime */
|
|
216
|
+
datetime: import("vue").Ref<string>;
|
|
217
|
+
/** Currently selected indicator */
|
|
218
|
+
indicator: import("vue").Ref<string>;
|
|
219
|
+
registeredProjections: `EPSG${number}`[];
|
|
220
|
+
/** available projection to be rendered by the Map */
|
|
221
|
+
availableMapProjection: import("vue").Ref<string>;
|
|
222
|
+
};
|
|
223
|
+
actions: {
|
|
224
|
+
/**
|
|
225
|
+
* returns the layers of the `eox-map`
|
|
226
|
+
* @param [el] - `eox-map` element selector
|
|
227
|
+
*/
|
|
228
|
+
getLayers: (el?: string) => object[];
|
|
229
|
+
/**
|
|
230
|
+
* Register EPSG projection in `eox-map` and adds it to `availableMapProjection`
|
|
231
|
+
* */
|
|
232
|
+
registerProjection: (code?: number | string | {
|
|
233
|
+
name: string;
|
|
234
|
+
def: string;
|
|
235
|
+
}) => Promise<void>;
|
|
236
|
+
/** Change `eox-map` projection from an EPSG code or a registered projection code */
|
|
237
|
+
changeMapProjection: (code?: number | string | {
|
|
238
|
+
name: string;
|
|
239
|
+
def: string;
|
|
240
|
+
}) => Promise<void>;
|
|
241
|
+
};
|
|
242
|
+
/** Pinia store definition used to navigate the root STAC catalog. */
|
|
243
|
+
stac: {
|
|
244
|
+
useSTAcStore: typeof import("./store/stac.js").useSTAcStore;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
/** @group WebComponent */
|
|
248
|
+
type EodashConstructor = import("vue").VueElementConstructor<import("vue").ExtractPropTypes<{
|
|
249
|
+
config: string;
|
|
250
|
+
}>>;
|
|
251
|
+
/**
|
|
252
|
+
* Eodash Web Component constructor
|
|
253
|
+
*
|
|
254
|
+
* @group WebComponent
|
|
255
|
+
*/
|
|
256
|
+
export declare const Eodash: EodashConstructor;
|
|
257
|
+
/**
|
|
258
|
+
* Registers `eo-dash` as Custom Element in the window
|
|
259
|
+
*
|
|
260
|
+
* @group WebComponent
|
|
261
|
+
*/
|
|
262
|
+
export declare function register(): void;
|
|
263
|
+
/**
|
|
264
|
+
* Eodash store @see EodashStore
|
|
265
|
+
*
|
|
266
|
+
* @group WebComponent
|
|
267
|
+
*/
|
|
268
|
+
export declare const store: typeof import("./store").default;
|
|
269
|
+
export * from "./main.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `eodash` injection key.
|
|
3
|
+
*
|
|
4
|
+
* @see {@link "@/plugins/index.js"}
|
|
5
|
+
*/
|
|
6
|
+
export const eodashKey: unique symbol;
|
|
7
|
+
/** @type {import("@vueuse/core").EventBusKey<"layers:updated"|"time:updated">} */
|
|
8
|
+
export const eoxLayersKey: import("@vueuse/core").EventBusKey<"layers:updated" | "time:updated">;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array of eodash STAC Collections extracted from the current selected indicator.
|
|
3
|
+
* Updated in {@link file://./../store/stac.js `loadSelectedSTAC`} widget
|
|
4
|
+
*
|
|
5
|
+
* @type {import('../eodashSTAC/EodashCollection').EodashCollection[]}
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export const eodashCollections: import("../eodashSTAC/EodashCollection").EodashCollection[];
|
|
9
|
+
/**
|
|
10
|
+
* Array of eodash STAC Collections extracted from the current selected COMPARE indicator.
|
|
11
|
+
* Updated in {@link file://./../store/stac.js ` loadSelectedCompareSTAC`} widget
|
|
12
|
+
*
|
|
13
|
+
* @type {import('../eodashSTAC/EodashCollection').EodashCollection[]}
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export const eodashCompareCollections: import("../eodashSTAC/EodashCollection").EodashCollection[];
|
|
17
|
+
/** whether the map postion was set in URL params on first load */
|
|
18
|
+
export const posIsSetFromUrl: import("vue").Ref<boolean, boolean>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
isWebComponent: boolean;
|
|
3
|
+
config?: string | undefined;
|
|
4
|
+
$props: {
|
|
5
|
+
readonly isWebComponent?: boolean | undefined;
|
|
6
|
+
readonly config?: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
hideArrows: boolean;
|
|
3
|
+
hideInputField: boolean;
|
|
4
|
+
hintText: string;
|
|
5
|
+
$props: {
|
|
6
|
+
readonly hideArrows?: boolean | undefined;
|
|
7
|
+
readonly hideInputField?: boolean | undefined;
|
|
8
|
+
readonly hintText?: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {
|
|
11
|
+
rootRef: HTMLDivElement;
|
|
12
|
+
}, HTMLDivElement>;
|
|
13
|
+
export default _default;
|