Το στιγμιότυπο συστατικού στοιχείου δημιουργείται από το αντικείμενο Component Factory.
Η καταχώριση αντικειμένου Component Factory στο αρχείο εγγραφής συστατικών στοιχείων είναι initData.componentFactory
. Πρόκειται για μια αναφορά σε ένα αρχείο JavaScript που το RequireJS χρησιμοποιεί για τη φόρτωση του εργοστασίου συστατικών στοιχείων. Πρέπει να επιστρέψει ένα αντικείμενο JavaScript που υλοποιεί το περιβάλλον εργασίας componentFactory
Το αντικείμενο Component Factory πρέπει να υλοποιήσει το API customComponentFactory.createComponent(args)
, το οποίο δημιουργεί κάθε στιγμιότυπο του συστατικού στοιχείου.
args
περιέχει αυτές τις ρυθμίσεις:
SitesSDK
: Το SDK Τοποθεσιών του Oracle Content Management.
id
: Το μοναδικό αναγνωριστικό (GUID
) για το συστατικό στοιχείο που προστέθηκε στη σελίδα.
viewMode
: Η τρέχουσα κατάσταση λειτουργίας που αποδίδει η σελίδα. Όταν γίνεται επεξεργασία μιας σελίδας, είναι "Επεξεργασία". Όταν γίνεται προεπισκόπηση μιας σελίδας, είναι "Πλοήγηση". Κατά τον χρόνο εκτέλεσης, ο οποίος είναι όταν δημοσιεύεται η τοποθεσία, η τιμή δεν είναι καθορισμένη. Μπορείτε να παρέχετε διαφορετικές υλοποιήσεις με βάση τη λειτουργικότητα που θα πρέπει να εκτεθεί για κάθε κατάσταση λειτουργίας. Για παράδειγμα, οι δεσμοί δεν πρέπει να είναι ενεργοί όταν η σελίδα εκτελείται σε κατάσταση λειτουργίας Επεξεργασία.
Σημείωση:
Δεν αποτελεί απαίτηση να χρησιμοποιήσετε JQuery ή Knockout για το συστατικό στοιχείο σας, αλλά αν θέλετε να αξιοποιήσετε τις δυνατότητες του Oracle Content Management, όπως τα ένθετα συστατικά στοιχεία, πρέπει να χρησιμοποιήσετε την έκδοση του Knockout που παρέχεται από το Oracle Content Management. Αυτή η έκδοση του Knockout διαθέτει εκτεταμένη εγγραφή και λειτουργίες χειρισμού συστατικών στοιχείων, οι οποίες δεν θα ήταν διαθέσιμες διαφορετικά.Για το ίδιο το συστατικό στοιχείο, το SDK μεταβιβάζεται κατά τη δημιουργία στιγμιότυπου του συστατικού στοιχείου ώστε αυτό να μπορεί να επικοινωνήσει με τον κύκλο ζωής της σελίδας. Οι συναρτήσεις κύκλου ζωής της σελίδας πρέπει να υλοποιηθούν από το συστατικό στοιχείο και καλούνται από το Oracle Content Management για την απόδοση του συστατικού στοιχείου στη σελίδα.
Για την υλοποίηση ενός συστατικού στοιχείου παρέχονται υποχρεωτικά και προαιρετικά API.
Υποχρεωτικά API
customComponent.render(container)
: Ζητά από το συστατικό στοιχείο να εισαγάγει τον εαυτό του στο παρεχόμενο στοιχείο κοντέινερ DOM.
container
: Στοιχείο κοντέινερ DOM για την HTML προσαρμοσμένου συστατικού στοιχείου.
Προαιρετικά API
customComponent.dispose()
: Καλούνται όταν το συστατικό στοιχείο καταργηθεί από τη σελίδα. Παρέχει μια ευκαιρία για το συστατικό στοιχείο να καταργήσει τυχόν πόρους που δεν απαιτούνται πλέον.