Class GridContextMenu<T>

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.contextmenu.ContextMenuBase<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>>
com.vaadin.flow.component.grid.contextmenu.GridContextMenu<T>
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasComponents, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasStyle, Serializable

public class GridContextMenu<T> extends ContextMenuBase<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>>
Server-side component for <vaadin-context-menu> to be used with Grid.
Author:
Vaadin Ltd.
See Also:
  • Constructor Details

    • GridContextMenu

      public GridContextMenu()
      Creates an empty context menu to be used with a Grid.
    • GridContextMenu

      public GridContextMenu(Grid<T> target)
      Creates an empty context menu with the given target component.
      Parameters:
      target - the target component for this context menu
      See Also:
  • Method Details

    • setTarget

      public void setTarget(com.vaadin.flow.component.Component target)
      Overrides:
      setTarget in class ContextMenuBase<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>>
      Throws:
      IllegalArgumentException - if the given target is not an instance of Grid
    • addItem

      public GridMenuItem<T> addItem(String text, com.vaadin.flow.component.ComponentEventListener<GridContextMenu.GridContextMenuItemClickEvent<T>> clickListener)
    • addItem

      public GridMenuItem<T> addItem(com.vaadin.flow.component.Component component, com.vaadin.flow.component.ComponentEventListener<GridContextMenu.GridContextMenuItemClickEvent<T>> clickListener)
    • createMenuManager

      protected MenuManager<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>> createMenuManager(com.vaadin.flow.function.SerializableRunnable contentReset)
      Specified by:
      createMenuManager in class ContextMenuBase<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>>
    • addGridContextMenuOpenedListener

      public com.vaadin.flow.shared.Registration addGridContextMenuOpenedListener(com.vaadin.flow.component.ComponentEventListener<GridContextMenu.GridContextMenuOpenedEvent<T>> listener)
      Adds a listener for the opened-changed events fired by the web component.
      Parameters:
      listener - the listener to add
      Returns:
      a Registration for removing the event listener
    • getDynamicContentHandler

      public com.vaadin.flow.function.SerializablePredicate<T> getDynamicContentHandler()
      Gets the callback function that is executed before the context menu is opened.

      The dynamic context handler allows for customizing the contents of the context menu before it is open.

      Returns:
      the callback function that is executed before opening the context menu, or null if not specified.
    • setDynamicContentHandler

      public void setDynamicContentHandler(com.vaadin.flow.function.SerializablePredicate<T> dynamicContentHandler)
      Sets a callback that is executed before the context menu is opened.

      This callback receives the clicked item (if any) as an input parameter and further can dynamically modify the contents of the context menu. This is useful in situations where the context menu items cannot be known in advance and depend on the specific context (i.e. clicked row) and thus can be configured dynamically. The boolean return value of this callback specifies if the context menu will be opened.

      Parameters:
      dynamicContentHandler - the callback function that will be executed before opening the context menu.
    • onBeforeOpenMenu

      protected boolean onBeforeOpenMenu(elemental.json.JsonObject eventDetail)
      Overrides:
      onBeforeOpenMenu in class ContextMenuBase<GridContextMenu<T>,GridMenuItem<T>,GridSubMenu<T>>