diff options
Diffstat (limited to 'scraper/client/paper')
| -rw-r--r-- | scraper/client/paper/index.js | 6 | ||||
| -rw-r--r-- | scraper/client/paper/paper.info.js | 1 | ||||
| -rw-r--r-- | scraper/client/paper/paper.manager.js (renamed from scraper/client/paper/paper.container.js) | 18 |
3 files changed, 16 insertions, 9 deletions
diff --git a/scraper/client/paper/index.js b/scraper/client/paper/index.js index 60206179..c10ea011 100644 --- a/scraper/client/paper/index.js +++ b/scraper/client/paper/index.js @@ -1,8 +1,10 @@ -import Container from './paper.container' +import Manager from './paper.manager' +import Info from './paper.info' import './paper.css' // import './search.css' export { - Container + Manager, + Info, } diff --git a/scraper/client/paper/paper.info.js b/scraper/client/paper/paper.info.js index dab4ce5b..a8553c9b 100644 --- a/scraper/client/paper/paper.info.js +++ b/scraper/client/paper/paper.info.js @@ -10,6 +10,7 @@ class PaperInfo extends Component { render() { const { paperInfo, unknownCitations } = this.props.api const { dataset, statistics, address } = paperInfo + if (!dataset) return null return ( <div className='paperInfo'> <h2>{dataset.name_full}</h2> diff --git a/scraper/client/paper/paper.container.js b/scraper/client/paper/paper.manager.js index eeb0dfa3..c52722e7 100644 --- a/scraper/client/paper/paper.container.js +++ b/scraper/client/paper/paper.manager.js @@ -5,19 +5,23 @@ import { connect } from 'react-redux' import * as actions from '../actions' import { Loader } from '../common' -import PaperInfo from './paper.info' -class PaperContainer extends Component { +class PaperManager extends Component { componentDidMount() { this.props.actions.getPaperInfo(this.props.match.params.key) } + componentDidUpdate(newProps) { + if (this.props.match.params.key !== newProps.match.params.key) { + this.props.actions.getPaperInfo(this.props.match.params.key) + } + } + render() { + if (!this.props.match.params.key) return null if (this.props.api.paperInfo.loading) return <Loader /> - if (!this.props.api.paperInfo.dataset) return null - return ( - <PaperInfo /> - ) + if (!this.props.api.paperInfo.dataset) return <div className='paperInfo'>Metadata not found</div> + return null } } @@ -28,4 +32,4 @@ const mapDispatchToProps = dispatch => ({ actions: bindActionCreators({ ...actions }, dispatch), }) -export default connect(mapStateToProps, mapDispatchToProps)(PaperContainer) +export default connect(mapStateToProps, mapDispatchToProps)(PaperManager) |
