Добрый день!
Необходимо выделить лиды которые не были открыты пользователем.
Есть следующий код:
define("LeadSectionV2", [], function() {
return {
entitySchemaName: "Lead",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
methods: {
prepareResponseCollectionItem: function(item) {
this.callParent(arguments);
var scope = this;
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "UsrLeadStatusByUser"
});
esq.addColumn("Id");
var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "UsrLead", item.get("Id"));
var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "UsrContact", Terrasoft.SysValue.CURRENT_USER_CONTACT.value);
esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esq.filters.add("esqFirstFilter", esqFirstFilter);
esq.filters.add("esqSecondFilter", esqSecondFilter);
esq.getEntityCollection(function (result) {
if (result.success && result.collection.collection.items.length > 0) {
//Лид уже был просмотрен
item.customStyle = null;
}else{
//Лид еще ни разу не открывали
item.customStyle = {
"color": "white",
"background": "#8ecb60",
"font-weight": "bold"
};
}
}, scope);
}
}
};
});
Он работает не совсем как ожидалось. Выделение цветом происходит после того как зайдешь в лид и выйдешь из него, к тому же выделяются только те записи, которые были подгружены первично. Если же пролистать ниже, то подгруженные позже записи не выделяются цветом.
Подскажите, пожалуйста, красивое решение вопроса.