Skip to content

Commit 4843a05

Browse files
javier-godoypaodb
authored andcommitted
feat: add getEventData helper
1 parent fc72598 commit 4843a05

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/main/java/com/flowingcode/vaadin/jsonmigration/JsonMigration.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@
1919
*/
2020
package com.flowingcode.vaadin.jsonmigration;
2121

22-
import java.lang.reflect.Method;
22+
import com.vaadin.flow.dom.DomEvent;
2323
import com.vaadin.flow.dom.Element;
2424
import com.vaadin.flow.server.Version;
25+
import elemental.json.JsonObject;
2526
import elemental.json.JsonValue;
27+
import java.lang.reflect.Method;
2628
import 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

Comments
 (0)