Недавно встала задача по разработке пользовательского типа поля, которое потом нужно было особым образом отобразить в стандартном CSR-представлении. Как следствие возникла задача: как сделать шаблон отображения представления, с учётом того, что мы знаем только тип поля, но не знаем имён полей?
Стандартное решение для пользовательского рендеринга поля примерно следующее:
Дальше самостоятельно пришел к решению, что нужно использовать обработчик OnPreRender, и в нём анализировать тип поля:
В результате получил ошибку Type Error. Дальнейшее исследование показало, что SharePoint перед вызовом OnPreRender меняет структуру данных объекта Fields, и правильно нужно писать вот так:
Суммарный код выглядит в итоге так:
Результат в SharePoint: