Uma vez que o Oracle Content Management armazena propriedades em nome do componente customizado, as alterações a essas propriedades fazem automaticamente parte do comportamento Desfazer e Refazer da página.
Para garantir que fica claro o que está a acontecer quando um utilizador clica em Desfazer ou Refazer, estes "eventos para desfazer" só deverão acontecer quando um utilizador intervir realmente na página. Por exemplo, trazer o painel Definições do componente customizado só deverá atualizar as propriedades da página quando o utilizador efetuar uma alteração real na propriedade. A simples inicialização das propriedades no painel Definições não deverá causar um evento de atualização.
Se não forem tomadas precauções para garantir este comportamento, poderá ocorrer um comportamento inesperado. A página continuará a ser executada, mas em detrimento da experiência do utilizador. Por exemplo, estes comportamentos podem ocorrer:
O botão Gravar ficará ativo se for colocado no painel Definições.
O utilizador deve clicar em Desfazer várias vezes antes de qualquer efeito ficar visível.
A pilha Redo
é retirada porque o componente respondeu com uma alteração inesperada e atualizou a pilha Redo
com o novo valor.
O código de exemplo fornecido neste tutorial para o painel Definições mostra um exemplo de como garantir que é o único a responder quando estiver preparado para chamar realmente saveData
e não na inicialização. É recomendado algum cuidado com o próprio componente para não atualizar customSettingsData
a menos que envolva uma interação com o utilizador, no entanto, isto costuma não ser uma preocupação.
Avance para Passo 16: Gestão de Ativos.