다단계 응답
다단계 응답의 예로는 캐러셀 또는 날짜 컨트롤의 이미지 집합이 있습니다.
멀티파트 컨트롤 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);