SitesSDK.subscribe(messageType, callback)

Deze functie is in feite een berichtenlistener voor berichten die worden verzonden vanaf de hostsite. De aanroep is asynchroon.

Parameters

De geregistreerde callback wordt aangeroepen wanneer een bericht van een specifiek type wordt ontvangen door de SDK. Als met een callback een waarde wordt geretourneerd, wordt die waarde weer geretourneerd naar de pagina. Als er geen callback aan deze functie wordt doorgegeven, wordt een geregistreerde listener voor dat specifieke berichttype verwijderd.

Dit zijn JavaScript-callbacks, dus voor de functie moet JavaScript Closure worden gebruikt of moet hiermee de functie passend worden gebonden om ervoor te zorgen dat deze toegang heeft tot de juiste context.

Naam Type Beschrijving

messageType

string

Type bericht:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

functie

De functie wanneer een bericht wordt ontvangen van een hostsite

Berichttypen

Berichttype Beschrijving
SETTINGS_UPDATED Meld u aan voor dit bericht om een melding te ontvangen wanneer een waarde wordt gewijzigd in het paneel 'Instellingen'. Doorgaans reageert de component door de weergave in de gebruikersinterface bij te werken.
TRIGGER_ACTIONS Door de publicatie van dit bericht wordt een trigger gegenereerd en wordt payload doorgegeven.
EXECUTE_ACTION Meld u aan voor dit bericht om aangepaste acties af te handelen. Dit bericht wordt doorgaans door de listener afgehandeld door de opgegeven actie uit te voeren.
GET_ACTIONS Meld u aan voor dit bericht om een array met acties te declareren die door de component kunnen worden uitgevoerd. Hiermee wordt een array met acties geretourneerd.
GET_TRIGGERS Meld u aan voor dit bericht om een array met triggers te declareren die door de component kunnen worden gegenereerd. Hiermee wordt een array met triggers geretourneerd.
COPY_CUSTOM_DATA Meld u aan voor dit bericht om het kopiëren van aangepaste instellingsgegevens naar het klembord af te handelen. Hiermee wordt een object geretourneerd dat gegevens aangeeft die op het klembord moeten worden geplaatst.
PASTE_CUSTOM_DATA Meld u aan voor dit bericht om het plakken van aangepaste instellingsgegevens vanaf het klembord af te handelen.

Gebruik

Door sommige listeners wordt verwacht dat gegevens worden doorgegeven en van sommige wordt verwacht dat ze gegevens retourneren.

Voorbeeld 1:

Registreer een berichtenlistener voor berichttype EXECUTE_ACTION:

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

Door de geregistreerde callback-functie moet een argument worden geaccepteerd zoals hier wordt getoond:

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

        }

Voorbeeld 2:

De listener COPY_CUSTOM_DATA wordt doorgaans geïmplementeerd met code zoals deze:

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

Met de methode copyCustomDataListener() wordt een object geretourneerd dat de gegevens aangeeft die naar het klembord moeten worden gekopieerd, bijvoorbeeld:

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

Voorbeeld 3:

Met de aanvraag PASTE_CUSTOM_DATA worden gegevens geaccepteerd, maar hoeft er niets te worden geretourneerd:

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

Samen met:

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