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

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

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

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


сам код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 '<a href="https://www.blogger.com/'+url+'&ID='%20+id+'">Свойства</a>';
                  }
 
               }
           },
 
      },
 
      ListTemplateType: 101
 
    });
  }
 
  RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/addLinkToViewProperty.js"), init);
  init();
 
});
Можно пойти далее и доработать скрипт

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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 = '<div>
' + ctx.CurrentItem.Modified +'  <a href="https://www.blogger.com/'+url+'&ID='%20+id+'" title="Посмотреть свойства">'+
                        '<img alt="Посмотреть свойства" src="/_layouts/15/images/DOC_SP16.GIF">'+
                       '</a></div>
'
                    return link;
                  }
               }
           },
      }
 
    });
  }
 
  RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/addLinkToViewProperty.js"), init);
  init();
 
});
вот результат

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

Комментариев нет:

Отправить комментарий