В версии 2.0 происходит следующее: при задании в xml-дескрипторе атрибута текстового поля visible=false
поле скрывается в экране и даже при явном задании в слушателе onBeforeShow
textField.setVisible(true) не отображается.
При этом в обратном порядке, если не указывать в xml-дескрипторе параметр visible, но указать в методе onBeforeShow
setVisible(false)
, то скрывается только само поле, при этом его название (label) остаётся.
Предполагалось использование этого компонента для сокрытия поля, если его значение == null
(это просто для справки).
При этом, если не ставить параметр labelPosition
в formLayout
(т.е. =TOP по умолчанию), то всё работает корректно, поле пропадает полностью и все остальные поля сдвигаются наверх (если не поиграться с colsplan).
В версии 2.1 куда более интересная фишка, если указываешь в formLayout
в xml-дескрипторе параметр labelPosition=ASIDE
, то все поля подчеркиваются с предупреждением:
Jmix: labelsPositions="ASIDE" property has effect only for <formItem> child
Соответственно если пойти по предложенному пути и обернуть поле в (при чем это надо каждое поле обернуть), то происходит ровно тоже самое что в версии 2.0.
Это какой-то баг или так задумано?