Ausgangslage
Die Datapool-Konfiguration zeigt nicht in allen Konfigurationsmöglichkeiten einen Zähler für die gefundenen Resultate an.
Zudem besteht in bestimmten Fällen das Bedürfnis die Darstellung / die Texte individuell definieren zu können.
Lösungsansatz
Mit einem zusätzichen Script im Bereich "beginn" kann die nach Bedarf ergänzt werden. Der Script setzt einen Platzhalter (<p id='results'></p>) für das Zähl-Resultat und zählt die Elemente. Das Ergebniss wird in den Platzhalter geschrieben. Jedesmal, wenn eine Eingabe im Suchfeld / in den Suchfeldern erfolgt, wird die Zählung wiederholt.
Script (Beispiel)
$jax(document).ready(function(){ setTimeout(function(){ $jax('div[id*="dataPool_content"]').before("<p id='results'></p>"); $jax('input[id*="dataPool_filter_"]').on('keyup', function () { initCntResult(); }); function initCntResult() { var rowsde = $jax(".jsgrid-table .row").length; var resultatDE = "<span class='langDE'>Es wurden <strong>"+ rowsde +"</strong> Elemente gefunden</span>"; $jax('#results').html(resultatDE); } initCntResult(); }, 250); });
Dieses Beispiel zeigt eine alleinstehende Verwendung. Die Anzahl Zeilen werden in Zeile 11 mit $jax(".jsgrid-table .row").length ermittelt. Das muss je nach Ausgabe angepasst werden.
Anwendung
Der oben gezeigte Script muss je nach verwendeten anderen Scripts (bspw. Markieren der Resutate oder manuelle Filter) angepasst werden.
Beispiel mit DE/FR bei den E-Services des Kantons Bern > https://www.be.ch/de/start/dienstleistungen/e-services.html
function initCntResult() { var rowsde = $jax(".rowde").length; var rowsfr = $jax(".rowfr").length; var rowsen = $jax(".rowen").length; var resultatDE = "<span class='langDE'>Es wurden <strong>"+ rowsde +"</strong> E-Services gefunden</span>"; var resultatFR = "<span class='langFR'>La recherche a identifié <strong>"+ rowsfr +"</strong> services numériques.</span>"; var resultatEN = "<span class='langEN'>Es wurden <strong>"+ rowsen +"</strong> E-Services gefunden</span>"; var resultatTXT = resultatDE+resultatFR+resultatEN; $jax('#results').html(resultatTXT); } initCntResult();
Hier wird explizit nach Sprache gezählt. Das Konzept sieht je Eintrag und Sprache eine Zeile vor. So können E-Services die es nicht in EN oder nicht in FR gibt, für sich gezählt werden. Die Texte sind je nach Sprache individuell (EN-Übersetzung fehlt im Beispiel noch).
In diesem Fall wird die Funktion im keyup des Resultat-Highlighting ausgelöst.