複数ステップ応答

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • 複数ステップ応答の例には、カルーセルの一連の画像や日付コントロールがあります。

    マルチパートコントロール richControl には、コントロールを変換するときに使用できる次の属性があります。
    • content:現在のステップで提示する必要があるリッチコントロール。
    • navigationBtnLabel:ユーザーがクリックして次のステップに移動するための [次へ] または [その他] ボタンのラベル。
    例:
    {
            uiType: "MultiPartOutput",
            group: "DefaultMultiPartOutput",
            navigationBtnLabel: "Go next",
            content: {
                    uiType: "OutputHtml",
                    style: "inline",
                    type: "html",
                    height: 100,
                    width: 100,
                    value: "<div>html</div>"
            }
    }

    送信変換スクリプト

    (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);

    着信変換スクリプト

      (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);