Développement de widgets personnalisés
Développez des widgets personnalisés pour les portails à l’aide d’AngularJS, de Bootstrap et de l’API ServiceNow .
Avant de commencer
- Exécuter des requêtes d’enregistrement sur le serveur.
- Créez et mettez à jour des enregistrements.
- Lier les variables aux contrôleurs clients.
- Accéder aux objets serveur dans un widget.
- Rassemblez les entrées de l’utilisateur.
Si vous le souhaitez, vous pouvez créer sur le modèle Bootstrap en accédant aux composants Bootstrap.
Parties d’un widget
Comme les directives Angular, les widgets exécutent un comportement spécifié dans une Portail de services page. Un widget inclut des composants de scripting obligatoires et facultatifs.
- Modèle HTML
Un composant de widget obligatoire.
Le modèle HTML nécessite des connaissances d’AngularJS pour afficher et collecter des données. Utilisez le modèle HTML pour :
- Affichez la vue dynamique qu’un utilisateur voit dans le navigateur à l’aide des informations du modèle et du contrôleur.
- Liez les variables de script client à votre balisage.
- Recueillir des données auprès de l’utilisateur final.
- Script client
Un composant de widget obligatoire.
Un script client nécessite des connaissances de l’API ServiceNow et d’AngularJS pour créer un contrôleur client. Utilisez le script client pour :
- Mappez les données du serveur à partir d’objets JavaScript et JSON vers des objets clients.
- Traiter les données avant de les restituer.
- Transmettez les données au modèle HTML.
- Transmettez l’entrée et les données de l’utilisateur au serveur pour traitement.
- Script serveur
Un composant de widget obligatoire.
Un script serveur nécessite des connaissances de l’API pour fonctionner avec les données d’enregistrement ServiceNow . Utilisez le script serveur pour :
- Définissez l’état initial du widget.
- Envoyez les données d’enregistrement au script client widget à l’aide de la variable de données .
- Exécuter des requêtes côté serveur.
- Fonction de lien
Composant de widget facultatif
La fonction de lien nécessite la connaissance d’AngularJS. Utilisez une fonction de lien pour manipuler directement les DOM.
- Schéma de l’option
Composant de widget facultatif
Permet à un Portail de services administrateur de configurer un widget. Utilisez le schéma d’options pour :
- Spécifiez les paramètres d’un widget.
- Autorisez les utilisateurs administrateurs à définir les options d’instance pour une instance de widget.
- Développez des widgets flexibles et réutilisables.
- Fournisseurs d’angle
Composant de widget facultatif
Les fournisseurs d’angle nécessitent une connaissance d’AngularJS. Utilisez les fournisseurs d’angle pour :
- Synchronisez les widgets lors du changement d’enregistrements ou de filtres.
- Partagez le contexte entre les widgets.
- Maintenir et conserver l’état.
- Créez des comportements et des composants d’interface utilisateur réutilisables, puis injectez-les dans plusieurs widgets.
- Dépendances
Composant de widget facultatif
Une dépendance de widget est une ressource externe utilisée par votre widget, comme des fichiers JavaScript ou CSS.
Objets globaux dans les widgets
Lorsqu’un widget commence à s’afficher pour la première fois sur une page, le script serveur s’exécute en premier et accède à trois objets globaux : entrée, options et données. Étant donné que la variable d’entrée est un objet de données envoyé par le script client, cette variable n’est pas définie lors de sa première initialisation.
Lorsqu’un widget est instancié pour la première fois, le script serveur :
- Initialise un objet de données vide.
- Initialise l’objet d’entrée avec les données envoyées par le contrôleur client ou l’objet options avec les données utilisées pour initialiser le widget.
- Envoie l’objet de données au contrôleur client au format JSON.
Le script client :
Accède à l’objet de données du serveur à l’aide de
c.data.Remarque :Par défaut, les widgets utilisent la variable c pour représenter l’instance du contrôleur en utilisant lecontrôleur commesyntaxe. Vous pouvez modifier cette variable lors de la création ou du clonage de widgets.Utilise
server.update()pour publier les modifications dans le modèle de données. Cette méthode met à jour le script serveur à l’aide de l’objet d’entrée .Remarque :Après avoir appeléserver.update(),l’objet de données du script client est automatiquement écrasé par l’objet de données du script serveur.- Utilise
c.optionspour accéder aux valeurs utilisées pour appeler le widget sur le serveur. Cet objet est en lecture seule.
Utilisation de l’éditeur de widget
Lorsque vous créez un widget, un enregistrement est créé dans la table sp_widget. Toutefois, vous pouvez utiliser l’éditeur de widget dans Portail de services Configuration comme environnement de script. L’éditeur de widget est une application pleine page similaire à un IDE. Vous pouvez afficher les parties du widget que vous souhaitez modifier et masquer le reste, tout en prévisualisant vos modifications en temps réel.