summaryrefslogtreecommitdiff
path: root/scraper/client/paper/paper.manager.js
diff options
context:
space:
mode:
Diffstat (limited to 'scraper/client/paper/paper.manager.js')
-rw-r--r--scraper/client/paper/paper.manager.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/scraper/client/paper/paper.manager.js b/scraper/client/paper/paper.manager.js
index 2ac03b01..8b25b1cc 100644
--- a/scraper/client/paper/paper.manager.js
+++ b/scraper/client/paper/paper.manager.js
@@ -3,6 +3,7 @@ import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import * as actions from '../actions'
+import { USES_DATASET } from '../types'
import { Loader } from '../common'
@@ -15,6 +16,40 @@ class PaperManager extends Component {
if (this.props.match.params.key !== oldProps.match.params.key) {
this.props.actions.getPaperInfo(this.props.match.params.key)
}
+ console.log('whoms?')
+ if (this.props.api.paperInfo.dataset !== oldProps.api.paperInfo.dataset && this.props.api.paperInfo.dataset && this.props.api.paperInfo.dataset.key) {
+ console.log('vert?')
+ this.props.actions.getVerificationsDataset(this.props.api.paperInfo.dataset.key)
+ }
+ if (this.props.api.verifications !== oldProps.api.verifications && this.props.api.paperInfo.dataset) {
+ console.log('updated?')
+ this.updateSortedCitations()
+ }
+ }
+
+ updateSortedCitations() {
+ const { api } = this.props
+ const { paperInfo, unknownCitations, verifications } = api
+ const { dataset } = paperInfo
+ if (!dataset || !paperInfo.citations || !unknownCitations.citations || !verifications[dataset.key]) {
+ this.props.actions.setSortedCitations([])
+ return
+ }
+ const citations = paperInfo.citations.concat(unknownCitations.citations)
+ let verifiedLookup = verifications[dataset.key] || {}
+ const sortedCitations = citations.map(citation => [
+ citation.title,
+ verifiedLookup[citation.id] ? verifiedLookup[citation.id].uses_dataset : USES_DATASET.NO_DATA,
+ citation.pdf.length,
+ citation
+ ])
+ .sort((a,b) => (b[1] - a[1] || b[2] - a[2] || (a[0].localeCompare(b[0]))))
+ .map(tup => ({
+ ...tup[3],
+ verified: tup[1],
+ }))
+ console.log('updated')
+ this.props.actions.setSortedCitations(sortedCitations)
}
render() {