Class ListMenuBuilder

java.lang.Object
io.jmix.flowui.menu.ListMenuBuilder

@Component("flowui_ListMenuBuilder") @Scope("prototype") public class ListMenuBuilder extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • build

      public JmixListMenu build()
      Builds and returns a new JmixListMenu instance by initializing it with the necessary configuration.
      Returns:
      a newly created JmixListMenu instance
    • build

      public void build(JmixListMenu listMenu)
      Builds the structure for the provided JmixListMenu by adding menu items based on the root items defined in the menu configuration.
      Parameters:
      listMenu - the JmixListMenu instance to build and populate with menu items
    • createListMenu

      public Optional<ListMenu.MenuItem> createListMenu(MenuItem menuItem)
      Creates a ListMenu.MenuItem object from the given MenuItem, which can represent a menu hierarchy, separator, or an individual menu item. It recursively processes child menu items if the given MenuItem is a menu container.
      Parameters:
      menuItem - the MenuItem representing the menu structure to be converted
      Returns:
      an Optional containing the constructed ListMenu.MenuItem, or Optional.empty() if the item has no children, is not permitted, or represents a n invalid structure
    • createMenuBar

      protected ListMenu.MenuBarItem createMenuBar(MenuItem menuItem)
    • setIcon

      protected void setIcon(MenuItem menuItem, ListMenu.MenuItem listMenuItem)
    • getVaadinIcon

      @Nullable protected com.vaadin.flow.component.icon.VaadinIcon getVaadinIcon(String iconString)
    • removeTrailingChildSeparators

      protected void removeTrailingChildSeparators(ListMenu.MenuBarItem menuBarItem)
      Removes trailing child separators.
      Parameters:
      menuBarItem - parent menu item to trim
    • createMenuItem

      @Nullable protected ListMenu.MenuItem createMenuItem(MenuItem menuItem)
    • createViewMenuItem

      @Nullable protected ListMenu.MenuItem createViewMenuItem(MenuItem menuItem)
    • createBeanMenuItem

      protected ListMenu.MenuItem createBeanMenuItem(MenuItem menuItem)
    • createMenuSeparator

      protected ListMenu.MenuItem createMenuSeparator()
    • getControllerClass

      @Nullable protected Class<? extends View<?>> getControllerClass(MenuItem menuItem)
    • getDescription

      @Nullable protected String getDescription(MenuItem menuItem)
    • getClassNames

      protected String[] getClassNames(MenuItem menuItem)
    • isPermitted

      protected boolean isPermitted(MenuItem menuItem)
    • generateSeparatorId

      protected String generateSeparatorId()