This is a slightly random post!
I will publish future posts on specific pieces of useful JavaScript but here I have some random but hopefully useful code snippets.
Maximise Screen
Add this code to the onload event of a form to maximise the screen.
A word of caution: If you are using Unified Service Desk I have found problems with this code! So might be worth avoiding if you use USD. (But also probably not needed because of the nature of a USD application!)
window.top.moveTo(0,0);
window.top.resizeTo(screen.width, screen.height);
Change Tab Display Title
I have found this code useful (occasionally) if I want to dynamically set a tab name.
Notice that get(1) refers to the first tab. This does mean this code becomes dependant on the position of the tabs. Moving stuff around on your form could “break” this code!
var Tab = Xrm.Page.ui.tabs.get(1);
if(Tab != null) {
Tab.setLabel(“ANY TABNAME YOU LIKE!”);
};
Lookup Fields
Get values
Grabbing the text value of a lookup field is slightly more complicated than with a standard text fields. With the lookup being an entity you first need to assign to an object that get the attribute your require.
var lookupObject = Xrm.Page.getAttribute(“alookupfieldname”);
if (lookupObject != null) {
var lookUpObjectValue = lookupObject.getValue();
if ((lookUpObjectValue != null)) {
var lookuptextvalue = lookUpObjectValue[0].name;
var lookupid = lookUpObjectValue[0].id;
}
}
Set value
As lookup fields are objects setting their values using code can be a little tricky! You need three pieces of information to achieve this. Including the type of lookup entity, the name (text) of the value you want to assign and the guid.
var value = new Array();
value[0] = new Object();
value[0].id = idValue;
value[0].name = textValue;
value[0].entityType = typeValue;
Xrm.Page.getAttribute(“afieldName”).setValue(value);
Alternatively you can use this syntax;
Xrm.Page.getAttribute("afieldName").setValue([{
id: idValue,
name: textValue,
entityType: "<<Name Of Entity>>"
}]);
Optionsets – Get text
Xrm.Page.data.entity.attributes.get(“afieldName”).getText();
Text Boxes
Set Value
Xrm.Page.getAttribute(“afieldname”).setValue(“ANY VALUE!”);
Get Value
Xrm.Page.getAttribute(“afieldname”).getValue();
Get a Field Label
var fieldLabel = Xrm.Page.ui.controls.get(“afieldName”).getLabel();
Set Field Label
var aControl = Xrm.Page.ui.controls.get(“afieldname”);
var newLabel = “ANY LABEL YOU LIKE!”;
aControl.setLabel(newLabel);
Make Mandatory
Xrm.Page.getAttribute(“afieldname”).setRequiredLevel(“required”);
Xrm.Page.getAttribute(“afieldname”).setRequiredLevel(“none”);
Set Visibility
var control = Xrm.Page.ui.controls.get(“afieldname”);
control.setVisible(true);
Make Readonly
Xrm.Page.ui.controls.get(“afieldname”).setDisabled(true);
Hide tabs
Xrm.Page.ui.tabs.get(“yourtabname”).setVisible(true);
Hide/Show Sections
To show a section :
Xrm.Page.ui.tabs.get(“yourtabname”).sections.get(“your section name”).setVisible(true);
To hide a section:
Xrm.Page.ui.tabs.get(“yourtabname”).sections.get(“your section name”).setVisible(false);