> Tech > Une fonction en cas d’erreur

Une fonction en cas d’erreur

Tech - Par iTPro - 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é.

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 gratuitement cette ressource

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

Téléchargez cette étude Forrester et découvrez comment booster la collaboration tout en dégageant un excellent R.O.I grâce au système de vidéoconférence HP Elite Slice G2 avec Microsoft Teams !

Tech - Par iTPro - Publié le 10 octobre 2011