listMenu
listMenu - это компонент для отображения вертикального меню с выпадающими подменю, которые можно сворачивать.
| XML-элемент | 
 | 
|---|---|
| Java-класс | 
 | 
| Атрибуты | id - alignSelf - classNames - colspan - css - height - loadMenuConfig - maxHeight - maxWidth - minHeight - minWidth - themeNames - visible - width | 
| Обработчики | 
Основы
listMenu, вместе с drawerToggle и drawerLayout, используется в MainView.
listMenu позволяет вам настраивать главный экран, управлять элементами меню и применять собственные стили.
Его также можно использовать в любом экране как любой другой визуальный компонент.
Чтобы добавить компонент в экран, поместите его в дескриптор XML:
<listMenu id="listMenu"/> 
Вы также можете создать компонент и добавить его в экран в Java-контроллере:
@ViewComponent
private VerticalLayout navigation;
@Autowired
private UiComponents uiComponents;
@Autowired
private ApplicationContext applicationContext;
@Subscribe
public void onInit(final InitEvent event) {
    JmixListMenu listMenu = uiComponents.create(JmixListMenu.class);
    MenuConfigListMenuItemProvider itemProvider =
            applicationContext.getBean(MenuConfigListMenuItemProvider.class);
    listMenu.setMenuItemProvider(itemProvider);
    navigation.add(listMenu);
    itemProvider.load();
}Привязка данных
Атрибут loadMenuConfig управляет тем, загружает ли компонент listMenu свою структуру из класса MenuConfig. По умолчанию этот атрибут установлен в true, что означает, что listMenu будет загружать свои элементы меню из файла menu.xml.
Вы также можете создавать элементы меню программным образом, используя экземпляр JmixListMenu, например:
@Route("")
@ViewController("MainView")
@ViewDescriptor("main-view.xml")
public class MainView extends StandardMainView {
    @ViewComponent
    private JmixListMenu menu;
    @Subscribe
    public void onInit(final InitEvent event) {
        ListMenu.MenuBarItem rootItem = new ListMenu.MenuBarItem("help")
                .withTitle("Help")
                .withPrefixComponent(VaadinIcon.QUESTION.create()); (1)
        ListMenu.MenuItem subItemNews = new ListMenu.MenuItem("news")
                .withTitle("News")
                .withClickHandler(  (2)
                        item -> {
                            notifications.create("News menu item clicked")
                                    .show();
                        }
                );
        rootItem.addChildItem(subItemNews);
        ListMenu.MenuSeparatorItem sep =
                new ListMenu.MenuSeparatorItem("separator"); (3)
        rootItem.addChildItem(sep);
        ListMenu.MenuItem subItemBlog = new ListMenu.MenuItem("blog")
                .withTitle("Blog");
        rootItem.addChildItem(subItemBlog);
        menu.addMenuItem(rootItem);
    }
}| 1 | Создает новый элемент меню с иконкой. | 
| 2 | Создает новый элемент меню с обработчиком clickHandler. | 
| 3 | Создает новый элемент-разделитель. | 
Значки для элементов меню
Пример настройки значков для элементов меню вы можете найти в разделе События UI.
Варианты оформления
Атрибут themeNames позволяет вам назначить определенный стиль listMenu из набора предопределенных вариантов.
Обратный порядок отображения маркера
С настройкой themeNames="toggle-reverse" в компоненте listMenu, маркер развертывания/сворачивания будет перемещен в конец родительского элемента меню. Это означает, что иконка, показывающая, развернуты ли дочерние элементы меню или свернуты, будет расположена справа от метки родительского элемента меню.
 
Атрибуты
В Jmix есть множество общих атрибутов, которые выполняют одну и ту же функцию для всех компонентов.
Ниже приведены атрибуты, специфичные для listMenu:
| Название | Описание | Значение по умолчанию | 
|---|---|---|
| Атрибут  | 
 |