Как в formLayout сделать две колонки

Коллеги, добрый день!

В Jmix 1.x для создания форм с колонками использовался компонент form с вложенными column, что было очень удобно:

<form>
    <column>
        <textField property="firstName"/> <!-- Лейбл автоматически подтягивался из messages -->
    </column>
</form>

В Jmix 2.x (Flow UI) form/column отсутствуют. Пробовал использовать vbox, но столкнулся с проблемой:

  • Поля с property внутри vbox не автоматизируют лейблы из messages.properties, приходится прописывать label вручную:
<formLayout id="form" dataContainer="userDc">
    <vbox>
        <textField property="firstName" label="msg://firstName"/> <!-- Дублирование кода -->
    </vbox>
    <vbox>
        .....//
    </vbox>
</formLayout>

Вопросы:

  1. Есть ли в Jmix 2.x аналог form/column с автоматическим подтягиванием лейблов?
  2. Какие best practices для создания многоколоночных форм в Flow UI без дублирования label?

Заранее спасибо за советы!

https://docs.jmix.ru/jmix/flow-ui/vc/layouts/formLayout.html#responsive-steps

Не совсем то. responsive-steps просто задает количество столбцов, но сам formLayout автоматически распределяет поля по столбцам, а я бы хотел зафиксировал поля в своих столбцах. Например, чтобы в одном столбце было 5 полей, а в другом 2.

В таком случае вам проще использовать две рядом стоящие формы, в которых будет только одна колонка. Сделать это можно с помощью настройки:

        <formLayout id="form">
            <responsiveSteps>
                <responsiveStep minWidth="0" columns="1"/>
            </responsiveSteps>

            <!-- ... -->
        <formLayout/>

С уважением,
Дмитрий