SitesSDK.subscribe(messageType, callback)

Den här funktionen är egentligen en meddelandeavlyssnare för meddelanden som skickas från värdplatsen. Anropet är asynkront.

Parametrar

Det registrerade återanropet görs när ett meddelande av en viss typ tas emot av SDK:t. Om återanropet returnerar ett värde så returneras det värdet tillbaka till sidan. Om inget återanrop överförs till den här funktionen tas alla eventuella registrerade avlyssnare för den aktuella meddelandetypen bort.

De här är JavaScript-återanrop, så funktionen ska använda JavaScript Closure eller på lämpligt sätt binda funktionen för att säkerställa att den har åtkomst till lämplig kontext.

Namn Typ Beskrivning

messageType

sträng

Typ av meddelande:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

Funktion

Funktionen när ett meddelande tas emot från en värdplats.

Meddelandetyper

Meddelandetyp Beskrivning
SETTINGS_UPDATED Prenumerera på det här meddelandet om du vill underrättas när något värde ändras i inställningspanelen. Komponenten svarar vanligtvis genom att uppdatera sin återgivning i användargränssnittet.
TRIGGER_ACTIONS När det här meddelandet publiceras orsakas en trigger och överförs nyttolast.
EXECUTE_ACTION Prenumerera på det här meddelandet om du vill hantera anpassade åtgärder. Avlyssnaren hanterar vanligtvis det här meddelandet genom att utföra den angivna åtgärden.
GET_ACTIONS Prenumerera på det här meddelandet om du vill deklarera en uppställning åtgärder som komponenten kan exekvera. Returnerar en uppställning åtgärder.
GET_TRIGGERS Prenumerera på det här meddelandet om du vill deklarera en uppställning triggrar som komponenten kan orsaka. Returnerar en uppställning triggrar.
COPY_CUSTOM_DATA Prenumerera på det här meddelandet om du vill hantera kopiering av data för anpassade inställningar till urklipp. Returnerar ett objekt som representerar data som ska placeras i urklipp.
PASTE_CUSTOM_DATA Prenumerera på det här meddelandet om du vill hantera inklistring av data för anpassade inställningar från urklipp.

Syntax

Vissa avlyssnare förväntar sig att data ska överföras, medan andra förväntas returnera data.

Exempel 1:

Registrera en meddelandeavlyssnare för meddelandetypen EXECUTE_ACTION:

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

Den registrerade callback-funktionen ska acceptera ett argument, enligt följande:

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

        }

Exempel 2:

Avlyssnaren COPY_CUSTOM_DATA implementeras vanligtvis med följande typ av kod:

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

Metoden copyCustomDataListener() skulle returnera ett objekt som representerar de data som ska kopieras till urklipp, till exempel:

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

Exempel 3:

Begäran PASTE_CUSTOM_DATA accepterar data, men behöver inte returnera något:

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

Tillsammans med:

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