Files
HowBadIsMyBatch/docs/BatchcodeByCountryBarChartView.js
2023-06-07 17:16:56 +02:00

44 lines
1.6 KiB
JavaScript

class BatchcodeByCountryBarChartView {
#uiContainer;
constructor(uiContainer) {
this.#uiContainer = uiContainer
}
displayBatchcodeByCountryBarChart(batchcode) {
this
.#loadBarChartDescription(batchcode)
.then(barChartDescription => this.#displayBatchcodeByCountryBarChart(barChartDescription));
}
#loadBarChartDescription(batchcode) {
const loadingText = document.createTextNode('Loading...');
this.#uiContainer.appendChild(loadingText);
return BarChartDescriptionProvider
.getBarChartDescription(batchcode)
.then(barChartDescriptionTable => {
loadingText.remove();
return barChartDescriptionTable;
});
}
#displayBatchcodeByCountryBarChart(barChartDescription) {
this.#displayHeading(barChartDescription.batchcode);
const chartWithSlider = UIUtils.instantiateTemplate('template-chartWithSlider');
const chartView = new BatchcodeByCountryBarChartView2(chartWithSlider.querySelector("canvas"));
this.#uiContainer.appendChild(chartWithSlider);
this.#displayBarChart(barChartDescription, chartView);
}
#displayHeading(batchcode) {
const h1 = document.createElement("h3");
h1.appendChild(document.createTextNode(`Frequencies of reported Symptoms for Batch Code Combinations containing ${batchcode}`));
this.#uiContainer.appendChild(h1);
}
#displayBarChart(barChartDescription, chartView) {
chartView.displayChart(barChartDescription);
}
}