Σε αυτό το βήμα, θα σας δείξουμε πώς ενεργοποιείται το έναυσμα που είδατε να εγγράφεται.
Τα εναύσματα μπορούν να ενεργοποιηθούν οποιαδήποτε χρονική στιγμή από ένα συστατικό στοιχείο. Συνήθως, ενεργοποιείται από μια αλληλεπίδραση του χρήστη, όπως το πάτημα ενός κουμπιού ή την επιλογή μιας σειράς σε έναν πίνακα. Ωστόσο, το συστατικό στοιχείο μπορεί να ενεργοποιήσει το έναυσμα με βάση οποιαδήποτε κριτήρια, για παράδειγμα, όταν αλλάζουν τα δεδομένα λόγω μιας κλήσης REST.
Για το συγκεκριμένο δείγμα, όταν κάνετε κλικ στην εικόνα θα ενεργοποιείται ένα έναυσμα μεταβιβάζοντας την τρέχουσα τιμή της ιδιότητας whoAreYou
.
Εξετάστε το αρχείο render.js
και εντοπίστε το αντικείμενο SampleComponentViewModel
.
Για την ενεργοποίηση ενός εναύσματος:
Εξετάστε τη συνάρτηση στο αντικείμενο SampleComponentViewModel
που καλεί το SDK Τοποθεσιών για την ενεργοποίηση του εναύσματος.
self.raiseTrigger = function (triggerName) { SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, { 'triggerName': triggerName, 'triggerPayload': { 'payloadData': 'some data here' } }); };
Τώρα χρειάζεστε κάτι στο περιβάλλον εργασίας χρήστη που θα καλέσει τη συνάρτηση για να ενεργοποιήσει το έναυσμα. Εξετάστε το αρχείο render.js
και ενημερώστε το αντικείμενο sampleComponentTemplate
ώστε να έχει αυτήν την καταχώριση:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +
Στο αντικείμενο SampleComponentViewModel
, βλέπετε τη συνάρτηση JavaScript που καλείται όταν πατηθεί η εικόνα. Αυτή η συνάρτηση καλεί το SDK Τοποθεσιών για να του πει να ενεργοποιήσει όλες τις ενέργειες που ορίζονται για το έναυσμα "imageClicked"
, που είναι η τιμή που μεταβιβάζεται από τη δέσμευση κλικ
στο βήμα 2. Μεταβιβάζει επίσης ένα triggerPayload
που έχει ένα μεμονωμένο πεδίο:payloadData
και μεταβιβάζει μια στατική τιμή 'some data here'
. Αυτές οι τιμές imageClicked
και whoAreYou
αντιστοιχούν σε εκείνες στο αρχείο appinfo.json
όπου εγγράφεται το έναυσμα (στο προηγούμενο βήμα).
Στο δείγμα κώδικα, το έναυσμα ενεργοποιείται από μια δέσμευση δεδομένων της δέσμευσης κλικ
και μεταβιβάζει το όνομα εναύσματος imageClicked
. Επί του παρόντος υπάρχουν τρεις αποδόσεις του συστατικού στοιχείου <scs-image>
βάσει της διάταξης που επιλέγει ο χρήστης. Για να βεβαιωθείτε ότι το έναυσμα ενεργοποιείται για καθεμία από τις διατάξεις, επεξεργαστείτε το αρχείο render.js
για να κάνετε τις ακόλουθες αλλαγές.
Ενεργοποίηση εναυσμάτων από διαφορετικές διατάξεις. Βρείτε τις δύο καταχωρίσεις αυτού του κώδικα:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}">' +
Αλλάξτε τον κώδικα σε:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +
Προσδιορίστε το ωφέλιμο φορτίο που θα μεταβιβαστεί στα εναύσματα. Αλλάξτε αυτόν τον κώδικα:
self.raiseTrigger = function (triggerName) { SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, { 'triggerName': triggerName, 'triggerPayload': { 'payloadData': 'some data here' } }); };
Χρησιμοποιήστε στη θέση του αυτόν τον κώδικα:
self.raiseTrigger = function (triggerName) { SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, { 'triggerName': triggerName, 'triggerPayload': { 'payloadData': self.imageBannerText() // pass banner text as payload } }); };
Συγχρονίστε ή αποστείλετε το αρχείο render.js
στον server στιγμιότυπου του Oracle Content Management.
Τώρα που ελέγξατε τον απαιτούμενο κώδικα, μπορείτε να συνδέσετε το έναυσμα ώστε το προσαρμοσμένο συστατικό στοιχείο σας να το καλέσει όταν γίνει κλικ στο κουμπί.
Έλεγχος αποτελεσμάτων για το βήμα 6
Θα πρέπει τώρα να μπορείτε να εγγράψετε μια ενέργεια που θα εκτελεστεί έναντι του εναύσματος και η ενέργεια επίσης να εκτελεστεί όταν ενεργοποιηθεί το έναυσμα:
Ανανεώστε τη σελίδα σας στην τοποθεσία σας, ώστε το Εργαλείο δημιουργίας τοποθεσιών να μπορεί να επιλέξει τις αλλαγές στο συστατικό στοιχείο.
Αλλάξτε τη σελίδα στην κατάσταση επεξεργασίας.
Μεταφέρετε και αποθέστε το συστατικό στοιχείο σας στη σελίδα.
Ανοίξτε τον πίνακα "Ρυθμίσεις" για το συστατικό στοιχείο σας.
Επιλέξτε την καρτέλα Δεσμός στην κορυφή του πίνακα "Ρυθμίσεις".
Επιλέξτε Ενέργειες εναύσματος ως τον "Τύπο δεσμού".
Κάντε κλικ στο έναυσμα imageClicked που είδατε να εγγράφεται.
Στο παράθυρο διαλόγου, σύρετε την ενέργεια "Εμφάνιση ειδοποίησης" από την ενότητα "Ενέργειες σελίδας".
Στο πεδίο Μήνυμα, επιλέξτε την τιμή payloadData, που είναι το ωφέλιμο φορτίο που εισαγάγατε όταν εγγράψατε το έναυσμα.
Κλείστε τον πίνακα "Ρυθμίσεις" και αλλάξτε το Εργαλείο δημιουργίας τοποθεσιών στην κατάσταση προεπισκόπησης.
Κάντε κλικ στην εικόνα στο συστατικό στοιχείο.
Θα εμφανιστεί μια ειδοποίηση που θα λέει δεν ορίστηκε μήνυμα
επειδή δεν έχετε προσδιορίσει την τιμή imageBannerText
.
Αλλάξτε τη σελίδα στην κατάσταση επεξεργασίας και εμφανίστε ξανά τον πίνακα "Ρυθμίσεις" για το συστατικό στοιχείο.
Κάντε κλικ στην επιλογή Προσαρμοσμένες ρυθμίσεις και εισαγάγετε "Χώρος εργασίας".
Κλείστε τον πίνακα "Ρυθμίσεις" και αλλάξτε τη σελίδα στην κατάσταση προεπισκόπησης.
Κάντε κλικ στην εικόνα στο συστατικό στοιχείο.
Τώρα θα πρέπει να δείχνει τον ενημερωμένο Χώρο εργασίας
ωφέλιμου φορτίου, που καλείται από την αλλαγή που κάνατε στη δέσμευση κλικ
.
Μπορείτε να εκτελέσετε οποιονδήποτε αριθμό ενεργειών όταν ενεργοποιηθεί ένα έναυσμα.
Σημείωση:
Δεν υπάρχει προκαθορισμένη σειρά για το πότε εκτελείται μια ενέργεια. Παρόλο που κάθε ενέργεια θα καλείται με τη σειρά παράθεσής της, δεν υπάρχει αναμονή για να ολοκληρωθεί πριν κληθεί η επόμενη ενέργεια. Αν μια ενέργεια κάνει μια ασύγχρονη κλήση, μπορεί να μην ολοκληρωθεί προτού εκτελεστεί η επόμενη ενέργεια.Συνεχίστε στην ενότητα Βήμα 7: Εγγραφή ενεργειών.