В версии 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.
Это какой-то баг или так задумано?