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.