Implementazione del componente locale

L'istanza del componente viene creata dall'oggetto Component Factory.

La voce relativa all'oggetto Component Factory nel file di registrazione del componente è initData.componentFactory. Si tratta di un riferimento a un file JavaScript utilizzato da RequireJS per caricare il Component Factory. Deve restituire un oggetto JavaScript che implementi l'interfaccia componentFactory.

L'oggetto Component Factory deve implementare l'interfaccia API customComponentFactory.createComponent(args), che crea ogni istanza del componente.

La variabile args contiene le impostazioni riportate di seguito.

  • SitesSDK: il kit Sites SDK di Oracle Content Management.

  • id: l'ID univoco (GUID) per il componente aggiunto alla pagina.

  • viewMode: la modalità corrente della pagina è Rendering. Durante la sessione di modifica di una pagina, la modalità è "Modifica". Durante l'anteprima di una pagina, la modalità è "Naviga". In runtime, quando il sito viene pubblicato, il valore non è definito. È possibile fornire implementazioni diverse in base alle funzionalità da esporre per ciascuna modalità. Ad esempio, i collegamenti non dovrebbero essere attivi quando la pagina viene eseguita in modalità Modifica.

Nota:

Non è obbligatorio utilizzare JQuery o Knockout per il componente, ma se si desidera sfruttare le funzioni di Oracle Content Management, ad esempio i componenti nidificati, è necessario utilizzare la versione di Knockout fornita da Oracle Content Management. Questa versione dispone di funzioni di registrazione dei componenti estese e di handler che altrimenti non sarebbero disponibili.

Per il componente stesso, il kit SDK viene passato alla creazione di un'istanza in modo che il componente possa comunicare con il ciclo di vita della pagina. Le funzioni del ciclo di vita della pagina devono essere implementate dal componente e vengono richiamate da Oracle Content Management per il rendering del componente nella pagina.

Per implementare un componente vengono fornite interfacce API obbligatorie e facoltative.

Interfacce API obbligatorie

customComponent.render(container): chiede al componente di inserire se stesso nell'elemento contenitore DOM fornito.

  • container: elemento contenitore DOM per il codice HTML del componente personalizzato.

Interfacce API facoltative

customComponent.dispose(): viene chiamata quando il componente viene rimosso dalla pagina. Consente al componente di rimuovere le eventuali risorse che non sono più necessarie.