Freigeben über


Objekte in der Visio Services ECMAScript-API

Letzte Änderung: Dienstag, 3. Dezember 2013

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
VwaControl-Objekt
Page-Objekt
ShapeCollection-Objekt
Shape-Objekt

Die Visio ServicesJavaScript-API enthält nur vier Objekte und deren Elemente:

Außerdem enthält die Visio ServicesJavaScript-API vier Aufzählungen:

VwaControl-Objekt

Das VwaControl-Objekt stellt eine Instanz des Visio Web Access-Webparts dar. Mithilfe der Methoden des VwaControl-Objekts können Sie auf Informationen zu diesem Webpart und zu der im Webpart gerenderten Visio-Zeichnung zugreifen. Darüber hinaus können Sie mit diesen Methoden verschiedene Aktionen ausführen, wie z. B. das Öffnen eines Visio-Dokuments im Webpart, das Abrufen und Festlegen der angezeigten aktiven Seite, das Hinzufügen oder Löschen von Ereignishandlern sowie das Ein- oder Ausblenden benutzerdefinierter Meldungen.

Im JavaScript-Code können Sie einen Verweis auf das VwaControl-Objekt abrufen, indem Sie dem load-Ereignis der ASP.NET AJAXSys.Application-Klasse einen Handler anfügen. In der Funktion, von der dieser Handler implementiert wird, können Sie das Objekt initialisieren, indem Sie ihm die HTML-ID des Visio Web Access-Webparts übergeben, von dem das Objekt gehostet werden soll. Diese ID erhalten Sie durch Analysieren des Quellcodes der HTML-Seite, auf der das Webpart gehostet wird, und durch Suchen nach dem Ausdruck class="VisioWebAccess". Diese ID hat das Format "WebPartWPQ#", wobei # die Kennnummer des Webparts darstellt. Im folgenden Codebeispiel wird die Ausführung veranschaulicht. Dabei wird davon ausgegangen, dass Sie die Webpart-ID als WebPartWPQ3 ermittelt haben und dass Sie eine Visio-Zeichnung geöffnet haben, die als VDW-Datei im Webpart veröffentlicht wird. Dies wird im folgenden Code demonstriert.

Sys.Application.add_load(onApplicationLoad)

var webPartElementID = "WebPartWPQ3";
var vwaControl;

function onApplicationLoad() {
        try{
                vwaControl= new Vwa.VwaControl(webPartElementID)
                vwaControl.addHandler("diagramcomplete", onDiagramComplete);
        }
        catch(err){
        }
}

Wenn Sie einen Verweis auf eine Instanz des VwaControl-Objekts erhalten, können Sie mit dessen openDiagram-Methode ein neues Diagramm basierend auf einer veröffentlichten VDW-Visio-Datei im Visio Web Access-Webpart öffnen. Nach dem Aufruf der openDiagram-Methode kann dieselbe Instanz des VwaControl-Objekts oder eines beliebigen anderen Objekts im Vwa-Namespace dann nicht mehr verwendet werden. Dies liegt daran, dass es sich bei der openDiagram-Methode um einen asynchronen Vorgang handelt, bei dem das Diagramm auf dem Server geöffnet und dann sofort zurückgegeben wird. Darüber hinaus wird durch den asynchronen Vorgang auch das aktuelle VwaControl-Objekt ungültig. Weitere Informationen finden Sie unter Vwa.VwaControl.openDiagram Method.

Ein Aufruf von openDiagram wird am besten bearbeitet, indem ein Handler für Vwa.diagramcomplete Event erstellt wird. Dieses Ereignis tritt auf, wenn das Visio-Diagramm vom Visio Web Access-Webpart fertig geladen und der Code im Ereignishandler abgelegt wurde. Mithilfe von Vwa.VwaControl.addHandler Method können Sie einen Ereignishandler für das diagramcomplete-Ereignis hinzufügen. Es hat sich bewährt, beim Programmieren des VwaControl-Objekts Ereignishandler für die durch Benutzeraktionen im Steuerelement ausgelösten Ereignisse vorzusehen. Das VwaControl-Objekt macht u. a. folgende andere Ereignisse verfügbar: Vwa.shapemouseenter Event, Vwa.shapemouseleave Event und Vwa.shapeselectionchanged Event, um auf Mausaktionen des Benutzers zu reagieren, sowie Vwa.diagramerror Event, um auf Fehlermeldungen von SharePoint Server 2010 zu reagieren.

