diff options
Diffstat (limited to 'client/tables.js')
| -rw-r--r-- | client/tables.js | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/client/tables.js b/client/tables.js index 6b00bbde..4a6c666f 100644 --- a/client/tables.js +++ b/client/tables.js @@ -10,8 +10,15 @@ const datasetColumns = [ { title: 'Influenced', field: 'influenced', sorter: 'number' }, // { title: 'Origin', field: 'origin', sorter: 'string' }, ] +const citationsColumns = [ + { title: 'Title', field: 'title', sorter: 'string' }, + { title: 'Institution', field: 'institution', sorter: 'string' }, +] function getColumns(payload) { + if (payload.cmd === 'citations') { + return citationsColumns + } if (payload.opt.match('datasets.csv')) { return datasetColumns } @@ -23,21 +30,38 @@ function getColumns(payload) { }) } +function getCitations(dataset) { + console.log(dataset.citations) + return dataset.citations.map(c => ({ + title: c[0], + institution: c[2], + })) +} + export default function append(el, payload) { + let url = payload.opt const columns = getColumns(payload) const table = new Tabulator(el, { height: '311px', - layout: 'fitDataFill', + layout: 'fitColumns', placeholder: 'No Data Set', columns, }) // let path = payload.opt // console.log(path, columns) - fetch(payload.opt, { mode: 'cors' }) - .then(r => r.text()) - .then(text => { - const data = csv.toJSON(text, { headers: { included: true } }) - console.log(data) - table.setData(data) - }) + + if (payload.cmd === 'citations') { + let { data } = payload + const citations = getCitations(data) + console.log(citations) + table.setData(citations) + } else { + fetch(url, { mode: 'cors' }) + .then(r => r.text()) + .then(text => { + const data = csv.toJSON(text, { headers: { included: true } }) + console.log(data) + table.setData(data) + }) + } } |
