Implementação do Componente Local

A instância do componente é criada pelo objeto Component Factory.

A entrada do objeto Component Factory no ficheiro de registo do componente é initData.componentFactory. Trata-se de uma referência a um ficheiro JavaScript que o RequireJS utiliza para carregar Component Factory. Deve devolver um objeto de JavaScript que implemente a interface componentFactory

O objeto Component Factory deve implementar a API customComponentFactory.createComponent(args), que cria cada instância do componente.

args contém estas definições:

  • SitesSDK: O Sites SDK do Oracle Content Management.

  • id: A ID exclusiva (GUID) para o componente acrescentado à página.

  • viewMode: O modo atual em que a página é renderizada. Quando uma página está a ser editada, é "Editar". Quando uma página é pré-visualizada, é "Navegar". Em runtime, que é quando o site é publicado, o valor não é definido. Pode fornecer diferentes implementações com base na funcionalidade que deve ser exposta para cada modo. Por exemplo, as ligações não devem estar ativas quando a página está a ser executada no modo de Edição.

Nota:

Não é um requisito utilizar o JQuery ou o Knockout para o seu componente, mas se quiser tirar partido das funcionalidades do Oracle Content Management, tais como os componentes encadeados, deve utilizar a versão do Knockout fornecida pelo Oracle Content Management. Esta versão do Knockout tem rotinas de tratamento e registo de componentes alargados que, de outro modo, não são disponibilizados.

Para o componente em si, o SDK é transmitido quando o componente é colocado em instâncias para este poder comunicar com o ciclo de vida da página. As funções de ciclo de vida da página devem ser implementadas pelo componente e são chamadas pelo Oracle Content Management para renderizar o componente na página.

São fornecidas APIs obrigatórias e opcionais para implementar um componente.

APIs Obrigatórias

customComponent.render(container): Pede ao componente que se insira a si próprio no elemento do container DOM fornecido.

  • container: Elemento do container DOM para o HTML do componente customizado.

APIs Opcionais

customComponent.dispose(): Chamada quando o componente está a ser retirado da página. Fornece uma oportunidade para o componente retirar quaisquer recursos que já não são necessários.