Neste passo, iremos mostrar como é gerado o trigger que viu como registado.
Os triggers podem ser gerados em qualquer altura por um componente. Normalmente, é gerado por uma interação do utilizador, como clicar num botão ou selecionar uma linha numa tabela. No entanto, um componente pode gerar o trigger com base em qualquer critério como, por exemplo, quando os dados são alterados devido a uma chamada REST.
Para este exemplo, quando clicar na imagem, será criado um trigger que é transmitido pelo valor atual da propriedade whoAreYou.
Reveja o ficheiro render.js e consulte o objeto SampleComponentViewModel.
Para gerar um trigger:
Reveja a função no objeto SampleComponentViewModel que chama o Sites SDK para a criação do trigger.
self.raiseTrigger = function (triggerName) {
  SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
    'triggerName': triggerName, 
    'triggerPayload': { 
        'payloadData': 'some data here'
    }
  });
};Agora irá precisar de algo na interface do utilizador para chamar a função para gerar o trigger. Reveja o ficheiro render.js e atualize o objeto sampleComponentTemplate para ter esta entrada:
     '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +No objeto SampleComponentViewModel, existe a função de JavaScript que é chamada quando se clica na imagem. Esta função chama o Sites SDK indicando-lhe que deve desencadear todas as ações definidas para o trigger "imageClicked", que é o valor transmitido da associação click no passo 2. É transmitido também através de um triggerPayload que tem um único campo:payloadData e é transmitido através de um valor estático 'some data here'. Estes valores imageClicked e whoAreYou correspondem aos existentes no ficheiro appinfo.json onde o trigger está registado (no passo anterior).
No código de exemplo, o trigger é gerado por uma associação de dados da associação click e é transmitido no trigger denominado imageClicked. Existem atualmente três apresentações do componente <scs-image> baseado na disposição escolhida pelo utilizador. Para garantir que o trigger é gerado para cada uma das disposições, edite o ficheiro render.js para efetuar as alterações seguintes.
Gere triggers a partir de disposições diferentes. Encontre as suas entradas deste código:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}">' +
Altere o código para o seguinte:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +Especifique o payload para ser transmitido aos triggers. Altere este código:
    self.raiseTrigger = function (triggerName) {
      SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
        'triggerName': triggerName,
        'triggerPayload': {
          'payloadData': 'some data here'
        }
      });
    };
Utilize este código como alternativa:
    self.raiseTrigger = function (triggerName) {
      SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
        'triggerName': triggerName,
        'triggerPayload': {
          'payloadData': self.imageBannerText() // pass banner text as payload
        }
      });
    };Sincronize ou carregue o ficheiro render.js para o servidor da instância do Oracle Content Management.
Agora que já reviu o código necessário, pode ligar o trigger para que o seu componente customizado o gere quando clicar no botão.
Verificar os Resultados para o Passo 6
Deverá agora conseguir registar uma ação para executar com o seu trigger e também executar uma ação quando trigger for gerado:
Renove a sua página no site para que o Criador de Sites possa escolher alterações para o componente.
Apresente a página no modo de edição.
Arraste e largue o seu componente na página.
Abra o painel Definições com o seu componente.
Selecione o separador Ligação na parte superior do painel Definições.
Selecione Ações do Trigger como o Tipo de Ligação.
Clique no trigger imageClicked que viu como registado.
Na caixa de diálogo, arraste a ação Mostrar Alerta a partir da secção Ações da Página.
No campo Mensagem, selecione o valor payloadData, que é o payload que introduziu quando registou o trigger.
Feche o painel Definições e mude o Criador de Sites para o modo de pré-visualização.
Clique na imagem no componente.
Aparecerá um alerta a mostrar no message defined uma vez que não especificou o valor imageBannerText.
Apresente a página no modo de edição e volte a abrir o painel Definições para o componente.
Clique em Definições Customizadas e introduza o Local de Trabalho.
Feche o painel Definições e mude a página para o modo de pré-visualização.
Clique na imagem no componente.
Deverá mostrar agora o payload Workplace atualizado, que é invocado a partir da alteração que efetuou na associação click.
Pode executar qualquer número de ações quando um trigger é gerado.
Nota:
Não existe nenhuma ordem predefinida quanto ao momento de execução de uma ação. Cada ação será chamada pela ordem em que é listada, mas não se aguarda pela respetiva conclusão antes de chamar a ação seguinte. Se uma ação efetuar uma chamada assíncrona, poderá não ser concluída antes de a ação seguinte ser executada.Avance para Passo 7: Registar Ações.