Hi,
I have develop a script to filter Contact records related to Account using AddPreSearach control in Custom Entity.
The script works fine on Web but on Unified Interface(UCI), filtration does not happen in single click. It takes 2-3 clicks to get required filter records.
Code:
// Get requiredattendees control
var requiredAttendeesControl = Xrm.Page.getControl("requiredattendees");
// Validate requiredattendees field
if (isValid(requiredAttendeesControl)) {
// Add PreSearch
requiredAttendeesControl.addPreSearch(filterContactByAccount);
}
function filterContactByAccount() {
var functionName = "filterContactByAccount: ";
var condition = "";
try {
var regardingObjectValue = Xrm.Page.getAttribute("regardingobjectid").getValue();
// Validate Regarding has a value
if (isValid(regardingObjectValue)) {
//condition from regarding contact
condition += retriveRelatedContact(regardingObjectValue, condition);
// condition from regarding connection
condition += retriveRelatedconnection(regardingObjectValue, condition);
if (isValid(condition)) {
var filterCondition = "<filter type='and'>" +
"<condition attribute='contactid' operator='in'>" +
condition +
"</condition>" +
"</filter>";
Xrm.Page.getControl("requiredattendees").addCustomFilter(filterCondition, "contact");
}
}
} catch (e) {
throwError(functionName, e);
}
}
Thanks!