Incluir mashups nos controladores fornecidos pelo aplicativo
É possível incluir mashups para os controladores fornecidos pelo aplicativo
Incluir um mashup nos controladores fornecidos pelo aplicativo é o mesmo que substituir um mashup para o InitController e o BehaviorController.
InitController, o XML do lado do servidor para a extensão InitController é o seguinte:<?xml version="1.0" encoding="UTF-8"?>
<Controller
controllerId="extn.home.portlets.BackroomPickPortletExtnInitInitController"
screenId="extn.home.portlets.BackroomPickPortletExtn">
<MashupRefs>
<MashupRef mashupId="extn_backroomPick_getShipmentListReadyForPick"
mashupRefId="getShipmentListReadyForPickInit" permissionId="" extnType="ADD"/>
</MashupRefs>
</Controller>InitController é a seguinte:scDefine([
"scbase/loader!dojo/_base/declare",
"scbase/loader!dojo/_base/kernel",
"scbase/loader!dojo/text",
"scbase/loader!sc/plat/dojo/controller/ScreenController",
"scbase/loader!extn/home/portlets/BackroomPickPortletExtn",
"scbase/loader!sc/plat/dojo/controller/ExtnScreenController"],
function(
_dojodeclare, _dojokernel, _dojotext, _scScreenController, _extnBackroomPickPortletExtn,_scExtnScreenController) {
return _dojodeclare("extn.home.portlets.BackroomPickPortletExtnInitController", [_scScreenController], {
screenId: 'extn.home.portlets.BackroomPickPortletExtn',
mashupRefs: [{
sourceNamespace: 'extn_backroomPick_getShipmentListReadyForPick_output',
mashupRefId: 'getShipmentListReadyForPickInit',
sequence: '',
mashupId: 'backroomPick_getShipmentListReadyForPick',
callSequence: '',
sourceBindingOptions: '',
extnType:'ADD'
}]
});
});O valor do atributo
extnTypena definição XML do lado do servidor e do lado do cliente é configurado comoADD.Todos os atributos para um mashup são definidos
O atributo
mashupRefIdinicia comextn_que não corresponde a nenhum valor na tela fornecida pelo aplicativoO atributo
mashupIdcontém um mashup fornecido pelo aplicativo
Sempre que as chamadas de mashup presentes em BehaviorController forem concluídas, o evento onExtnMashupCompletion será gerado em uma extensão da tela Para obter a alça após a conclusão da chamada de mashup presente no BehaviorController, defina um assinante local no evento onExtnMashupCompletion
onExtnMashupCompletion :subscribers : {
local : [
{
eventId: 'onExtnMashupCompletion',
sequence: '51',
description: '',
listeningControlUId: '',
handler : {
methodName : "handleOnExtnMashupCompletion" // name of the handler method
}
}
]handleOnExtnMashupCompletion
hanlder da seguinte forma:handleOnExtnMashupCompletion: function(event, bEvent, ctrl, args)
{
// add custom logic
}A tabela a seguir descreve os dados do último argumento (args):
| Dados do último argumento (args) | Descrição |
|---|---|
| mashupContext | Contexto da chamada mashup. |
| mashupObject | O objeto de referência de mashup quando apenas um mashup é chamado |
| mashupArray | A lista de referências de mashup quando vários mashups são chamados |
| inputData | Os dados de entrada para a chamada de mashup |
| hasError | Se ocorrer um erro ao chamar o mashup, o valor será configurado como True. |
| errorData | Contém os dados relacionados a erros quando ocorre um erro ao chamar o mashup |