diff options
Diffstat (limited to 'scraper/client/paper/paper.citations.js')
| -rw-r--r-- | scraper/client/paper/paper.citations.js | 74 |
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)} + /> ) } } |
