diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-03-22 13:03:42 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-03-22 13:03:42 +0100 |
| commit | 190c2cfee56345598feb6af3100e571ce4688925 (patch) | |
| tree | 9e6e2cec8fc301656131d321804e237c48fd8071 | |
| parent | 73ac1f45da311681769feeb49be4e892576b9d19 (diff) | |
uses or not
| -rw-r--r-- | scraper/client/actions.js | 4 | ||||
| -rw-r--r-- | scraper/client/paper/paper.citations.js | 31 | ||||
| -rw-r--r-- | scraper/client/paper/paper.css | 11 | ||||
| -rw-r--r-- | scraper/client/paper/paper.verify.js | 23 | ||||
| -rw-r--r-- | scraper/client/store.js | 2 |
5 files changed, 63 insertions, 8 deletions
diff --git a/scraper/client/actions.js b/scraper/client/actions.js index 6c4e16b2..734a8cbd 100644 --- a/scraper/client/actions.js +++ b/scraper/client/actions.js @@ -32,6 +32,10 @@ export const postAddress = data => dispatch => { api(dispatch, post, 'address', '/api/address/add', data) } +export const getVerifications = () => dispatch => ( + api(dispatch, get, 'verifications', '/api/verifications', {}) +) + export const getVerification = sha256 => dispatch => ( api(dispatch, get, 'verify', '/api/verify/' + sha256, {}) ) diff --git a/scraper/client/paper/paper.citations.js b/scraper/client/paper/paper.citations.js index 41ddd55e..53923c6e 100644 --- a/scraper/client/paper/paper.citations.js +++ b/scraper/client/paper/paper.citations.js @@ -8,11 +8,17 @@ import * as actions from '../actions' import { TableObject } from '../common' class PaperCitations extends Component { + componentDidMount() { + this.props.actions.getVerifications() + } + render() { const { dataset, citations } = this.props.api.paperInfo + let { verifications } = this.props.api.verifications + verifications = verifications || {} if (!dataset || !citations) return null console.log('rendering citations...') - console.log(citations) + // console.log(citations) return ( <div className='citations'> <h2>{dataset.name_full}: Citations</h2> @@ -27,19 +33,40 @@ class PaperCitations extends Component { _raw: true, value: (cite.pdf && cite.pdf.length) ? <a href={cite.pdf[0]} 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" + 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 verifications) { + const verification = verifications[citation.id] + cite.verified = { + _raw: true, + value: verification['uses_dataset'] === 'TRUE' ? <span className='verified'>uses dataset</span> : <span className='unverified'>doesn't use dataset</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', 'year', 'addresses']} + order={['id', 'pdf', 's2', 'year', 'addresses', 'verified']} /> </li> ) diff --git a/scraper/client/paper/paper.css b/scraper/client/paper/paper.css index 4815bd30..2d33ac76 100644 --- a/scraper/client/paper/paper.css +++ b/scraper/client/paper/paper.css @@ -26,6 +26,17 @@ cursor: pointer; color: #11f; } +.verified { + color: #080; + font-weight: bold; +} +.unverified { + color: #800; + font-weight: bold; +} +.unknown { + color: #888; +} .param { display: flex; diff --git a/scraper/client/paper/paper.verify.js b/scraper/client/paper/paper.verify.js index 5f85a551..582b7902 100644 --- a/scraper/client/paper/paper.verify.js +++ b/scraper/client/paper/paper.verify.js @@ -10,8 +10,8 @@ import { Loader, Autocomplete } from '../common' const initialState = { citation: null, + verifiable: false, uses_dataset: false, - doesnt_use_dataset: true, images_in_paper: false, verified_by: localStorage.getItem('verify.username') || '', reference: '', @@ -63,8 +63,8 @@ class PaperVerify extends Component { const citationState = this.getCitationState(sha256) this.setState({ ...citationState, + verifiable: paper.verifiable === "TRUE", uses_dataset: paper.uses_dataset === "TRUE", - doesnt_use_dataset: paper.doesnt_use_dataset === "TRUE", images_in_paper: paper.images_in_paper === "TRUE", verified_by: paper.verified_by, reference: paper.reference, @@ -102,8 +102,8 @@ class PaperVerify extends Component { paper_id: this.state.citation.id, title: this.state.citation.title, dataset: this.props.api.paperInfo.dataset.key, + verifiable: this.state.verifiable, uses_dataset: this.state.uses_dataset, - doesnt_use_dataset: this.state.doesnt_use_dataset, images_in_paper: this.state.images_in_paper, verified_by: this.state.verified_by, reference: this.state.reference, @@ -187,6 +187,19 @@ class PaperVerify extends Component { </div> <div className='param'> + <label>{"Verifiable"}</label> + <input + className='vetting' + type='checkbox' + name='verifiable' + checked={!!this.state.verifiable} + onChange={e => this.setState({ + verifiable: e.target.checked, + })} + /> + </div> + + <div className='param'> <label>Uses the dataset?</label> <input className='vetting' @@ -195,7 +208,6 @@ class PaperVerify extends Component { checked={!!this.state.uses_dataset} onChange={e => this.setState({ uses_dataset: e.target.checked, - doesnt_use_dataset: !e.target.checked, })} /> </div> @@ -206,10 +218,9 @@ class PaperVerify extends Component { className='vetting' type='radio' name='uses_dataset' - checked={!!this.state.doesnt_use_dataset} + checked={!this.state.uses_dataset} onChange={e => this.setState({ uses_dataset: !e.target.checked, - doesnt_use_dataset: e.target.checked })} /> </div> diff --git a/scraper/client/store.js b/scraper/client/store.js index 8649d472..b199ae29 100644 --- a/scraper/client/store.js +++ b/scraper/client/store.js @@ -13,6 +13,8 @@ const initialState = () => ({ address: {}, paperInfo: {}, unknownCitations: {}, + verify: {}, + verifications: {}, options: {} }) |
