summaryrefslogtreecommitdiff
path: root/scraper/client/paper/paper.citations.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-03-28 16:25:23 +0100
committerJules Laplace <julescarbon@gmail.com>2019-03-28 16:25:23 +0100
commita8cfefc602a43753353940816633daae3e1692aa (patch)
treedea6f928b639777070c9bd9c9a3d7cc8cbfea9a4 /scraper/client/paper/paper.citations.js
parentb94cad3271d8269b5965d0096ce5564abed9ad53 (diff)
abstract into citationList component
Diffstat (limited to 'scraper/client/paper/paper.citations.js')
-rw-r--r--scraper/client/paper/paper.citations.js74
1 files changed, 7 insertions, 67 deletions
diff --git a/scraper/client/paper/paper.citations.js b/scraper/client/paper/paper.citations.js
index c55599e0..f0e9ea26 100644
--- a/scraper/client/paper/paper.citations.js
+++ b/scraper/client/paper/paper.citations.js
@@ -5,9 +5,11 @@ import { Link } from 'react-router-dom'
import * as actions from '../actions'
-import { TableObject, Loader } from '../common'
+import { Loader } from '../common'
import { USES_DATASET } from '../types'
+import CitationList from './citationList.component'
+
class PaperCitations extends Component {
componentDidUpdate(prevProps) {
if (this.props.api.paperInfo.dataset !== prevProps.api.paperInfo.dataset) {
@@ -19,74 +21,12 @@ class PaperCitations extends Component {
const { paperInfo, unknownCitations, verifications } = this.props.api
const { dataset, citations } = paperInfo
if (!dataset || !citations || !verifications[dataset.key]) return <Loader />
- let verifiedLookup = verifications[dataset.key] || {}
- // console.log(verifications)
return (
- <div className='citations'>
- <h2>{dataset.name_full}: Citations</h2>
- <ul>
- {citations.concat(unknownCitations.citations)
- .map(citation => [citation.title, verifiedLookup[citation.id] ? verifiedLookup[citation.id].uses_dataset : USES_DATASET.UNKNOWN, citation])
- .sort((a,b) => (b[1] - a[1] || (a[0].localeCompare(b[0]))))
- .map((pair, i) => {
- const [ title, uses_dataset, citation ] = pair
- let cite = { ...citation }
- cite.id = {
- _raw: true,
- value: <Link to={'/paper/' + dataset.key + '/verify/' + citation.id}>{citation.id}</Link>
- }
- cite.pdf = {
- _raw: true,
- value: (cite.pdf && cite.pdf.length)
- ? cite.pdf.map((pdf, i) => <a key={'pdf_' + i} href={pdf} rel='noopener noreferrer' target="_blank">[pdf]</a>)
- : "no pdf"
- }
- cite.s2 = {
- _raw: true,
- value: <a
- href={'https://www.semanticscholar.org/paper/' + citation.id}
- target="_blank"
- rel="noopener noreferrer"
- className={'pdfLink'}
- >{'[semantic scholar]'}</a>
- }
- cite.addresses = {
- _raw: true,
- value: (cite.addresses || []).map((address, j) => (
- <div key={j}>{address.name}{', '}<span className='type'>{address.type}</span></div>
- ))
- }
- if (citation.id in verifiedLookup) {
- const verification = verifiedLookup[citation.id]
- cite.verified = {
- _raw: true,
- value: verification.uses_dataset === USES_DATASET.YES
- ? <span className='verified'>uses dataset</span>
- : verification.uses_dataset === USES_DATASET.NO
- ? <span className='unverified'>{"doesn't use dataset"}</span>
- : <span className='unknown'>{"not enough information"}</span>
- }
- }
- else {
- cite.verified = {
- _raw: true,
- value: <span className='unknown'>unknown</span>
- }
- }
- return (
- <li key={i}>
- <TableObject
- summary
- object={cite}
- tag={cite.title}
- order={['id', 'pdf', 's2', 'year', 'addresses', 'verified']}
- />
- </li>
- )
- })}
- </ul>
- </div>
+ <CitationList
+ title={dataset.name_full + ': Citations'}
+ citations={citations.concat(unknownCitations.citations)}
+ />
)
}
}