Filter Builder-Komponente¶
Übersicht¶
Die Filter Builder-Komponente zeigt eine Liste von Objekten und stellt einen Textbereich bereit, in den ein Benutzer einen Filterausdruck eingeben kann. Davor muss eine List Object Component stehen in einem vorherigen Schritt, um der Komponente Daten bereitzustellen.
Komponentenfunktionen¶
Die Komponente „Filter Builder“ enthält integrierte Funktionen zum Suchen, Aktualisieren und Festlegen von Filterausdrücken:
- Suchleiste: Benutzer können ein Schlüsselwort eingeben und die Felder filtern.
- Aktualisieren: Durch Klicken werden Daten vom Connector abgerufen und die Liste der Felder aktualisiert.
- Offenlegungsdreieck: Durch Klicken wird die Liste der Felder ein- und ausgeblendet.
- Ziehen und Ablegen: Felder können von der linken Seite gezogen und in den rechten Textbereich abgelegt werden, zusätzlich zur Eingabe eines Feldnamens.
- Rechter Textbereich: Ein leerer Textbereich, in den ein Benutzer einen Ausdruck eingeben oder Feldnamen ziehen kann. Er darf nicht leer sein, damit das Formular gültig ist und der Übergang zum nächsten Schritt möglich ist.
Das Ergebnis der Komponente ist eine Filterzeichenfolge, die dann vom Connector verwendet werden kann.
Komponenten-JSON¶
{
"name": "filter-page",
"type": "pagination",
"children": [
{
. . .
},
{
"displayName": "Filter Builder",
"name": "filter",
"type": "filter-builder",
"widgetHint": "component:connector/filter-builder",
"use": {
"ui": {
"leftSubTitle": "Available Attributes",
"rightSubTitle": "Filter Expression"
}
}
},
{
. . .
}
]
}
Im JSON, das die filter-builder
können diese Eigenschaften konfiguriert werden:
type
: Der Filter Builder-Komponententyp muss"filter-builder"
.widgetHint
: Die Filter Builder-KomponentewidgetHint
muss sein"component:connector/filter-builder"
.leftSubTitle
: Titel über der Objektliste auf der linken Seite der Komponente.rightSubTitle
: Titel über dem Textbereich auf der rechten Seite der Komponente.
Komponenteneigenschaften¶
Die Eigenschaften werden in einem Objekt ähnlich diesem zurückgegeben:
interface PropertyShape {
filterString: string;
auxiliaryClasses: string;
objectId: string;
}
Das Feld filterString
enthält den Filter, der vom Benutzer im rechten Textbereich eingegeben wurde. Er wird als JSON-Zeichenfolge zurückgegeben und kann im execute()
Methode mit Code ähnlich diesem:
public void execute(ExecutionContext context) throws Exception {
Map<String, String> functionalParam = context.getFunctionParameters();
. . .
String filter = functionalParam.get(FILTER);
try {
JSONObject filterBuilder = new JSONObject(filter);
filter = filterBuilder.getString("filterString");
} catch (Exception ex) {
. . .
}
. . .