Объекты в 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:
В дополнение к методу getShapes, показанному в предыдущем примере кода, методы Vwa.Page.getSelectedShape Method, Vwa.Page.setSelectedShape Method, Vwa.Page.centerViewOnShape Method и Vwa.Page.isShapeInView Method позволяют обращаться к сведениям о фигурах на странице и взаимодействовать с ними.
Метод Vwa.Page.getZoom Method позволяет определить масштаб страницы, а метод Vwa.Page.setZoom Method позволяет задать масштаб страницы.
Метод Vwa.Page.getPosition Method позволяет получить положение страницы в представлении, а метод Vwa.Page.setPosition Method позволяет задать положение страницы в представлении.
Метод Vwa.Page.getId Method возвращает идентификатор отображаемой в настоящий момент страницы, а метод Vwa.Page.getSize Method возвращает высоту и ширину отображаемой страницы.
Объект ShapeCollection
Объект ShapeCollection представляет коллекцию объектов фигур на активной странице в веб-документе, который в настоящий момент отображается в соответствующей области веб-части Visio Web Access.
Методы объекта ShapeCollection:
Метод Vwa.ShapeCollection.getCount Method, который возвращает число фигур на активной странице.
Четыре метода, которые позволяют получить конкретные фигуры в коллекции по их именам в Visio (Vwa.ShapeCollection.getItemByName Method), их идентификаторам в веб-документе (Vwa.ShapeCollection.getItemById Method), их уникальным идентификаторам в Visio (Vwa.ShapeCollection.getItemByGuid Method) и их порядковой позиции в коллекции (Vwa.ShapeCollection.getItemAtIndex Method).
Объект Shape
Объект Shape представляет одну фигуру на активной странице веб-документе. Методы объекта Shape позволяют получать сведения о конкретной фигуре на активной странице и взаимодействовать с ней:
К методам, предоставляющим сведения о фигуре, относятся Vwa.Shape.getName Method, который возвращает имя фигуры в Visio; Vwa.Shape.getId Method, который возвращает идентификатор фигуры в веб-документе; Vwa.Shape.getGuid Method, который возвращает идентификатор GUID фигуры в Visio; Vwa.Shape.getHyperlinks Method, который возвращает массив любых гиперссылок, связанных с фигурой; Vwa.Shape.getBounds Method, который возвращает положение, высоту и ширину ограничивающего прямоугольника фигуры, и Vwa.Shape.getShapeData Method, который возвращает массив всех элементов данных фигуры, связанных с ней.
К методам, позволяющим взаимодействовать с фигурой, относятся Vwa.Shape.addHighlight Method и Vwa.Shape.removeHighlight Method, которые позволяют добавлять и удалять выделения, связанные с фигурой; и Vwa.Shape.addOverlay Method, Vwa.Shape.addPredefinedOverlay Method и Vwa.Shape.removeOverlay Method, которые позволяют добавлять и удалять визуальные перекрытия фигур.