SitesSDK.subscribe(messageType, callback)

Táto funkcia je efektívnym prijímačom správ pre správy odoslané z lokality hostiteľa. Volanie je asynchrónne.

Parametre

Registrované spätné volanie sa uskutoční vtedy, keď SDK prijme správu konkrétneho typu. Ak spätné volanie vráti hodnotu, táto hodnota sa potom vráti späť na stránku. Ak do tejto funkcie nie je odovzdané žiadne spätné volanie, akýkoľvek registrovaný prijímač pre daný konkrétny typ správy sa odstráni.

Toto sú spätné volania JavaScriptu, takže funkcia by mala použiť JavaScript Closure alebo je potrebné vytvoriť vhodné viazanie funkcie, aby mala prístup k príslušnému kontextu.

Názov Typ Popis

messageType

reťazec

Typ správy:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

funkcia

Funkcia pri prijatí správy z lokality hostiteľa.

Typy správ

Typ správy Popis
SETTINGS_UPDATED Prihlásenie na odber tejto správy, aby sa zobrazovali upozornenia na zmenu ľubovoľnej hodnoty na paneli Nastavenia. Komponent zvyčajne odpovedá aktualizáciou formátu výstupu v používateľskom rozhraní.
TRIGGER_ACTIONS Publikovaním tejto správy sa vyvolá spúšťač a odovzdá payload.
EXECUTE_ACTION Prihlásenie na odber tejto správy na spracovávanie vlastných akcií. Prijímač zvyčajne spracuje túto správu vykonaním danej akcie.
GET_ACTIONS Prihlásenie na odber tejto správy na deklarovanie poľa akcií, ktoré môže komponent vykonať. Vráti pole akcií.
GET_TRIGGERS Prihlásenie na odber tejto správy na deklarovanie poľa spúšťačov, ktoré môže komponent vyvolať. Vráti pole spúšťačov.
COPY_CUSTOM_DATA Prihlásenie na odber tejto správy na spracovanie kopírovania vlastných dát nastavení do schránky. Vráti objekt predstavujúci dáta, ktoré sa majú vložiť do schránky.
PASTE_CUSTOM_DATA Prihlásenie na odber tejto správy na spracovanie prilepenia vlastných dát nastavení zo schránky.

Použitie

Niektoré prijímače očakávajú odovzdanie dát a iné očakávajú vrátenie dát.

Príklad 1:

Zaregistrujte prijímač správ pre typ správy EXECUTE_ACTION:

SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);

Zaregistrovaná funkcia callback by mala prijať argument, ako je zobrazené tu:

// typical signature of a callback function registered with a message
// type
function (args) {
                var payload = args.detail.message.payload,
                                        action = args.detail.message.action,
                                        actionName =  action && action.actionName;

                // do something here with the payload data

        }

Príklad 2:

Pre prijímač správ COPY_CUSTOM_DATA sa zvyčajne implementuje kód ako tento:

     // listen for COPY_CUSTOM_DATA request
     SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA, 

Metóda copyCustomDataListener() by mala vrátiť objekt predstavujúci dáta, ktoré sa majú skopírovať do schránky, napríklad:

     // Handle Copy Style (save customSettingsData to the clipboard)
     self.copyCustomDataListener = function() {
         return {
             prop1: this.prop1(),
             prop2: this.prop2()
         };
     };

Príklad 3:

Požiadavka PASTE_CUSTOM_DATA prijme dáta, ale nemusí vrátiť žiadnu hodnotu:

// listen for PASTE_CUSTOM_DATA request
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);

A takisto:

// Handle Paste Style (apply customSettingsData from the clipboard)
self.pasteCustomDataListener = function(data) {
     ...
};