summaryrefslogtreecommitdiff
path: root/client/tables.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/tables.js')
-rw-r--r--client/tables.js40
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)
+ })
+ }
}