Есть код типа:

var Offset = Ext.get(OffsetId);

var BackgroundColor = "#FFFFFF";

if (OffsetValue > 10) { BackgroundColor = "orangered"; }

if (OffsetValue >= -10 && OffsetValue <= 10) { BackgroundColor = "Gold"; }

if (OffsetValue < -10) { BackgroundColor = "LimeGreen"; }

Offset.setStyle("background-color", BackgroundColor);

красит отлично и все было бы прекрасно если бы поля не были во вкладке. При переходе в другую вкладку и возврате поля перерисовуются, что ли и цвет слетает(

Как подписаться на событие прорисовки, или как сделать цвет постоянным? Может можно задать класс и повесить его в атрибут? а его менять уже? Как это можно реализовать?

Нравится

2 комментария

Добрый день

Вам нужно ловить момент после перерисовки, а то в dom еще не будет элемента.

Есть событие afterrender и afterrerender. Первое срабатывает при первом рендера, а второе при "повторных" (смена активной вкладки на странице)

"operation": "merge",
"name": "ClosureCode",
"values": {
	"afterrender": {"bindTo": "renderComponent"},
	"afterrerender": {"bindTo": "renderComponent"}
}

А в методе renderComponent уже сделать то, что вам нужно

Артем Гура, Работает! Благодарю!

 

Показать все комментарии