diff --git a/Resources/Private/Partials/Recommender/Result.html b/Resources/Private/Partials/Recommender/Result.html index d510d3738319694b07f9338ebf49f23b4ec956ad..d0278042d0671db23cdbb78c1abc1889baaaa5af 100644 --- a/Resources/Private/Partials/Recommender/Result.html +++ b/Resources/Private/Partials/Recommender/Result.html @@ -5,8 +5,8 @@ <div> <div class="container mb-2"> <div class="row"> - <h2 class="col no-padding"><f:translate key="result.countAll" arguments="{count: '{results -> f:count()}'}"/></h2> - <h4 class="col no-padding"><f:translate key="result.countMatching" arguments="{count: '{countResults}'}"/></h4> + <h2 id="results-all" class="col no-padding" data-result-count="{results -> f:count()}"><f:translate key="result.countAll" arguments="{count: '{results -> f:count()}'}"/></h2> + <h4 id="results-matching" class="col no-padding" data-result-count="{countResults}"><f:translate key="result.countMatching" arguments="{count: '{countResults}'}"/></h4> <div id="result-action-wrapper" class="col row col-md-auto align-self-center"> <div id="button-action-wrapper"> <button id="button-filter-collapse" class="btn btn-primary collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-one" aria-expanded="false" aria-controls="collapse-one"><f:translate key="button.filter" default="Filter"/></button> diff --git a/Resources/Public/JavaScript/Recommender/main.js b/Resources/Public/JavaScript/Recommender/main.js index ddef6f350bbaefc4da4f2c16462247a457b7f552..3488578c4fcc345d9dfaa30ecd6f90d8150ff75d 100644 --- a/Resources/Public/JavaScript/Recommender/main.js +++ b/Resources/Public/JavaScript/Recommender/main.js @@ -183,9 +183,12 @@ $(document).ready(function () { listRows = getListRows(); tableRows = getTableRows(); + var countMatching = 0; + for (let i = 0; i < listRows.length; i++) { if (matchFilters(listRows[i])) { listRows[i].style.display = "list-item"; + countMatching++; } else { listRows[i].style.display = "none"; } @@ -198,6 +201,24 @@ $(document).ready(function () { tableRows[i].style.display = "none"; } } + + updateResultsCount(countMatching); + } + + function updateResultsCount(newCountMatching) { + var countAll = $("#results-all").data('result-count'); + var countMatching = $("#results-matching").data('result-count'); + var countDiffer = countAll - countMatching; + + var newCountAll = newCountMatching + countDiffer + + var labelParts = $("#results-all").text().split(' '); + labelParts[0] = newCountAll; + $("#results-all").text(labelParts.join(' ')); + + var labelParts = $("#results-matching").text().split(' '); + labelParts[0] = newCountMatching; + $("#results-matching").text(labelParts.join(' ')); } function resetFilters() {