Filter Builder-Komponente des Jitterbit Connector SDK
Übersicht
Die Filter Builder-Komponente zeigt eine Liste von Objekten an und bietet ein Textfeld, in das ein Benutzer einen Filterausdruck eingeben kann. Sie muss von einer List Object Component in einem vorherigen Schritt vorausgegangen werden, um Daten an die Komponente bereitzustellen.
Komponentenmerkmale
Die Filter Builder-Komponente umfasst integriertes Verhalten für das Suchen, Aktualisieren und Festlegen von Filterausdrücken:
- Suchleiste: Benutzer können ein Schlüsselwort eingeben und die Felder filtern.
- Aktualisieren: Ein Klick ruft Daten vom Connector ab und aktualisiert die Liste der Felder.
- Offenlegungsdreieck: Ein Klick klappt die Liste der Felder ein und aus.
- Ziehen und Ablegen: Felder können von der linken Seite gezogen und in das rechte Textfeld abgelegt werden, zusätzlich zur Eingabe eines Feldnamens.
- Rechtes Textfeld: Ein leeres Textfeld, in das ein Benutzer einen Ausdruck eingeben oder Feldnamen ziehen kann. Es darf nicht leer sein, damit das Formular gültig ist und der Wechsel zum nächsten Schritt ermöglicht wird.
Das Ergebnis der Komponente ist ein Filterstring, der 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"
}
}
},
{
. . .
}
]
}
In der JSON-Beschreibung des filter-builder
können diese Eigenschaften konfiguriert werden:
type
: Der Typ der Filter Builder-Komponente muss"filter-builder"
sein.widgetHint
: DerwidgetHint
der Filter Builder-Komponente muss"component:connector/filter-builder"
sein.leftSubTitle
: Titel über der Liste von Objekten auf der linken Seite der Komponente.rightSubTitle
: Titel über dem Textfeld auf der rechten Seite der Komponente.
Komponenten Eigenschaften
Die Eigenschaften werden in einem Objekt zurückgegeben, das diesem ähnlich ist:
interface PropertyShape {
filterString: string;
auxiliaryClasses: string;
objectId: string;
}
Das Feld filterString
enthält den Filter, der vom Benutzer im rechten Textbereich eingegeben wurde. Es wird als JSON-String zurückgegeben und kann in der execute()
-Methode einer Aktivität mit ähnlichem Code wie diesem abgerufen werden:
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) {
. . .
}
. . .