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.
Die Darstellung des Platzhalters kann individuell über CSS gemacht werden ( p#results{ ... } ).
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.
Der oben gezeigte Script muss je nach verwendeten anderen Scripts (bspw. Markieren der Resutate oder manuelle Filter) angepasst werden.
Beispiel > E-Services Kanton Bern
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.