Etapa 15: Integração com o Comportamento Desfazer e Refazer da Página

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.