Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core information center entwickeln > Filterdefinitionen für agorum.composite.search.filter konfigurieren
Mit dieser aguila-Komponente stellen Sie einen Filter basierend auf einer Suche und einer Definition von Kriterien dar (Faceting / Gruppierung).
let filterWidget = aguila.create({ type: 'agorum.composite.search.filter', filter: [ .. ], filterSelection: [ .. ], query: '*', showErrors: false });
Informationen zu den Filtern und dem Filterbereich siehe Filterdefinitionen für agorum.composite.search.filter konfigurieren
Definiert die Filterelemente im Filterbereich.
Sie können diesen Parameter nachträglich ändern.
filterWidget.filter = { ... };
Beispiel
filter: [ { title: 'Objektarten', name: 'objectTypes', type: 'query', items: [ { title: 'Ordner', name: 'folders, query: 'isfolder:true' } ] } ];
Definiert, dass das System eine vordefinierte Suche lädt.
js/aguila/filter-search-result-details/sample-save-load.js
filterWidget.filterSelection = { ... };
Beispiel
filterSelection: { documentsMails: { value: true }, extensions: { value: [ 'html' ] } };
Definiert die Basis-Query, mit der das System den Filter lädt.
Sie können diesen Parameter nachträglich ändern.
Beispiel
filterWidget.query = 'neue query';
Holt die Ergebnismenge der letzten Suche (ReadOnly).
Beispiel
let totalResult = filterWidget.total;
Events, die Sie zum Widget senden können.
Führt die Suche mit den eingestellten Parametern erneut aus.
Beispiel
filterWidget.fire('refresh');
Events, die das Widget sendet und auf die Sie reagieren können.
Löst aus, sobald ein Benutzer im Filter eine Änderung vornimmt, d. h. ein Feld aus- oder abwählt.
Durch die Eigenschaft filterQuery holen Sie die neue Query des Filters.
Beispiel
filterWidget.on('filterQueryChanged', () => { // Hier kann jetzt etwas mit der Query des Filters gemacht werden let filterQuery = filterWidget.filterQuery; // Query, die sich aus den gewählten Elementen des Filters ergibt let filterSelection = filterWidget.filterSelection; // Selektierte Filter ... });
Löst aus, sobald ein Benutzer im Filter eine Suche ausführt.
Die Eigenschaft total enthält die aktuelle Suchergebnismenge.
Beispiel
filterWidget.on('totalChanged', () => { let total = filterWidget.total; // Anzahl der gefundenen Objekte, basierend auf dem Filter und dem Suchtext ... });
let aguila = require('common/aguila'); let common = require('/agorum/roi/customers/agorum.composite/js/common'); // Alle Dateiendungen des Systems gruppiert als Filter anzeigen let filter = [ { title: 'Dateiendung', name: 'nameextension', type: 'terms', field: 'nameextension', limit: 200, maxChars: 15, missing: true, missingText: 'Objekte ohne Endung' } ]; // HTML bereits im Filter vorauswaehlen let filterSelection = { nameextension: { value: [ 'html' ] } }; // Filterwidget erstellen let filterWidget = aguila.create({ type: 'agorum.composite.search.filter', filter: filter, filterSelection: filterSelection, query: '*', showErrors: false, width: 400, height: 600 }); // Auf Filter-Aenderung reagieren und erstellte Query anzeigen filterWidget.on('filterQueryChanged', () => { common.msg('Debug', filterWidget.filterQuery); }); filterWidget;