Показаны сообщения с ярлыком Javascript. Показать все сообщения
Показаны сообщения с ярлыком Javascript. Показать все сообщения

пятница, 13 августа 2021 г.

Проверить наличие файла и требуемого расширения в элементе при сохранении.

В этой статье я расскажу, как можно проверить наличие вложений в элементе и расширение файла.

К примеру, у нас есть два вложения, и мы можем к ним обратиться с помощью jQuery

 


var attachments = jQuery("#idAttachmentsTable tbody" ).children();



Так же мы можем прочитать расширение файлов

			for(var i =0; i< attachments.length;i++){
                var fileName = jQuery("#attachRow" + i +" .ms-vb span").text();
                var extension =    fileName.match(/\.[0-9a-z]+$/i)[0];
                console.log(extension);

            }


Собираем все единое решение и добавляем в функцию PreSaveAction

 

function PreSaveAction()   
{ 
    var attachments = jQuery("#idAttachmentsTable tbody" ).children();
    if(attachments || attachments.length > 0){ 
        var excelFileExist = false;
        for(var i =0; i< attachments.length; i++){
            var fileName = jQuery("#attachRow" + i +" .ms-vb span").text();
            var extension =    fileName.match(/\.[0-9a-z]+$/i)[0];
            console.log(extension);
            if(extension == ".xls" || extension == ".xlsx"){
               excelFileExist = true;
            }
        }
        

        if(!excelFileExist){
            alert("вложите файл Excel");
            return false;
        }else{
            return true;
        }
    }else{
        alert("нужно вложить файлы");
        return false;
    }
}




этот код можно добавить в веб-часть редактор скриптов или редактор контента

четверг, 17 декабря 2020 г.

Кнопка на Ribbon (userCustomActions только с помощью JS)

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

Как основное решение для формы печати было React приложение, размещенное на страницу, а в представлении добавил кастомную кнопку на риббон которая отрывала новый таб с требуемой страницей и передавала ID выделенных элементов как параметр.


понедельник, 20 апреля 2020 г.

Решение проблем с Multiple lines of text с параметрами Plain text и Append Changes to Existing Text

В одном из списков в поле Многострочный текст используются настройки
"Обычный текст" и "Вносить изменения в существующий текст"

как результат - на форме редактирования история не читается.

понедельник, 23 марта 2020 г.

Вывести ID элемента на форму редактирования/просмотра


Появилась задача вывести ID элемента на форму и эту задачу можно решить несколькими способами.
1. Добавить вычисляемое поле, которое будет брать данные из поля ID.
Минус – на форме редактирования не отображается.
2. Создать поле и писать в него или с помощью РП или JS.
Можно сделать другим способом. Прибегнув к jQuery и написав немного кода.



ссылка на код

среда, 28 ноября 2018 г.

Заполнение текущего пользователя в PeoplePicker

В этой статье я расскажу, как можно заполнять текущего пользователя в поле PeoplePicker
Для этого нам понадобятся две функции:
1. Получает текущего пользователя
2. Меняет значение в поле PeoplePicker

конечный резульрат

понедельник, 27 ноября 2017 г.

Отображение Ribbon для конкретного пользователя

Рассмотрим задачу, когда нужно скрыть риббон и верхнюю панель.
это сделать не так сложно, нужно добавить всего пару строчек CSS
#suiteBarDelta{
  display: none;
}
#s4-ribbonrow{
     display: none;
}


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

вторник, 10 октября 2017 г.

Как получить значение поля в DispForm

Некоторое время назад появилась задача произвести манипуляции с полем (скрыть/показать) на форме просмотра.
Можно пойти по пути обращения к полю по его названию, но мне этот вариант не нравиться.

среда, 27 сентября 2017 г.

Заполнение пользователя в поле, если форма изменена в дизайнере

Допустим  мы изменили форму через дизайнер и у нас есть задача указать поле "Пользователь или группа" определенного пользователя.
мы можем это сделать прибегнув к jQuery


jQuery("table.ms-usereditor").find("div").text("user login");
jQuery("table.ms-usereditor").find("td:eq(2)").children().eq(0).click();




данное решение будет работать если в форме поле выбора пользователя только одно.

четверг, 7 сентября 2017 г.

Всплывающие подсказки - callout

В этой статье я расскажу, как можно добавить Callout (popover от MS).

Я не буду в даваться в детали, т.к. примеров в инете достаточно, а покажу как можно сделать универсальное решение.

понедельник, 5 июня 2017 г.

Опрос с картинками (Sharepoint Survey Image Question)

Появилась задача по созданию голосования для выбора лучшей фотографии.
есть стандартный функционал голосования, но в нем нет возможности вставить изображения.


И пришлось прибегнуть к кастомизации страницы с помощью jQuery. Так же для зумирования изображения была использована библиотека ImageViewer.

вторник, 18 апреля 2017 г.

Итоги (суммирование) для вычисляемого поля в представлении.

В этой статье я расскажу как можно вывести итоги для вычисляемого поля.
по умолчанию SharePoint не предоставляет возможности вывести сумму по Calculated field, но мы можем это исправить и изменить шаблон рендера представления CSR и самостоятельно посчитать сумму.

пятница, 27 января 2017 г.

Проверка выбранного значение в PeoplePicker при сохранении элемента

В этой статье я расскажу, как можно осуществлять проверку выбранного значения в поле типа «Пользователь или группа». И так будем проверять что в поле выбран пользователь отличный от текущего. В случае если он выбрал сам себя, то ему будет выведено сообщение об этом.


среда, 20 апреля 2016 г.

Ссылка на просмотр свойств документа в представлении списка

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

В коже представленном ниже происходит замена значение поля "Изменено" на ссылку, ведущую в форму просмотра свойств документа.

четверг, 14 апреля 2016 г.

Удаление ссылки с поля подстановки в представлении списка.

В этой статье я расскажу, как можно убрать ссылки с Lookup поля в представлении. Для этого мы переопределим шаблон рендера полей.
Для этого нам нужно или создать файл js и подключить его к веб-части через jsLink, можно добавить ссылку на файл через веб-часть «Редактор скриптов» или можно просто добавить код непосредственно в веб-часть «Редактор скриптов».

четверг, 28 января 2016 г.

disabled поля многострочный текст с форматированием (jQuery + SharePoint 2013 Fields Part 5)

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



 или вообще все удалить зайдя в редактор

я решил разобраться как SharePoint понимает, что нужно показать риббон.

понедельник, 14 декабря 2015 г.

среда, 21 октября 2015 г.

среда, 9 сентября 2015 г.

представления в списке Доска обсуждений

При создании списка «Доска обсуждений» мы получаем представление AllItems.aspx которое не доступно для редактирования. Если присмотрится внимательно, то можно заметить, что переключение между отображением информации происходит через JS .
Немного углубившись я заметил следующее:
Изменение отображения происходит при вызове функции

SP.UI.Discussions.SortFilterItem.onPivotControlMenuOptionClick('SortItem1')



При изменении параметра меняется отображение данных.Использование SortItem1 равносильно нажатию на «Последние»

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