Скриншот процесса:
Странно, но JsGrid - совсем неплох!
JsGrid - это один из немногих контролов в SharePoint, который мне действительно нравится. Контрол сделан очень добротно, классы тщательно структурированы, методы названы грамотно. Совсем не похоже на привычную SharePoint-овскую макаронную фабрику... :)Более того, сам контрол в использовании - ведь очень неплохой. Excel-подобный client-side редактор, с асинхронным сохранением данных, валидацией, undo, сложными редакторами значений и кучей других фич. Прекрасно расширяемый, заточенный на работу с SharePoint-типами данных, и использующийся по умолчанию для отображения списков в режиме Quick Edit...
Да, я знаю, сейчас есть замечательные вещи типа handsontable и SlickGrid, и у них явно попроще API - при сравнимом наборе фич, но в SharePoint столько тонкостей... пейджинг, сохранение, форматы данных, всё это... Поэтому для SharePoint-данных, пожалуй, я всё же предпочту нативный JsGrid! :)
Кроме того, поскольку JsGrid используется для Quick Edit режима отображения списков, то неплохо бы уметь с ним работать, потому как CSR не полностью все еще интегрирован с JsGrid, и умеет накладывать кастомизации только на режим просмотра, но не на режим редактирования.
Проблема документации
Ну а чтобы с чем-то нормально работать, нужна документация, правильно? А документации, как всегда, и нету.
На MSDN есть кое-что по одноименному серверному контролу, но поверьте, это маааленькая вершинка айсберга. JsGrid на самом деле полностью клиентский, и все что делает серверный контрол, это просто рендерит js-код. Получается, что лишь небольшая часть API доступна со стороны сервера, и всё то же самое можно сделать на клиенте. Естественно, что если решение полностью клиентское, оно более универсально, т.к. сразу же без сомнений работает в O365.
Ради справедливости, стоит отметить, что кое-какая информация именно по клиентскому JsGrid всё же есть в интернетах:
- Custom Field Type for SharePoint 2013 - Custom "Quick Edit" mode rendering, и продолжение (автор Антон Вишняков)
- SharePoint 2013 Quick Edit JavaScript Validation
- Моя статья Master-detail with JsGrid
Кстати, если кто-то знает другие хорошие статьи, буду благодарен если скинете в комментарии.
Но в любом случае, информации в статьях очень мало, она путанна и разрозненна. Полномасштабной документации не хватает.
И вот TypeScript-дефинишены - это по большому счету как раз и есть документация:
- Во-первых, по дефинишенам можно сгенерить reference-документацию наподобие как на MSDN.
- Во-вторых, интеллисенс, проверка типов и inline-документация - это ведь даже лучше, чем reference! :)
Заключение
Всё-таки встречаются порой в SharePoint hidden gem'ы. И у меня такое ощущение, что JsGrid - один из них.
Добрый день. Не поможете разобраться с представлением Ганта в SP2013? Похоже, что оно реализовано через jsgrid и css-ом заморозить колонку Имени задачи не получится, а очень хочется. Есть способ сделать это через jsgrid? (там уже закреплены хидеры и первая колонка (но не Title), но я не могу понять, как это реализовано). Спасибо!
ОтветитьУдалить