Saltar al contenido

Describir el componente Object del Jitterbit Connector SDK

Descripción general

El componente Describir Objeto se puede utilizar donde sea que un usuario necesite proporcionar entrada para una consulta. A pesar de su nombre, está diseñado específicamente para obtener parámetros de búsqueda o consulta. En muchas implementaciones, los valores predeterminados del componente serán suficientes. Requiere que uno o más pasos con un componente List Object lo precedan:

Componente Describir Objeto

Características del componente

El componente Describir Objeto incluye un comportamiento integrado para buscar, actualizar, especificar y probar consultas:

  • Barra de búsqueda: Los usuarios pueden escribir una palabra clave y filtrar los campos.
  • Actualizar: Hacer clic obtiene datos del conector y actualiza la lista de campos.
  • Triángulo de divulgación: Hacer clic colapsa y expande la lista de campos.
  • Seleccionar todo: Hacer clic selecciona y deselecciona todos los campos.
  • Probar consulta: Envía la consulta al conector y muestra los datos devueltos.
  • Paginación: Los usuarios pueden proporcionar condiciones de Límite y/o Desplazamiento y hacer clic en Aplicar o Eliminar para agregar o quitar estas condiciones.
  • Condiciones: Los operadores se proporcionan por defecto, con la opción de operadores adicionales especificados por el desarrollador. Una vez que se seleccionan un Objeto: Campo y un Operador y se especifica un Valor, el usuario puede hacer clic en Agregar o usar Eliminar todo para limpiar los operadores. Consulte Condiciones de filtro para más detalles.
  • Condiciones de filtro: Si el tableMode para el componente es true, se pueden agregar filtros utilizando un componente de tabla.

El resultado del componente es una cadena de consulta que puede ser utilizada por el conector.

Componente 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"}
            ]
        }
    ]
}

En el JSON que describe el describe-object, se pueden configurar estas propiedades:

  • type: El tipo de componente describe objeto debe ser "describe-object".
  • pageTitle: Texto opcional que se muestra encima del componente. Si no se define, se utiliza el texto predeterminado Build Your Query.
  • description: Texto opcional que se muestra encima de la lista de campos. Si no se define, se utiliza el texto predeterminado Fields to retrieve.
  • additionalOperators: Array opcional de operadores que se agregarán al conjunto predeterminado de operadores. Consulte Additional Operators para más detalles.
  • disableQuery: Si es true (el valor predeterminado), la edición de la cadena de consulta está deshabilitada.
  • hideQuery: Si es true, la cadena de consulta no se muestra. El valor predeterminado es false y la cadena de consulta se muestra.
  • tableMode: Si es true, las condiciones de filtro se muestran en una tabla utilizando un Table component. El valor predeterminado es false y las condiciones se muestran utilizando menús desplegables. Consulte Filter Conditions para más detalles.

Agregar comillas a una condición

El componente se puede configurar dinámicamente para usar comillas cuando se crea la cadena de consulta.

Esto se implementa agregando dos propiedades al endpoint:

  • quoteValue: Un valor oculto en las propiedades del endpoint, que debe establecerse en el valor apropiado que se utilizará al delimitar las comillas. Típicamente, esto se establece en el carácter de comillas dobles ".
  • caseSensitive: Una propiedad de casilla de verificación (booleano) en las propiedades del endpoint con un nombre de visualización apropiado. Cuando se establece en true, el carácter quoteValue se utilizará para agregar comillas a los parámetros de una consulta.

JSON de muestra que muestra estas dos propiedades:

{
  "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"
          }
        ]
      },
      . . .

Cuando el componente construye la cadena de consulta, utiliza la configuración de quoteValue y caseSensitive al construir la cadena de consulta.

Condiciones de filtro

Como parte de la configuración predeterminada del componente, se proporcionan operadores para condiciones de filtrado y funcionalidad para establecerlas. En muchos casos, esto será suficiente. Estos operadores predeterminados están disponibles para condiciones de filtrado:

Nombre Expresión Predeterminada
Igual = ??
No Igual != ??
Como LIKE '??'
Comienza Con LIKE '??%'
Termina Con LIKE '%??'
Contiene LIKE '%??%'
Menor Que < ??
Menor o Igual <= ??
Mayor Que > ??
Mayor o Igual >= ??

En estas expresiones, ?? se reemplaza con el valor de la derecha que se pasa al operador.

Además de las personalizaciones disponibles como parte del JSON del Componente, se pueden crear y agregar operadores adicionales.

Operadores adicionales

Se pueden definir y agregar operadores adicionales al adapter.json para aumentar la lista predeterminada de operadores. Para agregar otro operador, agréguelo al JSON utilizando mapeos como se muestra en este ejemplo:

"additionalOperators": [
    {
        "value": "IN ??",
        "name": "In",
        "description": "",
        "type": "string",
        "placeholder": "('value1', 'value2', ...)"
    }
],

Donde:

  • value: El patrón que se utilizará por el operador al formar la declaración de consulta. ?? será reemplazado por los valores proporcionados por el usuario.
  • name: El nombre que se mostrará para el operador en el menú Operador del Studio.
  • description: Una descripción del operador, que se mostrará en la interfaz de usuario del Studio al pasar el mouse como un tooltip. Si está vacío, se utilizará el name como tooltip.
  • type: El tipo de valores (campos) que el operador acepta.
  • placeholder: Una cadena de texto de marcador de posición que se sustituirá en el campo value y el resultado se mostrará en la interfaz de usuario del Studio en el campo Valor.

Si un operador no requiere un valor de la derecha, puede especificar rightOperandNotRequired como true para indicar que no se requiere un valor y proporcionar un marcador de posición apropiado. Por ejemplo:

"additionalOperators": [
    {
        "value": "IS NULL",
        "name": "Is Null",
        "description": "",
        "type": "string",
        "placeholder": "This operator does not require a value.",
        "rightOperandNotRequired": true
    }
],