Package com.vaadin.flow.component
Class ShortcutRegistration
- java.lang.Object
-
- com.vaadin.flow.component.ShortcutRegistration
-
- All Implemented Interfaces:
Registration,Serializable
public class ShortcutRegistration extends Object implements Registration, Serializable
A registration object for both configuring and removing the registered keyboard shortcut.- Since:
- 1.3
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ShortcutRegistrationallowBrowserDefault()Allows the default keyboard event handling when the shortcut is invoked.ShortcutRegistrationallowEventPropagation()Allow the event to propagate upwards in the DOM tree, when the shortcut is invoked.ShortcutRegistrationbindLifecycleTo(Component component)Binds the shortcut's life cycle to that of the givenComponent.KeygetKey()Get the primaryKeyof the shortcut.ComponentgetLifecycleOwner()Componentwhich controls when the shortcut is active and when it is not.Set<Key>getModifiers()ComponentgetOwner()Deprecated.This component has now multiple owners so this method has been replaced by #getOwners().Component[]getOwners()TheComponents which own the shortcuts key event listeners.booleanisBrowserDefaultAllowed()Checks if the default key behaviour in the browser is allowed by the shortcut.booleanisEventPropagationAllowed()Checks if the shortcut allows keydown event (associated with the shortcut) propagation in the browser.booleanisResetFocusOnActiveElement()Checks if shortcut resets focus on active element before triggering shortcut event handler.booleanisShortcutActive()Is the shortcut active on the current UI.ShortcutRegistrationlistenOn(Component... listenOnComponents)Fluently define theComponentonto which the shortcut's listener is bound.voidremove()Removes theShortcutRegistrationShortcutRegistrationresetFocusOnActiveElement()Reset focus on active element before triggering shortcut event handler.voidsetBrowserDefaultAllowed(boolean browserDefaultAllowed)Set whether the default key behavior is allowed in the browser.voidsetEventPropagationAllowed(boolean eventPropagationAllowed)Set whether shortcut's keydown event is allowed to propagate up the DOM tree in the browser.voidsetResetFocusOnActiveElement(boolean resetFocusOnActiveElement)Set if shortcut resets focus on active element before triggering shortcut event handler.StringtoString()ShortcutRegistrationwithAlt()Fluently addsKeyModifier.ALTto the shortcut's modifiers.ShortcutRegistrationwithCtrl()Fluently addsKeyModifier.CONTROLto the shortcut's modifiers.ShortcutRegistrationwithMeta()Fluently addsKeyModifier.METAto the shortcut's modifiers.ShortcutRegistrationwithModifiers(KeyModifier... keyModifiers)ConfiguresKeyModifiersfor the shortcut.ShortcutRegistrationwithShift()Fluently addsKeyModifier.SHIFTto the shortcut's modifiers.
-
-
-
Method Detail
-
withModifiers
public ShortcutRegistration withModifiers(KeyModifier... keyModifiers)
ConfiguresKeyModifiersfor the shortcut. Calling this method will overwrite any previously set modifier keys. Hence, callingshortcutRegistration.withModifiers();will remove all previously set modifier keys.- Parameters:
keyModifiers- Key modifiers. Can be empty.- Returns:
- this
ShortcutRegistration
-
withAlt
public ShortcutRegistration withAlt()
Fluently addsKeyModifier.ALTto the shortcut's modifiers.- Returns:
- this
ShortcutRegistration
-
withCtrl
public ShortcutRegistration withCtrl()
Fluently addsKeyModifier.CONTROLto the shortcut's modifiers.- Returns:
- this
ShortcutRegistration
-
withMeta
public ShortcutRegistration withMeta()
Fluently addsKeyModifier.METAto the shortcut's modifiers.- Returns:
- this
ShortcutRegistration
-
withShift
public ShortcutRegistration withShift()
Fluently addsKeyModifier.SHIFTto the shortcut's modifiers.- Returns:
- this
ShortcutRegistration
-
allowBrowserDefault
public ShortcutRegistration allowBrowserDefault()
Allows the default keyboard event handling when the shortcut is invoked.- Returns:
- this
ShortcutRegistration - See Also:
setBrowserDefaultAllowed(boolean)
-
allowEventPropagation
public ShortcutRegistration allowEventPropagation()
Allow the event to propagate upwards in the DOM tree, when the shortcut is invoked.- Returns:
- this
ShortcutRegistration - See Also:
setEventPropagationAllowed(boolean)
-
resetFocusOnActiveElement
public ShortcutRegistration resetFocusOnActiveElement()
Reset focus on active element before triggering shortcut event handler.- Returns:
- this
ShortcutRegistration - See Also:
setResetFocusOnActiveElement(boolean)
-
bindLifecycleTo
public ShortcutRegistration bindLifecycleTo(Component component)
Binds the shortcut's life cycle to that of the givenComponent. When the givencomponentis attached, the shortcut's listener is attached to theComponentthat owns the shortcut. When the givencomponentis detached, so is the listener. is detached, the shortcut is removed from all attached scopes.- Parameters:
component- New lifecycle owner of the shortcut- Returns:
- this
ShortcutRegistration
-
listenOn
public ShortcutRegistration listenOn(Component... listenOnComponents)
Fluently define theComponentonto which the shortcut's listener is bound. Calling this method will remove the previous listener from thecomponentit was bound to.- Parameters:
listenOnComponents-Components onto which the shortcut listeners are bound. Must not be null. Must not contain null. Must not have duplicate components.- Returns:
- this
ShortcutRegistration
-
remove
public void remove()
Removes theShortcutRegistrationRemoves all the underlying registrations tied to owner and lifecycle owner
components.- Specified by:
removein interfaceRegistration- See Also:
Registration.once(Command)
-
isShortcutActive
public boolean isShortcutActive()
Is the shortcut active on the current UI. For this to be true, the lifecycle owner needs to be attached and visible and handler owner needs to be attached.- Returns:
- Is the shortcut active
-
getKey
public Key getKey()
Get the primaryKeyof the shortcut. Primary key can be any key besides modifier keys.- Returns:
- Primary key
-
isBrowserDefaultAllowed
public boolean isBrowserDefaultAllowed()
Checks if the default key behaviour in the browser is allowed by the shortcut. The default value isfalse.- Returns:
- Allows default key behavior
-
setBrowserDefaultAllowed
public void setBrowserDefaultAllowed(boolean browserDefaultAllowed)
Set whether the default key behavior is allowed in the browser. The default value isfalse, and it prevents the default key events from taking place in the browser.- Parameters:
browserDefaultAllowed- Allow default behavior on keydown
-
isEventPropagationAllowed
public boolean isEventPropagationAllowed()
Checks if the shortcut allows keydown event (associated with the shortcut) propagation in the browser. The default value isfalse.- Returns:
- Allows event propagation
-
setEventPropagationAllowed
public void setEventPropagationAllowed(boolean eventPropagationAllowed)
Set whether shortcut's keydown event is allowed to propagate up the DOM tree in the browser. The default value isfalse, and the DOM event is consumed by the shortcut handler.- Parameters:
eventPropagationAllowed- Allow event propagation
-
isResetFocusOnActiveElement
public boolean isResetFocusOnActiveElement()
Checks if shortcut resets focus on active element before triggering shortcut event handler.- Returns:
- True when focus is reset on the active element, false otherwise.
-
setResetFocusOnActiveElement
public void setResetFocusOnActiveElement(boolean resetFocusOnActiveElement)
Set if shortcut resets focus on active element before triggering shortcut event handler. Reset means to firstblur()and thenfocus()the element. If element is an input field with a ValueChangeMode.ON_CHANGE, then resetting focus ensures that value change event is triggered before shortcut event is handled. Active element isdocument.activeElementorshadowRoot.activeElementif active element is theshadowRoot.- Parameters:
resetFocusOnActiveElement- Reset focus on active element
-
getOwner
@Deprecated public Component getOwner()
Deprecated.This component has now multiple owners so this method has been replaced by #getOwners().Componentwhich owns the first shortcuts key event listener.- Returns:
- Component
-
getOwners
public Component[] getOwners()
TheComponents which own the shortcuts key event listeners.- Returns:
- Component[]
-
getLifecycleOwner
public Component getLifecycleOwner()
Componentwhich controls when the shortcut is active and when it is not.- Returns:
- Component
- See Also:
isShortcutActive()
-
-