Skip to content

Commit ca7c8a8

Browse files
Lysakolieragxorus
authored andcommitted
FIX : Title of each glose that makes up a hexapla should be displayed (see #425).
Co-authored-by:Gabriel DOSNE gabriel.dosne@utt.fr We, Gabriel DOSNE, Morgane VIALA, hereby grant to Hyperglosae maintainers the right to publish our contribution under the terms of any licenses the Free Software Foundation classifies as Free Software Licenses
1 parent 381049d commit ca7c8a8

2 files changed

Lines changed: 23 additions & 4 deletions

File tree

frontend/src/components/OpenedDocuments.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function OpenedDocuments({id, margin, metadata, parallelDocuments, rawEditMode,
3434
</Row>
3535
{parallelDocuments.passages.map(({rubric, source, scholia}, i) =>
3636
<Passage key={rubric || i}
37-
{...{source, rubric, scholia, margin, sourceId: id, isComposite, rawEditMode, setRawEditMode, backend, setLastUpdate}}
37+
{...{source, metadata, rubric, scholia, margin, sourceId: id, isComposite, rawEditMode, setRawEditMode, backend, setLastUpdate}}
3838
/>)
3939
}
4040
<Row>

frontend/src/components/Passage.jsx

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import EditableText from '../components/EditableText';
1010
import DiscreeteDropdown from './DiscreeteDropdown';
1111
import 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

Comments
 (0)