Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core information center entwickeln
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;