1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.event;
16
17 import static org.htmlunit.BrowserVersionFeatures.JS_EVENT_INPUT_CTOR_INPUTTYPE;
18
19 import org.htmlunit.corejs.javascript.ScriptableObject;
20 import org.htmlunit.javascript.JavaScriptEngine;
21 import org.htmlunit.javascript.configuration.JsxClass;
22 import org.htmlunit.javascript.configuration.JsxConstructor;
23 import org.htmlunit.javascript.configuration.JsxGetter;
24
25
26
27
28
29
30
31 @JsxClass
32 public class InputEvent extends UIEvent {
33
34 private String data_;
35 private String inputType_;
36 private boolean isComposing_;
37
38
39
40
41 public InputEvent() {
42 super();
43 data_ = "";
44 inputType_ = "";
45 }
46
47
48
49
50
51
52
53 @Override
54 @JsxConstructor
55 public void jsConstructor(final String type, final ScriptableObject details) {
56 super.jsConstructor(type, details);
57
58 if (details != null && !JavaScriptEngine.isUndefined(details)) {
59 if (getBrowserVersion().hasFeature(JS_EVENT_INPUT_CTOR_INPUTTYPE)) {
60 final Object inputType = details.get("inputType", details);
61 if (!isMissingOrUndefined(inputType)) {
62 inputType_ = JavaScriptEngine.toString(inputType);
63 }
64 }
65
66 final Object dataObj = details.get("data", details);
67 if (!isMissingOrUndefined(dataObj)) {
68 data_ = JavaScriptEngine.toString(dataObj);
69 }
70
71 final Object isComposing = details.get("isComposing", details);
72 if (!isMissingOrUndefined(isComposing)) {
73 setIsComposing(JavaScriptEngine.toBoolean(isComposing));
74 }
75 }
76 }
77
78
79
80
81
82 @JsxGetter
83 public boolean getIsComposing() {
84 return isComposing_;
85 }
86
87
88
89
90
91 protected void setIsComposing(final boolean isComposing) {
92 isComposing_ = isComposing;
93 }
94
95
96
97
98
99 @JsxGetter
100 public Object getData() {
101 return data_;
102 }
103
104
105
106
107
108 @JsxGetter
109 public Object getInputType() {
110 return inputType_;
111 }
112 }