Aangepaste sectielay-outs ontwikkelen met API's

U kunt aangepaste sectielay-outs ontwikkelen in Oracle Content Management met de sectielay-out-API, die weergave-API's en bewerkings-API's omvat.

Zie Sectielay-outs maken voor voorbeelden van starterbestanden. De starterbestanden voor sectielay-outs bevatten toelichtingen met details over de structuur van sectielay-outbestanden.

Weergave-API's

De weergave-API's, die worden geladen vanuit de module render.js, worden gebruikt in de sitebuilder en tijdens runtime.

Weergave-API Beschrijving Invoerparameter(s) Geretourneerd resultaat
(Constructor) Hiermee wordt de weergavemodule voor sectielay-outs geïnitialiseerd.

Een JavaScript-object dat de volgende eigenschappen bevat:

  • sectionlayoutData (Object) : de sectielay-outgegevens die in het paginamodel worden gevonden

  • componentId (String): de waarde componentId van de sectielay-out, doorgaans een GUID

  • renderMode (String, optioneel): de weergavemodus voor de weergavebewerking

  • customSettingsData (Object): een kopie van customSettingsData gevonden in sectionLayoutData

De weergave-API's voor sectielay-out worden geïnitialiseerd.
render

Hiermee worden DOM-elementen die geschikt zijn voor de sectielay-out gegenereerd naar de pagina, met inbegrip van container-div's voor onderliggende componenten.

container (Element) : het DOM-element waarin de markup van de sectielay-out moet worden weergegeven

Nadat deze methode wordt geretourneerd, worden onderliggende componenten weergegeven.

U kunt onderliggende componenten identificeren door onderliggende div[id]-elementen te zoeken.

addComponent

Deze wordt gebruikt met inhoudlijstcomponenten om onderliggende componenten dynamisch aan een sectielay-out toe te voegen.

Deze functie is optioneel.

container (Element): het DOM-element waarin de nieuwe component moet worden weergegeven

componentId (String): de ID van de nieuwe component om aan de sectielay-out toe te voegen

Nadat deze methode wordt geretourneerd, wordt het element waarvan de ID overeenkomt met de invoer componentId weergegeven.

Bewerkings-API's

De module edit.js wordt geladen als de eigenschap hasEditHandlers is ingesteld op true in het bestand appinfo.json dat is gekoppeld aan de sectielay-out.

De bewerkings-API's worden gebruikt in de sitebuilder.

Alle functies in deze module, behalve 'Constructor', zijn optioneel.

Bewerkings-API Beschrijving Invoerparameter(s) Geretourneerd resultaat
(Constructor) Hiermee wordt de bewerkingsmodule voor sectielay-outs geïnitialiseerd.

Een JavaScript-object dat de volgende eigenschap bevat:

  • componentId (String): de waarde componentId van de sectielay-out, doorgaans een GUID

De bewerkings-API's voor sectielay-outs worden geïnitialiseerd.

getCapabilities

Hiermee wordt een object geretourneerd waarin de bewerkingsmogelijkheden van de sectielay-out worden beschreven.

Een JavaScript-object waarin de bewerkingsmogelijkheden van de sectielay-out worden beschreven

Bij invoer worden de standaardmogelijkheden beschikbaar voor de functie. Met de functie kan het object 'Capabilities' zo nodig worden gewijzigd.

Het object 'Capabilities' kan de volgende mogelijkheden bevatten:

  • title (String): de titel van de sectielay-out voor weergave voor de gebruiker

  • settingsTitle (String): de titel die moet worden weergegeven in het dialoogvenster van het paneel 'Instellingen'

  • hasSettings (Boole): hiermee wordt aangegeven of met de sectielay-out een paneel 'Instellingen' wordt ondersteund.

  • allowMove (Boole): hiermee wordt aangegeven of onderliggende items mogen worden verplaatst in de sectielay-out.

  • allowDelete (Boole): hiermee wordt aangegeven of onderliggende items mogen worden verwijderd uit de sectielay-out.

  • isHidden (Boole): hiermee wordt aangegeven of de sectielay-out momenteel verborgen is als reactie op gebruikersopties.

  • dropTarget (Boole): hiermee wordt aangegeven of de sectielay-out het doel is voor sleep- en neerzetbewerkingen.

  • customMenuOptions (Array): aangepaste menuopties om toe te voegen aan het contextmenu van de sectielay-out Elk menu-option object heeft de volgende eigenschappen:

    • label (String) : de weergavetekst van het menu-item

    • action (Functie): de functie die moet worden opgeroepen wanneer op het menu-item wordt geklikt

    • disabled (Boole): hiermee wordt aangegeven dat het menu-item moet worden weergegeven in een gedeactiveerde status.

    • icon (String): de URL die moet worden weergegeven naast het label in het menu-item (Deze eigenschap is gereserveerd voor toekomstig gebruik.)

    • checkmark (Boole): hiermee wordt aangegeven dat er een vinkje naast het label in het menu-item moet worden weergegeven.

    • subMenuItems (Array): menuopties die in een submenu moeten worden weergegeven

