com.vaadin.flow.component.contextmenu.
Class GeneratedVaadinContextMenu<R extends ContextMenuBase<R,?,?>>
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.contextmenu.GeneratedVaadinContextMenu<R>
-
All Implemented Interfaces:
AttachNotifier
,ClickNotifier<R>
,DetachNotifier
,HasElement
,HasStyle
,Serializable
Direct Known Subclasses:
@Deprecated @Tag("vaadin-context-menu") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.5.12") @NpmPackage(value="@vaadin/context-menu",version="23.5.12") @NpmPackage(value="@vaadin/vaadin-context-menu",version="23.5.12") @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/context-menu/src/vaadin-context-menu.js") @JsModule("@vaadin/polymer-legacy-adapter/template-renderer.js") public abstract class GeneratedVaadinContextMenu<R extends ContextMenuBase<R,?,?>> extends Component implements HasStyle, ClickNotifier<R>
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
<vaadin-context-menu> <template> <vaadin-list-box> <vaadin-item>First menu item</vaadin-item> <vaadin-item>Second menu item</vaadin-item> </vaadin-list-box> </template> </vaadin-context-menu>
?vaadin-contextmenu? Gesture Event
vaadin-contextmenu
is a gesture event (a custom event fired by Polymer), which is dispatched after eithercontextmenu
and long touch events. This enables support for both mouse and touch environments in a uniform way.<vaadin-context-menu>
opens the menu overlay on thevaadin-contextmenu
event by default.Menu Listener
By default, the
<vaadin-context-menu>
element listens for the menu opening event on itself. In order to have a context menu on your content, wrap your content with the<vaadin-context-menu>
element, and add a template element with a menu. Example:<vaadin-context-menu> <template> <vaadin-list-box> <vaadin-item>First menu item</vaadin-item> <vaadin-item>Second menu item</vaadin-item> </vaadin-list-box> </template>
<p>This paragraph has the context menu provided in the above template.</p> <p>Another paragraph with the context menu.</p> </vaadin-context-menu>
In case if you do not want to wrap the page content, you can listen for events on an element outside the
<vaadin-context-menu>
by setting thelistenOn
property:<vaadin-context-menu id="customListener"> <template> <vaadin-list-box> ... </vaadin-list-box> </template> </vaadin-context-menu>
<div id="menuListener">The element that listens for the context menu.</div>
<script> const contextMenu = document.querySelector('vaadin-context-menu#customListener'); contextMenu.listenOn = document.querySelector('#menuListener'); </script>
Filtering Menu Targets
By default, the listener element and all its descendants open the context menu. You can filter the menu targets to a smaller set of elements inside the listener element by setting the
selector
property.In the following example, only the elements matching
.has-menu
will open the context menu:<vaadin-context-menu selector=".has-menu"> <template> <vaadin-list-box> ... </vaadin-list-box> </template>
<p class="has-menu">This paragraph opens the context menu</p> <p>This paragraph does not open the context menu</p> </vaadin-context-menu>
Menu Context
You can bind to the following properties in the menu template:
target
is the menu opening event target, which is the element that the user has called the context menu fordetail
is the menu opening event detail
In the following example, the menu item text is composed with the contents of the element that opened the menu:
<vaadin-context-menu selector="li"> <template> <vaadin-list-box> <vaadin-item>The menu target: [[target.textContent]]</vaadin-item> </vaadin-list-box> </template>
<ul> <li>Foo</li> <li>Bar</li> <li>Baz</li> </ul> </vaadin-context-menu>
Styling
See ThemableMixin ? how to apply styles for shadow parts
See Also:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GeneratedVaadinContextMenu.OpenedChangeEvent<C extends ContextMenuBase<C,?,?>>
Deprecated.
since v23.3, generated classes will be removed in v24.
-
Constructor Summary
Constructors Constructor Description GeneratedVaadinContextMenu()
Deprecated.
-
Method Summary
All Methods Modifier and Type Method Description Registration
addClickListener(ComponentEventListener<ClickEvent<R>> listener)
Deprecated.
since v23.3, generated classes will be removed in v24.ShortcutRegistration
addClickShortcut(Key key, KeyModifier... keyModifiers)
Deprecated.
since v23.3, generated classes will be removed in v24.protected Registration
addOpenedChangeListener(ComponentEventListener<ContextMenuBase.OpenedChangeEvent<R>> listener)
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
close()
Deprecated.
since v23.3, generated classes will be removed in v24.protected String
getCloseOnString()
Deprecated.
since v23.3, generated classes will be removed in v24.protected elemental.json.JsonObject
getListenOnJsonObject()
Deprecated.
since v23.3, generated classes will be removed in v24.protected String
getOpenOnString()
Deprecated.
since v23.3, generated classes will be removed in v24.protected String
getSelectorString()
Deprecated.
since v23.3, generated classes will be removed in v24.protected boolean
isOpenedBoolean()
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
open()
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
setCloseOn(String closeOn)
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
setListenOn(elemental.json.JsonObject listenOn)
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
setOpenOn(String openOn)
Deprecated.
since v23.3, generated classes will be removed in v24.protected void
setSelector(String selector)
Deprecated.
since v23.3, generated classes will be removed in v24.-
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
-
Methods inherited from interface com.vaadin.flow.component.ClickNotifier
addDoubleClickListener, addSingleClickListener
-
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
-
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
-
-
-
Method Detail
-
getSelectorString
@Deprecated protected String getSelectorString()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
CSS selector that can be used to target any child element of the context menu to listen for
openOn
events.This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
selector
property from the webcomponent
-
setSelector
@Deprecated protected void setSelector(String selector)
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
CSS selector that can be used to target any child element of the context menu to listen for
openOn
events.Parameters:
selector
- the String value to set
-
isOpenedBoolean
@Deprecated @Synchronize(property="opened", value="opened-changed") protected boolean isOpenedBoolean()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
True if the overlay is currently displayed.
This property is synchronized automatically from client side when a 'opened-changed' event happens.
Returns:
the
opened
property from the webcomponent
-
getOpenOnString
@Deprecated protected String getOpenOnString()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Event name to listen for opening the context menu.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
openOn
property from the webcomponent
-
setOpenOn
@Deprecated protected void setOpenOn(String openOn)
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Event name to listen for opening the context menu.
Parameters:
openOn
- the String value to set
-
getListenOnJsonObject
@Deprecated protected elemental.json.JsonObject getListenOnJsonObject()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
The target element that's listened to for context menu opening events. By default the vaadin-context-menu listens to the target's
vaadin-contextmenu
events.This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
listenOn
property from the webcomponent
-
setListenOn
@Deprecated protected void setListenOn(elemental.json.JsonObject listenOn)
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
The target element that's listened to for context menu opening events. By default the vaadin-context-menu listens to the target's
vaadin-contextmenu
events.Parameters:
listenOn
- the JsonObject value to set
-
getCloseOnString
@Deprecated protected String getCloseOnString()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Event name to listen for closing the context menu.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
Returns:
the
closeOn
property from the webcomponent
-
setCloseOn
@Deprecated protected void setCloseOn(String closeOn)
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Event name to listen for closing the context menu.
Parameters:
closeOn
- the String value to set
-
close
@Deprecated protected void close()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Closes the overlay.
-
open
@Deprecated protected void open()
Deprecated.since v23.3, generated classes will be removed in v24.Description copied from corresponding location in WebComponent:
Opens the overlay.
-
addOpenedChangeListener
@Deprecated protected Registration addOpenedChangeListener(ComponentEventListener<ContextMenuBase.OpenedChangeEvent<R>> listener)
Deprecated.since v23.3, generated classes will be removed in v24. UseContextMenuBase.addOpenedChangeListener(com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.contextmenu.ContextMenuBase.OpenedChangeEvent<C>>)
instead.Adds a listener for
opened-changed
events fired by the webcomponent.Parameters:
listener
- the listenerReturns:
a
Registration
for removing the event listener
-
addClickListener
@Deprecated public Registration addClickListener(ComponentEventListener<ClickEvent<R>> listener)
Deprecated.since v23.3, generated classes will be removed in v24.Has no effect for ContextMenu because the element for ContextMenu is not clickable. Therefore, this method should not be used.
Specified by:
addClickListener
in interfaceClickNotifier<R extends ContextMenuBase<R,?,?>>
Parameters:
listener
- the listener to add, notnull
Returns:
a handle that can be used for removing the listener
See Also:
-
addClickShortcut
@Deprecated public ShortcutRegistration addClickShortcut(Key key, KeyModifier... keyModifiers)
Deprecated.since v23.3, generated classes will be removed in v24.Has no effect for ContextMenu because the element for ContextMenu is not clickable. Therefore, this method should not be used.
Specified by:
addClickShortcut
in interfaceClickNotifier<R extends ContextMenuBase<R,?,?>>
Parameters:
key
- primaryKey
used to trigger the shortcut. Cannot be null.keyModifiers
-KeyModifiers
that need to be pressed along with thekey
for the shortcut to triggerReturns:
ShortcutRegistration
for configuring the shortcut and removingSee Also:
-
-