Műveletek beállítása

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:

  1. Szerkessze az összetevőhöz tartozó 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": ""
      }]
    }]
  2. 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.

Az 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 a ViewModel objektumhoz a függvény végrehajtásakor.