com.vaadin.flow.component.contextmenu.

Class MenuManager<C extends Component,I extends MenuItemBase<?,I,S>,S extends SubMenuBase<?,I,S>>

java.lang.Object
com.vaadin.flow.component.contextmenu.MenuManager<C,I,S>

Type Parameters:

C - the context menu type

I - the menu item type

S - the sub menu type

All Implemented Interfaces:

Serializable

public class MenuManager<C extends Component,I extends MenuItemBase<?,I,S>,S extends SubMenuBase<?,I,S>> extends Object implements Serializable

Common management logic for context menus and sub menus. Maintains the list of components to stamp into one overlay.

Author:

Vaadin Ltd.

See Also:

  • Constructor Details

    • MenuManager

      public MenuManager(C menu, SerializableRunnable contentReset, SerializableBiFunction<C,SerializableRunnable,I> itemGenerator, Class<I> itemType, I parentMenuItem)

      Creates a new manager instance.

      Parameters:

      menu - the context menu

      contentReset - callback to reset the context menu

      itemGenerator - the item generator/factory

      itemType - the item type

      parentMenuItem - the parent menu item of the submenu

  • Method Details

    • addItem

      public I addItem(String text)

      Adds a text as a menu item.

      Parameters:

      text - the text for the menu item

      Returns:

      a new menu item

    • addItem

      public I addItem(Component component)

      Adds a component as a menu item.

      Parameters:

      component - the component for the menu item

      Returns:

      a new menu item

    • addItem

      public I addItem(String text, ComponentEventListener<ClickEvent<I>> clickListener)

      Adds a text as a menu item with a click listener.

      Parameters:

      text - the text for the menu item

      clickListener - a click listener

      Returns:

      a new menu item

    • addItem

      public I addItem(Component component, ComponentEventListener<ClickEvent<I>> clickListener)

      Adds a component as a menu item with a click listener.

      Parameters:

      component - the component for the menu item

      clickListener - a click listener

      Returns:

      a new menu item

    • add

      public void add(Component... components)

      Adds components to the (sub)menu.

      The components are added into the content as is, they are not wrapped as menu items.

      Parameters:

      components - components to add

      See Also:

    • remove

      public void remove(Component... components)

      Removes components to the (sub)menu.

      Parameters:

      components - components to remove

      See Also:

    • removeAll

      public void removeAll()

      Remove all components and items from (sub)menu.

      See Also:

    • addComponentAtIndex

      public void addComponentAtIndex(int index, Component component)

      Inserts component to the (sub)menu using the index.

      The component is inserted into the content as is, it is not wrapped as a menu item.

      Parameters:

      index - index to insert, not negative

      component - component to insert

      See Also:

    • getChildren

      public Stream<Component> getChildren()

      Gets all (sub)menu children.

      Children consist of components and items.

      Returns:

      the children components

      See Also:

    • getItems

      public List<I> getItems()

      Gets all children items.

      The items are filtered using the provided item type in the constructor.

      Returns:

      all children items

      See Also: