> Tech > Une fonction en cas d’erreur

Une fonction en cas d’erreur

Tech - Par Renaud ROSSET - Publié le 10 octobre 2011
email


Nous implémentons ensuite la fonction exécutée en cas d’erreur lors de la récupération des éléments :

function userFailed(sender, args) {

var statusId = SP.UI.Status.addStatus("Error : ", args.get_message(), false);
SP.UI.Status.setStatusPriColor(statusId, "red");
}

Celle-ci n’a rien de compliqué.

Une fonction en cas d’erreur

Implémentons ensuite la fonction « GetMenu » qui va être appelée lors de l’affichage du menu de notre bouton. Cette fonction va simplement renvoyer le contenu de la variable « content » qui, rappelons-le, contient la structure XML du bouton.

function GetMenu() {
return content;
}

Nous allons maintenant implémenter la fonction permettant d’insérer l’élément sélectionné dans la page. Tapez donc :

function InsertUser(MenuItemId) {
this.context = SP.ClientContext.get_current();
this.item = this.context.get_web().get_lists().getByTitle(‘Students’).getItemById(MenuItemId);

this.context.load(this.item);
this.context.executeQueryAsync(Function.createDelegate(this, insertContent),
Function.createDelegate(this, userFailed));
}

Cette fonction est appelée depuis la fonction « handleCommand » de notre « prototype » et fait passer l’id de l’élément sélectionné en paramètres (cet id étant défini dans la variable « content » par la fonction « PopulateInsertUserSplitButton »). Nous récupérons donc simplement l’élément via son id et transférons l’exécution du code dans la fonction « insertContent » en cas de réussite ou « userFailed » (déjà définie) en cas d’échec. Déclarons donc la fonction « insertContent » : voir « Code 1 » ci-dessous.

Encore une fois, nous créons un « StringBuilder » qui contiendra la valeur à insérer. Nous construisons ensuite cette valeur en html sur base de l’élément récupéré se trouvant dans la variable « this.item ». Remarquez qu’ici, nous affichons une image selon le sexe de la personne. Ces deux images sont les suivantes et doivent être nommées « Male128x128.png » et « Female128x128.png » : voir figures 11 et 12.

Nous utilisons ensuite utiliser l’API « RTE » pour modifier la valeur du « Rich Text Editor » courant. Ne vous attardez pas trop sur ces 3 lignes, ce n’est pas le sujet du cours. Sachez juste qu’elles servent à insérer le contenu définit préalablement dans la zone de texte active.

Téléchargez cette ressource

Guide des Solutions Cloud & Services Managés Simplifiés

Guide des Solutions Cloud & Services Managés Simplifiés

Comment capitaliser sur son existant tout en bénéficiant, dès à présent, des promesses de flexibilité et de scalabilité du cloud ? Découvrez les bonnes pratiques pour répondre aux défis de simplification du Cloud dans ce nouveau TOP 5.

Tech - Par Renaud ROSSET - Publié le 10 octobre 2011