Skip to content
Snippets Groups Projects
Commit 90b4b994 authored by esikkala's avatar esikkala
Browse files

ResultTableCell: add config for numbered list

parent a04d3b0e
No related branches found
No related tags found
No related merge requests found
......@@ -27,7 +27,7 @@ const styles = () => ({
const ObjectList = props => {
const {
sortValues, sortBy, makeLink, externalLink, linkAsButton, columnId, showSource,
sourceExternalLink
sourceExternalLink, numberedList
} = props
let { data } = props
......@@ -80,6 +80,25 @@ const ObjectList = props => {
}
}
const renderListItems = data =>
<>
{data.map(item =>
<li key={item.id}>
{renderItem({ collapsed: false, itemData: item })}
</li>
)}
</>
const renderBulletedList = data =>
<ul className={props.classes.valueList}>
{renderListItems(data)}
</ul>
const renderNumberedList = data =>
<ol className={props.classes.valueList}>
{renderListItems(data)}
</ol>
if (data == null || data === '-') {
return '-'
} else if (Array.isArray(data)) {
......@@ -88,13 +107,7 @@ const ObjectList = props => {
<>
{!props.expanded && renderItem({ collapsed: true, itemData: data[0], isFirstValue: true })}
<Collapse in={props.expanded} timeout='auto' unmountOnExit>
<ul className={props.classes.valueList}>
{data.map(item =>
<li key={item.id}>
{renderItem({ collapsed: false, itemData: item })}
</li>
)}
</ul>
{numberedList ? renderNumberedList(data) : renderBulletedList(data)}
</Collapse>
</>
)
......
......@@ -38,6 +38,7 @@ const ResultTableCell = props => {
expanded={expanded}
collapsedMaxWords={collapsedMaxWords}
renderAsHTML={renderAsHTML}
numberedList={numberedList}
/>
break
case 'image':
......
......@@ -36,11 +36,19 @@ const StringList = props => {
const createBasicList = data => {
data = data.sort()
return (
<ul className={props.classes.valueList}>
{data.map((item, i) => <li key={i}>{item}</li>)}
</ul>
)
if (props.numberedList) {
return (
<ol className={props.classes.valueList}>
{data.map((item, i) => <li key={i}>{item}</li>)}
</ol>
)
} else {
return (
<ul className={props.classes.valueList}>
{data.map((item, i) => <li key={i}>{item}</li>)}
</ul>
)
}
}
const transform = (node, index) => {
......@@ -76,7 +84,8 @@ StringList.propTypes = {
data: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
expanded: PropTypes.bool.isRequired,
collapsedMaxWords: PropTypes.number,
renderAsHTML: PropTypes.bool
renderAsHTML: PropTypes.bool,
numberedList: PropTypes.bool
}
export default withStyles(styles)(StringList)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment