Beállíthat egy összetevőt művelet regisztrációjának használatára, így az áthúzható egy oldalra, amely az összetevőn belüli műveleteket hajt végre.
Műveletek regisztrálása
Műveleteket akkor hív a rendszer az összetevőkön, amikor triggerek indítása történik. Az összetevők tetszőleges számú műveletet regisztrálhatnak, és definiálhatják a művelet által támogatott adattörzset is. Amikor a felhasználó műveletet jelöl ki, kitöltheti a műveletnek átadni kívánt adattörzset.
A triggerekhez hasonlóan az összetevő által támogatott műveleteket is regisztrálhat a témához tartozó appinfo.json regisztrációs adataiban.
Az alábbi példa művelet regisztrálását mutatja be:
appinfo.json fájlt, és módosítsa az "actions":[], bejegyzést.
"actions": [{
"actionName": "helloWorldChangeWhoIAm",
"actionDescription": "Change Who I Am",
"actionPayload": [{
"name": "whoAreYou",
"description": "Who are you?",
"type": {
"ojComponent": {
"component": "ojInputText"}
},
},
"value": ""
}]
}]Regisztrálása után a művelet látható lesz az akkor megjelenő párbeszédpanelen, amikor egy triggerre kattint az összetevőhöz tartozó Beállítások panel Hivatkozás lapján.
Műveletek végrehajtása
Művelet regisztrálása után összetevőket húzhat az oldalra, amelyek műveleteket hajtanak végre az összetevőn belül. Művelet végrehajtásához az összetevőnek az EXECUTE_ACTION üzenetet kell figyelnie. Ez az üzenet a műveletnek átadott adattörzset is tartalmazza, amelyből ki kell gyűjtenie a várható értékeket.
EXECUTE_ACTION üzenet figyelésének példájaként szerkessze a render.js fájlt, és a következő bejegyzésekkel módosítsa a ViewModel objektumot:
self.executeActionListener = function (args) {
// get action and payload
var payload = $.isArray(args.payload) ? args.payload[0] : {},
action = args.action,
actionName = action && action.actionName;
// handle 'helloWorldChangeWhoIAm' actions
if ((actionName === 'helloWorldChangeWhoIAm') && (payload.name === 'whoAreYou')) {
self.whoAreYou(payload.value);
}
};
Ez JavaScript függvényt hoz létre a művelet végrehajtásához, majd a Sites SDK használatával hívja a függvényt, amikor EXECUTE_ACTION üzenet érkezik.
A művelet hívása minden EXECUTE_ACTION üzenet esetében megtörténik, és az összetevőn múlik, hogy csak az arra tervezett műveleteket kezelje. Ehhez ellenőriznie kell a művelet nevét annak biztosításához, hogy az olyan művelet, amelyet kezelhet.
A művelethez tartozó adattörzs értéktömb. A példában feltételezzük, hogy az érték a tömb első bejegyzése. Általában a tömbben meg kell keresnie az adattörzs megfelelő értékeit.
Megjegyzés:
Mivel a műveletfigyelő visszahívás, JavaScript lezárót vagy megfelelő kötést kell használnia annak biztosítására, hogy hozzáférjen aViewModel objektumhoz a függvény végrehajtásakor.