1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.html;
16
17 import org.htmlunit.html.HtmlDialog;
18 import org.htmlunit.javascript.JavaScriptEngine;
19 import org.htmlunit.javascript.configuration.JsxClass;
20 import org.htmlunit.javascript.configuration.JsxConstructor;
21 import org.htmlunit.javascript.configuration.JsxFunction;
22 import org.htmlunit.javascript.configuration.JsxGetter;
23 import org.htmlunit.javascript.configuration.JsxSetter;
24
25
26
27
28
29
30
31
32
33 @JsxClass(domClass = HtmlDialog.class)
34 public class HTMLDialogElement extends HTMLElement {
35
36
37
38
39 @Override
40 @JsxConstructor
41 public void jsConstructor() {
42 super.jsConstructor();
43 }
44
45
46
47
48
49 @JsxGetter
50 public boolean isOpen() {
51 return ((HtmlDialog) getDomNodeOrDie()).isOpen();
52 }
53
54
55
56
57
58 @JsxSetter
59 public void setOpen(final Object newValue) {
60 final boolean bool = JavaScriptEngine.toBoolean(newValue);
61
62 ((HtmlDialog) getDomNodeOrDie()).setOpen(bool);
63 }
64
65
66
67
68 @JsxFunction
69 public void show() {
70 final HtmlDialog dialog = (HtmlDialog) getDomNodeOrDie();
71
72 if (dialog.isOpen()) {
73 if (dialog.isModal()) {
74 throw JavaScriptEngine.reportRuntimeError("InvalidStateError: Dialog is already open.");
75 }
76 }
77
78 dialog.show();
79 }
80
81
82
83
84
85 @JsxFunction
86 public void close(final Object returnValue) {
87 if (returnValue == null || JavaScriptEngine.isUndefined(returnValue)) {
88 ((HtmlDialog) getDomNodeOrDie()).close("");
89 }
90
91 ((HtmlDialog) getDomNodeOrDie()).close(JavaScriptEngine.toString(returnValue));
92 }
93
94
95
96
97 @JsxFunction
98 public void showModal() {
99 final HtmlDialog dialog = (HtmlDialog) getDomNodeOrDie();
100
101 if (dialog.isOpen()) {
102 if (!dialog.isModal()) {
103 throw JavaScriptEngine.reportRuntimeError("InvalidStateError: Dialog is already open.");
104 }
105 }
106
107 dialog.showModal();
108 }
109
110
111
112
113
114 @JsxGetter
115 public String getReturnValue() {
116 return ((HtmlDialog) getDomNodeOrDie()).getReturnValue();
117 }
118
119
120
121
122
123 @JsxSetter
124 public void setReturnValue(final Object newValue) {
125 if (newValue == null || JavaScriptEngine.isUndefined(newValue)) {
126 ((HtmlDialog) getDomNodeOrDie()).setReturnValue("");
127 }
128
129 ((HtmlDialog) getDomNodeOrDie()).setReturnValue(JavaScriptEngine.toString(newValue));
130 }
131 }