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


Настройка веб-документов Visio в веб-части Visio Web Access

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

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

В этой статье
Начальные сведения о программировании веб-частей Visio Web Access
Создание страницы веб-частей
Добавление веб-части Visio Web Access на страницу веб-частей
Добавление веб-части редактора контента на страницу веб-частей
Интерфейс API ECMAScript служб Visio
Объекты в интерфейсе API ECMAScript служб Visio
Примеры в пакете SharePoint 2010 SDK

В Visio в Microsoft SharePoint Server 2010 можно загружать, отображать и программно взаимодействовать с документами Microsoft Visio 2010, размещенными в экземпляре веб-части Visio Web Access на странице Microsoft SharePoint Server 2010.

В этой статье приведены сведения о том, как добавить веб-часть Visio Web Access на страницу веб-частей SharePoint Server 2010, отобразить веб-документ Visio в веб-части и взаимодействовать с этим документом программно с помощью интерфейса API VisioJavaScript.

Начальные сведения о программировании веб-частей Visio Web Access

Чтобы пользовательское решение могло программно взаимодействовать с веб-документом Visio на странице веб-частей SharePoint Server 2010, необходимо добавить веб-часть Visio Web Access на страницу, открыть документ Visio, опубликованный как файл WDW в веб-части, и добавить веб-часть редактора контента на страницу, содержащую пользовательский код ECMAScript (JavaScript, JScript).

Для выполнения этой процедуры необходимы права администратора, соответствующие правам автора страницы в SharePoint Server 2010.

Начало работы по программированию веб-части Visio Web Access

  1. Создайте в Visio документ, который необходимо отобразить, и сохраните его в библиотеке документов SharePoint как файл WDW.

  2. Создайте файл JavaScript (JS) c кодом, который необходимо использовать для взаимодействия с веб-документом, и сохраните его в той же библиотеке документов, в которой сохранен файл WDW.

  3. Создайте страницу веб-частей SharePoint Server 2010 для отображения документа и размещения кода.

  4. Добавьте веб-часть Visio Web Access на страницу и отобразите веб-документ в веб-части.

  5. Добавьте веб-часть редактора контента на страницу и свяжите ее с файлом JavaScript, созданным ранее.

  6. Обновите страницу в браузере.

В следующих разделах представлены более подробные сведения о некоторых из этих действий. В них можно найти сведения о публикации документов Visio в качестве файлов WDW в справке по Visio. Файл JavaScript можно создать в Microsoft Visual Studio 2010 или в другом редакторе текста или кода.

ПримечаниеПримечание

В Интернете доступно множество книг и статей, представляющих общие принципы кодирования в JavaScript, которое не рассматривается в данной статье.

Создание страницы веб-частей

После публикации документа Visio в качестве файла WDW, его сохранения в библиотеке документов, а также создания файла JavaScript (JS) и его сохранения в той же библиотеке необходимо создать страницу веб-частей.

Создание страницы веб-частей

  1. На сайте SharePoint, на котором необходимо разместить документ, в меню Действия сайта щелкните Дополнительные параметры.

  2. В узле Страницы и сайты щелкните Страница веб-части.

  3. На новой странице веб-части введите имя файла для этой страницы в поле Имя.

  4. Выберите шаблон макета и расположение, в котором необходимо сохранить файл страницы, и щелкните Создать.

Добавление веб-части Visio Web Access на страницу веб-частей

Прежде чем станет возможным программное взаимодействие с веб-документом на странице веб-частей SharePoint Server 2010, необходимо добавить веб-часть Visio Web Access в созданную страницу веб-частей и открыть документ Visio, опубликованный в веб-части как VDW-файл.

Добавление веб-части Visio Web Access на страницу веб-частей

  1. В разделе ленты сервера на странице веб-частей SharePoint Server 2010 нажмите кнопку Изменить страницу.

  2. В зоне, в которую требуется поместить веб-часть, щелкните Добавить веб-часть.

  3. В списке Категории выберите Бизнес-данные.

  4. Выберите Visio Web Access и нажмите кнопку Добавить.

  5. Щелкните стрелку рядом с элементом Меню веб-части, а затем выберите Изменить веб-часть.

  6. Введите URL-адрес веб-документа (VDW-файла), который требуется открыть, и нажмите кнопку ОК.

Добавление веб-части редактора контента на страницу веб-частей

