A la fin de cette rubrique, vous pourrez déplacer des composants vers la page qui exécute les actions dans le composant. Cette opération exploite l'inscription d'actions que vous avez créée à l'étape précédente.
Pour qu'un composant exécute une action, il doit écouter le message EXECUTE_ACTION
. Ce message comprend également les données traitées transmises à l'action à partir desquelles vous extrairez les valeurs attendues.
Pour écouter le message EXECUTE_ACTION
, modifiez le fichier render.js
et mettez à jour l'objet SampleComponentViewModel
avec l'entrée suivante :
SitesSDK.subscribe('EXECUTE_ACTION', $.proxy(self.executeActionsListener, self));
Lorsque le message EXECUTE_ACTION
est reçu, la fonction callback associée est exécutée :
self.executeActionsListener = function (args) { // get action and payload var payload = args.payload, action = args.action; // handle 'setImageWidth' actions if (action && action.actionName === 'setImageWidth') { $.each(payload, function(index, data) { if (data.name === 'imageWidth') { self.imageWidth(data.value); } }); } }
Cette opération crée une fonction JavaScript pour exécuter l'action et utilise le kit SDK Sites pour appeler la fonction dès que le message EXECUTE_ACTION
est déclenché.
Le composant sera appelé dès qu'un message EXECUTE_ACTION
est déclenché, et c'est à lui de gérer uniquement les actions pour lesquelles il est conçu. A cet effet, vous devez vérifier le nom de l'action pour vous assurer qu'elle fait partie de celles gérées par le composant.
Les données traitées de l'action sont un tableau de valeurs. En règle générale, vous devez chercher les valeurs de données traitées qui vous intéressent dans le tableau.
Remarque :
Le processus d'écoute d'action est un callback, vous devez donc utiliser une fermeture JavaScript ou lier correctement la fonction pour veiller à avoir accès à viewModel lorsque la fonction est exécutée.Vérification des résultats de l'étape 8
Actualisez la page de votre site pour que le générateur de site puisse récupérer les modifications apportées au composant.
Passez la page en mode de modification.
Faites glisser le composant vers la page.
Faites glisser un composant de bouton vers la page.
Affichez le panneau des paramètres pour le composant de bouton.
Dans l'onglet Général, remplacez le libellé du bouton par Cliquer ici.
Sélectionnez l'onglet Lier en haut du panneau des paramètres.
Sélectionnez Actions du déclencheur dans Type de lien.
Cliquez sur le déclencheur Cliquer sur le bouton pour le composant de bouton.
Dans la boîte de dialogue, développez le composant A_Local_Component
sur le côté gauche.
Faites glisser l'action Mettre à jour la largeur de l'image à partir du composant A_Local_Component
vers le côté droit.
Saisissez 300px dans le champ Largeur de l'image en pixels.
Passez la page en mode d'aperçu.
Cliquez sur le bouton Cliquer ici.
A ce moment, la taille de l'image passera à 300px
.
Remarque :
Les déclencheurs et les actions sont conçus pour prendre en charge la communication entre les composants. Ils ne sont pas conçus pour créer ou gérer un état. Si vous actualisez la page, son état initial sera rétabli, comme si aucun déclencheur n'avait été activé et aucune action n'avait été exécutée.Passez à Etape 9 : création d'un titre distinct pour chaque instance du composant.