making symptoms for scatter chart axes selectable

This commit is contained in:
frankknoll
2023-11-09 11:29:38 +01:00
parent 15786071c8
commit eb69b5d553
3 changed files with 26383 additions and 12 deletions

View File

@@ -1,12 +1,13 @@
class PageInitializer {
static #symptomVsSymptomChartView;
static #symptomX = 'Immunosuppression';
static #symptomY = 'Immunoglobulin therapy';
static initializePage({ symptom, vaccine, symptomVsSymptomChartViewElement }) {
static initializePage({ symptom, vaccine, symptomVsSymptomChart }) {
PageInitializer.#configureSymptom(symptom);
PageInitializer.#configureVaccine(vaccine);
PageInitializer.#symptomVsSymptomChartView = new SymptomVsSymptomChartView(symptomVsSymptomChartViewElement);
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart('Immunosuppression', 'Immunoglobulin therapy');
PageInitializer.#configureSymptomVsSymptomChart(symptomVsSymptomChart);
}
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton }) {
@@ -29,6 +30,29 @@ class PageInitializer {
});
}
static #configureSymptomVsSymptomChart({ symptomSelectXElement, symptomSelectYElement, symptomVsSymptomChartViewElement }) {
PageInitializer.#symptomVsSymptomChartView = new SymptomVsSymptomChartView(symptomVsSymptomChartViewElement);
PageInitializer.#initializeSelectElement(
{
selectElement: symptomSelectXElement,
onValueSelected: symptomX => {
PageInitializer.#symptomX = symptomX;
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart(PageInitializer.#symptomX, PageInitializer.#symptomY);
},
minimumInputLength: 0
});
PageInitializer.#initializeSelectElement(
{
selectElement: symptomSelectYElement,
onValueSelected: symptomY => {
PageInitializer.#symptomY = symptomY;
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart(PageInitializer.#symptomX, PageInitializer.#symptomY);
},
minimumInputLength: 0
});
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart(PageInitializer.#symptomX, PageInitializer.#symptomY);
}
static #initializeSelectElement({ selectElement, onValueSelected, minimumInputLength }) {
selectElement.select2({ minimumInputLength: minimumInputLength });
selectElement.on(