다단계 응답

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 다단계 응답의 예로는 캐러셀 또는 날짜 컨트롤의 이미지 집합이 있습니다.

    멀티파트 컨트롤 richControl에는 컨트롤을 변환하는 데 사용할 수 있는 다음과 같은 특성이 있습니다.
    • 콘텐츠: 현재 단계에서 제시해야 하는 리치 컨트롤입니다.
    • 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);