SitesSDK.subscribe(messageType, callback)

Ta funkcja jest praktycznie nasłuchem komunikatów rozsyłanych z serwisu-hosta. Wywołanie jest asynchroniczne.

Parametry

Zarejestrowane wywołanie zwrotne (callback) jest wywoływane, gdy SDK otrzyma komunikat określonego typu. Jeśli wywołanie zwrotne zwróci wartość, to następnie zostanie ona zwrócona do strony. Jeśli do tej funkcji nie zostanie przekazane żadne wywołanie zwrotne, to nastąpi usunięcie nasłuchu zarejestrowanego dla tego konkretnego typu komunikatu.

Są to wywołania zwrotne JavaScript, a zatem funkcja powinna używać domknięcia (closure) JavaScript albo odpowiednio powiązać funkcję, tak aby miała dostęp do odpowiedniego kontekstu.

Nazwa Typ Opis

messageType

napis

Typ komunikatu:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

funkcja

Funkcja wykonywana, gdy z serwisu-hosta zostanie otrzymany komunikat.

Typy komunikatów

Typ komunikatu Opis
SETTINGS_UPDATED Ten komunikat należy subskrybować, aby były przysyłane powiadomienia, gdy w panelu ustawień zostanie zmieniona jakaś wartość. Zazwyczaj składnik reaguje, aktualizując swoją realizację w interfejsie użytkownika.
TRIGGER_ACTIONS Publikacja tego komunikatu uaktywnia wyzwalacz i przekazuje ładunek.
EXECUTE_ACTION Ten komunikat należy subskrybować, aby były obsługiwane czynności niestandardowe. Zazwyczaj nasłuch obsługuje ten komunikat, wykonując podaną czynność.
GET_ACTIONS Ten komunikat należy subskrybować, aby zadeklarować tablicę czynności, które ten składnik może uruchamiać. Zwraca tablicę czynności.
GET_TRIGGERS Ten komunikat należy subskrybować, aby zadeklarować tablicę wyzwalaczy, które ten składnik może uaktywniać. Zwraca tablicę wyzwalaczy.
COPY_CUSTOM_DATA Ten komunikat należy subskrybować, aby było obsługiwane kopiowanie danych (ustawień niestandardowych) do schowka. Zwraca obiekt reprezentujący dane, które mają zostać umieszczone w schowku.
PASTE_CUSTOM_DATA Ten komunikat należy subskrybować, aby było obsługiwane wklejanie danych (ustawień niestandardowych) ze schowka.

Użycie

Niektóre nasłuchy oczekują przekazania danych, a od innych nasłuchów oczekuje się zwracania danych.

Przykład 1:

Rejestracja nasłuchu komunikatów typu EXECUTE_ACTION:

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

Zarejestrowana funkcja callback powinna przyjmować argument, jak poniżej:

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

        }

Przykład 2:

Nasłuch COPY_CUSTOM_DATA jest zazwyczaj implementowany przy użyciu kodu podobnego do następującego:

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

Metoda copyCustomDataListener() zwraca obiekt reprezentujący dane, które mają zostać skopiowane do schowka, na przykład:

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

Przykład 3:

Żądanie PASTE_CUSTOM_DATA przyjmuje dane, ale nic nie musi zwracać:

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

Wraz z:

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