"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>