SitesSDK.subscribe(messageType, callback)

Questa funzione è un vero e proprio listener per i messaggi consegnati dal sito host. La chiamata è asincrona.

Parametri

Il callback registrato viene richiamato quando il kit SDK riceve un messaggio di un tipo specifico. Se il callback restituisce un valore, il valore viene restituito di nuovo alla pagina. Se alla funzione non viene passato alcun callback, il listener registrato per quel tipo di messaggio specifico verrà eliminato.

Si tratta di callback JavaScript, pertanto la funzione deve usare JavaScript Closure oppure essere associata in modo adeguato tramite bind per ottenere l'accesso al contesto appropriato.

Nome Tipo Descrizione

messageType

string

Tipo di messaggio:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

function

La funzione quando viene ricevuto un messaggio dal sito host.

Tipi di messaggio

Tipo di messaggio Descrizione
SETTINGS_UPDATED Eseguire la sottoscrizione a questo messaggio per ricevere una notifica quando viene modificato un valore qualsiasi nel pannello Impostazioni. In genere il componente risponde aggiornando la propria rendition nell'interfaccia utente.
TRIGGER_ACTIONS La pubblicazione di questo messaggio comporta il richiamo di un trigger e il passaggio del payload.
EXECUTE_ACTION Eseguire la sottoscrizione a questo messaggio per gestire le azioni personalizzate. In genere il listener gestisce questo messaggio eseguendo l'azione specificata.
GET_ACTIONS Eseguire la sottoscrizione a questo messaggio per dichiarare un array di azioni che il componente può eseguire. Restituisce un array di azioni.
GET_TRIGGERS Eseguire la sottoscrizione a questo messaggio per dichiarare un array di trigger che il componente può richiamare. Restituisce un array di trigger.
COPY_CUSTOM_DATA Eseguire la sottoscrizione a questo messaggio per gestire la copia dei dati delle impostazioni personalizzate negli Appunti. Restituisce un oggetto che rappresenta i dati da inserire negli Appunti.
PASTE_CUSTOM_DATA Eseguire la sottoscrizione a questo messaggio per gestire le operazioni Incolla dei dati delle impostazioni personalizzate dagli Appunti.

Uso

Alcuni listener prevedono che i dati vengano passati, mentre per altri è prevista la restituzione dei dati.

Esempio 1

Registrare un listener di messaggi per il tipo di messaggio EXECUTE_ACTION:

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

La funzione callback registrata deve accettare un argomento come mostrato di seguito:

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

        }

Esempio 2

Il listener COPY_CUSTOM_DATA viene di solito implementato con codice simile al seguente:

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

Il metodo copyCustomDataListener() restituisce un oggetto che rappresenta i dati da copiare negli Appunti. Ad esempio:

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

Esempio 3

La richiesta PASTE_CUSTOM_DATA accetta i dati, ma non deve restituire nulla:

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

Insieme a:

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