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.