SitesSDK.subscribe(messageType, callback)

Tato funkce je ve skutečnosti službou listener pro zprávy odesílané z hostitelského webu. Volání je asynchronní.

Parametry

Registrované zpětné volání je vyvoláno, když sada SDK přijme zprávu určitého typu. Pokud zpětné volání vrátí hodnotu, pak je tato hodnota vrácena zpět na stránku. Pokud není této funkci předáváno žádné zpětné volání, pak bude odstraněna jakákoli registrovaná služba listener pro daný konkrétní typ zprávy.

Jedná se o zpětná volání v jazyku JavaScript, takže funkce by měla používat uzávěr jazyka JavaScript nebo vhodně svázat funkci, aby měla přístup k příslušnému kontextu.

Název Typ Popis

messageType

řetězec

Typ zprávy:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

funkce

Funkce, která se aktivuje při přijetí zprávy z hostitelského webu.

Typy zpráv

Typ zprávy Popis
SETTINGS_UPDATED Přihlaste se k odběru této zprávy, pokud chcete být upozorněni, když se změní jakákoli hodnota na panelu Nastavení. Komponenta bude obvykle reagovat aktualizací svého generování v uživatelském rozhraní.
TRIGGER_ACTIONS Při publikování této zprávy je vyvolán trigger a předána datová část.
EXECUTE_ACTION Přihlaste se k odběru této zprávy, pokud chcete zpracovávat vlastní akce. Služba listener obvykle zpracovává tuto zprávu provedením stanovené akce.
GET_ACTIONS Přihlaste se k odběru této zprávy, chcete-li deklarovat pole akcí, které může komponenta provést. Vrátí pole akcí.
GET_TRIGGERS Přihlaste se k odběru této zprávy, chcete-li deklarovat pole triggerů, které může komponenta vyvolat. Vrátí pole triggerů.
COPY_CUSTOM_DATA Přihlaste se k odběru této zprávy, chcete-li zpracovat kopírování dat vlastních nastavení do schránky. Vrátí objekt představující data, která mají být vložena do schránky.
PASTE_CUSTOM_DATA Přihlaste se k odběru této zprávy, chcete-li zpracovat vložení dat vlastních nastavení ze schránky.

Použití

Některé služby listener očekávají, že budou předána data, a některé očekávají, že budou vrácena data.

Příklad 1:

Registrujte službu listener pro zprávy typu EXECUTE_ACTION:

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

Registrovaná funkce callback by měla přijímat argument, jak je uvedeno zde:

// 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

        }

Příklad 2:

Služba listener COPY_CUSTOM_DATA je obvykle implementována pomocí podobného kódu, jako je tento:

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

Metoda copyCustomDataListener() vrátí objekt představující data, která mají být zkopírována do schránky, například:

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

Příklad 3:

Požadavek PASTE_CUSTOM_DATA přijme data, ale nemusí vrátit žádný výsledek:

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

Společně s:

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