Class ListMenu

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.Composite<com.vaadin.flow.component.html.UnorderedList>
io.jmix.flowui.kit.component.main.ListMenu
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasTheme, com.vaadin.flow.component.shared.HasThemeVariant<ListMenuVariant>, Serializable
Direct Known Subclasses:
JmixListMenu

public class ListMenu extends com.vaadin.flow.component.Composite<com.vaadin.flow.component.html.UnorderedList> implements com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.shared.HasThemeVariant<ListMenuVariant>
listMenu is a component for displaying a vertical menu with a collapsible drop-down sub-menus.
See Also:
  • Field Details

  • Constructor Details

    • ListMenu

      public ListMenu()
  • Method Details

    • initContent

      protected com.vaadin.flow.component.html.UnorderedList initContent()
      Overrides:
      initContent in class com.vaadin.flow.component.Composite<com.vaadin.flow.component.html.UnorderedList>
    • getMenuItem

      public @Nullable ListMenu.MenuItem getMenuItem(String id)
      Gets menu item from the menu by its ID.
      Parameters:
      id - menu item id
      Returns:
      menu item or null if not found
    • getMenuItems

      public List<ListMenu.MenuItem> getMenuItems()
      Returns:
      immutable list of root menu items
    • addMenuItem

      public void addMenuItem(ListMenu.MenuItem menuItem)
      Adds menu item and its children to the menu.
      Parameters:
      menuItem - menu item to add
    • addMenuItem

      public void addMenuItem(ListMenu.MenuItem menuItem, int index)
      Adds menu item and its children to the menu in specified index.

      If root menu items already contain provided menu item, it will be moved to the provided index.

      Parameters:
      menuItem - menu item to add
      index - index to add menu item in the root items
    • removeMenuItem

      public void removeMenuItem(ListMenu.MenuItem menuItem)
      Removes menu item and its children from the menu.
      Parameters:
      menuItem - menu item to remove
    • removeMenuItem

      public void removeMenuItem(int index)
      Removes root menu item by index.
      Parameters:
      index - index to remove from root menu items
    • removeAllMenuItems

      public void removeAllMenuItems()
      Removes all menu items from the menu.
    • addChildren

      protected void addChildren(ListMenu.MenuItem parent, ListMenu.MenuItem childItem)
    • addChildren

      protected void addChildren(ListMenu.MenuItem parent, ListMenu.MenuItem childItem, int index)
    • createMenuRecursively

      protected com.vaadin.flow.component.html.ListItem createMenuRecursively(ListMenu.MenuItem menuItem)
    • attachMenuItemRecursively

      protected void attachMenuItemRecursively(ListMenu.MenuItem menuItem)
    • detachMenuItemRecursively

      protected void detachMenuItemRecursively(ListMenu.MenuItem menuItem)
    • unregisterMenuItemRecursively

      protected void unregisterMenuItemRecursively(ListMenu.MenuItem menuItem)
    • registerMenuItem

      protected void registerMenuItem(ListMenu.MenuItem menuItem, com.vaadin.flow.component.html.ListItem menuItemComponent)
    • createMenuItemComponent

      protected com.vaadin.flow.component.Component createMenuItemComponent(ListMenu.MenuItem menuItem)
    • initMenuItemComponent

      protected void initMenuItemComponent(com.vaadin.flow.component.Component menuItemComponent, ListMenu.MenuItem menuItem)
    • createMenuItemText

      protected com.vaadin.flow.component.html.Span createMenuItemText(ListMenu.MenuItem menuItem)
    • addMenuItemText

      protected void addMenuItemText(com.vaadin.flow.component.Component componentContainer, com.vaadin.flow.component.html.Span text)
    • updateMenuItemComponentClassNames

      protected void updateMenuItemComponentClassNames(com.vaadin.flow.component.Component menuItemComponent, ListMenu.MenuItem menuItem)
    • getMenuItemComponentClassNames

      protected List<String> getMenuItemComponentClassNames(ListMenu.MenuItem menuItem)
    • createMenuItemContentComponent

      protected com.vaadin.flow.component.Component createMenuItemContentComponent()
    • addMenuOpenedChangeListener

      protected void addMenuOpenedChangeListener(com.vaadin.flow.component.details.Details details, ListMenu.MenuItem menuItem)
    • addMenuItemClickListener

      protected void addMenuItemClickListener(com.vaadin.flow.component.Component menuItemComponent, ListMenu.MenuItem menuItem)
    • addMenuItemClickShortcutCombination

      protected void addMenuItemClickShortcutCombination(com.vaadin.flow.component.Component menuItemComponent, ListMenu.MenuItem menuItem)
    • createMenuBarComponent

      protected com.vaadin.flow.component.details.Details createMenuBarComponent(ListMenu.MenuBarItem menuBarItem)
    • getMenuBarContent

      protected com.vaadin.flow.component.html.UnorderedList getMenuBarContent(ListMenu.MenuItem menuItem)
    • getMenuBarContent

      protected com.vaadin.flow.component.html.UnorderedList getMenuBarContent(com.vaadin.flow.component.details.Details menuBar)
    • getMenuBarComponent

      protected com.vaadin.flow.component.details.Details getMenuBarComponent(ListMenu.MenuItem menuItem)
    • getMenuItemComponent

      protected com.vaadin.flow.component.Component getMenuItemComponent(ListMenu.MenuItem menuItem)
    • getTitle

      protected String getTitle(ListMenu.MenuItem menuItem)
    • checkItemIdDuplicate

      protected void checkItemIdDuplicate(String id)
    • setPrefixComponent

      protected void setPrefixComponent(com.vaadin.flow.component.Component componentContainer, @Nullable com.vaadin.flow.component.Component prefixComponent, @Nullable com.vaadin.flow.component.Component oldPrefixComponent)
    • setSuffixComponent

      protected void setSuffixComponent(com.vaadin.flow.component.Component componentContainer, @Nullable com.vaadin.flow.component.Component suffixComponent, @Nullable com.vaadin.flow.component.Component oldSuffixComponent)
    • onMenuItemPropertyChange

      protected void onMenuItemPropertyChange(PropertyChangeEvent event)