Скачать 273.89 Kb.
|
Упражнение 2: Создание простого приложения для SharePoint 2013 с помощью средств разработки Napa Office 365Примерное время выполнения задания: 15 минут Обзор Вы научитесь создавать простые приложения для SharePoint, используя приложения Napa для Office 365 Development Tools. Приложение, которое Вы создадите, включает элементы управления и код для управления списками и элементами списка, однако, приложения для SharePoint могут быть более сложными. Например, Вы можете создать приложение для SharePoint, которое помогает пользователям отслеживать расходы и планировать мероприятия. Используя приложение Napa, Вы можете создавать свои приложения для SharePoint прямо в браузере без использования Visual Studio. Вы, также, можете создать свой проект с помощью Napa и открыть его в Visual Studio, для создания более сложных сценариев. Задание 1: Создайте приложение для SharePoint
Откроется страница редактора кода по умолчанию, на которой уже содержится определенный код, который Вы можете запустить без каких-либо изменений. Задание 2: Добавьте элементы управления на домашнюю страницуВ созданном приложении для SharePoint добавьте элементы управления на исходной домашней странице, чтобы создавать и удалять списки SharePoint, а также получать текущее число списков веб-сайта SharePoint.
В редакторе кода откроется страница Default.aspx.
Lists Введенный HTML создаст на странице следующие элементы управления:
Задание 3: Добавьте код для создания и удаления списков
В редакторе кода откроется исходный файл кода JavaScript. Данный файл содержит код, который используется в Вашем приложении для SharePoint. Вы могли бы создать другой.js файл и добавить код в него вместо существующего файла. Однако в текущем задании добавьте код в уже имеющийся .js файл. В следующем шаге Вы добавите функции для элементов управления, которые были созданы на предыдущем шаге.
Вы также научитесь вызывать функции welcome() и displayLists(), которые будут описаны ниже.
function sharePointReady() { context = new SP.ClientContext.get_current(); web = context.get_web(); getUserName(); $("#getListCount").click(function (event) { getWebProperties(); event.preventDefault(); }); $("#createlistbutton").click(function (event) { createlist(); event.preventDefault(); }); $("#deletelistbutton").click(function (event) { deletelist(); event.preventDefault(); }); welcome(); displayLists(); } ПРИМЕЧАНИЕ: В коде могут появиться значки ошибок. Они исчезнут в последующих шагах. В следующем шаге Вы добавите функции JavaScript. Каждая функция в коде выполняется путем вызова executeQueryAsync(), который асинхронно выполняет текущий запрос на сервере, используя объектную модель на стороне пользователя (CSOM или Client Side Object Model) для SharePoint. При асинхронном выполнении функции, Ваш скрипт продолжает работать без ожидания ответа от сервера. Каждый вызов executeQueryAsync()включает два обработчика событий. Один обработчик вызывается, если функция выполняется успешно, другой – если происходит ошибка. Функции описаны в следующей таблице:
function welcome() { // Get the user information, and try to load it into the current // context. this.web = context.get_web(); this.user = web.get_currentUser(); this.context.load(user); this.context.executeQueryAsync(onUserReqSuccess, onUserReqFail); } function onUserReqSuccess() { // The current user information is loaded into the context – continue. } function onUserReqFail(sender, args) { // The current user information couldn’t be loaded into the context - display an // error. alert('Failed to find current user. ' + args.get_message()); } function getWebProperties() { // Get the number of lists in the current web. this.web = context.get_web(); this.lists = this.web.get_lists(); this.context.load(this.lists); this.context.executeQueryAsync(Function.createDelegate(this, this.onWebPropsSuccess), Function.createDelegate(this, this.onWebPropsFail)); } function onWebPropsSuccess(sender, args) { alert('Number of lists in web: ' + this.lists.get_count()); } function onWebPropsFail(sender, args) { alert('failed to get list. Error:' + args.get_message()); } function displayLists() { // Get the available SharePoint lists, and then set them into // the context. this.web = context.get_web(); this.lists = this.web.get_lists(); this.context.load(this.lists); this.context.executeQueryAsync(Function.createDelegate(this, this.onGetListsSuccess), Function.createDelegate(this, this.onGetListsFail)); } function onGetListsSuccess(sender, args) { // Success getting the lists. Set references to the list // elements and the list of available lists. var listEnumerator = this.lists.getEnumerator(); var selectListBox = document.getElementById("selectlistbox"); if (selectListBox.hasChildNodes()) { while (selectListBox.childNodes.length >= 1) { selectListBox.removeChild(selectListBox.firstChild); } } // Traverse the elements of the collection, and load the name of // each list into the dropdown list box. while (listEnumerator.moveNext()) { var selectOption = document.createElement("option"); selectOption.value = listEnumerator.get_current().get_title(); selectOption.innerText = listEnumerator.get_current().get_title(); selectListBox.appendChild(selectOption); } } function onGetListsFail(sender, args) { // Lists couldn’t be loaded - display error. alert('failed to get list. Error:' + args.get_message()); } function createlist() { // Create a generic SharePoint list with the name that the user specifies. this.web = context.get_web(); var listCreationInfo = new SP.ListCreationInformation(); var listTitle = document.getElementById("createlistbox").value; listCreationInfo.set_title(listTitle); listCreationInfo.set_templateType(SP.ListTemplateType.genericList); this.lists = web.get_lists(); var newList = this.lists.add(listCreationInfo); context.load(newList); context.executeQueryAsync(onListCreationSuccess, onListCreationFail); } function onListCreationSuccess() { displayLists(); } function onListCreationFail(sender, args) { alert('Failed to create the list.' + args.get_message()); } function deletelist() { // Delete the list that the user specifies. this.web = context.get_web(); var selectListBox = document.getElementById("selectlistbox"); var selectedListTitle = selectListBox.value; var selectedList = web.get_lists().getByTitle(selectedListTitle); selectedList.deleteObject(); context.executeQueryAsync(onDeleteListSuccess, onDeleteListFail); } function onDeleteListSuccess() { displayLists(); } function onDeleteListFail(sender, args) { alert('Failed to delete the list.' + args.get_message()); } |
Задание 2: Связка данных из подключенного к диаграмме файла с фигурами диаграммы 13 | Изучить основные приемы по проектированию баз данных и работе с субд для персонального компьютера на примере пакета офисных приложений... | ||
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Изменять число рабочих листов можно через опцию Office (в левом верхнем углу экрана), кнопку Параметры Excel, опцию Основные, опцию... | ||
Изменять число рабочих листов можно через опцию Office (в левом верхнем углу экрана), кнопку Параметры Excel, опцию Основные, опцию... | Приказом Министерства образования и науки РФ от 01 октября 2013 г. №1100 «Об утверждении образцов и описаний документов о высшем... | ||
Лабораторная работа №1 Использование специализированных программ с базой данных по технологии приготовления пищи | Лабораторная работа №7 Отпуск материалов на производство, прочее выбытие материалов | ||
Лабораторная работа №7 Отпуск материалов на производство, прочее выбытие материалов | Лабораторная работа Выполнение расчетов с использованием программирования в среде Visual Basic for Applications (vba). 8 |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |