diff --git a/docs/SymptomsCausedByDrugs/index.html b/docs/SymptomsCausedByDrugs/index.html
index 91ff432b899..243d67e9e6b 100644
--- a/docs/SymptomsCausedByDrugs/index.html
+++ b/docs/SymptomsCausedByDrugs/index.html
@@ -27,6 +27,7 @@
+
@@ -42,22 +43,18 @@
"DOMContentLoaded",
event => {
const name = 'Drug';
- const symptomSearchParam = new SearchParam('symptom');
- const vaccineSearchParam = new SearchParam('vaccine');
PageInitializer.initializePage(
{
symptom: {
symptomSelectElement: $('#symptomSelect'),
- selectSymptom: symptomSearchParam.get(),
- onSymptomSelected: symptom => symptomSearchParam.set(symptom),
+ searchParam: new SearchParam('symptom'),
prrByVaccineTableElement: $('#prrByVaccineTable'),
downloadPrrByVaccineTableButton: document.querySelector("#downloadPrrByVaccineTable"),
keyColumnName: name
},
vaccine: {
vaccineSelectElement: $('#vaccineSelect'),
- selectVaccine: vaccineSearchParam.get(),
- onVaccineSelected: vaccine => vaccineSearchParam.set(vaccine),
+ searchParam: new SearchParam('vaccine'),
prrBySymptomTableElement: $('#prrBySymptomTable'),
downloadPrrBySymptomTableButton: document.querySelector("#downloadPrrBySymptomTable"),
valueName: name
diff --git a/docs/SymptomsCausedByDrugs/js/PageInitializer.js b/docs/SymptomsCausedByDrugs/js/PageInitializer.js
index e4a1ee846a2..d5c094d6107 100644
--- a/docs/SymptomsCausedByDrugs/js/PageInitializer.js
+++ b/docs/SymptomsCausedByDrugs/js/PageInitializer.js
@@ -5,29 +5,29 @@ class PageInitializer {
PageInitializer.#configureVaccine(vaccine);
}
- static #configureSymptom({ symptomSelectElement, selectSymptom, onSymptomSelected, prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName }) {
+ static #configureSymptom({ symptomSelectElement, searchParam, prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName }) {
const prrByVaccineTableView = new PrrByVaccineTableView(prrByVaccineTableElement, downloadPrrByVaccineTableButton, keyColumnName);
Select2.initializeSelectElement(
{
selectElement: symptomSelectElement,
- textOfOption2Select: selectSymptom,
+ textOfOption2Select: searchParam.get(),
onValueSelected: (id, text) => {
prrByVaccineTableView.displayPrrByVaccineTable4Symptom(id, text);
- onSymptomSelected(text);
+ searchParam.set(text);
},
minimumInputLength: 0
});
}
- static #configureVaccine({ vaccineSelectElement, selectVaccine, onVaccineSelected, prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName }) {
+ static #configureVaccine({ vaccineSelectElement, searchParam, prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName }) {
const prrBySymptomTableView = new PrrBySymptomTableView(prrBySymptomTableElement, downloadPrrBySymptomTableButton, valueName);
Select2.initializeSelectElement(
{
selectElement: vaccineSelectElement,
- textOfOption2Select: selectVaccine,
+ textOfOption2Select: searchParam.get(),
onValueSelected: (id, text) => {
prrBySymptomTableView.displayPrrBySymptomTable4Vaccine(id, text);
- onVaccineSelected(text);
+ searchParam.set(text);
},
minimumInputLength: 0
});
diff --git a/docs/SymptomsCausedByDrugs/js/PrrByKeyTableView.js b/docs/SymptomsCausedByDrugs/js/PrrByKeyTableView.js
index 715f8473e5d..378f5c30130 100644
--- a/docs/SymptomsCausedByDrugs/js/PrrByKeyTableView.js
+++ b/docs/SymptomsCausedByDrugs/js/PrrByKeyTableView.js
@@ -33,7 +33,7 @@ class PrrByKeyTableView {
}
#downloadPrrByKey() {
- UIUtils.downloadUrlAsFilename(
+ UrlUtils.downloadUrlAsFilename(
window.URL.createObjectURL(
new Blob(
[this.#prrByKeyTable.getDisplayedTableAsCsv(`# ${this.#valueName}: ${this.#text}`)],
diff --git a/docs/SymptomsCausedByDrugs/js/SearchParam.js b/docs/SymptomsCausedByDrugs/js/SearchParam.js
index 6c911f2f467..d22583d1bec 100644
--- a/docs/SymptomsCausedByDrugs/js/SearchParam.js
+++ b/docs/SymptomsCausedByDrugs/js/SearchParam.js
@@ -7,10 +7,10 @@ class SearchParam {
}
get() {
- return UIUtils.getSearchParamOfCurrentUrl(this.#name);
+ return UrlUtils.getSearchParamOfCurrentUrl(this.#name);
}
set(value) {
- UIUtils.setSearchParamOfCurrentUrl(this.#name, value);
+ UrlUtils.setSearchParamOfCurrentUrl(this.#name, value);
}
}
\ No newline at end of file
diff --git a/docs/SymptomsCausedByVaccines/index.html b/docs/SymptomsCausedByVaccines/index.html
index a72065159ff..b318664b19b 100644
--- a/docs/SymptomsCausedByVaccines/index.html
+++ b/docs/SymptomsCausedByVaccines/index.html
@@ -26,6 +26,7 @@
+
diff --git a/docs/UIUtils.js b/docs/UIUtils.js
index d5b113f62a0..668fc8758d5 100644
--- a/docs/UIUtils.js
+++ b/docs/UIUtils.js
@@ -27,32 +27,4 @@ class UIUtils {
static getSelectedOption(selectElement) {
return selectElement.options[selectElement.selectedIndex];
}
-
- static getSearchParam(urlParams, searchParam, defaultValue) {
- return urlParams.has(searchParam) ?
- urlParams.get(searchParam) :
- defaultValue;
- }
-
- static isSearchParamYES(urlParams, searchParam) {
- return UIUtils.getSearchParam(urlParams, searchParam, 'NO').toUpperCase() == 'YES';
- }
-
- static getSearchParamOfCurrentUrl(searchParam) {
- const urlSearchParams = new URLSearchParams(window.location.search);
- return UIUtils.getSearchParam(urlSearchParams, searchParam, null)
- }
-
- static setSearchParamOfCurrentUrl(nameOfSearchParam, valueOfSearchParam) {
- const url = new URL(window.location.href);
- url.searchParams.set(nameOfSearchParam, valueOfSearchParam);
- window.history.replaceState(null, "", url);
- }
-
- static downloadUrlAsFilename(url, filename) {
- const a = document.createElement('a');
- a.setAttribute('href', url);
- a.setAttribute('download', filename);
- a.click();
- }
}
diff --git a/docs/UrlUtils.js b/docs/UrlUtils.js
new file mode 100644
index 00000000000..eb84b60ebab
--- /dev/null
+++ b/docs/UrlUtils.js
@@ -0,0 +1,38 @@
+class UrlUtils {
+
+ static isSearchParamYES(urlParams, searchParam) {
+ return UrlUtils.#getSearchParam(urlParams, searchParam, 'NO').toUpperCase() == 'YES';
+ }
+
+ static getSearchParamOfCurrentUrl(searchParam) {
+ return UrlUtils.#getSearchParam(
+ new URLSearchParams(window.location.search),
+ searchParam,
+ null)
+ }
+
+ static setSearchParamOfCurrentUrl(nameOfSearchParam, valueOfSearchParam) {
+ UrlUtils.#setSearchParam(
+ new URL(window.location.href),
+ nameOfSearchParam,
+ valueOfSearchParam);
+ }
+
+ static downloadUrlAsFilename(url, filename) {
+ const a = document.createElement('a');
+ a.setAttribute('href', url);
+ a.setAttribute('download', filename);
+ a.click();
+ }
+
+ static #getSearchParam(urlParams, searchParam, defaultValue) {
+ return urlParams.has(searchParam) ?
+ urlParams.get(searchParam) :
+ defaultValue;
+ }
+
+ static #setSearchParam(url, nameOfSearchParam, valueOfSearchParam) {
+ url.searchParams.set(nameOfSearchParam, valueOfSearchParam);
+ window.history.replaceState(null, "", url);
+ }
+}
diff --git a/docs/batchCodes.html b/docs/batchCodes.html
index e11eeef01ce..59b4daf8988 100644
--- a/docs/batchCodes.html
+++ b/docs/batchCodes.html
@@ -30,6 +30,7 @@
+
@@ -41,8 +42,8 @@
new BatchCodeTableInitializer().initialize(
{
batchCodeTableElement: $('#batchCodeTable'),
- showCountriesColumn: UIUtils.isSearchParamYES(urlSearchParams, 'showCountriesColumn'),
- showDataTablesFilter: UIUtils.isSearchParamYES(urlSearchParams, 'showDataTablesFilter'),
+ showCountriesColumn: UrlUtils.isSearchParamYES(urlSearchParams, 'showCountriesColumn'),
+ showDataTablesFilter: UrlUtils.isSearchParamYES(urlSearchParams, 'showDataTablesFilter'),
});
});