Skip to content
Snippets Groups Projects
Commit 2889db43 authored by esikkala's avatar esikkala
Browse files

collapsedMaxWords config: support also objects

parent af9a0d98
No related branches found
No related tags found
No related merge requests found
...@@ -31,7 +31,7 @@ const styles = () => ({ ...@@ -31,7 +31,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, numberedList sourceExternalLink, numberedList, collapsedMaxWords
} = props } = props
let { data } = props let { data } = props
...@@ -72,6 +72,8 @@ const ObjectList = props => { ...@@ -72,6 +72,8 @@ const ObjectList = props => {
makeLink={makeLink} makeLink={makeLink}
externalLink={externalLink} externalLink={externalLink}
linkAsButton={linkAsButton} linkAsButton={linkAsButton}
isFirstValue={isFirstValue}
collapsedMaxWords={collapsedMaxWords}
/> />
{collapsed && <span> ...</span>} {collapsed && <span> ...</span>}
{showSource && itemData.source && {showSource && itemData.source &&
......
...@@ -3,8 +3,14 @@ import PropTypes from 'prop-types' ...@@ -3,8 +3,14 @@ import PropTypes from 'prop-types'
import ObjectListItemLink from './ObjectListItemLink' import ObjectListItemLink from './ObjectListItemLink'
const ObjectListItem = props => { const ObjectListItem = props => {
const { data, makeLink, externalLink, linkAsButton } = props const { data, makeLink, externalLink, linkAsButton, isFirstValue, collapsedMaxWords } = props
const label = Array.isArray(data.prefLabel) ? data.prefLabel[0] : data.prefLabel let label = Array.isArray(data.prefLabel) ? data.prefLabel[0] : data.prefLabel
if (isFirstValue && collapsedMaxWords) {
const wordCount = label.split(' ').length
if (wordCount > collapsedMaxWords) {
label = label.trim().split(' ').splice(0, props.collapsedMaxWords).join(' ')
}
}
return ( return (
<> <>
{!makeLink && label} {!makeLink && label}
......
...@@ -290,7 +290,8 @@ class ResultTable extends React.Component { ...@@ -290,7 +290,8 @@ class ResultTable extends React.Component {
<div className={classes.progressContainer}> <div className={classes.progressContainer}>
<CircularProgress style={{ color: purple[500] }} thickness={5} /> <CircularProgress style={{ color: purple[500] }} thickness={5} />
</div> </div>
) : ( )
: (
<Table size='small'> <Table size='small'>
<ResultTableHead <ResultTableHead
resultClass={this.props.resultClass} resultClass={this.props.resultClass}
...@@ -304,7 +305,7 @@ class ResultTable extends React.Component { ...@@ -304,7 +305,7 @@ class ResultTable extends React.Component {
{paginatedResults.map(row => this.rowRenderer(row))} {paginatedResults.map(row => this.rowRenderer(row))}
</TableBody> </TableBody>
</Table> </Table>
)} )}
</div> </div>
</> </>
) )
......
...@@ -18,7 +18,7 @@ const ResultTableCell = props => { ...@@ -18,7 +18,7 @@ const ResultTableCell = props => {
} }
switch (valueType) { switch (valueType) {
case 'object': case 'object':
cellContent = cellContent = (
<ObjectListCollapsible <ObjectListCollapsible
data={data} data={data}
makeLink={makeLink} makeLink={makeLink}
...@@ -28,13 +28,15 @@ const ResultTableCell = props => { ...@@ -28,13 +28,15 @@ const ResultTableCell = props => {
numberedList={numberedList} numberedList={numberedList}
columnId={columnId} columnId={columnId}
expanded={expanded} expanded={expanded}
collapsedMaxWords={collapsedMaxWords}
linkAsButton={linkAsButton} linkAsButton={linkAsButton}
showSource={showSource} showSource={showSource}
sourceExternalLink={sourceExternalLink} sourceExternalLink={sourceExternalLink}
/> />
)
break break
case 'string': case 'string':
cellContent = cellContent = (
<StringList <StringList
data={data} data={data}
expanded={expanded} expanded={expanded}
...@@ -44,6 +46,7 @@ const ResultTableCell = props => { ...@@ -44,6 +46,7 @@ const ResultTableCell = props => {
referencedTerm={referencedTerm} referencedTerm={referencedTerm}
numberedList={numberedList} numberedList={numberedList}
/> />
)
break break
case 'image': case 'image':
cellContent = data && data !== '-' cellContent = data && data !== '-'
......
...@@ -75,6 +75,7 @@ export const INITIAL_STATE = { ...@@ -75,6 +75,7 @@ export const INITIAL_STATE = {
sortValues: true, sortValues: true,
numberedList: false, numberedList: false,
minWidth: 200, minWidth: 200,
collapsedMaxWords: 3,
priority: 5 priority: 5
}, },
{ {
...@@ -85,6 +86,7 @@ export const INITIAL_STATE = { ...@@ -85,6 +86,7 @@ export const INITIAL_STATE = {
sortValues: true, sortValues: true,
numberedList: false, numberedList: false,
minWidth: 180, minWidth: 180,
collapsedMaxWords: 3,
priority: 5 priority: 5
}, },
{ {
......
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