@@ -20,4 +20,38 @@ Registry.addMetadataField('themes', {
2020Registry . 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