diff --git a/docs/BatchCodeTableInitializer.js b/docs/BatchCodeTableInitializer.js
index 48ca09d9e66..2a3bdcba7ca 100644
--- a/docs/BatchCodeTableInitializer.js
+++ b/docs/BatchCodeTableInitializer.js
@@ -1,11 +1,12 @@
class BatchCodeTableInitializer {
- initialize({ batchCodeTableElement, showCountriesColumn }) {
+ initialize({ batchCodeTableElement, showCountriesColumn, showDataTablesFilter }) {
// FK-TODO: show "Loading.." message or spinning wheel.
this.#loadBarChartDescriptions(showCountriesColumn)
.then(barChartDescriptions => {
const batchCodeTable = this.#createEmptyBatchCodeTable(batchCodeTableElement, showCountriesColumn, barChartDescriptions);
this.#setVisibilityOfCountriesColumn(batchCodeTable, showCountriesColumn);
+ this.#setDataTablesFilter(showDataTablesFilter);
fetch('data/batchCodeTables/Global.json')
.then(response => response.json())
.then(json => {
@@ -35,7 +36,7 @@ class BatchCodeTableInitializer {
searching: true,
search:
{
- return: true
+ return: false
},
processing: true,
deferRender: true,
@@ -137,6 +138,13 @@ class BatchCodeTableInitializer {
.visible(showCountriesColumn);
}
+ #setDataTablesFilter(isEnabled) {
+ DataTablesFilter.setDataTablesFilter(
+ isEnabled ?
+ DataTablesFilter.FilterState.Enabled :
+ DataTablesFilter.FilterState.Disabled);
+ }
+
#addCountriesColumn(json) {
json.columns.push('Countries');
json.data.forEach(row => row.push(null));
diff --git a/docs/DataTablesFilter.js b/docs/DataTablesFilter.js
new file mode 100644
index 00000000000..89b0e84101f
--- /dev/null
+++ b/docs/DataTablesFilter.js
@@ -0,0 +1,26 @@
+class DataTablesFilter {
+
+ static FilterState = Object.freeze({
+ Enabled: Symbol("Enabled"),
+ Disabled: Symbol("Disabled")
+ })
+
+ static setDataTablesFilter(filterState) {
+ document.querySelector(".dataTables_filter").style.display = DataTablesFilter._getStyle(filterState);
+ }
+
+ static _getStyle(filterState) {
+ switch (filterState) {
+ case DataTablesFilter.FilterState.Enabled:
+ return "block";
+ case DataTablesFilter.FilterState.Disabled:
+ return "none";
+ }
+ }
+
+ static selectDataTablesFilter() {
+ const input = document.querySelector(".dataTables_filter input");
+ input.focus();
+ input.select();
+ }
+}
diff --git a/docs/HowBadIsMyBatch.html b/docs/HowBadIsMyBatch.html
index 5c1d2180ef9..3896de0ae35 100644
--- a/docs/HowBadIsMyBatch.html
+++ b/docs/HowBadIsMyBatch.html
@@ -27,6 +27,7 @@
+
diff --git a/docs/UIUtils.js b/docs/UIUtils.js
index 337352522a4..76050bd0dd0 100644
--- a/docs/UIUtils.js
+++ b/docs/UIUtils.js
@@ -64,4 +64,8 @@ class UIUtils {
urlParams.get(searchParam) :
defaultValue;
}
+
+ static isSearchParamYES(urlParams, searchParam) {
+ return UIUtils.getSearchParam(urlParams, searchParam, 'NO').toUpperCase() == 'YES';
+ }
}
diff --git a/docs/VaccineDistributionByZipcode.html b/docs/VaccineDistributionByZipcode.html
index 02952900e1b..68763ccba20 100644
--- a/docs/VaccineDistributionByZipcode.html
+++ b/docs/VaccineDistributionByZipcode.html
@@ -13,10 +13,10 @@
type="text/javascript">
+
+