Files
HowBadIsMyBatch/docs/DrugsForPathologies/js/PageInitializer.js
Frank Knoll 02feabce8e refactoring
2024-07-28 11:33:12 +02:00

33 lines
1.2 KiB
JavaScript

class PageInitializer {
static initializePage({ pathologySelectElement, drugsChartViewElement, urlSearchParam }) {
PageInitializer.#configurePathologySelect(
{
pathologySelectElement: pathologySelectElement,
drugsChartView: new DrugsChartView(drugsChartViewElement),
urlSearchParam: urlSearchParam
});
}
static #configurePathologySelect({ pathologySelectElement, drugsChartView, urlSearchParam }) {
Select2.initializeSelectElement(
{
selectElement: pathologySelectElement,
minimumInputLength: 0,
textOfOption2Select: urlSearchParam.get(),
onSelectOptionHavingValueAndText: (id, text) => {
PageInitializer
.#loadDrugDescr(id)
.then(drugDescr => {
drugsChartView.displayChart(drugDescr);
urlSearchParam.set(text);
});
}
});
}
static #loadDrugDescr(id) {
return fetch(`data/DrugDescriptionsForPathologies/${id}.json`).then(response => response.json());
}
}