From a08d48dc662734ae927d0b73c689f32091cea1b3 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Sun, 11 Jun 2023 17:12:10 +0200 Subject: [PATCH] fixing: "das Suchfeld in der Tabelle wieder herstellen" --- docs/BatchCodeTableInitializer.js | 12 +++++++-- docs/DataTablesFilter.js | 26 +++++++++++++++++++ docs/HowBadIsMyBatch.html | 1 + docs/UIUtils.js | 4 +++ docs/VaccineDistributionByZipcode.html | 2 +- ...neDistributionByZipcodeTableInitializer.js | 8 +----- docs/batchCodeTable.css | 4 --- docs/batchCodes.html | 5 +++- 8 files changed, 47 insertions(+), 15 deletions(-) create mode 100644 docs/DataTablesFilter.js 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 85ed3f20ec0..3736272e21c 100644 --- a/docs/HowBadIsMyBatch.html +++ b/docs/HowBadIsMyBatch.html @@ -28,6 +28,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"> + +