Skip to content

Commit a416bcb

Browse files
committed
OpenConceptLab/ocl_issues#2211 | TargetConcept column formatting
1 parent 433334a commit a416bcb

2 files changed

Lines changed: 35 additions & 16 deletions

File tree

src/components/map-projects/Concept.jsx

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from 'react'
22
import ListItemButton from '@mui/material/ListItemButton'
3+
import ListItem from '@mui/material/ListItem'
34
import ListItemText from '@mui/material/ListItemText'
45

56
import Retired from '../common/Retired'
@@ -23,21 +24,9 @@ const getBestSynonym = synonyms => {
2324
}
2425

2526

26-
const Concept = ({firstChild, concept, setShowHighlights, isShown, onCardClick, onMap, isSelectedForMap, noScore, repoVersion, isAIRecommended}) => {
27-
const id = concept?.version_url || concept?.url || concept?.id
28-
const isSelectedToShow = isShown ? isShown(id) : false
29-
30-
let synonymPrefix = ''
31-
const highlights = concept?.search_meta?.search_highlight
32-
const synonymHighlight = highlights?.synonyms
33-
const nameHighlight = highlights?.name
34-
if(!nameHighlight?.length && synonymHighlight?.length) {
35-
const bestMatch = getBestSynonym(synonymHighlight) || synonymHighlight[0]
36-
synonymPrefix = bestMatch.replace('<em>', "<b className='searchable'>").replace('</em>', '</b>')
37-
}
38-
27+
const Item = ({concept, setShowHighlights, onMap, isSelectedForMap, noScore, repoVersion, synonymPrefix, isAIRecommended}) => {
3928
return (
40-
<ListItemButton selected={isSelectedToShow} onClick={onCardClick ? event => onCardClick(event, id) : undefined} sx={{padding: '8px', borderTop: firstChild ? undefined : '1px solid rgba(0, 0, 0, 0.1)'}}>
29+
<>
4130
<ListItemText
4231
className='searchable'
4332
primary={
@@ -80,8 +69,38 @@ const Concept = ({firstChild, concept, setShowHighlights, isShown, onCardClick,
8069
/>
8170
}
8271
</span>
83-
</ListItemButton>
72+
</>
8473
)
8574
}
8675

76+
77+
const Concept = ({firstChild, concept, setShowHighlights, isShown, onCardClick, onMap, isSelectedForMap, noScore, repoVersion, isAIRecommended, sx, notClickable}) => {
78+
const id = concept?.version_url || concept?.url || concept?.id
79+
const isSelectedToShow = isShown ? isShown(id) : false
80+
81+
let synonymPrefix = ''
82+
const highlights = concept?.search_meta?.search_highlight
83+
const synonymHighlight = highlights?.synonyms
84+
const nameHighlight = highlights?.name
85+
if(!nameHighlight?.length && synonymHighlight?.length) {
86+
const bestMatch = getBestSynonym(synonymHighlight) || synonymHighlight[0]
87+
synonymPrefix = bestMatch.replace('<em>', "<b className='searchable'>").replace('</em>', '</b>')
88+
}
89+
90+
const props = {
91+
selected: isSelectedToShow,
92+
sx: {padding: '8px', borderTop: firstChild ? undefined : '1px solid rgba(0, 0, 0, 0.1)', ...sx}
93+
}
94+
95+
return notClickable ? (
96+
<ListItem {...props}>
97+
<Item concept={concept} repoVersion={repoVersion} synonymPrefix={synonymPrefix} setShowHighlights={setShowHighlights} isAIRecommended={isAIRecommended} isSelectedForMap={isSelectedForMap} onMap={onMap} noScore={noScore} />
98+
</ListItem>
99+
) : (
100+
<ListItemButton {...props} onClick={onCardClick ? event => onCardClick(event, id) : undefined}>
101+
<Item concept={concept} repoVersion={repoVersion} synonymPrefix={synonymPrefix} setShowHighlights={setShowHighlights} isAIRecommended={isAIRecommended} isSelectedForMap={isSelectedForMap} onMap={onMap} noScore={noScore} />
102+
</ListItemButton>
103+
)
104+
}
105+
87106
export default Concept;

src/components/map-projects/MapProject.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ const MapProject = () => {
387387
renderCell: params => {
388388
const targetConcept = mapSelected[params.row.__index]
389389
if(targetConcept?.url) {
390-
return <Concept firstChild concept={targetConcept} noScore onCardClick={false} />
390+
return <Concept sx={{padding: 0}} repoVersion={repoVersion} notClickable firstChild concept={targetConcept} noScore onCardClick={false} />
391391
}
392392
}
393393
})

0 commit comments

Comments
 (0)