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

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

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

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


сам код:

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

  function getBaseHtml(ctx) {
    return SPClientTemplates["_defaultTemplates"].Fields.default.all.all[ctx.CurrentFieldSchema.FieldType][ctx.BaseViewID](ctx);
  }

  function init() {
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
      Templates: {

          Fields: {
              "Modified": { //тут internalName поля, значение которого скроется
                 View: function(ctx) { 
                    var id = ctx.CurrentItem.ID;
                    var url = ctx.displayFormUrl;
                    return 'Свойства'; 
                  }

               }
           },

      },

      ListTemplateType: 101

    });
  }

  RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/addLinkToViewProperty.js"), init);
  init();

});

Можно пойти далее и доработать скрипт

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

  function getBaseHtml(ctx) {
    return SPClientTemplates["_defaultTemplates"].Fields.default.all.all[ctx.CurrentFieldSchema.FieldType][ctx.BaseViewID](ctx);
  }

  function init() {
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
      Templates: {

          Fields: {
              "Modified": { //тут свое поле значение которого скроется
                 View: function(ctx) { 
                   console.log( ctx.CurrentItem);
                    var id = ctx.CurrentItem.ID;
                    var url = ctx.displayFormUrl;
                    var link = '
' + ctx.CurrentItem.Modified +' '+ 'Посмотреть свойства'+ '
' return link; } } }, } }); } RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/addLinkToViewProperty.js"), init); init(); });
вот результат

При написании этой статьи использовал Cisar