summaryrefslogtreecommitdiff
path: root/scraper
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-02-13 16:55:20 +0100
committerJules Laplace <julescarbon@gmail.com>2019-02-13 16:55:20 +0100
commit91f106c840d0c6211f370d8b45f0fd8857636b6c (patch)
tree6e0d1cbf89cf13b3d3292923969c28f56b5cc3bb /scraper
parentd0dc5cd83f1c436185d247600c3c5be9360bf1ca (diff)
put info on endpoint
Diffstat (limited to 'scraper')
-rw-r--r--scraper/client/app.js3
-rw-r--r--scraper/client/common/header.component.js2
-rw-r--r--scraper/client/paper/index.js6
-rw-r--r--scraper/client/paper/paper.info.js1
-rw-r--r--scraper/client/paper/paper.manager.js (renamed from scraper/client/paper/paper.container.js)18
5 files changed, 19 insertions, 11 deletions
diff --git a/scraper/client/app.js b/scraper/client/app.js
index 5a0e5cc7..4bc6276c 100644
--- a/scraper/client/app.js
+++ b/scraper/client/app.js
@@ -13,8 +13,9 @@ export default class App extends Component {
<Header />
<div className='app'>
<div className='body'>
+ <Route path="/paper/:key/" component={Paper.Manager} />
<Switch>
- <Route exact path="/paper/:key/" component={Paper.Container} />
+ <Route exact path="/paper/:key/info/" component={Paper.Info} />
</Switch>
</div>
</div>
diff --git a/scraper/client/common/header.component.js b/scraper/client/common/header.component.js
index 5a100e90..a14d925f 100644
--- a/scraper/client/common/header.component.js
+++ b/scraper/client/common/header.component.js
@@ -15,7 +15,7 @@ class Header extends Component {
pickPaper(e) {
console.log(e.target.value)
- history.push('/paper/' + e.target.value)
+ history.push('/paper/' + e.target.value + '/info/')
// this.props.actions.getPaperData(e.target.value)
}
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)