Files
HowBadIsMyBatch/docs/HistogramView.js
frankknoll 2651ee8017 refactoring
2023-01-28 22:51:28 +01:00

46 lines
1.3 KiB
JavaScript

class HistogramView {
#uiContainer;
constructor(uiContainer) {
this.#uiContainer = uiContainer
}
displayHistogramsForBatchcode(batchcode) {
this
.#loadHistoDescrsForBatchcode(batchcode)
.then(histoDescrs => {
for (const histoDescr of histoDescrs.histograms) {
const canvas = document.createElement("canvas");
this.#uiContainer.appendChild(canvas);
this.#displayHistogram(histoDescr, canvas);
}
});
}
#loadHistoDescrsForBatchcode(batchcode) {
const loadingText = document.createTextNode('Loading...');
this.#uiContainer.appendChild(loadingText);
return fetch(`data/histograms/${batchcode}.json`)
.then(response => {
loadingText.remove();
return response.json();
})
}
#displayHistogram(histoDescr, canvas) {
// FK-TODO: brauchen Slider wie bei intensivstationen
new Chart(
canvas,
{
type: 'bar',
data: {
datasets: [{
label: histoDescr.batchcodes.join(', '),
data: histoDescr.histogram
}]
}
}
);
}
}