Komponentinstansen oprettes af Component Factory-objektet.
Component Factory-objektposten i komponentregistreringsfilen er initData.componentFactory
. Det er en reference til en JavaScript-fil, som RequireJS bruger til at indlæse Component Factory. Den skal returnere et JavaScript-objekt, der implementerer componentFactory
-grænsefladen.
Component Factory-objektet skal implementere API'en customComponentFactory.createComponent(args)
, der opretter hver instans af komponenten.
args
indeholder disse indstillinger:
SitesSDK
: Oracle Content Management-Sites-SDK.
id
: Det entydige ID (GUID
) for den komponent, der tilføjes på siden.
viewMode
: Den aktuelle tilstand, som siden gengives i. Når siden bliver redigeret, er det "Edit". Når siden vises som eksempel, er det "Navigate". Ved runtime, som er, når sitet publiceres, er værdien ikke defineret. Du kan angive forskellige implementeringer på basis af, hvilken funktionalitet der skal være eksponeret for hver tilstand. For eksempel bør links ikke være aktive, når siden kører i redigeringstilstand.
Bemærk:
Det er ikke påkrævet at bruge JQuery eller Knockout til din komponent, men hvis du vil udnytte Oracle Content Management-funktioner som for eksempel indlejrede komponenter, skal du bruge den version af Knockout, som leveres af Oracle Content Management. Denne version af Knockout har udvidet komponentregistrering og handlere, som ellers ikke ville være tilgængelige for dig.For selve komponenten indføres SDK, når komponenten er instantieret, så komponenten kan kommunikere med sidelivscyklussen. Sidelivscyklussens funktioner skal implementeres af komponenten og kaldes af Oracle Content Management for at gengive komponenten på siden.
Obligatoriske og valgfrie API'er leveres til implementering af en komponent.
Obligatoriske-API'er
customComponent.render(container)
: Beder komponenten om at indsætte sig selv i det leverede DOM-containerelement.
container
: DOM-containerelement for den tilpassede komponent-HTML.
Valgfrie API'er
customComponent.dispose()
: Kaldes, når komponenten fjernes fra siden. Giver mulighed for komponenten at fjerne eventuelle ressourcer, der ikke længere er påkrævet.