Implémentation de composant local

L'instance de composant est créée par l'objet de fabrique de composants.

L'entrée de l'objet de fabrique de composants dans le fichier d'inscription de composant est initData.componentFactory. Il s'agit d'une référence au fichier JavaScript dont se sert RequireJS pour charger la fabrique de composants. Elle doit renvoyer un objet JavaScript qui implémente l'interface componentFactory.

L'objet de fabrique de composants doit implémenter l'API customComponentFactory.createComponent(args), qui crée toutes les instances du composant.

args contient ces paramètres :

  • SitesSDK: kit SDK Sites Oracle Content Management.

  • id : ID unique (GUID) du composant ajouté à la page.

  • viewMode : mode d'affichage en cours de la page. Lorsqu'une page est en cours de modification, le mode est Modification. Lorsqu'une page est prévisualisée, le mode est Navigation. Lors de l'exécution, c'est-à-dire au moment de la publication du site, la valeur n'est pas définie. Vous pouvez fournir différentes implémentations selon les fonctionnalités à exposer pour chaque mode. Par exemple, les liens ne doivent pas être actifs lorsque la page est exécutée en mode Modification.

Remarque :

Il n'est pas obligatoire d'utiliser JQuery ou Knockout pour votre composant, mais si vous voulez exploiter les fonctionnalités d'Oracle Content Management telles que les composants imbriqués, vous devez utiliser la version de Knockout fournie par Oracle Content Management. Cette version de Knockout dispose de fonctionnalités étendues de gestionnaire et d'inscription de composant qui ne sont pas disponibles autrement.

Concernant le composant lui-même, le kit SDK est transmis lorsque le composant est instancié afin que ce dernier puisse communiquer avec le cycle de vie de la page. Les fonctions de cycle de vie de page doivent être implémentées par le composant et sont appelées par Oracle Content Management pour afficher le composant sur la page.

Des API obligatoires et facultatives sont fournies pour implémenter les composants.

API obligatoires

customComponent.render(container) : demande au composant de s'insérer dans l'élément de conteneur DOM fourni.

  • container : élément de conteneur DOM pour le code HTML du composant personnalisé.

API facultatives

customComponent.dispose() : appelée lorsque le composant est enlevé de la page. Permet au composant d'enlever toutes les ressources qui ne sont plus requises.