SitesSDK.subscribe(messageType, callback)

Diese Funktion dient im Wesentlichen als Nachrichten-Listener für Nachrichten von der Hostsite. Der Aufruf ist asynchron.

Parameter

Der registrierte Callback wird aufgerufen, wenn eine Nachricht eines bestimmten Typs vom SDK empfangen wird. Wenn der Callback einen Wert zurückgibt, wird dieser Wert wieder an die Seite zurückgegeben. Wenn kein Callback an diese Funktion übergeben wird, werden alle registrierten Listener für diesen Nachrichtentyp gelöscht.

Hierbei handelt es sich um JavaScript-Callbacks. Die Funktion sollte also JavaScript Closure verwenden oder angemessen gebunden werden, um den Zugriff auf den jeweiligen Kontext sicherzustellen.

Name Typ Beschreibung

messageType

Zeichenfolge

Nachrichtentyp:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

Funktion

Die Funktion, wenn eine Nachricht von einer Hostsite empfangen wird.

Nachrichtentypen

Nachrichtentyp Beschreibung
SETTINGS_UPDATED Wenn Sie diese Nachricht abonnieren, werden Sie benachrichtigt, wenn ein Wert im Einstellungsbereich geändert wird. In der Regel aktualisiert die Komponente ihre Formatvariante in der Benutzeroberfläche als Reaktion.
TRIGGER_ACTIONS Beim Veröffentlichen dieser Nachricht wird ein Trigger ausgelöst und eine Payload übergeben.
EXECUTE_ACTION Abonnieren Sie diese Nachricht, um benutzerdefinierte Aktionen zu verarbeiten. Der Listener verarbeitet diese Nachricht in der Regel durch Ausführung der jeweiligen Aktion.
GET_ACTIONS Abonnieren Sie diese Nachricht, um ein Array aus Aktionen zu deklarieren, die die Komponente ausführen kann. Gibt ein Array aus Aktionen zurück.
GET_TRIGGERS Abonnieren Sie diese Nachricht, um ein Array aus Triggern zu deklarieren, die die Komponente auslösen kann. Gibt ein Array aus Triggern zurück.
COPY_CUSTOM_DATA Abonnieren Sie diese Nachricht, um benutzerdefinierte Einstellungsdaten in die Zwischenablage zu kopieren. Gibt ein Objekt zurück, das die für die Zwischenablage vorgesehenen Daten darstellt.
PASTE_CUSTOM_DATA Abonnieren Sie diese Nachricht, um benutzerdefinierte Einstellungsdaten aus der Zwischenablage einzufügen.

Verwendung

Einige Listener empfangen übergebene Daten, während andere Daten zurückgeben.

Beispiel 1:

Registrieren Sie einen Nachrichten-Listener für den Nachrichtentyp EXECUTE_ACTION:

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

Die registrierte callback-Funktion sollte ein Argument akzeptieren, wie hier gezeigt:

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

        }

Beispiel 2:

Der COPY_CUSTOM_DATA-Listener wird in der Regel mit Code wie dem Folgenden implementiert:

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

Die Methode copyCustomDataListener() gibt ein Objekt zurück, das die Daten darstellt, die in die Zwischenablage kopiert werden sollen. Beispiel:

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

Beispiel 3:

Die PASTE_CUSTOM_DATA-Anforderung akzeptiert Daten, muss aber nichts zurückgeben:

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

Zusammen mit:

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