Обработчик CSR списка SharePoint не запускается - SharePoint Online

Я пытаюсь изменить стиль списка точек доступа с помощью CSR. Я хочу применить полужирный шрифт к столбцу заголовка. Я добавил этот код в файл JS и назвал JSLink (JavaScriptDisplayTemplate) для веб-части. Когда документ готов, оба renderTitleHandler и preRenderHandler регистрируются, а также preRenderHandler вызывается успешно. Но renderTitleHandler не запускается.

Пожалуйста, найдите мой фрагмент кода,

function renderTitleHandler(ctx) {
var fieldVal = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
var title = fieldVal.toString();
var html = '';
html += '<b>' + title + '</b>';
return html;
}

function preRenderHandler(ctx) {
     ctx.ListTitle =  '<b>' + ctx.ListTitle + '</b>';
}

(function() {

var overrideCtx = {};
overrideCtx.Templates = {};
overrideCtx.Templates.OnPreRender = preRenderHandler;

overrideCtx.Templates.Fields = {
    "Title" : {"View" : renderTitleHandler}
};

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();

Заранее спасибо. Каннан.


person kannan Eswar    schedule 25.06.2016    source источник


Ответы (1)


Возможности:

  • отключить стратегию минимальной загрузки (mds). Иногда это блокирует ваши javascripts, вызванные асинхронной загрузкой некоторых OOTB-скриптов.
  • удалить отладчик;-строку (возможно ли, чтобы ваш код работал, когда инструменты разработчика в вашем браузере открыты?)

Изменить: нашел пример в моей среде разработки, и у меня есть слово View между кавычками:

linkFilenameFiledContext.Templates.Fields = {
        "Title": { "View": renderTitleHandler}
    };

Надеюсь, поможет

person Verthosa    schedule 27.06.2016
comment
Стратегия минимальной загрузки не активна. Также пробовал удалить отладчик. Тем не менее это не работает. - person kannan Eswar; 27.06.2016
comment
Хорошо, проверьте мое дополнение в ответе. Надеюсь, это поможет вам - person Verthosa; 28.06.2016
comment
Я попытался поместить Title и View между двойными и одинарными кавычками, но все еще сталкиваюсь с той же проблемой. - person kannan Eswar; 29.06.2016
comment
Хорошо, тогда только одна идея: вы пытались разместить overrideCtx.Templates.OnPreRender = preRenderHandler; перед переопределением Ctx.Templates.Fields? Похоже, мы здесь одни :-) - person Verthosa; 29.06.2016
comment
Также есть небольшая ошибка в ‹b›' + ctx.ListTitle) + '‹/b› (убрать ')'). - person Verthosa; 29.06.2016
comment
Я изменил в соответствии с вашими предложениями и обновил приведенный выше пример кода, но изменения не отражены в List. Мы можем настроить элементы, используя приведенные ниже коды. Не работает только настройка полей. - person kannan Eswar; 29.06.2016
comment
(функция () { var itemCtx = {}; itemCtx.Templates = {}; itemCtx.Templates.Item = ItemOverrideFun; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); })(); function ItemOverrideFun(ctx) { var _announcementTitle = ctx.CurrentItem.Title; var _announcementDesc = ctx.CurrentItem.Description; return ‹p›‹b› + _announcementTitle + ‹/b›‹/p›‹/p› + _announcementDesc + ‹/p›; } - person kannan Eswar; 29.06.2016