refactoring
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
<script src="./js/PrrBySymptomTableView.js"></script>
|
<script src="./js/PrrBySymptomTableView.js"></script>
|
||||||
<script src="./js/SymptomVsSymptomChartView.js"></script>
|
<script src="./js/SymptomVsSymptomChartView.js"></script>
|
||||||
<script src="./js/SymptomVsSymptomChartDataProvider.js"></script>
|
<script src="./js/SymptomVsSymptomChartDataProvider.js"></script>
|
||||||
|
<script src="./js/SymptomVsSymptomChartViewInitializer.js"></script>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener(
|
document.addEventListener(
|
||||||
"DOMContentLoaded",
|
"DOMContentLoaded",
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
class PageInitializer {
|
class PageInitializer {
|
||||||
|
|
||||||
static #symptomVsSymptomChartView;
|
|
||||||
static #symptomX = null;
|
|
||||||
static #symptomY = null;
|
|
||||||
|
|
||||||
static initializePage({ symptom, vaccine, symptomVsSymptomChart }) {
|
static initializePage({ symptom, vaccine, symptomVsSymptomChart }) {
|
||||||
PageInitializer.#configureSymptom(symptom);
|
PageInitializer.#configureSymptom(symptom);
|
||||||
PageInitializer.#configureVaccine(vaccine);
|
PageInitializer.#configureVaccine(vaccine);
|
||||||
@@ -30,27 +26,10 @@ class PageInitializer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static #configureSymptomVsSymptomChart({ symptomSelectXElement, symptomSelectYElement, symptomVsSymptomChartViewElement }) {
|
static #configureSymptomVsSymptomChart(symptomVsSymptomChart) {
|
||||||
PageInitializer.#symptomVsSymptomChartView = new SymptomVsSymptomChartView(symptomVsSymptomChartViewElement);
|
new SymptomVsSymptomChartViewInitializer().configureSymptomVsSymptomChart(
|
||||||
PageInitializer.#initializeSelectElement(
|
symptomVsSymptomChart,
|
||||||
{
|
PageInitializer.#initializeSelectElement);
|
||||||
selectElement: symptomSelectXElement,
|
|
||||||
onValueSelected: symptomX => {
|
|
||||||
PageInitializer.#symptomX = symptomX;
|
|
||||||
PageInitializer.#loadAndDisplayChart();
|
|
||||||
},
|
|
||||||
minimumInputLength: 4
|
|
||||||
});
|
|
||||||
PageInitializer.#initializeSelectElement(
|
|
||||||
{
|
|
||||||
selectElement: symptomSelectYElement,
|
|
||||||
onValueSelected: symptomY => {
|
|
||||||
PageInitializer.#symptomY = symptomY;
|
|
||||||
PageInitializer.#loadAndDisplayChart();
|
|
||||||
},
|
|
||||||
minimumInputLength: 4
|
|
||||||
});
|
|
||||||
PageInitializer.#loadAndDisplayChart();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static #initializeSelectElement({ selectElement, onValueSelected, minimumInputLength }) {
|
static #initializeSelectElement({ selectElement, onValueSelected, minimumInputLength }) {
|
||||||
@@ -62,12 +41,4 @@ class PageInitializer {
|
|||||||
onValueSelected(value);
|
onValueSelected(value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static #loadAndDisplayChart() {
|
|
||||||
if (PageInitializer.#symptomX != null && PageInitializer.#symptomY != null) {
|
|
||||||
PageInitializer.#symptomVsSymptomChartView.loadAndDisplayChart(
|
|
||||||
PageInitializer.#symptomX,
|
|
||||||
PageInitializer.#symptomY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
class SymptomVsSymptomChartViewInitializer {
|
||||||
|
|
||||||
|
#symptomVsSymptomChartView;
|
||||||
|
#symptomX;
|
||||||
|
#symptomY;
|
||||||
|
|
||||||
|
configureSymptomVsSymptomChart(
|
||||||
|
{ symptomSelectXElement, symptomSelectYElement, symptomVsSymptomChartViewElement },
|
||||||
|
initializeSelectElement) {
|
||||||
|
|
||||||
|
this.#symptomVsSymptomChartView = new SymptomVsSymptomChartView(symptomVsSymptomChartViewElement);
|
||||||
|
{
|
||||||
|
initializeSelectElement(
|
||||||
|
{
|
||||||
|
selectElement: symptomSelectXElement,
|
||||||
|
onValueSelected: symptomX => {
|
||||||
|
this.#symptomX = symptomX;
|
||||||
|
this.#loadAndDisplayChart();
|
||||||
|
},
|
||||||
|
minimumInputLength: 4
|
||||||
|
});
|
||||||
|
this.#symptomX = null;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
initializeSelectElement(
|
||||||
|
{
|
||||||
|
selectElement: symptomSelectYElement,
|
||||||
|
onValueSelected: symptomY => {
|
||||||
|
this.#symptomY = symptomY;
|
||||||
|
this.#loadAndDisplayChart();
|
||||||
|
},
|
||||||
|
minimumInputLength: 4
|
||||||
|
});
|
||||||
|
this.#symptomY = null;
|
||||||
|
}
|
||||||
|
this.#loadAndDisplayChart();
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadAndDisplayChart() {
|
||||||
|
if (this.#symptomX != null && this.#symptomY != null) {
|
||||||
|
this.#symptomVsSymptomChartView.loadAndDisplayChart(this.#symptomX, this.#symptomY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
<script src="../js/PrrBySymptomTableView.js"></script>
|
<script src="../js/PrrBySymptomTableView.js"></script>
|
||||||
<script src="../js/SymptomVsSymptomChartView.js"></script>
|
<script src="../js/SymptomVsSymptomChartView.js"></script>
|
||||||
<script src="../js/SymptomVsSymptomChartDataProvider.js"></script>
|
<script src="../js/SymptomVsSymptomChartDataProvider.js"></script>
|
||||||
|
<script src="../js/SymptomVsSymptomChartViewInitializer.js"></script>
|
||||||
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.17.2.css">
|
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.17.2.css">
|
||||||
<script src="https://code.jquery.com/qunit/qunit-2.17.2.js"></script>
|
<script src="https://code.jquery.com/qunit/qunit-2.17.2.js"></script>
|
||||||
<script type="text/javascript" src="./jshamcrest.js"></script>
|
<script type="text/javascript" src="./jshamcrest.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user