Как динамически применять css к кнопке значка webix?

У меня есть кнопка со значком webix, которая отключена в состоянии по умолчанию. Но всякий раз, когда я выбираю строку таблицы данных, она должна стать доступной, а также к ней должен применяться новый класс css, вызывающий изменение ее непрозрачности и цвета фона.

Мой фрагмент: https://snippet.webix.com/t3kcujxl.

Пожалуйста, помогите, спасибо.


person A.G.Progm.Enthusiast    schedule 14.03.2018    source источник
comment
вы можете получить все таблицы, используя querySelectorAll(), затем перебрать их, а затем на каждой таблице .addEventListener('click', function(){}) и внутри функции дать кнопке значка нужный класс   -  person Smokey Dawson    schedule 14.03.2018
comment
@ A61NN5 Не могу понять, не могли бы вы уточнить это или показать мне в самом фрагменте. Моя проблема в том, что когда я включаю кнопку, внутри обратного вызова изменение css не происходит. В противном случае, до этого, в состоянии по умолчанию, css работает как положено.   -  person A.G.Progm.Enthusiast    schedule 14.03.2018


Ответы (1)


Вам не нужно изменять свойство css кнопки, просто включите его из обработчика кликов.

onAfterSelect:function() { 
  $$('delete').enable();
}

а в css вы можете использовать что-то вроде следующего. Здесь стиль кнопки будет отличаться в зависимости от класса .webix_disabled_view, который добавляется ко всем отключенным элементам.

.webix_disabled_view.opq button{
    background-color: transparent !important; /* Green */
    opacity: 0.4;
}
.opq button{
    background-color: #ac52af; /* red */
    opacity: 1;

}

https://snippet.webix.com/z5c09h6z

person Aquatic    schedule 14.03.2018
comment
Замечательное решение. - person A.G.Progm.Enthusiast; 14.03.2018