making symptoms for scatter chart axes selectable
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,13 @@
|
|||||||
class PageInitializer {
|
class PageInitializer {
|
||||||
|
|
||||||
static #symptomVsSymptomChartView;
|
static #symptomVsSymptomChartView;
|
||||||
|
static #symptomX = 'Immunosuppression';
|
||||||
|
static #symptomY = 'Immunoglobulin therapy';
|
||||||
|
|
||||||
static initializePage({ symptom, vaccine, symptomVsSymptomChartViewElement }) {
|
static initializePage({ symptom, vaccine, symptomVsSymptomChart }) {
|
||||||
PageInitializer.#configureSymptom(symptom);
|
PageInitializer.#configureSymptom(symptom);
|
||||||
PageInitializer.#configureVaccine(vaccine);
|
PageInitializer.#configureVaccine(vaccine);
|
||||||
PageInitializer.#symptomVsSymptomChartView = new SymptomVsSymptomChartView(symptomVsSymptomChartViewElement);
|
PageInitializer.#configureSymptomVsSymptomChart(symptomVsSymptomChart);
|
||||||
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart('Immunosuppression', 'Immunoglobulin therapy');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static #configureSymptom({ symptomSelectElement, prrByVaccineTableElement, downloadPrrByVaccineTableButton }) {
|
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 }) {
|
static #initializeSelectElement({ selectElement, onValueSelected, minimumInputLength }) {
|
||||||
selectElement.select2({ minimumInputLength: minimumInputLength });
|
selectElement.select2({ minimumInputLength: minimumInputLength });
|
||||||
selectElement.on(
|
selectElement.on(
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ class SymptomVsSymptomChartView {
|
|||||||
this.#canvas = canvas;
|
this.#canvas = canvas;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FK-TODO: refactor
|
|
||||||
loadAndDisplayChart(symptomX, symptomY) {
|
loadAndDisplayChart(symptomX, symptomY) {
|
||||||
Promise
|
Promise
|
||||||
.all([symptomX, symptomY].map(symptom => PrrByVaccineProvider.getPrrByVaccine(symptom)))
|
.all([symptomX, symptomY].map(symptom => PrrByVaccineProvider.getPrrByVaccine(symptom)))
|
||||||
@@ -18,12 +17,6 @@ class SymptomVsSymptomChartView {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setData(histoDescr) {
|
|
||||||
const data = this.#getData(histoDescr);
|
|
||||||
this.#chart.config.data = data;
|
|
||||||
this.#chart.update();
|
|
||||||
}
|
|
||||||
|
|
||||||
#displayChart(symptomX, symptomY, labels, data) {
|
#displayChart(symptomX, symptomY, labels, data) {
|
||||||
if (this.#chart != null) {
|
if (this.#chart != null) {
|
||||||
this.#chart.destroy();
|
this.#chart.destroy();
|
||||||
|
|||||||
Reference in New Issue
Block a user