Respostas em várias etapas

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • Um exemplo de resposta em várias etapas é um conjunto de imagens em um carrossel ou em um controle de data.

    O Controle multipartes richControl tem os seguintes atributos, que podem ser usados para transformar o controle.
    • conteúdo: Controle avançado que deve ser apresentado na etapa atual.
    • navigationBtnLabel: rótulo do botão "próximo" ou "mais" para que o usuário clique para passar para a próxima etapa.
    Exemplo:
    {
            uiType: "MultiPartOutput",
            group: "DefaultMultiPartOutput",
            navigationBtnLabel: "Go next",
            content: {
                    uiType: "OutputHtml",
                    style: "inline",
                    type: "html",
                    height: 100,
                    width: 100,
                    value: "<div>html</div>"
            }
    }

    Script de transformação de saída

    (function execute(inputs, outputs) {
    
        try{
          var richControl = inputs.rich_control;
          var payload = inputs.payload;
      
          var content = richControl.content;
          var navigationBtnLabel = richControl.navigationBtnLabel;
          var uiType = content.uiType;
          var partResult = null;
      
          switch (uiType) {
            case "OutputText":
              partResult = sn_fd.FlowAPI.executeActionQuick('example_default_text_outbound_transformer', {
                  rich_control : content,
                  payload : payload
                });
              break;
            case "OutputLink":
              partResult = sn_fd.FlowAPI.executeActionQuick('example_default_output_link_outbound_transformer', {
                  rich_control : content,
                  payload : payload
                });
              break;
            case "OutputImage":
              partResult = sn_fd.FlowAPI.executeActionQuick('example_default_image_outbound_transformer', {
                  rich_control : content,
                  payload : payload
                });
              break;
            case "OutputHtml":
              partResult = sn_fd.FlowAPI.executeActionQuick('example_default_html_outbound_transformer', {
                  rich_control : content,
                  payload : payload
                });
              break;
            default:
              break;
          }
          partResult =  partResult + addButtonMore(navigationBtnLabel)
          outputs.result = JSON.stringify(outActivity);
        }
        catch(e){
          gs.error("Error in default multipart outbound transformer : " + e.message);
          throw e; 
        }
      
      })(inputs, outputs);

    Script de transformação de entrada

      (function execute(inputs, outputs) {
        try {
          var requestContext = inputs.request_context;
          var typedValue = requestContext.typed_value;
          outputs.result = typedValue;
        } catch(e) {
           gs.error("Error in default multipart inbound transformer : " + e.message);
           throw e; 
        }
      })(inputs, outputs);