Веб-часть редактора контента выполняет две задачи: содержит код JavaScript и предоставляет интерфейс отображения и управления, который позволяет в режиме реального времени взаимодействовать с VDW-файлом в веб-части Visio Web Access.

Добавление веб-части редактора контента на страницу веб-частей

  1. Если страница еще не находится в режиме редактирования, в разделе ленты сервера на странице веб-частей SharePoint Server 2010 щелкните Изменить страницу.

  2. В зоне, в которую требуется поместить веб-часть редактора контента, щелкните Добавить веб-часть.

  3. В списке Категории выберите Среда и контент.

  4. В списке Веб-части выберите Редактор контента и нажмите кнопку Добавить.

  5. Щелкните стрелку рядом с элементом Меню веб-части редактора контента, затем выберите Изменить веб-часть.

  6. Введите URL-адрес JS-файла, который требуется открыть, затем нажмите кнопку ОК.

  7. На ленте щелкните Завершить редактирование.

Интерфейс API ECMAScript служб Visio

Объектная модель JavaScript в Visio предоставляет пользователю программный доступ к документам Visio, отображаемым как файлы WDW в веб-части Visio Web Access. С помощью объектной модели VisioJavaScript можно получить доступ к данным фигуры, гиперссылкам и координатам ограничивающего прямоугольника фигуры. Также можно создавать гибридные веб-приложения, нацеленные на указанные страницы диаграммы, выбирать и выделять фигуры, помещать на диаграмму слои исправлений, реагировать на события мыши и изменять свойства прокрутки и масштабирования окна просмотра. (Гибридное веб-приложение — это приложение, которое позволяет свести функции и данные из нескольких источников в единую интегрированную службу, приложение или среду.)

Как и многие другие интерфейсы API JavaScript, интерфейс API ECMAScript Visio основан на событиях. Для программирования веб-части Visio Web Access пользователь создает обработчики, которые вызывают функции в ответ на события, происходящие на диаграмме.

Объекты в интерфейсе API ECMAScript служб Visio

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

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

Объект VwaControl

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

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

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 для открытия новой диаграммы на основании опубликованного в веб-части Visio Web Access WDW-файла Visio. Однако после вызова метода 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 позволяют получать сведения о конкретной фигуре на активной странице и взаимодействовать с ней:

Примеры в пакете SharePoint 2010 SDK

В загружаемом файле SDK SharePoint 2010 (Справочник SharePoint 2010: пакет SDK (Возможно, на английском языке)) представлены три примера файлов JavaScript, которые иллюстрируют рекомендации по программированию веб-части Visio Web Access и которые пользователь может использовать на собственных страницах веб-частей. Каждому примеру соответствует отдельный раздел в пакете SDK, в котором описывается его использование и приведен код соответствующего файла с подробными комментариями. Чтобы загрузить файл SDK SharePoint 2010, содержащий эти примеры, перейдите на страницу Справочник SharePoint 2010: пакет SDK (Возможно, на английском языке). После установки пакета SDK файлы примеров можно найти в сжатом файле (ZIP), расположенном в следующем пути: C:\Program Files (x86)\Microsoft SDKs\SharePoint Server 2010\Samples\Visio Services.

Пример аннотаций

В примере аннотаций показаны два способа добавления аннотаций на веб-страницу документа: с использованием перекрытия и выделения фигур. В веб-части "Редактор контента" этот пример кода добавляет четыре элемента управления списками, с помощью которых пользователи могут выбирать параметры отображения аннотаций. Также добавляется кнопка для отправки выбранных параметров и отображения аннотации.

Пример настраиваемых сообщений об ошибках

В этом примере показано использование веб-части Visio Web Access для отображения и скрытия настраиваемых сообщений об ошибках HTML. В этом примере создается пользовательский интерфейс, содержащий два текстовых поля для ввода заголовка и текста сообщения об ошибке, а также две кнопки для отображения или скрытия сообщений.

Пример работы с мышью

В этом примере показано объявление обработчиков событий для различных событий мыши Visio Web Access, а также порядок обработки таких событий при их возникновении. В этом примере отображаются уведомления о действиях мыши, выполняемых в веб-части "Редактор контента", таких как вход в фигуру и выход из нее, а также изменение выбранной фигуры.

См. также

Концепции

Пример кода: аннотации

Фрагменты кода. Настраиваемые сообщения об ошибках

Пример кода: взаимодействие с мышью

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

Веб-часть Visio Web Access в примерах служб Visio