Ένα συστατικό στοιχείο μπορεί να περιλαμβάνει εναύσματα που θα εκτελούν ενέργειες σε άλλα συστατικά στοιχεία. Πρέπει να εγγράψετε τα εναύσματα που θα ενεργοποιηθούν από συστατικά στοιχεία.
Το συστατικό στοιχείο παρέχει ένα ωφέλιμο φορτίο για ένα έναυσμα, το οποίο μεταβιβάζεται σε οποιαδήποτε ενέργεια που εκτελείτε όταν ενεργοποιείται το έναυσμα. Μπορείτε να επιλέξετε ποιες ενέργειες θα εκτελεστούν για κάθε έναυσμα. Τα συστατικά στοιχεία που είναι δομημένα ώστε να λειτουργούν μαζί μπορούν να ενεργοποιήσουν αυτόματα εναύσματα για να εκτελέσουν ενέργειες χωρίς παρέμβαση του χρήστη.
Εγγραφή εναυσμάτων
Για ένα προσαρμοσμένο συστατικό στοιχείο, τα εναύσματα εγγράφονται ως τμήμα των δεδομένων εγγραφής για το συστατικό στοιχείο. Για να προσθέσετε ένα έναυσμα, ενημερώστε τον πίνακα ιδιοτήτων "triggers"
με κάθε έναυσμα που υποστηρίζει το συστατικό στοιχείο. Επίσης, πρέπει να ορίσετε το ωφέλιμο φορτίο που υποστηρίζει το έναυσμα έτσι ώστε το περιβάλλον εργασίας χρήστη να μπορεί να δημιουργηθεί για να επιτρέπει στους χρήστες να αντιστοιχίζουν τιμές εντός του ωφέλιμου φορτίου σε ιδιότητες που υποστηρίζονται από την ενέργεια.
appinfo.json
και εξετάστε την καταχώριση "triggers":[],
:
"triggers": [{ "triggerName": "helloWorldWhoAreYou", "triggerDescription": "Show Who I Am", "triggerPayload": [{ "name": "whoAreYou", "displayName": "Who I Am" }] }],
Συγχρονίστε το αρχείο με τον server τοποθεσιών.
Σε αυτήν τη καταχώριση δείγματος εναύσματος, έχετε ορίσει ένα όνομα triggerName
("helloWorldWhoAreYou"
). Η τιμή ονόματος πρέπει να είναι μοναδική. Έχετε δώσει, στη συνέχεια, στο έναυσμα μια περιγραφή ("Εμφάνιση ποιος είμαι"
), η οποία χρησιμοποιείται από το παράθυρο διαλόγου του περιβάλλοντος εργασίας χρήστη για να εμφανίσει το έναυσμά σας. Τέλος, έχετε ορίσει ένα ωφέλιμο φορτίο μοναδικής τιμής για το έναυσμα. Οι χρήστες θα μπορούν να επιλέγουν καταχωρίσεις σε αυτό το ωφέλιμο φορτίο και να τις αντιστοιχίζουν σε πεδία στην ενέργεια.
Όταν εγγραφεί ένα έναυσμα, θα πρέπει να μπορείτε να δείτε και να επιλέξετε το έναυσμα όταν μεταβαίνετε στην καρτέλα "Δεσμός" στον πίνακα ρυθμίσεων για το συστατικό στοιχείο σας.
Ενεργοποίηση εναυσμάτων
Τα εναύσματα μπορούν να ενεργοποιηθούν οποιαδήποτε χρονική στιγμή από ένα συστατικό στοιχείο. Συνήθως, ένα έναυσμα ενεργοποιείται από μια αλληλεπίδραση του χρήστη, όπως το πάτημα ενός κουμπιού ή η επιλογή μιας σειράς σε έναν πίνακα. Ένα συστατικό στοιχείο μπορεί να ενεργοποιήσει το έναυσμα με βάση οποιαδήποτε κριτήρια, για παράδειγμα, όταν αλλάζουν τα δεδομένα λόγω μιας κλήσης API REST. Μπορείτε να εκτελέσετε οποιονδήποτε αριθμό ενεργειών όταν ενεργοποιηθεί ένα έναυσμα.
render.js
και προσθέστε μια συνάρτηση JavaScript στο αντικείμενο viewModel
που θα καλέσει το SDK Τοποθεσιών για να ενεργοποιήσει το έναυσμα.
self.raiseTrigger = function (triggerName) { SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, { 'triggerName': 'helloWorldWhoAreYou', 'triggerPayload': { "whoAreYou": "This is " + self.whoAreYou() + "!"} }); };
-edit template.html
) και ένα κουμπί πριν από το στοιχείο </div>
.
<button data-bind="click raiseTrigger">Who Am I?</button>
Συγχρονίστε ή αποστείλετε το αρχείο render.js
στον server στιγμιότυπου του Oracle Content Management.
Στο αντικείμενο ViewModel
, δημιουργήσατε μια συνάρτηση JavaScript που καλείται όταν πατηθεί το κουμπί. Αυτή η συνάρτηση καλεί το SDK Τοποθεσιών για να του ζητήσει να ενεργοποιήσει όλες τις ενέργειες που έχουν οριστεί για αυτό το έναυσμα "helloWorldWhoAreYou"
. Επίσης, περνά μέσω ενός triggerPayload
που έχει ένα μοναδικό πεδίο, "whoAreYou"
. Αυτές οι τιμές "helloWorldWhoAreYou"
και "whoAreYou"
αντιστοιχούν σε αυτές που καταχωρίσατε κατά την εγγραφή του εναύσματος στο προηγούμενο βήμα.
Σημείωση:
Δεν υπάρχει προκαθορισμένη σειρά για το πότε εκτελείται μια ενέργεια. Παρόλο που κάθε ενέργεια θα καλείται με τη σειρά παράθεσής της, δεν υπάρχει αναμονή για να ολοκληρωθεί πριν κληθεί η επόμενη ενέργεια. Αν μια ενέργεια κάνει μια ασύγχρονη κλήση, μπορεί να μην ολοκληρωθεί προτού εκτελεστεί η επόμενη ενέργεια.