Desenvolver Disposições de Secção Customizadas com APIs

Pode desenvolver disposições de secção customizadas no Oracle Content Management com a API de Disposição de Secção, que inclui APIs de Renderização e APIs de Edição.

Para os ficheiros iniciais que deve observar, consulte Criar uma Disposição de Secção. Os ficheiros iniciais para disposições de secção incluem comentários com detalhes sobre a estrutura dos ficheiros de disposição da secção.

APIs de Renderização

As APIs de Renderização, carregadas a partir do módulo render.js, são utilizadas no Criador de Sites e em runtime.

API de Renderização Descrição Parâmetro(s) de Entrada de Dados Resultado de Retorno
(Criador) Inicializa o módulo de renderização da Disposição da Secção.

Um objeto de JavaScript que contém as seguintes propriedades:

  • sectionlayoutData (Objeto): Os dados da disposição da secção encontrados no modelo da página.

  • componentId (Cadeia de Caracteres): O valor componentId da disposição da secção, normalmente uma GUID.

  • renderMode (Cadeia de Caracteres, opcional): O modo de renderização para a operação de renderização.

  • customSettingsData (Objeto): Uma cópia de customSettingsData encontrado em sectionLayoutData.

As APIs de Renderização da Disposição da Secção são inicializadas.
render

Emite os elementos DOM adequados à disposição da secção para a página, incluindo os DIVs de container para os componentes filho.

container (Elemento): O elemento DOM no qual a markup da disposição da secção deve ser renderizada.

Após o retorno deste método, os componentes filho serão renderizados.

Pode identificar os componentes filho encontrando os elementos div[id] filho

addComponent

Utilizado com componentes de lista de conteúdos para acrescentar de forma dinâmica componentes filho a uma disposição de secção.

Esta função é opcional.

container (Elemento): O elemento DOM no qual o novo componente deve ser renderizado.

componentId (Cadeia de Caracteres): A ID do novo componente a acrescentar à disposição da secção.

Após o retorno deste método, o elemento cuja ID corresponde à entrada de dados componentId será renderizado.

APIs de Edição

O módulo edit.js é carregado se a propriedade hasEditHandlers estiver definida como true no ficheiro appinfo.json associado à disposição da secção.

As APIs de Edição são utilizadas no Criador de Sites.

Todas as funções neste módulo exceto a do Criador são opcionais.

API de Edição Descrição Parâmetro(s) de Entrada de Dados Resultado de Retorno
(Criador) Inicializa o módulo de edição da Disposição da Secção.

Um objeto de JavaScript que contém a seguinte propriedade:

  • componentId (Cadeia de Caracteres): O valor componentId da disposição da secção, normalmente uma GUID.

As APIs de Edição da Disposição da Secção são inicializadas.

getCapabilities

Devolve um objeto que descreve as capacidades de edição da disposição da secção.

Um objeto de JavaScript que descreve as capacidades de edição da disposição da secção.

Na entrada de dados, as capacidades por omissão serão fornecidas à função. A função pode modificar o objeto Capabilities conforme necessário.

O objeto Capabilities pode incluir as seguintes capacidades:

  • title (Cadeia de Caracteres): O título da disposição da secção a apresentar ao utilizador.

  • settingsTitle (Cadeia de Caracteres): O título a apresentar na caixa de diálogo do painel Definições.

  • hasSettings (Booleano): Indica se a disposição da secção suporta um Painel Definições.

  • allowMove (Booleano): Indica se a disposição da secção permite que os itens filho sejam deslocados.

  • allowDelete (Booleano): Indica se a disposição da secção permite que os itens filho sejam apagados.

  • isHidden (Booleano): Indica se a disposição da secção está atualmente oculta em resposta às opções do utilizador.

  • dropTarget (Booleano): Indica se a disposição da secção é o destino das operações arrastar e largar.

  • customMenuOptions (Matriz): Opções de menu customizadas a acrescentar ao menu de contexto da Disposição da Secção. Cada objeto menu-option tem as seguintes propriedades:

    • label (Cadeia de Caracteres): O texto para apresentação do item de menu.

    • action (Função): A função a invocar quando se clica no item de menu.

    • disabled (Booleano): Indica que o item de menu deve ser apresentado num estado desativado.

    • icon (Cadeia de Caracteres): O URL a apresentar ao lado da etiqueta no item de menu. (Esta propriedade está reservada para utilização futura.)

    • checkmark (Booleano): Indica que deve ser apresentada uma marca de seleção ao lado da etiqueta no item de menu.

    • subMenuItems (Matriz): Opções de menu a apresentar num submenu.

