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