Jmix version: 2.3.4
Jmix Studio plugin version: 2.3.3-242
IntelliJ version: IntelliJ IDEA 2024.2.4 (Ultimate Edition)
Здравствуйте!
Наблюдается странное поведение при “включении” компонента (в примере кнопка) в “выключенном” контейнере.
Тестовый пример:
Дескриптор
<hbox width="100%" margin="false">
<button id="tglLayoutBtn" text="toggle layout"/>
<button id="tglTestBtn" text="toggle button"/>
</hbox>
<flexLayout id="buttonLayout">
<button id="testBtn" text="test"/>
</flexLayout>
Контроллер
@Subscribe(id = "tglLayoutBtn", subject = "clickListener")
public void onTglLayoutBtnClick(final ClickEvent<JmixButton> event) {
boolean layoutEnabled = buttonLayout.isEnabled();
buttonLayout.setEnabled(!layoutEnabled);
event.getSource().setText("layout is "+(!layoutEnabled?"enabled":"disabled"));
}
@Subscribe(id = "tglTestBtn", subject = "clickListener")
public void onTglTestBtnClick(final ClickEvent<JmixButton> event) {
boolean btnEnabled = testBtn.isEnabled();
testBtn.setEnabled(!btnEnabled);
event.getSource().setText("testBtn is "+(!btnEnabled?"enabled":"disabled"));
}
@Subscribe(id = "testBtn", subject = "clickListener")
public void onTestBtnClick(final ClickEvent<JmixButton> event) {
notifications.show("Test Click!");
}
Когда контейнер переключен в disable, а кнопка в enable она отображается как действующая, но события нажатия не отрабатывают. При этом еще и ломается событие на кнопке tglTestBtn
которая находится в другом контейнере.
Поведение мягко говоря странное.