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 = () => ({ ...@@ -27,7 +27,7 @@ const styles = () => ({
const ObjectList = props => { const ObjectList = props => {
const { const {
sortValues, sortBy, makeLink, externalLink, linkAsButton, columnId, showSource, sortValues, sortBy, makeLink, externalLink, linkAsButton, columnId, showSource,
sourceExternalLink sourceExternalLink, numberedList
} = props } = props
let { data } = props let { data } = props
...@@ -80,6 +80,25 @@ const ObjectList = 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 === '-') { if (data == null || data === '-') {
return '-' return '-'
} else if (Array.isArray(data)) { } else if (Array.isArray(data)) {
...@@ -88,13 +107,7 @@ const ObjectList = props => { ...@@ -88,13 +107,7 @@ const ObjectList = props => {
<> <>
{!props.expanded && renderItem({ collapsed: true, itemData: data[0], isFirstValue: true })} {!props.expanded && renderItem({ collapsed: true, itemData: data[0], isFirstValue: true })}
<Collapse in={props.expanded} timeout='auto' unmountOnExit> <Collapse in={props.expanded} timeout='auto' unmountOnExit>
<ul className={props.classes.valueList}> {numberedList ? renderNumberedList(data) : renderBulletedList(data)}
{data.map(item =>
<li key={item.id}>
{renderItem({ collapsed: false, itemData: item })}
</li>
)}
</ul>
</Collapse> </Collapse>
</> </>
) )
......
...@@ -38,6 +38,7 @@ const ResultTableCell = props => { ...@@ -38,6 +38,7 @@ const ResultTableCell = props => {
expanded={expanded} expanded={expanded}
collapsedMaxWords={collapsedMaxWords} collapsedMaxWords={collapsedMaxWords}
renderAsHTML={renderAsHTML} renderAsHTML={renderAsHTML}
numberedList={numberedList}
/> />
break break
case 'image': case 'image':
......
...@@ -36,11 +36,19 @@ const StringList = props => { ...@@ -36,11 +36,19 @@ const StringList = props => {
const createBasicList = data => { const createBasicList = data => {
data = data.sort() data = data.sort()
return ( if (props.numberedList) {
<ul className={props.classes.valueList}> return (
{data.map((item, i) => <li key={i}>{item}</li>)} <ol className={props.classes.valueList}>
</ul> {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) => { const transform = (node, index) => {
...@@ -76,7 +84,8 @@ StringList.propTypes = { ...@@ -76,7 +84,8 @@ StringList.propTypes = {
data: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), data: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
expanded: PropTypes.bool.isRequired, expanded: PropTypes.bool.isRequired,
collapsedMaxWords: PropTypes.number, collapsedMaxWords: PropTypes.number,
renderAsHTML: PropTypes.bool renderAsHTML: PropTypes.bool,
numberedList: PropTypes.bool
} }
export default withStyles(styles)(StringList) 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