Пользовательский фильтр VS дефолтный фильтр
22 ноября 2019 10:27
Сделал пользовательский фильтр, который в зависимости от того какое рабочее место открыто, отображает контрагентов в соответствующих статусах, но при этом не работает дефолтный фильтр. Как это починить?
![]()
Код
define("AccountSectionV2", [], function() {
return {
entitySchemaName: "Account",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
methods: {
getFilters: function() {
// var filters = this.callParent(arguments);
var filterGroup = new this.Terrasoft.createFilterGroup();
// получаем текст названия рабочего места
var span = document.getElementById("menu-workplace-button-textEl");
var workspacename = span.innerText;
// var wsname = this.get("SysWorkplace.Name");
//alert(wsname);
if (workspacename==="Compliance")
{
var category = "Compliance";
filterGroup.add("FilterCategory", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", category));
return filterGroup;
}
else if (workspacename==="Board")
{
var categoryBoard = "Board";
filterGroup.add("FilterCategory", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryBoard));
return filterGroup;
}
else if (workspacename==="Compliance Officer")
{
var categoryComplianceOfficer = "Compliance";
// filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.and;
filterGroup.add("FilterStatus", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryComplianceOfficer));
filterGroup.add("FilterOfacRate", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.NOT_EQUAL, "elcOfacRate", "0"));
return filterGroup;
}
else if (workspacename==="Lawyers")
{
var categoryLawyers = "Compliance";
var TermsAndCond = "0";
// filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.and;
filterGroup.add("FilterStatus", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryLawyers));
filterGroup.add("FilterConfirm", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcLawyersConfirmTermsAndCond", TermsAndCond));
return filterGroup;
}
/*
else {
var categoryCreated = "Created";
filterGroup.remove("FilterCategory", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryCreated));
return filterGroup;
}
return;
*/
}
}
};
});
Нравится
4 комментария
Лучший ответ
22 ноября 2019 11:55
А как он может работать если вы возвращаете filterGroup а filters у вас улетает в никуда по логике вы должны добавить в filters вашу filterGroup и вернуть filters
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать