Sobre o componente de formulário
Este fluxo permitirá criar um complemento de formulário com uma lista de seleção dinâmica para todos os canais
Sobre o componente Function "Set Initial Params"
Neste componente se criam os objetos necessários:
* msg.count => Contador necessário para enumerar a lista dinâmica.
* msg.dynamicCallbackLabel => Objeto que irá armazenar o "callback_label" para canais assíncronos
* msg.dynamicSelectOptions => Objeto que irá armazenar as opções para os canais síncronos
Sobre o componente Function "Data Mockup - Users List"
Define o objeto msg.data, que simula a resposta de um endpoint.
Sobre o componente Array Loop "Users Loop"
Este componente itera o objeto msg.data que contém os dados.
Sobre o componente Function "Build The List"
* A variável "lineBreak" contém a quebra de linha para as opções de canais assíncronos.
* A função "getNumberEmoji" recebe um valor numérico e devolve um emoji numérico.
* O contador é incrementado.
* Os valores são armazenados dinamicamente nos objetos "msg.dynamicCallbackLabel" e "msg.dynamicSelectOptions".
Sobre o componente Form
Este componente é utilizado para gerar a estrutura básica de um formulário dentro do objeto "complementos".
Sobre o componente Function "Set Form Options"
Este complemento substitui os parâmetros estáticos "callback_label" e "options" com os objetos criados dinamicamente no componente Function "Build The List".
Como testar este fluxo?
Executando o Complemento Inject, pode-se ver o resultado no console "debug".
Como usar este fluxo?
* A configuração do Complemento Function "Set Initial Params" não deve ser modificada.
* O Complemento Function "Data Mockup - User List" deve ser substituido pelos dados obtidos de um Request (Complemento Http Request).
* O dados obtidos pelo Complemento Http Request, vão estar no objeto "payload".
* Estes dados devem ser amazenados em um objeto diferente de "payload" (neste exemplo: msg.data), já que o objeto mencionado será substituido em cada iteração do Complemento Loop.
* Dentro do Complemento Function "Build The List", a opção deve ser armazenada de forma dinamica em cada iteração do loop. (neste exemplo: msg.payload.name)
* Deste modo, os objetos que conterão a lista de seleção serão criados (neste exemplo: msg.dynamicCallbackLabel e msg.dynamicSelectOptions).
* Finalmente estes objetos substituem os parametros do forumário. Respectivamente:
- msg.payload.complements[0].param[0].callback_label = msg.dynamicCallbackLabel.
- msg.payload.complements[0].param[0].options = msg.dynamicSelectOptions

Faça o download do fluxo clicando neste link.