(Objeto): As capacidades para a disposição da secção.

getCaptionContent

Devolve o nome para apresentação da disposição da secção, que será apresentado nos elementos da IU.

Nenhum.

(Cadeia de Caracteres): O nome para apresentação da disposição da secção.

filterCapabilities

Permite que a disposição da secção modifique o objeto Capabilities antes de os menus serem apresentados ao utilizador.

Pode utilizar esta API para ajustar ou retirar opções de menu. (Consulte também getCapabilities.)

Um objeto de JavaScript que descreve as capacidades de edição da disposição da secção. Na entrada de dados, as capacidades por omissão serão fornecidas à função.

(Objeto) As capacidades para a disposição da secção.
onDragOver Chamado durante uma operação Arrastar e Largar para indicar se o item arrastado pode ser largado na disposição da secção.

eventObject (Objeto do Evento): Um objeto de evento que contém informações sobre o evento arrastar.

dataTransfer (Objeto DataTransfer): Um objeto DataTransfer que contém informações sobre o item a ser arrastado sobre a disposição da secção.

(Booleano) Um valor que indica se o item arrastado pode ser aceite pela disposição da secção.

Devolve true se a disposição da secção puder aceitar o item arrastado, false caso contrário.

onDrop Chamado durante a parte largar de uma operação Arrastar e Largar para indicar que o item arrastado deve ser colocado dentro da disposição da secção.

eventObject (Objeto do Evento): Um objeto de evento que contém informações sobre o evento largar.

dataTransfer (Objeto DataTransfer) Um objeto DataTransfer que contém informações sobre o item a ser largado na disposição da secção.

(Booleano) Um valor que indica se a operação largar foi processada pela disposição da secção.

A devolução de true ignora a lógica por omissão.

onAddComponent Notifica a Disposição da Secção de que uma operação Arrastar e Largar acrescentou um item na disposição da secção.

eventObject (Objeto do Evento): Um objeto de evento que contém informações sobre o evento arrastar.

dataTransfer (Objeto DataTransfer): Um objeto DataTransfer que contém informações sobre o item a ser largado na disposição da secção.

componentId (Cadeia de Caracteres): O valor componentId do item recém-acrescentado.

Notificação da disposição da secção.
onMoveComponent

Notifica a disposição da secção de que uma operação Arrastar e Largar deslocou um item na disposição da secção.

eventObject (Objeto do Evento): Um objeto de evento que contém informações sobre o evento arrastar.

dataTransfer (Objeto DataTransfer): Um objeto DataTransfer que contém informações sobre o item a ser largado na disposição da secção.

componentId (Cadeia de Caracteres): O valor componentId do item deslocado.

Notificação da disposição da secção.
getSettingsData

Permite que a disposição da secção altere os dados das Definições antes de o Painel Definições ser apresentado.

settingsData (Objeto): Os dados de definições por omissão calculados para a Disposição da Secção

(Objeto) Os dados de definições para a disposição da secção.
updateSettings

Permite que a disposição da secção altere as respetivas definições depois de o Painel Definições ter sido fechado.

Esta API é chamada mesmo antes de as definições serem armazenadas no modelo da página.

parameters (Objeto): O objeto de parâmetros não processado devolvido pelo Painel Definições.

sectionLayoutData (Objeto): Os dados da disposição da secção que serão armazenados. Serão gerados dados por omissão a partir de parameters (Objeto) e transmitidos à função neste parâmetro.

(Objeto) Os dados da disposição da secção a armazenar no modelo da página.
dispose

Permite que o módulo de edição liberte memória, desanexe eventos e anule a atribuição de recursos associados às rotinas de tratamento de edição.

Esta API é chamada quando a disposição da secção necessita de redesenhar totalmente, como é o caso de uma operação Desfazer/Refazer.

Nenhum. A opção para redesenhar a disposição da secção é ativada.