LinkedIn

Friday, June 18, 2010

Restricting Menu Items in ListView

Add the following javascript lines in the Edit Page of the list from sharepoint designer. 

_spBodyOnLoadFunctionNames.push("hideListViewToolbarItems('Edit in Datasheet','export to Spreadsheet','create column','view rss feed','settings:create view')");







function hideListViewToolbarItems()


{






var menuItem;


var menuItemName;


var menuItemIndex=-1;


var menuItemNames=new Array("edit in datasheet",


"open with windows explorer",


"connect to outlook",'export to spreadsheet','view rss feed','alert me'


,"create column","settings:create view","list settings",


"document library settings","explorer view","all documents",


"all items","modify this view",


"view:create view","new document",


"new item","new folder","upload document",


"upload multiple documents");


var menuItems = new Array("EditInGridButton",


"OpenInExplorer","OfflineButton",


"ExportToSpreadsheet","ViewRSS",


"SubscribeButton","AddColumn",


"AddView","ListSettings","ListSettings",


"View1","DefaultView",


"DefaultView","ModifyView","CreateView",


"New0","New0",


"NewFolder","Upload","MultipleUpload");






var allMenuItems = document.getElementsByTagName('ie:menuitem');


for(var i = 0; i < hideListViewToolbarItems.arguments.length; i++ )


{


menuItemName= hideListViewToolbarItems.arguments[i].toLowerCase();


for (j=0; j < menuItemNames.length; j++)


{


if(menuItemNames[j]==menuItemName)


{


menuItemIndex = j;


break;


}


}






menuItem=menuItems[menuItemIndex];






for (var l = 0; l < allMenuItems.length; l++)


{


if(menuItemName.indexOf(":")!=-1)


{


menuItemName = menuItemName.split(":")[1];


}


if (allMenuItems[l].id.indexOf(menuItem)!=-1


&& allMenuItems[l].text.toLowerCase() == menuItemName)


{


// For FireFox Compatibility


var parentNodeOfMenuItem = allMenuItems[l].parentNode;


parentNodeOfMenuItem.removeChild(allMenuItems[l]);


break;


}


}


}


}




No comments:

Post a Comment