Réponses en plusieurs étapes
Un exemple de réponse à plusieurs étapes est un ensemble d’images dans un carrousel ou un contrôle de date.
Contrôle en plusieurs parties richControl possède les attributs suivants, qui peuvent être utilisés pour transformer le contrôle.
- content : contrôle enrichi qui doit être présenté à l’étape actuelle.
- navigationBtnLabel : étiquette pour le bouton « suivant » ou « plus » sur lequel l’utilisateur doit cliquer pour passer à l’étape suivante.
Exemple :
{
uiType: "MultiPartOutput",
group: "DefaultMultiPartOutput",
navigationBtnLabel: "Go next",
content: {
uiType: "OutputHtml",
style: "inline",
type: "html",
height: 100,
width: 100,
value: "<div>html</div>"
}
}Script de transformation sortant
(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 transformation entrant
(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);