@@ -10,7 +10,7 @@ import EditableText from '../components/EditableText';
1010import DiscreeteDropdown from './DiscreeteDropdown' ;
1111import CommentFragmentAction from '../menu-items/CommentFragmentAction' ;
1212
13- function Passage ( { source, rubric, scholia, margin, sourceId, isComposite, rawEditMode, setRawEditMode, backend, setLastUpdate} ) {
13+ function Passage ( { source, metadata , rubric, scholia, margin, sourceId, isComposite, rawEditMode, setRawEditMode, backend, setLastUpdate} ) {
1414 const [ selectedText , setSelectedText ] = useState ( ) ;
1515 const [ highlightedText , setHighlightedText ] = useState ( '' ) ;
1616 const [ fragment , setFragment ] = useState ( ) ;
@@ -31,7 +31,7 @@ function Passage({source, rubric, scholia, margin, sourceId, isComposite, rawEdi
3131 { ! isFromScratch &&
3232 < Container >
3333 < Row >
34- < PassageSource { ...{ isComposite, highlightedText, setHighlightedText, setFragment, selectedText, setSelectedText, margin} } >
34+ < PassageSource { ...{ isComposite, metadata , highlightedText, setHighlightedText, setFragment, selectedText, setSelectedText, margin, rubric } } >
3535 { source }
3636 </ PassageSource >
3737 < Rubric id = { rubric } />
@@ -44,13 +44,32 @@ function Passage({source, rubric, scholia, margin, sourceId, isComposite, rawEdi
4444 ) ;
4545}
4646
47- function PassageSource ( { children, isComposite, highlightedText, setHighlightedText, setFragment, selectedText, setSelectedText, margin} ) {
47+ function PassageSource ( { children, metadata, isComposite, highlightedText, setHighlightedText, setFragment, selectedText, setSelectedText, margin, rubric} ) {
48+ const compositeTitleStyle = { color : 'crimson' , textAlign : 'left' } ;
49+ let format = ( actors , prefix = '' , suffix = '' ) =>
50+ actors && ( prefix + [ actors ] . flat ( ) . join ( ' & ' ) + suffix ) ;
51+ let getCaption = ( dc_title , dc_spatial , actors , prefix = '' , suffix = '' ) => dc_title + ( dc_spatial ? `, ${ dc_spatial } ` : ' ' ) + ( format ( actors , prefix , suffix ) ) ;
52+ let documentsMetadata = metadata . forwardLinkedDocuments ; // Can be undefined !
53+ if ( documentsMetadata !== undefined ) {
54+ documentsMetadata = documentsMetadata . filter ( doc => 'dc_title' in doc ) ;
55+ }
56+ console . log ( JSON . stringify ( documentsMetadata ) ) ;
4857 return (
4958 < Col className = "position-relative" >
5059 { isComposite ? (
5160 < Row >
5261 { children . map ( ( chunk , index ) =>
5362 < Col key = { index } >
63+ { ( rubric === '0' || rubric == null ) && documentsMetadata !== undefined ? (
64+ < div style = { compositeTitleStyle } >
65+ < span className = "work" >
66+ { documentsMetadata [ index ] !== undefined ? (
67+ getCaption ( documentsMetadata [ index ] . dc_title , documentsMetadata [ index ] . dc_spatial , documentsMetadata [ index ] . dc_creator , '(' , ')' )
68+ ) : ( '' ) }
69+ </ span >
70+ </ div >
71+ ) : ( null )
72+ }
5473 < SelectableFormattedText { ...{ highlightedText, setHighlightedText, setSelectedText} } >
5574 { chunk }
5675 </ SelectableFormattedText >
0 commit comments