I want to change JSLink property for shared document webpart in javascript.
is there any way to set jslink property ?
ex.
documentsList.set_title("My title");
i can set the title but is there any way to set jslink ?
The following example demonstrates how to set Web Part JSLink
property via SharePoint JSOM API:
var pageUrl = _spPageContextInfo.serverRequestPath; //current page url
var webPartId = 'ab9149d6-8204-460a-9ecc-4219481ff8ca'; //<-- specify web part id
var jsLinkUrl = '~sitecollection/Style Library/tasks.js'; //<-- specify JSLink url
setupJsLink(pageUrl, webPartId,jsLinkUrl,
function(){
console.log('JSLink has been saved');
},
function(sender, args) {
console.log(args.get_message());
});
where
function setupJsLink(pageUrl, wpId,jsLinkUrl,success,error)
{
var context = SP.ClientContext.get_current();
var page = context.get_web().getFileByServerRelativeUrl(pageUrl);
var wpm = page.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared);
var webpartDef = wpm.get_webParts().getById(new SP.Guid(wpId));
var webpart = webpartDef.get_webPart();
var properties = webpart.get_properties();
properties.set_item("JSLink", jsLinkUrl);
webpartDef.saveWebPartChanges();
context.executeQueryAsync(
function () {
success();
},
error);
}