refactoring

This commit is contained in:
Frank Knoll
2024-07-12 10:41:01 +02:00
parent d8b23880e2
commit a7e88bcce0
8 changed files with 4240 additions and 154 deletions

View File

@@ -39,17 +39,20 @@
document.addEventListener(
"DOMContentLoaded",
event => {
const name = 'Drug';
PageInitializer.initializePage(
{
symptom: {
symptomSelectElement: $('#symptomSelect'),
prrByVaccineTableElement: $('#prrByVaccineTable'),
downloadPrrByVaccineTableButton: document.querySelector("#downloadPrrByVaccineTable")
downloadPrrByVaccineTableButton: document.querySelector("#downloadPrrByVaccineTable"),
keyColumnName: name
},
vaccine: {
vaccineSelectElement: $('#vaccineSelect'),
prrBySymptomTableElement: $('#prrBySymptomTable'),
downloadPrrBySymptomTableButton: document.querySelector("#downloadPrrBySymptomTable")
downloadPrrBySymptomTableButton: document.querySelector("#downloadPrrBySymptomTable"),
valueName: name
}
}
);

View File

@@ -5,8 +5,8 @@ class PageInitializer {
PageInitializer.#configureVaccine(vaccine);
}
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton }) {
const prrByVaccineTableView = new PrrByVaccineTableView(prrByVaccineTableElement, downloadPrrByVaccineTableButton);
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName }) {
const prrByVaccineTableView = new PrrByVaccineTableView(prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName);
PageInitializer.#initializeSelectElement(
{
selectElement: symptomSelectElement,
@@ -15,8 +15,8 @@ class PageInitializer {
});
}
static #configureVaccine({ vaccineSelectElement, prrBySymptomTableElement, downloadPrrBySymptomTableButton }) {
const prrBySymptomTableView = new PrrBySymptomTableView(prrBySymptomTableElement, downloadPrrBySymptomTableButton);
static #configureVaccine({ vaccineSelectElement, prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName }) {
const prrBySymptomTableView = new PrrBySymptomTableView(prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName);
PageInitializer.#initializeSelectElement(
{
selectElement: vaccineSelectElement,

View File

@@ -2,11 +2,11 @@ class PrrBySymptomTableView {
#delegate;
constructor(prrBySymptomTableElement, downloadPrrBySymptomTableButton) {
constructor(prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName) {
this.#delegate = new PrrByKeyTableView(
this.#createPrrBySymptomTable(prrBySymptomTableElement),
downloadPrrBySymptomTableButton,
'Drug',
valueName,
PrrByVaccineProvider.getPrrBySymptom);
}

View File

@@ -2,9 +2,9 @@ class PrrByVaccineTableView {
#delegate;
constructor(prrByVaccineTableElement, downloadPrrByVaccineTableButton) {
constructor(prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName) {
this.#delegate = new PrrByKeyTableView(
this.#createPrrByVaccineTable(prrByVaccineTableElement),
this.#createPrrByVaccineTable(prrByVaccineTableElement, keyColumnName),
downloadPrrByVaccineTableButton,
'Symptom',
PrrByVaccineProvider.getPrrByVaccine);
@@ -14,10 +14,10 @@ class PrrByVaccineTableView {
this.#delegate.displayPrrByKeyTable4Value(id, text);
}
#createPrrByVaccineTable(tableElement) {
#createPrrByVaccineTable(tableElement, keyColumnName) {
return new PrrByKeyTable({
tableElement: tableElement,
keyColumnName: 'Drug',
keyColumnName: keyColumnName,
prrColumnName: 'Lower Confidence Limit of Proportional Reporting Ratio',
shallMarkRowIfPrrTooHigh: true
});

File diff suppressed because one or more lines are too long

View File

@@ -5,8 +5,8 @@ class PageInitializer {
PageInitializer.#configureVaccine(vaccine);
}
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton }) {
const prrByVaccineTableView = new PrrByVaccineTableView(prrByVaccineTableElement, downloadPrrByVaccineTableButton);
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName }) {
const prrByVaccineTableView = new PrrByVaccineTableView(prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName);
PageInitializer.#initializeSelectElement(
{
selectElement: symptomSelectElement,
@@ -15,8 +15,8 @@ class PageInitializer {
});
}
static #configureVaccine({ vaccineSelectElement, prrBySymptomTableElement, downloadPrrBySymptomTableButton }) {
const prrBySymptomTableView = new PrrBySymptomTableView(prrBySymptomTableElement, downloadPrrBySymptomTableButton);
static #configureVaccine({ vaccineSelectElement, prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName }) {
const prrBySymptomTableView = new PrrBySymptomTableView(prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName);
PageInitializer.#initializeSelectElement(
{
selectElement: vaccineSelectElement,

View File

@@ -2,11 +2,11 @@ class PrrBySymptomTableView {
#delegate;
constructor(prrBySymptomTableElement, downloadPrrBySymptomTableButton) {
constructor(prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName) {
this.#delegate = new PrrByKeyTableView(
this.#createPrrBySymptomTable(prrBySymptomTableElement),
downloadPrrBySymptomTableButton,
'Vaccine',
valueName,
PrrByVaccineProvider.getPrrBySymptom);
}

View File

@@ -2,9 +2,9 @@ class PrrByVaccineTableView {
#delegate;
constructor(prrByVaccineTableElement, downloadPrrByVaccineTableButton) {
constructor(prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName) {
this.#delegate = new PrrByKeyTableView(
this.#createPrrByVaccineTable(prrByVaccineTableElement),
this.#createPrrByVaccineTable(prrByVaccineTableElement, keyColumnName),
downloadPrrByVaccineTableButton,
'Symptom',
PrrByVaccineProvider.getPrrByVaccine);
@@ -14,10 +14,10 @@ class PrrByVaccineTableView {
this.#delegate.displayPrrByKeyTable4Value(id, text);
}
#createPrrByVaccineTable(tableElement) {
#createPrrByVaccineTable(tableElement, keyColumnName) {
return new PrrByKeyTable({
tableElement: tableElement,
keyColumnName: 'Vaccine',
keyColumnName: keyColumnName,
prrColumnName: 'Lower Confidence Limit of Proportional Reporting Ratio',
shallMarkRowIfPrrTooHigh: true
});