"text_input": { "title": "Text Input", "inputType": "textinput", "value": "Valor de texto livre", "info": "Um campo de texto livre" }
"textarea_input": { "title": "Text Area", "inputType": "textarea", "value": "Check this out", "info": "Agora com 20% mais espaço para sua redação." }
maxValue
para definir o número máximo de valores que podem ser inseridos."multiple_text_input": { "title": "Multiple Text Input", "inputType": "multiple-text-input", "value": [ { "element": "Hello" }, { "element": "World" } ], "maxValue": 4, "info": "Um máximo de 4 valores é permitido" }
elements
como o atributo específico para adicionar os valores desejados como elementos JSO anônimos que representam as opções suspensas. Cada elemento deve conter um nome e um valor."bluetooth_connect_mode": { "title": "Modo de conexão", "inputType": "dropdown-input", "value": "search", "elements": [ { "name": "Search and Find", "value": "search" }, { "name": "Scanning Code", "value": "scan" } ], "showIfComputed": true, "info": "'Pesquisar e Localizar' irá descobrir todos os dispositivos disponíveis e filtrá-lo dependendo do tipo. 'Code Scan' permite que você digitalize o endereço MAC ou o nome do dispositivo." }
maxValue
para definir o número máximo de valores que podem ser escolhidoselements
: para adicionar elementos JSON anônimos que representam as opções suspensas (cada elemento deve conter um nome e um valor)"multiple_dropdown_input": { "title": "Multiple Dropdown Input", "inputType": "multiple-dropdown-input", "value": [ { "name": "Shown Value" }, { "name": "Shown Value 2" }, ], "elements": [ { "name": "Shown Value" }, { "name": "Shown Value 2" }, { "name": "Valor Mostrado 3" } ], "maxValue": 2 }
"checkbox_input": { "title": "Checkbox Input", "inputType": "checkbox-input", "value": "true" }
"range": { "title": "Intervalo de leitura", "inputType": "range", "rangeMin": "1", "rangeMax": "20", "value": 15 }
"sensor_type": { "inputType": "file-upload", "title": "Ícone", "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": "Color Picker", "list": [ "#fcba03", "#1d6280" ], "showIfComputed": true, "value": "#fcba03" }
"headers": { "title": "Http Headers", "inputType": "map-input", "placeholder": { "key": "Header Name", "value": "Header Value" }, "value": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "aplicação/json" } ] }
Para salvar os dados de entrada de mapa em um mapa Javascript real, siga esta abordagem:
<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": "Nenhuma fonte de dados encontrada!", "title": "Datasource", "inputType": "datasource-selection", "revisionSelection": true, "required": true, "info": "Selecione a fonte de dados que você deseja usar.", "value": null }
Essa configuração normalmente será usada em conjunto com ações de fonte de dados. Por exemplo, você pode salvar a primeira linha da tarefa de fonte de dados atual no contexto, manipular a linha de acordo com suas necessidades (extrair ou alterar dados) e, em seguida, salvar a linha alterada de volta para a tarefa de fonte de dados.
Salvando a primeira linha ([0]
pode ser substituída por uma variável de índice) em seu contexto. A variável adicional que contém a versão da cadeia de caracteres da linha é conveniente para depuração, mas pode ser deixada de fora.
<setvar id="row_to_context"> <context_of>root</context_of> <context_update> <param name="current_row" type="object">?{ context.ds_§{ substitua validation.datasource.value.id '-' '' }§[0] }?</param>< param name="current_row_to_string" type="string"><![ CDATA[?{ JSON.stringify(context.current_row)}?]] ></param> </context_update> </setvar>
Extraindo dados (por exemplo, para mostrá-los na interface do usuário):
<setvar id="get_row_data"> <context_of>workflow</context_of> <context_update>< param name="material" type="string"><![ CDATA[ ?{ context.current_row.payload["Nome do material"].value }? ]] ></param> </context_update> </setvar>
Alterando colunas de dados presentes em sua fonte de dados:
<setvar id="set_counts"> <context_of>root</context_of> <context_update> <param name="current_row" type="object"><![ CDATA[ ?{ context.current_row.payload["Resultado"].value = context.outcome; context.current_row.payload["Atribuído ao Usuário"].value = appcontext.client.user.id; context.current_row.payload["Nome da Atribuição"].value = appcontext.task.name; context.current_row.payload["Data concluída"].value = nova data(Date.now()).toUTCString(); context.current_row.status = 'CONCLUÍDO'; context.current_row; }? ]]></param> <param name="current_row_to_string" type="string"><![ CDATA[?{ JSON.stringify(context.current_row)}?]] ></param> </context_update> </setvar>
Propagando a linha alterada de volta para a tarefa da fonte de dados:
<update_datasource_task id="update_ds_with_row"> <param name="datasource_task_id" type="string">?{ context.ds_§{ substituir validation.datasource.value.id '-' '' }§_task.id}?</param> <param name="rows">#{current_row}</param> <param name="payload_variable_name">ds_§{ substituir validation.datasource.value.id '-' '' }§</param> </update_datasource_task>