При реализации переключения состояний ивент-контейнера через отправку события при клике в таблице (шаблон Список + ивент, метрика записана в customParamNames и customParamValues) ивент-контейнер переключает на соответствующий слот. Однако при повторном клике на строку таблицы сброс события и переключение ивент-контейнера на предыдущее (или дефолтное) состояние не происходит (хотя useEventCancel: булево, true).
Более того, ивент-контейнер зависает на вызванном слоте и вернуть его в первоначальное состояние возможно только в редакторе вручную.
P.S. в видео-обучении на RuTube отмена выбранного состояния не демонстрируется, только переключение между состояниями.
В качестве таблицы Вы используете виджет Таблица (ElemDremioTable) ? Если да, то мы рекомендуем перейти на виджет Конструктор таблиц, так как он новый и постоянно дорабатывается. ElemDremioTable уже относится к устаревшим виджетам и не дорабатывается.
При работе с ивент-контейнером важно, чтобы у него в качестве активного было выбрано именно дефолтное состояние в редакторе, тогда он не будет зависать и не добавлять двойную загрузку на странице.
Вместо ивент-контейнера можно использовать конструктор бизнес-логики - этот виджет умеет слушать переменные, и его не нужно править вручную в редакторе в части возраврата на дефолт.
Если да, то мы рекомендуем перейти на виджет Конструктор таблиц
Конструктор таблиц в конкретно нашем случае мы не рассматриваем.
При работе с ивент-контейнером важно, чтобы у него в качестве активного было выбрано именно дефолтное состояние в редакторе, тогда он не будет зависать и не добавлять двойную загрузку на странице.
Зависает вне зависимости от активного состояния.
Вместо ивент-контейнера можно использовать конструктор бизнес-логики - этот виджет умеет слушать переменные
Безусловно, но как осуществить отправку переменной при клике на строку в таблице?
Нам необходимо, чтобы при первом клике по таблице отправлялось событие в ивент-контейнер, а при повторном - открывалось первоначальное (дефолтное) состояние контейнера.
Например, можно сделать доп метрику в таблице с наименование событий: max(case when category_name=‘Одежда’ then ‘cloth’ when category_name=‘Электроника’ then ‘electr’ end)
далее
в настройках шаблона заполнить метрикой событие eventname,eventvalue, customParamValues,customParamNames. Далее добавить переменные в разделе переменных:
далее в конструкторе бизнес-логики добавьте источник фильтрации, активируйте там метрику с событие.
создайте три слота, первый слот - первое событие
второй слот - второе событие
третий слот - нулевое, где должно быть дефотное событие -
также в переменных конструтора бизнес-логики настройте переменные на прослушку