diff options
| author | Brian Cully <bjc@spork.org> | 2025-07-16 19:18:50 -0400 |
|---|---|---|
| committer | Brian Cully <bjc@spork.org> | 2025-07-16 19:18:50 -0400 |
| commit | 9e14963bad67ab2c640e98bb2148635b551727ae (patch) | |
| tree | 70b24908063e21cf6f1ff133d713a338005109d3 /pnit-form.mjs | |
| parent | e1a9e10902de4d927f4c2c87b6c27e6303fa1ead (diff) | |
| download | pnit-9e14963bad67ab2c640e98bb2148635b551727ae.tar.gz pnit-9e14963bad67ab2c640e98bb2148635b551727ae.zip | |
add csv download
Diffstat (limited to 'pnit-form.mjs')
| -rw-r--r-- | pnit-form.mjs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/pnit-form.mjs b/pnit-form.mjs index c1fa16c..f85457b 100644 --- a/pnit-form.mjs +++ b/pnit-form.mjs @@ -1,3 +1,5 @@ +import CSVDump from './csv-dump.mjs'; + const worker = new Worker('worker.js', { type: 'module' }); export default class extends HTMLElement { @@ -24,6 +26,10 @@ export default class extends HTMLElement { return inputs.flatMap(inp => Array.from(inp.files)); } + get downloadButton() { + return this.querySelector('#csv-download'); + } + get resultTable() { return document.getElementById('pnit-results'); } @@ -37,6 +43,11 @@ export default class extends HTMLElement { this.form.onchange = this.process.bind(this); this.form.onchange(); + + this.downloadButton.onclick = _ => { + const dumper = new CSVDump(this.results); + dumper.download(); + } } handleWorkerMessage(e) { @@ -46,6 +57,7 @@ export default class extends HTMLElement { col.innerText = v; row.appendChild(col); }); + this.results.push(e.data); this.resultTable.appendChild(row); } @@ -60,6 +72,7 @@ export default class extends HTMLElement { process() { console.debug('PNITForm#process', this); + this.results = []; this.resultTable.innerHTML = ''; if (isNaN(this.threshold)) { |