Im Handler für das diagramcomplete-Ereignis können Sie Verweise auf die anderen von der API verfügbar gemachten Objekte abrufen, u. a. für das Page-Objekt und das Shape-Objekt sowie die ShapeCollection-Auflistung. Im selben Handler können sich auch Handler für andere Ereignisse erstellen, wie im folgenden Codebeispiel illustriert.

function onDiagramComplete() {
        try {
                vwaPage = vwaControl.getActivePage();
                vwaShapes = vwaPage.getShapes();
                vwaShape = vwaShapes.getItemAtIndex(0);
                vwaControl.addHandler("shapeselectionchanged", onShapeSelectionChanged);
        }
        catch(err) {
        }
}

Dieses Codebeispiel zeigt, wie die folgenden Programmieraufgaben ausgeführt werden:

  • Abrufen eines Verweises auf eine Instanz des Page-Objekts, das die aktive Seite darstellt, mithilfe der Vwa.VwaControl.getActivePage Method

  • Abrufen einer Instanz der ShapeCollection-Auflistung, die eine Auflistung der Shapes auf der aktiven Seite darstellt, mithilfe der Vwa.Page.getShapes Method des Page-Objekts

  • Abrufen einer Instanz des ersten Shapes in der Auflistung der Shapes auf der aktiven Seite mithilfe der Vwa.ShapeCollection.getItemAtIndex Method dieser Auflistung

  • Hinzufügen eines Handlers für das shapeselectionchanged-Ereignis

Weitere Informationen zu der Zeichnung, die im Webpart angezeigt wird, können Sie mit mehreren Methoden des VwaControl-Objekts abrufen. Beispielsweise können Sie mit Vwa.VwaControl.getAllPageIds Method die Namen aller im Diagramm enthaltenen Seiten abrufen. Mit Vwa.VwaControl.getDiagramUrl Method erhalten Sie die URL des aktuell im Webpart sichtbaren Diagramms, und mit Vwa.VwaControl.getDisplayMode Method ermitteln Sie, ob die aktuelle Webzeichnungsseite mit der Raster- oder der Microsoft Silverlight-Technologie angezeigt wird. Mit Vwa.VwaControl.getVersion Method können Sie die Version des Webparts abrufen.

Mit der Vwa.VwaControl.removeHandler Method können Sie einen von Ihnen hinzugefügten Eventhandler entfernen, und mit der Vwa.VwaControl.clearHandlers Method werden alle Handler entfernt. Verwenden Sie die Vwa.VwaControl.displayCustomMessage Method bzw. die Vwa.VwaControl.hideCustomMessage Method, um benutzerdefinierte HTML-Fehlermeldungsseiten ein- bzw. auszublenden. Darüber hinaus können Sie mit der Vwa.VwaControl.setActivePage Method die Seite ändern, die aktuell im Webpart angezeigt wird, und mit der Vwa.VwaControl.refreshDiagram Method können Sie die aktuelle Webzeichnungsseite mithilfe von Daten auf dem Server aktualisieren.

Page-Objekt

Das Page-Objekt stellt die aktive Webzeichnungsseite dar, die aktuell im Darstellungsbereich des Visio Web Access-Webparts angezeigt wird. Mithilfe der Methoden des Page-Objekts können Sie Shapes auf der Seite auswählen und Informationen zu Shapes abrufen, beispielsweise die ID eines Shapes, seine Position und die Größe des umgebenden Felds. Sie können auch die Zoomebene und die Position der Seite in der Ansicht abrufen und festlegen.

Das Page-Objekt umfasst u. a. die folgenden Methoden:

ShapeCollection-Objekt

Das ShapeCollection-Objekt stellt die Sammlung der Shapeobjekte auf der aktiven Seite in der Webzeichnung dar, die aktuell im Darstellungsbereich des Visio Web Access-Webparts angezeigt wird.

Das ShapeCollection-Objekt umfasst u. a. die folgenden Methoden:

Shape-Objekt

Das Shape-Objekt stellt ein einzelnes Shape auf der aktiven Webzeichnungsseite dar. Mithilfe der Methoden des Shape-Objekts können Sie Informationen über ein bestimmtes Shape auf der aktiven Seite abrufen und mit dem Shape interagieren: