Skip to main content
Checking if webpart title are equals to my array and then hide webparts?
Source Link
Batistuta
  • 708
  • 1
  • 11
  • 40

How to display:none webpart Update

UPDATE

==================================== My webpart wont hide?

function init() { var pageName = "/sites/default.aspx"; var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs, 'Include(WebPart)'); ctx.executeQueryAsync( function () { var pageWPArray = []; for (var i = 0; i < webPartDefs.get_count() ; i++) { var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart(); pageWPArray.push(webPart.get_title()); } var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"]; for (var j = 0; j < pageWPArray.length; j++) { for (var i = 0; i < webPartsArray.length; i++) { if (pageWPArray[j].indexOf(webPartsArray[i]) > -1) alert("pageWPArray:" + "" + pageWPArray[j] +" "+ "=:" + " " + (webPartsArray[i])); { jQuery("#"+webPartsArray[i]).hide(); } } } }, function (sender, args) { console.log(args.get_message()); } ); 

}

ExecuteOrDelayUntilScriptLoaded(init, 'SP.js'); 

====================================

How to display:none webpart

How to display:none webpart Update

UPDATE

==================================== My webpart wont hide?

function init() { var pageName = "/sites/default.aspx"; var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs, 'Include(WebPart)'); ctx.executeQueryAsync( function () { var pageWPArray = []; for (var i = 0; i < webPartDefs.get_count() ; i++) { var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart(); pageWPArray.push(webPart.get_title()); } var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"]; for (var j = 0; j < pageWPArray.length; j++) { for (var i = 0; i < webPartsArray.length; i++) { if (pageWPArray[j].indexOf(webPartsArray[i]) > -1) alert("pageWPArray:" + "" + pageWPArray[j] +" "+ "=:" + " " + (webPartsArray[i])); { jQuery("#"+webPartsArray[i]).hide(); } } } }, function (sender, args) { console.log(args.get_message()); } ); 

}

ExecuteOrDelayUntilScriptLoaded(init, 'SP.js'); 

====================================

added 43 characters in body
Source Link
Robert Lindgren
  • 24.5k
  • 12
  • 55
  • 79

I get all webparts that iI have in default aspxdefault.aspx using this code

var pageName = "/sites/default.aspx"; 

var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs,'Include(WebPart)'); ctx.executeQueryAsync(

var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs,'Include(WebPart)'); ctx.executeQueryAsync( function () {  for(var i = 0;i < webPartDefs.get_count();i++) {   var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart();  var title = webPart.get_title();  }); 

I get here 4 webparts, Webpart1,Webpart2,Webpart3,Webpart4

Of this 4 webparts iI want to set display:nonedisplay:none on Webpart1,Webpart2,Webpart3, So iI only want to display Webpart4. how

How could iI create an array of the webparts that iI want to display, and then check if my title of webparts contains that and then if it contains display:nonedisplay:none on them and do nothing with

var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"]; 

I get all webparts that i have in default aspx using this code

var pageName = "/sites/default.aspx"; 

var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs,'Include(WebPart)'); ctx.executeQueryAsync(

 function () { for(var i = 0;i < webPartDefs.get_count();i++) { var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart(); var title = webPart.get_title(); 

I get here 4 webparts, Webpart1,Webpart2,Webpart3,Webpart4

Of this 4 webparts i want to set display:none on Webpart1,Webpart2,Webpart3, So i only want to display Webpart4. how could i create an array of the webparts that i want to display, and then check if my title of webparts contains that and then if it contains display:none on them and do nothing with

var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"]; 

I get all webparts that I have in default.aspx using this code

var pageName = "/sites/default.aspx"; var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs,'Include(WebPart)'); ctx.executeQueryAsync( function () {  for(var i = 0;i < webPartDefs.get_count();i++) {   var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart();  var title = webPart.get_title();  }); 

I get here 4 webparts, Webpart1,Webpart2,Webpart3,Webpart4

Of this 4 webparts I want to set display:none on Webpart1,Webpart2,Webpart3, So I only want to display Webpart4.

How could I create an array of the webparts that I want to display, and then check if my title of webparts contains that and then if it contains display:none on them and do nothing with

var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"]; 
Source Link
Batistuta
  • 708
  • 1
  • 11
  • 40

How to display:none webpart

I get all webparts that i have in default aspx using this code

var pageName = "/sites/default.aspx"; 

var ctx = new SP.ClientContext(); var pageFile = ctx.get_web().getFileByServerRelativeUrl(pageName); var webPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared); var webPartDefs = webPartManager.get_webParts(); ctx.load(webPartDefs,'Include(WebPart)'); ctx.executeQueryAsync(

 function () { for(var i = 0;i < webPartDefs.get_count();i++) { var webPartDef = webPartDefs.getItemAtIndex(i); var webPart = webPartDef.get_webPart(); var title = webPart.get_title(); 

I get here 4 webparts, Webpart1,Webpart2,Webpart3,Webpart4

Of this 4 webparts i want to set display:none on Webpart1,Webpart2,Webpart3, So i only want to display Webpart4. how could i create an array of the webparts that i want to display, and then check if my title of webparts contains that and then if it contains display:none on them and do nothing with

var webPartsArray = ["Webpart1", "Webpart2", "Webpart3"];