Môžete nastaviť komponent využívajúci registráciu akcie a ten potom presunúť na stránku, na ktorej budú vykonávané akcie v rámci daného komponentu.
Registrácia akcií
Akcie s komponentmi sú volané, keď sú vyvolané spúšťače. Komponent môže mať registrovaný ľubovoľný počet akcií a takisto môže definovať payload, ktorý akcia podporuje. Keď používateľ vyberie akciu, môže vyplniť payload, ktorý sa odovzdá pre danú akciu.
Rovnako ako pri registrovaní spúšťačov, môžete v dátach registrácie v súbore appinfo.json
pre motív zaregistrovať akcie, ktoré komponent podporuje.
Tu je príklad registrácie akcie:
appinfo.json
pre daný komponent a aktualizujte položku "actions":[],
.
"actions": [{ "actionName": "helloWorldChangeWhoIAm", "actionDescription": "Change Who I Am", "actionPayload": [{ "name": "whoAreYou", "description": "Who are you?", "type": { "ojComponent": { "component": "ojInputText"} }, }, "value": "" }] }]
Po registrácii bude akcia zobrazená v dialógovom okne akcií, ktoré vyvoláte kliknutím na spúšťač na karte Prepojenie na paneli Nastavenie pre daný komponent.
Vykonávanie akcií
Po registrácii akcie budete môcť presunúť komponenty na stránku, ktorá vykonáva akcie v rámci komponentu. Na to, aby mohol komponent spustiť akciu, musí prijať správu EXECUTE_ACTION
. Táto správa obsahuje aj payload odovzdaný do akcie, z ktorého je potrebné extrahovať očakávané hodnoty.
EXECUTE_ACTION
upravte súbor render.js
a aktualizujte objekt ViewModel
týmito položkami:
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); } };
Týmto sa vytvorí funkcia JavaScript na vykonanie akcie. Potom sa použije súprava Sites SDK na volanie funkcie pri každom vyvolaní správy EXECUTE_ACTION
.
Akcia bude volaná pri každom vyvolaní správy EXECUTE_ACTION
a záleží na komponente, či spracuje len akcie, na ktoré bol navrhnutý. Na to je potrebné skontrolovať názov akcie a uistiť sa, že je to tá akcia, ktorú môžete spracovať.
Payloadom akcie je pole hodnôt. V tomto príklade sa predpokladá, že hodnota je prvá položka v poli. Vy by ste v poli mali nájsť tie hodnoty payloadu, ktoré chcete spracovať.
Poznámka:
Keďže prijímač akcie prestavuje spätné volanie, mali by ste použiť JavaScript Closure alebo je potrebné vytvoriť vhodné viazanie funkcie, aby ste mali zabezpečený prístup k objektuViewModel
, keď je vykonaná funkcia.