Поделиться через


Объекты в API ECMAScript служб Visio

Дата последнего изменения: 3 декабря 2013 г.

Применимо к: SharePoint Server 2010

В этой статье
Объект VwaControl
Объект Page
Объект ShapeCollection
Объект Shape

API VisioJavaScript содержит только четыре объекта и их члены:

Кроме того, API VisioJavaScript содержит четыре перечисления:

Объект VwaControl

Объект VwaControl представляет экземпляр веб-части Visio Web Access. Используя методы объекта VwaControl, можно получить доступ к информации о веб-части и чертежах Visio, отображаемых в веб-части. Кроме того, с помощью этих методов можно выполнять различные действия, такие как открытие документов Visio в веб-части, получение и установка отображаемой активной страницы, добавление и удаление обработчиков событий, а также отображение и скрытие настраиваемых сообщений.

В коде JavaScript можно получить ссылку на объект VwaControl, присоединив обработчик к событию load класса ASP.NET AJAXSys.Application. В функции, реализующей обработчик, можно инициализировать объект, передав ей идентификатор HTML веб-части Visio Web Access, в которой требуется разместить объект. Идентификатор можно получить, изучив исходный код HTML-страницы, на которой размещается веб-часть, и выполнив поиск фразы class="VisioWebAccess". Формат идентификатора: "WebPartWPQ#", где # представляет номер веб-части. В следующем примере кода показано, как это сделать. Предполагается, что идентификатор веб-части определен и равен WebPartWPQ3, а также что открыт чертеж Visio, опубликованный как VDW-файл в веб-части. Это показано в следующем примере кода.

Sys.Application.add_load(onApplicationLoad)

var webPartElementID = "WebPartWPQ3";
var vwaControl;

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

При получении ссылки на экземпляр объекта VwaControl можно использовать его метод openDiagram для открытия новой диаграммы на основе VDW-файла Visio в веб-части Visio Web Access. Однако после вызова метода openDiagram нельзя использовать тот же экземпляр VwaControl или любого другого объекта в пространстве имен Vwa. Это происходит из-за того, что метод openDiagram — это асинхронная операция, которая открывает диаграмму на сервере и незамедлительно возвращает результат. Кроме того, асинхронная операция также делает текущий объект VwaControl недопустимым. Дополнительные сведения см. в статье Vwa.VwaControl.openDiagram Method.

Для отслеживания вызовов openDiagram рекомендуется создать обработчик события Vwa.diagramcomplete Event, которое возникает, когда веб-часть Visio Web Access завершает загрузку документа Visio, и поместить свой код в этот обработчик. Для добавления обработчика события diagramcomplete можно использовать метод Vwa.VwaControl.addHandler Method. Рекомендуется программировать объект VwaControl, создавая такие обработчики для событий, вызываемых действиями пользователя в элементе управления. К другим событиям, предоставляемым объектом VwaControl, относятся Vwa.shapemouseenter Event, Vwa.shapemouseleave Event и Vwa.shapeselectionchanged Event, которые позволяют реагировать на действия пользователя с мышью, а также Vwa.diagramerror Event, которое позволяет реагировать на ошибки, возвращаемые SharePoint Server 2010.

В обработчике для события diagramcomplete можно получить ссылки на другие объекты, предоставляемые API-интерфейсом, включая объекты Page и Shape, а также коллекцию ShapeCollection. В этом же обработчике можно создавать обработчики для других событий, как показано в следующем примере кода.

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

В этом примере кода показано, как выполнить следующие задачи программирования:

  • Использование Vwa.VwaControl.getActivePage Method для получения ссылки на экземпляр объекта Page, представляющего активную страницу.

  • Использование Vwa.Page.getShapes Method объекта Page для получения экземпляра коллекции ShapeCollection, представляющего коллекцию фигур на активной странице.

  • Использование Vwa.ShapeCollection.getItemAtIndex Method этой коллекции для получения экземпляра первой фигуры в коллекции фигур на активной странице.

  • Добавление обработчика для события shapeselectionchanged.

Для получения дополнительных сведений о документе, отображаемом в веб-части, можно использовать ряд методов объекта VwaControl. Например, метод Vwa.VwaControl.getAllPageIds Method используется для получения имен всех страниц в документе. Метод Vwa.VwaControl.getDiagramUrl Method позволяет получить URL-адрес документа, отображаемого в настоящий момент в веб-части, а метод Vwa.VwaControl.getDisplayMode Method определяет, отображается ли текущая страница веб-документа в растровом режиме Microsoft Silverlight. Метод Vwa.VwaControl.getVersion Method также можно использовать для получения версии веб-части.

Vwa.VwaControl.removeHandler Method позволяет удалить добавленный обработчик событий, а Vwa.VwaControl.clearHandlers Method удаляет все обработчики. Чтобы показать и скрыть настраиваемые HTML-страницы с сообщениями об ошибке, используйте Vwa.VwaControl.displayCustomMessage Method и Vwa.VwaControl.hideCustomMessage Method. Также можно использовать метод Vwa.VwaControl.setActivePage Method для изменения страницы, которая сейчас отображается в веб-части, и метод Vwa.VwaControl.refreshDiagram Method для обновления текущей страницы веб-чертежа с использованием данных, полученных с сервера.

Объект Page

Объект Page представляет активную страницу веб-документа, отображаемую в текущий момент в соответствующей области веб-части Visio Web Access. Методы объекта Page можно использовать для выбора фигур на странице и доступа к сведениям о фигурах, включая идентификатор и положение фигуры, а также размер ограничивающего прямоугольника вокруг фигуры. Также можно получить и задать масштаб и положение страницы в представлении.

Методы объекта Page:

Объект ShapeCollection

Объект ShapeCollection представляет коллекцию объектов фигур на активной странице в веб-документе, который в настоящий момент отображается в соответствующей области веб-части Visio Web Access.

Методы объекта ShapeCollection:

Объект Shape

Объект Shape представляет одну фигуру на активной странице веб-документе. Методы объекта Shape позволяют получать сведения о конкретной фигуре на активной странице и взаимодействовать с ней: