SitesSDK.subscribe(messageType, callback)

Denne funksjonen er en meldingslytter for meldinger som sendes fra vertsområdet. Kallet er asynkront.

Parametre

Det registrerte tilbakekallet kalles når en melding av en bestemt type mottas av SDK-et. Hvis tilbakekallet returnerer en verdi, returneres denne verdien tilbake til siden. Hvis det ikke sendes noe tilbakekall til denne funksjonen, slettes eventuelle registrerte lyttere for denne bestemte meldingstypen.

Disse er JavaScript-tilbakekall, og funksjonen bør derfor bruke JavaScript-avslutning eller binde funksjonen tilstrekkelig for å sikre at den har tilgang til den riktige konteksten.

Navn Type Beskrivelse

messageType

streng

Meldingstype:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

funksjon

Funksjonen når en melding mottas fra et vertsområde.

Meldingstyper

Meldingstype Beskrivelse
SETTINGS_UPDATED Abonner på denne meldingen hvis du vil bli varslet når en verdi endres i ruten Innstillinger. Komponenten svarer vanligvis ved å oppdatere gjengivelsen i brukergrensesnittet.
TRIGGER_ACTIONS Publisering av denne meldingen fremkaller en trigger og sender nyttelast.
EXECUTE_ACTION Abonner på denne meldingen hvis du vil behandle egendefinerte handlinger. Lytteren behandler vanligvis denne meldingen ved å utføre den angitte handlingen.
GET_ACTIONS Abonner på denne meldingen hvis du vil deklarere en matrise med handlinger som komponenten kan utføre. Returnerer en matrise med handlinger.
GET_TRIGGERS Abonner på denne meldingen hvis du vil deklarere en matrise med triggere som komponenten kan fremkalle. Returnerer en matrise med triggere.
COPY_CUSTOM_DATA Abonner på denne meldingen hvis du vil kopiere egendefinerte innstillingsdata til utklippstavlen. Returnerer et objekt som representerer data som skal plasseres på utklippstavlen.
PASTE_CUSTOM_DATA Abonner på denne meldingen hvis du vil lime inn egendefinerte innstillingsdata fra utklippstavlen.

Bruk

Noen lyttere forventer at data skal sendes, og andre forventes å returnere data.

Eksempel 1:

Registrer en meldingslytter for meldingstypen EXECUTE_ACTION:

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

Den registrerte callback-funksjonen skal godta et argument, som vist her:

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

        }

Eksempel 2:

Lytteren COPY_CUSTOM_DATA implementeres vanligvis med kode som denne:

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

Metoden copyCustomDataListener() returnerer et objekt som representerer dataene som skal kopieres til utklippstavlen, for eksempel:

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

Eksempel 3:

Forespørselen PASTE_CUSTOM_DATA godtar data, men trenger ikke å returnere noe:

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

Sammen med:

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