From d3589104ea097c57f5c92da2d9c52f9d3dfec80d Mon Sep 17 00:00:00 2001 From: frankknoll Date: Sun, 15 Oct 2023 14:55:10 +0200 Subject: [PATCH] refactoring --- .../js/PrrByVaccineTable.js | 14 ++++++++++++++ .../js/PrrByVaccineTableView.js | 12 +----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/SymptomsCausedByVaccines/js/PrrByVaccineTable.js b/docs/SymptomsCausedByVaccines/js/PrrByVaccineTable.js index fc77d248933..637b79e5cf9 100644 --- a/docs/SymptomsCausedByVaccines/js/PrrByVaccineTable.js +++ b/docs/SymptomsCausedByVaccines/js/PrrByVaccineTable.js @@ -3,6 +3,7 @@ class PrrByVaccineTable { #tableElement; #table; #sumPrrs; + #prrByVaccine; constructor(tableElement) { this.#tableElement = tableElement; @@ -13,10 +14,23 @@ class PrrByVaccineTable { } display(prrByVaccine) { + this.#prrByVaccine = prrByVaccine; const vaccine_prr_pairs = Object.entries(prrByVaccine); this.#setTableRows(vaccine_prr_pairs); } + getDisplayedTableAsCsv(heading) { + return PrrByKey2CsvConverter.convertPrrByKey2Csv( + { + heading: heading, + columns: { + keyColumn: 'Vaccine', + prrColumn: 'Proportional Reporting Ratio' + }, + prrByKey: this.#prrByVaccine + }); + } + #createEmptyTable() { return this.#tableElement.DataTable( { diff --git a/docs/SymptomsCausedByVaccines/js/PrrByVaccineTableView.js b/docs/SymptomsCausedByVaccines/js/PrrByVaccineTableView.js index 6f377b1253c..c2e8aa9ef72 100644 --- a/docs/SymptomsCausedByVaccines/js/PrrByVaccineTableView.js +++ b/docs/SymptomsCausedByVaccines/js/PrrByVaccineTableView.js @@ -35,17 +35,7 @@ class PrrByVaccineTableView { UIUtils.downloadUrlAsFilename( window.URL.createObjectURL( new Blob( - [ - PrrByKey2CsvConverter.convertPrrByKey2Csv( - { - heading: '# Symptom: ' + this.#symptom, - columns: { - keyColumn: 'Vaccine', - prrColumn: 'Proportional Reporting Ratio' - }, - prrByKey: this.#prrByVaccine - }) - ], + [this.#prrByVaccineTable.getDisplayedTableAsCsv('# Symptom: ' + this.#symptom)], { type: 'text/csv' })), this.#symptom );