JavaScript библиотека для работы с формами списков SharePoint (NewForm.aspx, DispForm.aspx, EditForm.aspx)

от автора

Вместо предисловия

var field = new Igotta.StandartListFormsUtility.ListField('Title'); field.setValue('TEST'); 

Краткое описание

JavaScript библиотека SPListFormUtility предназначена для управления стандартными формами списков SharePoint 2010 и SharePoint 2013:

  • NewForm.aspx
  • DispForm.aspx
  • EditForm.aspx

SPListFormUtility может:

  • читать/устанавливать значения полей
  • скрывать поля
  • делать поля не активными
  • упростить модификацию HTML-кода форм


Сейчас поддерживаются следующие типы полей:

  • SPFieldText
  • SPFieldLookup
  • SPFieldLookupMulti (частично)
  • SPFieldBoolean
  • SPFieldDateTime

Основные характеристики:

  • использует jQuery
  • поддерживает SharePoint 2010 и SharePoint 2013
  • получение полей по internal названиям (не по display названиям)
  • автоматически определяет региональные настройки для SPFieldDateTime полей

How to

1. Скачать библиотеку с CodePlex — splistformutility.codeplex.com
2. Подключить на нужную страницу (NewForm.aspx, DispForm.aspx или EditForm.aspx):
— JS-библиотеку jQuery
— и загруженный файл igotta.sharepoint.standartlistformutility.js

Примечание.
Для подключения JS-файлов можно разместить на странице стандартную веб-часть SimpleFormWebPart. SimpleFormWebPart позволяет выводить любой HTML-код, в том числе и ссылки на JS-файлы. Разместить веб-часть можно вручную или кодом (.Net или JavaScript). В SharePoint 2010 можно “зашить” SimpleFormWebPart прямо в List Definition.
Примеры:

3. Добавить на страницу JS-код:

var sharePointReady = function() {     // Title - это internal название поля     var field = new Igotta.StandartListFormsUtility.ListField('Title');     field.setValue('TEST'); };  $(document).ready(function () {     SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () { sharePointReady(); }); }); 

Примеры

Для примеров ниже используется поле типа SPFieldText, однако все они применимы и для других типов полей (см. документацию на CodePlex).

// 'Title' - internal название поля var field = new Igotta.StandartListFormsUtility.ListField('Title');  // установить значение поля field.setValue('TEST');  // получить значение поля alert(field.getValue());  // спрятать всю строку field.hide();  // спрятать контрол field.hideDefaultControl();  // сделать не активным field.disable();  // раскрасить ячейку контрола var fieldTd = field.getCol(); $(fieldTd).css('background-color', 'red');  // раскрасить контрол var fieldControl = field.getControl(); $(fieldControl).css('background-color', 'green');  // получить intrnal название поля alert(field.getName());  // получить тип поля, для данного примера вернет 'SPFieldText' alert(field.getType()); 

Для SPFieldLookupMulti полей сейчас реализован только один метод, который позволяет оставить пользователю для выбора только нужные элементы.

// 'LookupMulti' - internal название поля var field = new Igotta.StandartListFormsUtility.ListField('LookupMulti');  // в вариантах выбора остануться только элементы с заданными идентификаторами field.filterLookupMulti([1, 2, 6]); 

Пара слов

Библиотека дописывается по мере необходимости. Текущая реализация использовалась в 4-х серьезных проектах и вполне стабильна.

ссылка на оригинал статьи http://habrahabr.ru/post/160775/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *