Tag Cloud

CRM 2011 (161) CRM 4.0 (144) C# (116) JScript (109) Plugin (92) Registry (90) Techpedia (77) PyS60 (68) WScript (43) Plugin Message (31) Exploit (27) ShellCode (26) FAQ (22) JavaScript (21) Killer Codes (21) Hax (18) VB 6.0 (17) Commands (16) VBScript (16) Quotes (15) Turbo C++ (13) WMI (13) Security (11) 1337 (10) Tutorials (10) Asp.Net (9) Safe Boot (9) Python (8) Interview Questions (6) video (6) Ajax (5) VC++ (5) WebService (5) Workflow (5) Bat (4) Dorks (4) Sql Server (4) Aptitude (3) Picklist (3) Tweak (3) WCF (3) regex (3) Config (2) LINQ (2) PHP (2) Shell (2) Silverlight (2) TSql (2) flowchart (2) serialize (2) ASHX (1) CRM 4.0 Videos (1) Debug (1) FetchXml (1) GAC (1) General (1) Generics (1) HttpWebRequest (1) InputParameters (1) Lookup (1) Offline Plug-ins (1) OutputParameters (1) Plug-in Constructor (1) Protocol (1) RIA (1) Sharepoint (1) Walkthrough (1) Web.config (1) design patterns (1) generic (1) iframe (1) secure config (1) unsecure config (1) url (1)

Pages

Monday, February 20, 2012

How to hide and show left navigation items in CRM 4.0

The first you need to do when you want to manipulate the left navigation section is to create a general function to get a reference to a navigation block. The reason is because each time you want to hide or show a block or nav item you need the DOM reference of the navigation block so instead of copying the code every time, you write a function and you call it everywhere.

Get the DOM reference to a left navigation block in CRM 4.0

/* Jscript: Get the DOM reference */
function GetNavBlock(block)
{
var objBlockDetails = document.getElementById("_NA_Info");
var objBlockSales = document.getElementById("_NA_SFA");
var objBlockService = document.getElementById("_NA_CS");
var objBlockMarketing = document.getElementById("_NA_MA");
var objNavBlock = null;

if (objBlockDetails.innerText.substr(0, objBlockDetails.innerText.indexOf(":")).toLowerCase() == block.toLowerCase())
objNavBlock = objBlockDetails;
else if (objBlockSales.innerText.substr(0, objBlockSales.innerText.indexOf(":")).toLowerCase() == block.toLowerCase())
objNavBlock = objBlockSales;
else if (objBlockService.innerText.substr(0, objBlockService.innerText.indexOf(":")).toLowerCase() == block.toLowerCase())
objNavBlock = objBlockService;
else if (objBlockMarketing.innerText.substr(0, objBlockMarketing.innerText.indexOf(":")).toLowerCase() == block.toLowerCase())
objNavBlock = objBlockMarketing;
else
throw "The navigation block '" + block + "' doesn't exists.";

return objNavBlock;
}

Hide a navigation block in CRM 4.0

/* Jscript: Hide a navigation block */
function HideNavBlock(block){
var objNavBlock = GetNavBlock(block);
objNavBlock.parentElement.style.display = "none";
}

Show a navigation block in CRM 4.0
 
/* Jscript: Show a navigation block */
function ShowNavBlock(block){
var objNavBlock = GetNavBlock(block);
objNavBlock.parentElement.style.display = "";
}



Hide a navigation item in a navigation block in CRM 4.0
 
/* Jscript: Hide a navigation item in a navigation block */
function HideNavItem(block, item){
var objNavBlock = GetNavBlock(block);
for (var i=0; i {
var menuItem = objNavBlock.nextSibling.childNodes[i];
if (menuItem.childNodes[0].childNodes[1].innerText == item)
menuItem.style.display = "none";
}
}



Show a navigation item in a navigation block in CRM 4.0
 
/* Jscript: Show a navigation item in a navigation block */
function ShowNavItem(block, item)
{
var objNavBlock = GetNavBlock(block);

for (var i=0; i {
var menuItem = objNavBlock.nextSibling.childNodes[i];

if (menuItem.childNodes[0].childNodes[1].innerText == item)
menuItem.style.display = "";
}
}

No comments: