Beschreiben Sie die Objektkomponente¶
Übersicht¶
Die Komponente „Objekt beschreiben“ kann überall dort verwendet werden, wo ein Benutzer Eingaben für eine Abfrage machen muss. (Trotz ihres Namens ist sie speziell für das Abrufen von Such- oder Abfrage konzipiert.) In vielen Implementierungen sind die Standardwerte der Komponente ausreichend. Es sind jedoch ein oder mehrere Schritte mit einem Listenobjekt erforderlich Komponente davor:
Komponentenfunktionen¶
Die Komponente „Objekt beschreiben“ umfasst integrierte Funktionen zum Suchen, Aktualisieren, Angeben und Testen von Abfragen:
- 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.
- Dreieck zum Öffnen: Durch Anklicken wird die Liste der Felder ein- bzw. ausgeblendet.
- Alles auswählen: Durch Klicken werden alle Felder ausgewählt bzw. die Auswahl aufgehoben.
- Testabfrage: Sendet die Abfrage an den Connector und zeigt die zurückgegebenen Daten an.
- Paging: Benutzer können Limit- und/oder Offset-Bedingungen angeben und auf Übernehmen oder Entfernen klicken, um diese Bedingungen hinzuzufügen oder zu entfernen.
- Bedingungen: Operatoren werden standardmäßig bereitgestellt, mit der Option, vom Entwickler zusätzliche Operatoren anzugeben. Sobald ein Objekt: Feld und ein Operator ausgewählt und ein Wert angegeben wurde, kann der Benutzer auf Hinzufügen klicken oder Alle entfernen verwenden, um die Operatoren zu löschen. Siehe Filterbedingungen für Einzelheiten.
- Filterbedingungen: Wenn die
tableMode
für die Komponente isttrue
können Filter mithilfe einer Tabellenkomponente hinzugefügt werden.
Das Ergebnis der Komponente ist eine Abfrage, die dann vom Connector verwendet werden kann.
Komponenten-JSON¶
{
"name": "query:describe-object",
"type": "pagination",
"children": [
{
"name": "describe-object",
"type": "describe-object",
"use": {
"ui": {
"pageTitle": "Build Your Query",
"description": "Fields To Retrieve",
"additionalOperators": [
{
"value": "IN ??",
"name": "In",
"description": "",
"type": "string",
"placeholder": "('value1', 'value2', ...)"
}
],
"disableQuery": false,
"hideQuery": false,
"tableMode": true
}
},
"widgetHint": "component:connector/describe-object",
"validators": [
{"name": "required"}
]
}
]
}
Im JSON, das die describe-object
können diese Eigenschaften konfiguriert werden:
type
: Der beschriebene Objektkomponententyp muss sein"describe-object"
.pageTitle
: Optionaler Text, der über der Komponente angezeigt wird. Wenn nicht definiert, wird der StandardtextBuild Your Query
wird stattdessen verwendet.description
: Optionaler Text, der über der Liste der Felder angezeigt wird. Wenn nicht definiert, wird der StandardtextFields to retrieve
wird stattdessen verwendet.additionalOperators
: Optionales Array von Operatoren, die zum Standardsatz von Operatoren hinzugefügt werden sollen. Siehe Zusätzliche Operatoren für Einzelheiten.disableQuery
: Wenntrue
(Standard) ist die Bearbeitung der Abfrage deaktiviert.hideQuery
: Wenntrue
wird die Abfrage nicht angezeigt. Der Standardwert istfalse
und die Abfrage wird angezeigt.tableMode
: Wenntrue
werden die Filterbedingungen tabellarisch über eine Tabellenkomponente angezeigt. Der Standardwert istfalse
und die Bedingungen werden über Dropdown-Menüs angezeigt. Siehe Filterbedingungen für Einzelheiten.
Hinzufügen von Anführungszeichen zu einer Bedingung¶
Die Komponente kann dynamisch konfiguriert werden, um beim Erstellen der Abfrage Anführungszeichen zu verwenden.
Dies wird implementiert, indem dem Endpoint zwei Eigenschaften hinzugefügt werden:
quoteValue
: Ein versteckter Wert in den Endpoint, der auf den entsprechenden Wert gesetzt wird, der beim Abgrenzen von Anführungszeichen verwendet werden soll. Normalerweise wird dies auf das Anführungszeichen gesetzt."
.caseSensitive
: Eine Checkbox-Eigenschaft (Boolesch) in den Endpoint mit einem entsprechenden Anzeigenamen. Wenn auftrue
, DiequoteValue
Das Zeichen wird verwendet, um den Parametern einer Abfrage Anführungszeichen hinzuzufügen.
JSON-Beispiel mit diesen beiden Eigenschaften:
{
"endpoint": {
"name": "Example Connector",
"displayName": "Example Connector Endpoint",
"icon": "/assets/images/example.svg",
"properties": [
. . .
{
"name": "quoteValue",
"hidden": true,
"defaultValue": "\""
},
{
"name": "caseSensitive",
"displayName": "Use double quotations (\") for connector identifiers",
"type": "boolean",
"defaultValue": true,
"validators": [
{
"name": "required"
}
]
},
. . .
Wenn die Komponente die Abfrage erstellt, verwendet sie die Einstellungen von quoteValue
Und caseSensitive
beim Erstellen der Abfrage.
Filterbedingungen¶
Als Teil der Standardkonfiguration der Komponente werden Operatoren für Filterbedingungen und Funktionen zum Festlegen dieser bereitgestellt. In vielen Fällen wird dies ausreichend sein. Diese Standardoperatoren stehen zum Filtern von Bedingungen zur Verfügung:
Name | Standardausdruck |
---|---|
Gleich | = ?? |
Ungleich | != ?? |
Gefällt mir | LIKE '??' |
Beginnt mit | LIKE '??%' |
Endet mit | LIKE '%??' |
Enthält | LIKE '%??%' |
Weniger als | < ?? |
Kleiner oder gleich | <= ?? |
Größer als | > ?? |
Größer oder Gleich | >= ?? |
In diesen Ausdrücken ??
wird durch den rechten Wert ersetzt, der an den Operator übergeben wird.
Zusätzlich zu den Anpassungen, die als Teil der Komponente JSON verfügbar sind, zusätzliche Operatoren können erstellt und hinzugefügt werden.
Zusätzliche Operatoren¶
Zusätzliche Operatoren können definiert und dem adapter.json
um die Standardliste der Operatoren zu erweitern. Um einen weiteren Operator hinzuzufügen, fügen Sie ihn dem JSON mithilfe von Zuordnungen hinzu, wie in diesem Beispiel gezeigt:
"additionalOperators": [
{
"value": "IN ??",
"name": "In",
"description": "",
"type": "string",
"placeholder": "('value1', 'value2', ...)"
}
],
Wobei:
value
: Das vom Operator beim Bilden der Abfrage zu verwendende Muster.??
werden durch vom Benutzer bereitgestellte Werte ersetzt.name
: Der Name, der für den Operator im Integration Studio Menü Operator angezeigt werden soll.description
: Eine Beschreibung des Operators, die in der Integration Studio-Benutzeroberfläche beim Hovern als Tooltip angezeigt wird. Wenn leer, wird dername
wird stattdessen als Tooltip verwendet.type
: Der Typ der Werte (Felder), die der Operator akzeptiert.placeholder
: Eine Zeichenfolge mit Platzhaltertext, die in dasvalue
und das Ergebnis wird in der Integration Studio-Benutzeroberfläche im Feld Wert angezeigt.
Wenn ein Operator keinen rechten Wert benötigt, können Sie angeben rightOperandNotRequired
als true
um anzuzeigen, dass ein Wert nicht erforderlich ist, und einen entsprechenden Platzhalter bereitzustellen. Beispiel:
"additionalOperators": [
{
"value": "IS NULL",
"name": "Is Null",
"description": "",
"type": "string",
"placeholder": "This operator does not require a value.",
"rightOperandNotRequired": true
}
],