Skip to content

Commit 8c9f126

Browse files
Merge pull request #7 from EOEPCA/osc-metadata-links
feat: Create custom links for osc type properties
2 parents 400e5d9 + 28292d3 commit 8c9f126

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

fields.config.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,38 @@ Registry.addMetadataField('themes', {
2020
Registry.addMetadataField('contacts', {
2121
label: "Contacts",
2222
ext: "osc",
23+
});
24+
25+
const formatLink = (type, value, links, jsonName) => {
26+
const link = links.find(link => link.rel === 'related' && link.href.includes(value));
27+
return Helper.toLink(`/stac-browser/#/${type}/${value}/${jsonName}.json`, link.title.split(":")[1], "", "_self");
28+
}
29+
30+
Registry.addMetadataField('osc:project', {
31+
label: "Project",
32+
ext: "osc",
33+
formatter: (value, field, spec, { links }) => {
34+
return formatLink("projects", value, links, "collection")
35+
}
36+
});
37+
38+
Registry.addMetadataField('osc:themes', {
39+
label: "Themes",
40+
ext: "osc",
41+
formatter: (value, field, spec, { links }) =>
42+
value.map(theme => formatLink("themes", theme, links, "catalog")).join(", ")
43+
});
44+
45+
Registry.addMetadataField('osc:variables', {
46+
label: "Variables",
47+
ext: "osc",
48+
formatter: (value, field, spec, { links }) =>
49+
value.map(variable => formatLink("variables", variable, links, "catalog")).join(", ")
50+
});
51+
52+
Registry.addMetadataField('osc:missions', {
53+
label: "Missions",
54+
ext: "osc",
55+
formatter: (value, field, spec, { links }) =>
56+
value.map(mission => formatLink("eo-missions", mission, links, "catalog")).join(", ")
2357
});

0 commit comments

Comments
 (0)