Class DomEvent

  • All Implemented Interfaces:
    Serializable

    public class DomEvent
    extends EventObject
    Server-side representation of a DOM event fired in the browser.
    Since:
    1.0
    Author:
    Vaadin Ltd
    See Also:
    Serialized Form
    • Constructor Detail

    • Method Detail

      • getType

        public String getType()
        Gets the type of the event.
        Returns:
        the type of the event
      • getEventData

        public elemental.json.JsonObject getEventData()
        Gets additional data related to the event. An empty JSON object is returned if no event data is available.
        Returns:
        a JSON object containing event data, never null
        See Also:
        DomListenerRegistration.addEventData(String)
      • getPhase

        public DebouncePhase getPhase()
        Gets the debounce phase for which this event is fired. This is used internally to only deliver the event to the appropriate listener in cases where there are multiple listeners for the same event with different debounce settings.
        Returns:
        the debounce phase
      • getEventTarget

        public Optional<Element> getEventTarget()
        Gets the closest Element that corresponds to the event.target for the DOM event. This is always inside the child hierarchy of the element returned by getSource().

        To get this reported, you need to call DomListenerRegistration.mapEventTargetElement() or an empty optional is always returned.

        The returned element is the same as getSource() only if the event originated from that element on the browser (and not from its child).

        Returns:
        the element that corresponds to event.target or an empty optional
        Since:
        9.0
      • getEventDataElement

        public Optional<Element> getEventDataElement​(String eventDataExpression)
        Gets the closest Element corresponding to the given event data expression. NOTE: this only works if you have added the expression using DomListenerRegistration.addEventDataElement(String).

        If the evaluated JS expression returned an element that is not created or controlled by the server side, the closest parent element that is controlled is returned instead. Invisible elements are not reported.

        In case you want the event.target element, use getEventTarget() instead.

        Parameters:
        eventDataExpression - the expression that was executed on the client to retrieve the element, not null
        Returns:
        the element that corresponds to the given expression or an empty optional
        Since:
        9.0