Вместо предисловия
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/
Добавить комментарий