Ebben a lépésben bemutatjuk a regisztrált trigger indításának módját.
Az összetevő bármely pontnál elindíthatja a triggereket. Általában a triggert egy felhasználói beavatkozás indítja el, például egy gombra kattintás vagy egy táblázat sorának kijelölése. Az összetevő azonban tetszőleges feltétel alapján elindíthatja a triggert, például amikor egy REST-hívás miatt megváltoznak az adatok.
Ebben a példában amikor a képre kattint, az triggert indít el átadva a whoAreYou tulajdonság aktuális értékét.
Tekintse át a render.js fájlt, és nézze meg a SampleComponentViewModel objektumot.
Trigger indítása:
Tekintse át a SampleComponentViewModel objektumban azt a függvényt, amely a Sites SDK készletet hívja a trigger indításához.
self.raiseTrigger = function (triggerName) {
SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
'triggerName': triggerName,
'triggerPayload': {
'payloadData': 'some data here'
}
});
};Most valami a felhasználói felületen szükséges a triggerindító függvény hívásához. Tekintse át a render.js fájlt, és módosítsa a SampleComponentViewModel objektumot a következő bejegyzéssel:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +A SampleComponentViewModel objektumban látható az a JavaScript függvény, amelyet a képre kattintáskor hív a rendszer. Ez a függvény a Sites SDK készletet hívja azt közölve, hogy indítsa el az "imageClicked" triggerhez definiált összes műveletet; a 2. lépésben a trigger értéke lett átadva a click kötésből. Ez átadja a triggerPayload egyetlen payloadData értékét is, valamint a 'some data here' statikus értéket. Az imageClicked és a whoAreYou érték megegyezik a appinfo.json fájlban lévővel, amelyben a trigger regisztrálva lett (az előző lépésben).
A mintakódban a trigger indítása a click adatkötéssel történik, és átkerül a trigger imageClicked neve. A felhasználó által választott elrendezés alapján jelenleg az <scs-image> összetevő három megjelenítése áll rendelkezésre. Annak biztosításához, hogy a trigger indítása mindegyik elrendezésnél megtörténjen, szerkessze a render.js fájlt az alábbiak szerint.
Indítson triggereket a különböző elrendezésekből. Keresse meg a kód két bejegyzését:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}">' +
Módosítsa a kódot a következőre:
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +Adja meg a triggereknek átadni kívánt adattörzset. Módosítsa a következő kódot:
self.raiseTrigger = function (triggerName) {
SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
'triggerName': triggerName,
'triggerPayload': {
'payloadData': 'some data here'
}
});
};
Ezt a kódot használja helyette:
self.raiseTrigger = function (triggerName) {
SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
'triggerName': triggerName,
'triggerPayload': {
'payloadData': self.imageBannerText() // pass banner text as payload
}
});
};Szinkronizálja vagy töltse fel a render.js fájlt az Oracle Content Management példánykiszolgálójára.
A kód szükséges átalakítása után most már használhatja a triggert, és a gombra kattintáskor egyéni összetevője el fogja indítani azt.
A 6. lépéshez tartozó eredmények ellenőrzése
Most már regisztrálni tudja a trigger hatására végrehajtani kívánt műveletet, és a trigger indításakor végre tudja hajtatni a műveletet:
Frissítse az oldalt webhelyén, így a Site Builder át tudja venni az összetevő módosításait.
Jelenítse meg az oldalt szerkesztési módban.
Húzza át összetevőjét az oldalra.
Nyissa meg az összetevőhöz tartozó Beállítások panelt.
A Beállítások panelen jelenítse meg a Hivatkozás lapot.
A hivatkozás típusaként válassza a Triggerműveletek elemet.
Kattintson a regisztrált imageClicked triggerre.
A párbeszédpanelen húzza át a Riasztás megjelenítése műveletet az Oldalműveletek szakaszból.
Az Üzenet mezőben jelölje ki a payloadData értéket, amely a trigger regisztrálásakor megadott adattörzs.
Zárja be a Beállítások panelt, és a Site Builder szerkesztőben váltson előnézeti módra.
Kattintson az összetevőben lévő képre.
A no message defined szövegű riasztás jelenik meg, mivel nem adta meg a imageBannerText értékét.
Térjen át szerkesztési módba, és nyissa meg az összetevőhöz tartozó Beállítások panelt.
Kattintson az Egyéni beállítások gombra, és írja be a Workplace értéket.
Zárja be a Beállítások panelt, és váltson előnézeti módra.
Kattintson az összetevőben lévő képre.
Ekkor a módosított Workplace adattörzsnek kell megjelennie, amelyet a click kötésen végrehajtott módosításából hív a rendszer.
Egy trigger elindításakor bármennyi művelet végrehajtható.
Megjegyzés:
A műveletek végrehajtására nincs előre definiált sorrend. Habár az egyes műveletek a felsorolt sorrendben lesznek meghívva, a rendszer nem várja meg az aktuális művelet befejeződését, mielőtt meghívná a következő műveletet. Ha egy művelet aszinkron hívást hajt végre, nem fejeződhet be a következő művelet végrehajtása előtt.A következő témakör: 7. lépés: Műveletek regisztrálása.