From 1fccd67c6c6d202253e54b5ad716c0ea34751ee3 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Tue, 23 Nov 2021 10:20:17 +0200 Subject: [PATCH] Add expandedOnInstancePage option --- .../components/main_layout/InstanceHomePageTable.js | 10 +++++++--- .../components/perspectives/sampo/InstanceHomePage.js | 7 ++++--- src/client/reducers/sampo/perspective1.js | 3 ++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/client/components/main_layout/InstanceHomePageTable.js b/src/client/components/main_layout/InstanceHomePageTable.js index 37bd4349..e64fb34a 100644 --- a/src/client/components/main_layout/InstanceHomePageTable.js +++ b/src/client/components/main_layout/InstanceHomePageTable.js @@ -75,9 +75,13 @@ const styles = theme => ({ class InstanceHomePageTable extends React.Component { constructor (props) { super(props) - this.state = { - expandedRows: new Set() - } + const expandedRows = new Set() + props.properties.forEach(prop => { + if (prop.expandedOnInstancePage) { + expandedRows.add(prop.id) + } + }) + this.state = { expandedRows } } componentDidMount = () => { diff --git a/src/client/components/perspectives/sampo/InstanceHomePage.js b/src/client/components/perspectives/sampo/InstanceHomePage.js index 10897dc0..0173c831 100644 --- a/src/client/components/perspectives/sampo/InstanceHomePage.js +++ b/src/client/components/perspectives/sampo/InstanceHomePage.js @@ -135,7 +135,7 @@ class InstanceHomePage extends React.Component { getLocalIDFromURL = () => { const locationArr = this.props.routeProps.location.pathname.split('/') let localID = locationArr.pop() - this.props.perspectiveConfig.instancePageTabs.map(tab => { + this.props.perspectiveConfig.instancePageTabs.forEach(tab => { if (localID === tab.id) { localID = locationArr.pop() // pop again if tab id } @@ -147,7 +147,7 @@ class InstanceHomePage extends React.Component { const { instanceTableData } = this.props.perspectiveState const visibleRows = [] const instanceClass = instanceTableData.type ? instanceTableData.type.id : '' - rows.map(row => { + rows.forEach(row => { if ((has(row, 'onlyForClass') && row.onlyForClass === instanceClass) || !has(row, 'onlyForClass')) { visibleRows.push(row) @@ -161,7 +161,8 @@ class InstanceHomePage extends React.Component { const { instanceTableData, fetching } = perspectiveState const resultClass = perspectiveConfig.id const defaultInstancePageTab = perspectiveConfig.defaultInstancePageTab - ? perspectiveConfig.defaultInstancePageTab : 'table' + ? perspectiveConfig.defaultInstancePageTab + : 'table' const hasTableData = this.hasTableData() return ( <div className={classes.root}> diff --git a/src/client/reducers/sampo/perspective1.js b/src/client/reducers/sampo/perspective1.js index 842d401c..36ad1c82 100644 --- a/src/client/reducers/sampo/perspective1.js +++ b/src/client/reducers/sampo/perspective1.js @@ -133,7 +133,8 @@ export const INITIAL_STATE = { sortValues: true, numberedList: false, minWidth: 220, - collapsedMaxWords: 12 + collapsedMaxWords: 12, + expandedOnInstancePage: true }, { id: 'language', -- GitLab