(Object): de mogelijkheden voor de sectielay-out

getCaptionContent

Hiermee wordt de weergavenaam van de sectielay-out geretourneerd, die wordt weergegeven in gebruikersinterface-elementen.

Geen

(String): de weergavenaam van de sectielay-out

filterCapabilities

Hiermee kan met de sectielay-out het object Capabilities worden gewijzigd voordat menu's voor de gebruiker worden weergegeven.

U kunt deze API gebruiken om menuopties aan te passen of te verwijderen. (Zie ook: getCapabilities.)

Een JavaScript-object waarin de bewerkingsmogelijkheden van de sectielay-out worden beschreven Bij invoer worden de standaardmogelijkheden beschikbaar voor de functie.

(Object) de mogelijkheden voor de sectielay-out
onDragOver Wordt aangeroepen tijdens een sleep- en neerzetbewerking om aan te geven of het gesleepte item kan worden neergezet in de sectielay-out.

eventObject (Eventobject): een eventobject dat gegevens bevat over het sleepevent

dataTransfer (DataTransfer-object): een DataTransfer-object dat gegevens bevat over het item dat over de sectielay-out wordt gesleept

(Boole) een waarde waarmee wordt aangegeven of het gesleepte item door de sectielay-out kan worden geaccepteerd

Hiermee wordt waar geretourneerd als het gesleepte item door de sectielay-out kan worden geaccepteerd, anders wordt niet waar geretourneerd.

onDrop Wordt aangeroepen tijdens het neerzetgedeelte van een sleep- en neerzetbewerking om aan te geven dat het gesleepte item binnen de sectielay-out moet worden geplaatst.

eventObject (Eventobject) : een eventobject dat gegevens bevat over het neerzetevent

dataTransfer (DataTransfer-object) : een DataTransfer-object dat gegevens bevat over het item dat in de sectielay-out wordt neergezet

(Boole) een waarde waarmee wordt aangegeven of de neerzetbewerking is afgehandeld door de sectielay-out

Als waar wordt geretourneerd, wordt de standaardlogica overgeslagen.

onAddComponent Hiermee wordt aan de sectielay-out gemeld dat er met een sleep- en neerzetbewerking een item aan de sectielay-out is toegevoegd.

eventObject (Eventobject): een eventobject dat gegevens bevat over het sleepevent

dataTransfer (DataTransfer-object): een DataTransfer-object dat gegevens bevat over het item dat in de sectielay-out wordt neergezet

componentId (String): de waarde componentId van het recent toegevoegde item

Melding sectielay-out
onMoveComponent

Hiermee wordt aan de sectielay-out gemeld dat er met een sleep- en neerzetbewerking een item in de sectielay-out is verplaatst.

eventObject (Eventobject): een eventobject dat gegevens bevat over het sleepevent

dataTransfer (DataTransfer-object): een DataTransfer-object dat gegevens bevat over het item dat in de sectielay-out wordt neergezet

componentId (String): de waarde componentId van het verplaatste item

Melding sectielay-out
getSettingsData

Hiermee kunnen met de sectielay-out de instellingsgegevens worden gewijzigd voordat het paneel 'Instellingen' wordt weergegeven.

settingsData (Object): de standaardinstellingsgegevens die worden berekend voor de sectielay-out

(Object) de instellingsgegevens voor de sectielay-out
updateSettings

Hiermee kunnen met de sectielay-out de instellingen worden gewijzigd nadat het paneel 'Instellingen' is gesloten.

Deze API wordt aangeroepen net voordat de instellingen worden opgeslagen in het paginamodel.

parameters (Object): het onbewerkte parameters-object dat wordt geretourneerd vanuit het paneel 'Instellingen'

sectionLayoutData (Object) : de gegevens voor sectielay-out die worden opgeslagen Standaardgegevens worden gegenereerd vanuit parameters (Object) en doorgegeven aan de functie in deze parameter.

(Object) de sectielay-outgegevens die in het paginamodel moeten worden opgeslagen
dispose

Hiermee kan met de bewerkingsmodule geheugen worden vrij gemaakt, events worden ontkoppeld en de toewijzing van resources ongedaan worden gemaakt die aan de bewerkingshandlers zijn gekoppeld.

Deze API wordt aangeroepen wanneer de sectielay-out volledig opnieuw moet worden getekend, zoals het geval is bij een bewerking voor ongedaan maken/opnieuw uitvoeren.

Geen Opnieuw tekenen van de sectielay-out is geactiveerd.