Como o Oracle Content Management armazena propriedades em nome do componente personalizado, as alterações nessas propriedades fazem parte automaticamente do comportamento Desfazer e Refazer.
Para assegurar que fique claro o que está acontecendo quando um usuário clica em Desfazer ou Refazer, esses "eventos de undo (desfazer)" só deverão acontecer quando um usuário de fato fizer algo na página. Por exemplo, a exibição do painel Definições do componente personalizado não deverá atualizar as propriedades da página até que o usuário de fato faça uma alteração na propriedade. A simples inicialização das propriedades no painel Definições não deverá causar um evento de atualização.
Se não houver o cuidado de assegurar esse comportamento, algo inesperado poderá ocorrer. A página ainda será executada, mas em detrimento da experiência do usuário. Por exemplo, estes comportamentos poderão ocorrer:
O botão Salvar ficará ativo bastando exibir o painel Definições.
O usuário deve clicar em Desfazer várias vezes para que qualquer efeito seja visível.
A pilha Redo
é removida porque o componente fez writeback de uma alteração inesperada e atualizou a pilha Redo
com o novo valor.
O código de amostra fornecido neste tutorial para o painel Definições dá um exemplo de como assegurar que você só esteja fazendo writeback quando estiver pronto para realmente chamar saveData
e não na inicialização. Um cuidado semelhante deve ser tomado dentro do próprio componente para não atualizar customSettingsData
, a menos que envolva uma interação do usuário, embora isso normalmente seja menos preocupante.
Continue em Etapa 16: Gerenciamento de Ativos.