CRM Dynamics : Improve Form with Tab Menu
I was wondering how to have all data user need in only one screen.
Then I Googled and found this :
http://www.itaintboring.com/dynamics-crm/dynamics-crm-creating-navigation-tabs/
I want to always keep Basic Information of the contact/account
Then I Googled and found this :
http://www.itaintboring.com/dynamics-crm/dynamics-crm-creating-navigation-tabs/
I want to always keep Basic Information of the contact/account
- we have tabs, and we can collapse it or uncollapse it
- If we collapse a a tab all the width of the screen is hidded.
Then I decided to try to work with section and not tabs.
My idea was to have a Tabs with 3 column and only the column of the middle would be dynamic in link with the tab menu
Then I created 1 Tab with 3 column and all the section in the column of the middle have
- A name that start by "NavSection_"
- The label hidded
- Are hidded by default unless the first
<html><head><meta charset="utf-8"> <style> * { margin: 0; padding: 0; } .activeTab { background-color: #0080ff; color: #FFFFFF; font-family: Segoe UI, Tahoma, Arial; font-size: 14px; padding: 5px 10px 5px 10px; margin: 0px 4px 0px 0px; width: 80px; text-overflow: ellipsis; display: inline-block; text-align: center; overflow: hidden; white-space: nowrap; border-radius: 5%; border : 1px solid #9EA0A1; float : left; border-bottom : 1px solid #9EA0A1; } .inactiveTab { background-color: #b3d9ff; color: #000000; font-family: Segoe UI, Tahoma, Arial; font-size: 14px; padding: 5px 10px 5px 10px; margin: 0px 4px 0px 0px; width: 80px; text-overflow: ellipsis; display: inline-block; text-align: center; overflow: hidden; white-space: nowrap; border-radius: 5%; border : 1px solid #9EA0A1; float : left; border-bottom : 1px solid #9EA0A1; } .activeTab:hover { cursor: pointer; } .inactiveTab:hover { background-color: #C2C2C2; cursor: pointer; } </style> <style type="text/css">P { margin: 0; }</style><meta><style type="text/css">P { margin: 0; }</style><meta><style type="text/css">P { margin: 0; }</style><meta></head> <body onload="LoadFormTabs()" onfocusout="parent.setEmailRange();" style="word-wrap: break-word;"> <ul id="tabs"> </ul> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript">
</script> <script type="text/javascript"> function LoadFormTabs() { var navSection = new Array(); //var tabs = this.parent.Xrm.Page.ui.tabs.get(); var sections = this.parent.Xrm.Page.ui.tabs.get("SUMMARY_TAB1").sections.get(); for (var i = 0; i < sections.length; i++) { // var tab = tabs[i]; var section = sections[i]; if (sections[i].getKey().startsWith("NavSection") ) { var listItem = document.createElement("la"); listItem.className = "inactiveTab"; listItem.id = section.getKey(); var sectionName = section.getName(); var sectioNameclean = sectionName.replace("NavSection_",""); listItem.innerHTML = sectioNameclean; //section.getLabel(); navSection.push(section); listItem.onclick = function () { var selectedSec = window.parent.Xrm.Page.ui.tabs.get("SUMMARY_TAB1").sections.get(this.id); var activeSec = selectedSec.getKey(); // var allSec = window.parent.Xrm.Page.ui.tabs.get("SUMMARY_TAB1").sections.get(); for (var j = 0; j < navSection.length; j++) { if (window.parent.Xrm.Page.ui.tabs.get("SUMMARY_TAB1").sections.get(navSection[j].getKey()).getVisible() == true) { window.parent.Xrm.Page.ui.tabs.get("SUMMARY_TAB1").sections.get(navSection[j].getKey()).setVisible(false); } $("#" + navSection[j].getKey()).addClass("inactiveTab"); } selectedSec.setVisible(true); $("#" + activeSec).removeClass("inactiveTab").addClass("activeTab"); if (selectedSec.getVisible() != true) { selectedSec.setVisible(false); } }; document.getElementById("tabs").appendChild(listItem); } } $("#tabs").children(":first").removeClass("inactiveTab").addClass("activeTab"); } </script> </body></html>
Commentaires
Enregistrer un commentaire