"text_input": { "title": "Entrada de texto", "inputType": "textinput", "value": "Valor de texto libre", "info": "Un campo de texto libre" }
"textarea_input": { "title": "Área de texto", "inputType": "textarea", "value": "Mira esto", "info": "Ahora con un 20 por ciento más de espacio para tu ensayo." }
maxValue
para definir el número máximo de valores que se pueden introducir."multiple_text_input": { "title": "Entrada de texto múltiple", "inputType": "entrada de texto múltiple", "value": [ { "element": "Hola" }, { "element": "Mundo" } ], "maxValue": 4, "info": "Se permite un máximo de 4 valores" }
elements
como atributo específico para agregar los valores deseados como elementos JSO anónimos que representan las opciones desplegables. Cada elemento debe contener un nombre y un valor."bluetooth_connect_mode": { "title": "Modo de conexión", "inputType": "dropdown-input", "value": "search", "elements": [ { "name": "Buscar y encontrar", "value": "buscar" }, { "name": "Código de escaneo", "value": "escanear" } ], "showIfComputed": true, "info": "'Buscar y encontrar' descubrirá todos los dispositivos disponibles y los filtrará según el tipo. 'Code Scan' le permite escanear la dirección MAC o el nombre del dispositivo." }
maxValue
para definir el número máximo de valores que se pueden seleccionarelements
: para agregar elementos JSON anónimos que representen las opciones desplegables (cada elemento debe contener un nombre y un valor)"multiple_dropdown_input": { "title": "Entrada desplegable múltiple", "inputType": "entrada desplegable múltiple", "value": [ { "name": "Valor mostrado" }, { "name": "Valor mostrado 2" }, ], "elements": [ { "name": "Valor mostrado" }, { "name": "Valor mostrado 2" }, { "name": "Valor mostrado 3" } ], "maxValue": 2 }
"checkbox_input": { "title": "Entrada de casilla de verificación", "inputType": "checkbox-input", "value": "true" }
"range": { "title": "Rango de lectura", "inputType": "range", "rangeMin": "1", "rangeMax": "20", "value": 15 }
"sensor_type": { "inputType": "file-upload", "title": "Icono", "accept": "image/png", "multiple": false, "showIf": "root. Value_1.sensor_shown.value", "value": "xai:/wf-editor/2c639f9c-a3d5-4830-9e55-092fe98d92a4/component_sensor_1563203048508_image001.png?version=1", "showIfComputed": true }
"color": { "inputType": "color-input", "title": "Selector de color", "list": [ "#fcba03", "#1d6280" ], "showIfComputed": true, "value": "#fcba03" }
"headers": { "title": "Encabezados Http", "inputType": "map-input", "placeholder": { "key": "Nombre del encabezado", "value": "Valor del encabezado" }, "value": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Aceptar", "valor": "application/json" } ] }
Para guardar los datos de entrada del mapa en un mapa Javascript real, siga este enfoque:
<setvar id="save_headers"> <context_of>workflow</context_of> <context_update> <param name="headers" type="object"><![ CDATA[?{ var headers = { §{#each configuration.headers.value}§'§{key}§': '§{value}§',§{/each}§ }; headers }?]] ></param> </context_update>< /setvar>
"datasource": { "noOptionsInfo": "¡No se encontraron fuentes de datos!", "title": "Fuente de datos", "inputType": "selección de fuente de datos", "revisionSelection": true, "required": true, "info": "Seleccione la fuente de datos que desea usar.", "value": null }
Normalmente, esta configuración se utilizará junto con las acciones de origen de datos. Por ejemplo, puede guardar la primera fila de la tarea de origen de datos actual en el contexto, manipular la fila según sus necesidades (extraer o cambiar datos) y, a continuación, volver a guardar la fila modificada en la tarea de origen de datos.
Guardar la primera fila ([0]
podría reemplazarse con una variable de índice) en su contexto. La variable adicional que contiene la versión de cadena de la fila es conveniente para la depuración, pero se puede omitir.
<setvar id="row_to_context"> <context_of>root</context_of> <context_update> <param name="current_row" type="object">?{ context.ds_§{ replace validation.datasource.value.id '-' ''} §[0] }?</param> <param name="current_row_to_string" type="string"><![ CDATA[?{ JSON.stringify(context.current_row)}?]] ></param> </context_update> </setvar>
Extracción de datos (por ejemplo, para mostrarlos en la interfaz de usuario):
<setvar id="get_row_data"> <context_of>workflow</context_of> <context_update> <param name="material" type="string"><![ CDATA[ ?{ context.current_row.payload["Nombre del material"].valor }? ]] ></param> </context_update> </setvar>
Cambiar las columnas de datos presentes en la fuente de datos:
<setvar id="set_counts"> <context_of>root</context_of> <context_update> <param name="current_row" type="object"><![ CDATA[ ?{ context.current_row.payload["Resultado"].valor = contexto.resultado; context.current_row.payload["Asignado al usuario"].valor = appcontext.client.user.id; context.current_row.payload["Nombre de la asignación"].value = appcontext.task.name; context.current_row.payload["Fecha de finalización"].valor = new Date(Date.now()).toUTCString(); context.current_row.status = 'HECHO'; context.current_row; }? ]]></param> <param name="current_row_to_string" type="string"><![ CDATA[?{ JSON.stringify(context.current_row)}?]] ></param> </context_update>< /setvar>
Propagar la fila modificada de nuevo a la tarea de origen de datos:
<update_datasource_task id="update_ds_with_row"> <param name="datasource_task_id" type="string">?{ context.ds_§{ replace validation.datasource.value.id '-' '' }§_task.id}?</param> <param name="rows">#{current_row}</param> <param name="payload_variable_name">ds_§{ replace validation.datasource.value.id '-' ''} §</param>< /update_datasource_task>