No final deste tópico, você poderá soltar na página os componentes que executem ações internas. Isso utiliza o registro de ação que você criou na etapa anterior.
Para que um componente execute uma ação, ele deve fazer listening da mensagem EXECUTE_ACTION. Essa mensagem também inclui o payload transmitido à ação da qual você extrairá os valores esperados.
Para fazer listening da mensagem EXECUTE_ACTION, edite o arquivo render.js e atualize o objeto SampleComponentViewModel com a seguinte entrada:
SitesSDK.subscribe('EXECUTE_ACTION', $.proxy(self.executeActionsListener, self));
Quando a mensagem EXECUTE_ACTION é recebida, a função de callback associada é executada:
self.executeActionsListener = function (args) {
// get action and payload
var payload = args.payload,
action = args.action;
// handle 'setImageWidth' actions
if (action && action.actionName === 'setImageWidth') {
$.each(payload, function(index, data) {
if (data.name === 'imageWidth') {
self.imageWidth(data.value);
}
});
}
}
Isso cria uma função JavaScript para executar a ação e depois usa o Sites SDK para chamar a função sempre que a mensagem EXECUTE_ACTION é emitida.
O componente será chamado sempre que uma mensagem EXECUTE_ACTION for emitida e caberá ao componente tratar apenas as ações designadas a ele. Para fazer isso, verifique o nome da ação para ter certeza de ser uma que o componente pode tratar.
O payload da ação é um array de valores. Normalmente, você precisará encontrar no array os valores de payload do seu interesse.
Nota:
Como o listener de ação é um callback, use o JavaScript Closure ou faça binding apropriadamente da função para garantir que você tenha acesso ao seu viewModel quando a função for executada.Verificar os Resultados da Etapa 8
Atualize sua página no site para que o Site Builder possa selecionar as alterações no componente.
Coloque a página no modo de Edição.
Arraste e solte o componente na página.
Arraste e solte um componente Botão na página.
Abra o painel Definições com o componente Botão.
Na guia Geral, altere o Label do botão para Clique em mim!
Selecione a guia Link na parte superior do painel Definições.
Selecione Ações do Trigger como Tipo de Link.
Clique no trigger Clicar no Botão para o componente Botão.
Na caixa de diálogo, expanda o componente A_Local_Component no lado esquerdo.
Arraste e solte a ação Atualizar a largura da imagem do componente A_Local_Component para o lado direito.
Digite 300px no campo Largura da Imagem em pixels.
Alterne a página para o modo de Visualização.
Clique no botão Clique em mim!.
Neste ponto, o tamanho da imagem aumentará para 300px.
Nota:
Os triggers e as ações são projetados para suportar a comunicação entre componentes. Eles não são projetados para criar ou gerenciar estado. Se você atualizar a página, ela será revertida para seu estado original se nenhum trigger tiver sido emitido ou nenhuma ação tiver sido executada.Continue em Etapa 9: Criar um Título Distinto para cada Instância do Componente.