Implementarea componentei locale

Instanţa componentei este creată de obiectul Generator de componente.

Intrarea obiectului Generator de componente din fişierul de înregistrare a componentei este initData.componentFactory. Aceasta este o referinţă la un fişier JavaScript pe care RequireJS îl utilizează pentru a încărca generatorul de componente. Acesta trebuie să returneze un obiect JavaScript care implementează interfaţa componentFactory

Obiectul Generator de componente trebuie să implementeze API-ul customComponentFactory.createComponent(args), care creează fiecare instanţă a componentei.

args conţine următoarele setări:

  • SitesSDK: SDK-ul site-uri Oracle Content Management.

  • id: Identificatorul unic (GUID) al componentei adăugate la pagină.

  • viewMode: Modul curent de randare a paginii. Când o pagină este în curs de editare, modul este "Editare". Când o pagină este previzualizată, modul este "Navigare". La runtime, adică atunci când site-ul este publicat, valoarea este nedefinită. Puteţi furniza diferite implementări, având în vedere funcţionalitatea care trebuie să fie disponibilă pentru fiecare mod. De exemplu, linkurile nu ar trebui să fie active când pagina rulează în modul Editare.

Notă:

Nu este obligatoriu să utilizaţi JQuery sau Knockout pentru componentă, dar dacă doriţi să utilizaţi caracteristicile din Oracle Content Management, cum ar fi componentele imbricate, trebuie să utilizaţi versiunea soluţiei Knockout furnizată de Oracle Content Management. Această versiune a soluţiei Knockout oferă procese şi rutine extinse de înregistrare a componentelor, pe care altfel nu le-aţi putea utiliza.

În ceea ce priveşte componenta în sine, SDK-ul este transmis atunci când componenta este instanţiată, astfel încât componenta să poată comunica cu ciclul de viaţă al paginii. Componenta trebuie să implementeze funcţiile pentru ciclul de viaţă al paginii, care sunt apelate de Oracle Content Management pentru randarea componentei pe pagină.

Pentru implementarea unei componente sunt furnizate API-uri obligatorii şi opţionale.

API-uri obligatorii

customComponent.render(container): Comandă componentei să se insereze în elementul containerului DOM.

  • container: Elementul containerului DOM aferent elementului HTML al componentei personalizate.

API-uri opţionale

customComponent.dispose(): Apelată când componenta este eliminată din pagină. Oferă componentei posibilitatea de a elimina resursele care nu mai sunt necesare.