Objets dans l’API ECMAScript de Visio Services
Dernière modification : mardi 3 décembre 2013
S’applique à : SharePoint Server 2010
Dans cet article
Objet VwaControl
Objet Page
Objet ShapeCollection
Objet Shape
L’API JavaScriptVisio Services contient uniquement quatre objets et leurs membres respectifs :
De plus, l’API JavaScriptVisio Services contient quatre énumérations :
L’objet VwaControl représente une instance du composant WebPart Visio Web Access. Grâce aux méthodes de l’objet VwaControl, vous pouvez accéder à des informations relatives au composant WebPart et au dessin Visio affiché dans le composant WebPart. De plus, ces méthodes vous permettent d’effectuer différentes actions, par exemple ouvrir un document Visio dans le composant WebPart, obtenir et définir la page active à afficher, ajouter ou supprimer des gestionnaires d’événements, et afficher ou masquer des messages personnalisés.
Dans votre code JavaScript, vous pouvez obtenir une référence à l’objet VwaControl en attachant un gestionnaire à l’événement de chargement de la classe ASP.NET AJAXSys.Application. Dans la fonction qui implémente ce gestionnaire, vous pouvez initialiser l’objet en le passant à l’identificateur (ID) HTML du composant WebPart Visio Web Access qui doit héberger l’objet. Vous pouvez obtenir cet ID en examinant le code source de la page HTML qui héberge le composant WebPart et en recherchant l'expression class="VisioWebAccess". L’ID est au format « WebPartWPQ# », où # représente le numéro d’identification du composant WebPart. L’exemple de code suivant illustre comment procéder. Il suppose que vous avez déterminé que l’ID de composant WebPart est WebPartWPQ3 et que vous avez ouvert un dessin Visio publié en tant que fichier .vdw dans le composant WebPart. Ceci est illustré dans le code suivant.
Sys.Application.add_load(onApplicationLoad)
var webPartElementID = "WebPartWPQ3";
var vwaControl;
function onApplicationLoad() {
try{
vwaControl= new Vwa.VwaControl(webPartElementID)
vwaControl.addHandler("diagramcomplete", onDiagramComplete);
}
catch(err){
}
}
Lorsque vous obtenez une référence à une instance de l’objet VwaControl, vous pouvez utiliser sa méthode openDiagram pour ouvrir un nouveau diagramme, basé sur un fichier .vdw Visio publié, dans le composant WebPart Visio Web Access. Toutefois, après l’appel de la méthode openDiagram, vous ne pouvez plus gérer la même instance du VwaControl ou tout autre objet dans l’espace de noms Vwa car la méthode openDiagram est une opération asynchrone qui ouvre le diagramme sur le serveur puis retourne immédiatement. En outre, l’opération asynchrone rend l’objet VwaControl actif non valide. Pour plus d’informations, voir Vwa.VwaControl.openDiagram Method.
Le meilleur moyen de poursuivre un appel à openDiagram consiste à créer un gestionnaire pour Vwa.diagramcomplete Event, ce qui se produit lorsque le composant WebPart Visio Web Access a terminé de charger le diagramme Visio, et de placer votre code dans ce gestionnaire d’événement. Vous pouvez utiliser Vwa.VwaControl.addHandler Method pour ajouter un gestionnaire d’événement pour l’événement diagramcomplete. La meilleure pratique consiste à programmer l’objet VwaControl en écrivant ces gestionnaires d’événements de façon à répondre aux événements générés par des actions utilisateur dans le contrôle. Parmi les autres événements exposés par l’objet VwaControl figurent Vwa.shapemouseenter Event, Vwa.shapemouseleave Event et Vwa.shapeselectionchanged Event, qui vous permettent de répondre à des actions de souris utilisateur, ainsi que Vwa.diagramerror Event, qui vous permet de répondre aux erreurs renvoyées par SharePoint Server 2010.
Dans le gestionnaire de l’événement diagramcomplete, vous pouvez obtenir des références aux autres objets exposés par l’API, notamment l’objet Page et l’objet Shape, ainsi que la collection ShapeCollection. Dans le même gestionnaire, vous pouvez également créer des gestionnaires pour d’autres événements, comme illustré dans l’exemple de code suivant.
function onDiagramComplete() {
try {
vwaPage = vwaControl.getActivePage();
vwaShapes = vwaPage.getShapes();
vwaShape = vwaShapes.getItemAtIndex(0);
vwaControl.addHandler("shapeselectionchanged", onShapeSelectionChanged);
}
catch(err) {
}
}
Cet exemple de code montre comment effectuer les tâches de programmation suivantes :
comment utiliser Vwa.VwaControl.getActivePage Method pour obtenir une référence à une instance de l’objet Page qui représente la page active ;
comment utiliser la méthode Vwa.Page.getShapes Method de l’objet Page pour obtenir une instance de la collection ShapeCollection qui représente la collection de formes sur la page active ;
comment utiliser la méthode Vwa.ShapeCollection.getItemAtIndex Method de cette collection pour obtenir une instance de la première forme dans la collection de formes sur la page active ;
comment ajouter un gestionnaire pour l’événement shapeselectionchanged.
Pour obtenir davantage d’informations sur le dessin affiché dans le composant WebPart, vous pouvez utiliser plusieurs méthodes de l’objet VwaControl. Vous pouvez par exemple utiliser la méthode Vwa.VwaControl.getAllPageIds Method pour obtenir les noms de toutes les pages contenues dans le diagramme. Vous pouvez utiliser la méthode Vwa.VwaControl.getDiagramUrl Method pour obtenir l’URL du diagramme affiché actuellement dans le composant WebPart et la méthode Vwa.VwaControl.getDisplayMode Method pour déterminer si la page de dessin Web active est affichée au moyen de la technologie de rastérisation ou de la technologie Microsoft Silverlight. Vous pouvez également utiliser la méthode Vwa.VwaControl.getVersion Method pour obtenir la version du composant WebPart.
La méthode Vwa.VwaControl.removeHandler Method vous permet de supprimer un gestionnaire d’événement que vous avez ajouté, tandis que la méthode Vwa.VwaControl.clearHandlers Method supprime tous les gestionnaires. Pour afficher et masquer des pages de messages d’erreur HTML personnalisées, utilisez Vwa.VwaControl.displayCustomMessage Method et Vwa.VwaControl.hideCustomMessage Method. Vous pouvez également utiliser la méthode Vwa.VwaControl.setActivePage Method pour modifier la page affichée actuellement dans le composant WebPart et la méthode Vwa.VwaControl.refreshDiagram Method pour actualiser la page de dessin Web active à l’aide de données du serveur.
L’objet Page représente la page de dessin Web active affichée actuellement dans la zone de rendu du composant WebPart Visio Web Access. Vous pouvez utiliser les méthodes de l’objet Page pour sélectionner des formes sur la page et accéder à des informations sur les formes, notamment l’ID et la position de la forme, ainsi que la taille du cadre englobant autour de la forme. Vous pouvez également obtenir et définir le niveau d’agrandissement et la position de la page dans l’affichage.
Voici quelques-unes des autres méthodes de l’objet Page :
En plus de la méthode getShapes illustrée dans l’exemple de code précédent, les méthodes Vwa.Page.getSelectedShape Method, Vwa.Page.setSelectedShape Method, Vwa.Page.centerViewOnShape Method et Vwa.Page.isShapeInView Method vous permettent d’accéder à des informations sur les formes de la page ou d’interagir avec.
La méthode Vwa.Page.getZoom Method vous permet d’obtenir le niveau d’agrandissement de la page et la méthode Vwa.Page.setZoom Method vous permet de définir le niveau d’agrandissement de la page.
La méthode Vwa.Page.getPosition Method vous permet d’obtenir la position de la page dans l’affichage et la méthode Vwa.Page.setPosition Method vous permet de définir la position de la page dans l’affichage.
La méthode Vwa.Page.getId Method obtient l’ID de la page affichée actuellement et la méthode Vwa.Page.getSize Method obtient la hauteur et la largeur de la page affichée.
L’objet ShapeCollection représente la collection d’objets de formes sur la page active dans le dessin Web affiché actuellement dans la zone de rendu du composant WebPart Visio Web Access.
Voici quelques-unes des méthodes de l’objet ShapeCollection :
La méthode Vwa.ShapeCollection.getCount Method renvoie le nombre de formes sur la page active.
Quatre méthodes vous permettent d’obtenir des formes spécifiques dans la collection en fonction de leurs noms de formes Visio (Vwa.ShapeCollection.getItemByName Method), de leurs ID de formes de dessin Web (Vwa.ShapeCollection.getItemById Method), de leurs ID uniques Visio (Vwa.ShapeCollection.getItemByGuid Method) et de leur position d’index dans la collection (Vwa.ShapeCollection.getItemAtIndex Method).
L’objet Shape représente une forme unique sur la page de dessin Web active. Les méthodes de l’objet Shape vous permettent d’obtenir des informations sur une page spécifique sur la page active et d’interagir avec :
Parmi les méthodes qui fournissent des informations sur les formes figurent la méthode Vwa.Shape.getName Method, qui renvoie le nom de la forme dans Visio, la méthode Vwa.Shape.getId Method, qui renvoie l’ID de la forme dans le dessin Web, la méthode Vwa.Shape.getGuid Method, qui renvoie le GUID de la forme dans Visio, la méthode Vwa.Shape.getHyperlinks Method, qui renvoie un tableau des liens hypertexte associés à la forme, la méthode Vwa.Shape.getBounds Method, qui renvoie la position, la hauteur et la largeur du cadre englobant de la forme, et la méthode Vwa.Shape.getShapeData Method, qui renvoie un tableau des éléments de données de formes associés à la forme.
Parmi les méthodes qui vous permettent d’interagir avec une forme figurent les méthodes Vwa.Shape.addHighlight Method et Vwa.Shape.removeHighlight Method, qui vous permettent d’ajouter et de supprimer des mises en surbrillance associées à la forme, ainsi que les méthodes Vwa.Shape.addOverlay Method, Vwa.Shape.addPredefinedOverlay Method et Vwa.Shape.removeOverlay Method, qui vous permettent d’ajouter et de supprimer des superpositions de formes visuelles.