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

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
Les plus consultés sur iTPro.fr
- AI Appreciation Day,16 juillet « cet email de 10 pages aurait pu se résumer en 3 points »
- L’informatique quantique perçue comme la menace de cybersécurité la plus critique
- Bâtir une entreprise AI-native : par où commencer
- La France à l’avant-garde de la conteneurisation et de l’IA générative
- La souveraineté numérique pour renforcer la cybersécurité
