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;