1919 */
2020package com .flowingcode .vaadin .jsonmigration ;
2121
22- import java . lang . reflect . Method ;
22+ import com . vaadin . flow . dom . DomEvent ;
2323import com .vaadin .flow .dom .Element ;
2424import com .vaadin .flow .server .Version ;
25+ import elemental .json .JsonObject ;
2526import elemental .json .JsonValue ;
27+ import java .lang .reflect .Method ;
2628import lombok .SneakyThrows ;
2729
2830/**
@@ -89,6 +91,13 @@ private static Method lookup_setPropertyJson() {
8991 }
9092 }
9193
94+ private static Method DomEvent_getEventData = lookup_getEventData ();
95+
96+ @ SneakyThrows
97+ private static Method lookup_getEventData () {
98+ return DomEvent .class .getMethod ("getEventData" );
99+ }
100+
92101 /**
93102 * Sets a JSON-valued property on a given {@code Element}, transparently handling
94103 * version-specific method signatures.
@@ -105,4 +114,15 @@ public static void setPropertyJson(Element element, String name, JsonValue json)
105114 invoke (Element_setPropertyJson , element , name , json );
106115 }
107116
117+ /**
118+ * Gets additional data related to the event.
119+ *
120+ * @param event the {@code DomEvent} from which to retrieve the data
121+ * @return a JSON object containing event data, never <code>null</code>
122+ * @see DomEvent#getEventData()
123+ */
124+ public static JsonObject getEventData (DomEvent event ) {
125+ return (JsonObject ) convertToJsonValue (invoke (DomEvent_getEventData , event ));
126+ }
127+
108128}
0 commit comments