r19141: add a reasonable subset of the qooxdoo runtime environment, and example appli...
[Samba/ekacnet.git] / swat / apps / qooxdoo-examples / test / Transport_6.html
blobbed19e60d884923ac4426e428f28c0f002a880f3
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4 <title>qooxdoo &raquo; Demo</title>
5 <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
6 <!--[if IE]>
7 <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
8 <![endif]-->
9 <script type="text/javascript" src="../../script/qx.js"></script>
10 </head>
11 <body>
12 <script type="text/javascript" src="../../script/layout.js"></script>
14 <div id="demoDescription">
15 <p>Simple test for qooxdoo's transport implementation using some data for an addressbook.</p>
16 <p>Using javascript/json content in this case.</p>
17 </div>
19 <script type="text/javascript">
20 qx.core.Init.getInstance().defineMain(function()
22 var d = qx.ui.core.ClientDocument.getInstance();
24 var lay = new qx.ui.layout.VerticalBoxLayout;
25 lay.setLocation(20, 48);
26 lay.setRight(335);
27 lay.setBottom(48);
28 qx.ui.core.ClientDocument.getInstance().add(lay);
32 var fsq = new qx.ui.groupbox.GroupBox("Request");
33 fsq.setHeight("auto");
34 lay.add(fsq);
37 var hlay = new qx.ui.layout.HorizontalBoxLayout;
38 hlay.setVerticalChildrenAlign("middle");
39 hlay.setSpacing(4);
40 hlay.auto();
41 fsq.add(hlay);
44 var cm1 = new qx.ui.form.ComboBox();
45 cm1.add(new qx.ui.form.ListItem("data/persons/anita.js"));
46 cm1.add(new qx.ui.form.ListItem("data/persons/harald.js"));
47 cm1.add(new qx.ui.form.ListItem("data/persons/lisbeth.js"));
48 cm1.add(new qx.ui.form.ListItem("data/persons/paul.js"));
49 cm1.setSelected(cm1.getList().getFirstChild());
50 cm1.setWidth(200);
51 cm1.addEventListener("changeSelected", upd);
53 hlay.add(cm1);
57 var async = new qx.ui.form.CheckBox("Async");
58 async.setChecked(true);
59 hlay.add(async);
62 var spin = new qx.ui.form.Spinner(1);
63 hlay.add(spin);
67 var btn = new qx.ui.form.Button("Send", "icon/16/apply.png");
68 btn.addEventListener("execute", upd);
69 hlay.add(btn);
72 var inf = new qx.ui.form.TextField("State");
73 inf.setWidth(80);
74 inf.setReadOnly(true);
75 hlay.add(inf);
78 var code = new qx.ui.form.TextField("Code");
79 code.setWidth(30);
80 code.setReadOnly(true);
81 hlay.add(code);
84 var typ = new qx.ui.form.TextField("Type");
85 typ.setWidth(80);
86 typ.setReadOnly(true);
87 hlay.add(typ);
90 var len = new qx.ui.form.TextField("Length");
91 len.setWidth(50);
92 len.setReadOnly(true);
93 hlay.add(len);
96 var checken = new qx.ui.form.CheckBox("enabled");
97 checken.setChecked(true);
98 hlay.add(checken);
100 checken.addEventListener("changeChecked", function(e) {
101 qx.io.remote.RemoteRequestQueue.setEnabled(e.getData());
108 var fsr = new qx.ui.groupbox.GroupBox("Result");
109 fsr.setHeight("1*");
110 lay.add(fsr);
112 var area = new qx.ui.layout.VerticalBoxLayout;
113 area.setSpacing(6);
114 area.setDimension("100%", "100%");
115 fsr.add(area);
119 var fgivenname = new qx.ui.basic.Label("Given Name");
120 var fname = new qx.ui.basic.Label("Name");
121 var fage = new qx.ui.basic.Label("Age");
122 var fstreet = new qx.ui.basic.Label("Street");
123 var fplz = new qx.ui.basic.Label("PLZ");
124 var fcity = new qx.ui.basic.Label("City");
125 var fcountry = new qx.ui.basic.Label("Country");
126 var fphone = new qx.ui.basic.Label("Phone");
128 area.add(fgivenname, fname, fage, fstreet, fplz, fcity, fcountry, fphone);
136 function upd(e)
138 var val = cm1.getSelected();
140 if (!val) {
141 return;
144 var req;
145 for( var i=0, max=parseInt(spin.getValue()); i<max; i++ )
147 req = new qx.io.remote.RemoteRequest(val.getLabel(), "GET", "text/json");
149 req.setAsynchronous(async.getChecked());
150 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
152 req.setParameter("test1", "value1");
153 req.setParameter("test2", "value2");
154 req.setParameter("test3", "value3");
156 // Force to testing iframe implementation
157 // req.setCrossDomain(true);
159 // This combination couldn't be handled currently
160 // req.setCrossDomain(true);
161 // req.setAsynchronous(false);
163 req.addEventListener("sending", function(e) {
164 inf.setValue("Sending");
167 req.addEventListener("receiving", function(e) {
168 inf.setValue("Receiving");
171 req.addEventListener("completed", function(e)
173 inf.setValue("Completed");
174 typ.setValue(e.getData().getResponseHeader("Content-Type"));
175 len.setValue(e.getData().getResponseHeader("Content-Length"));
176 code.setValue(e.getData().getStatusCode().toString());
178 var vContent = e.getData().getContent();
180 fgivenname.setHtml(vContent.givenName.toString());
181 fname.setHtml(vContent.name.toString());
182 fage.setHtml(vContent.age.toString());
183 fstreet.setHtml(vContent.street.toString());
184 fplz.setHtml(vContent.plz.toString());
185 fcity.setHtml(vContent.city.toString());
186 fcountry.setHtml(vContent.country.toString());
187 fphone.setHtml(vContent.phone.toString());
189 qx.ui.core.Widget.flushGlobalQueues();
192 req.addEventListener("failed", function(e)
194 inf.setValue("Failed");
195 typ.setValue(e.getData().getResponseHeader("Content-Type"));
196 len.setValue(e.getData().getResponseHeader("Content-Length"));
197 code.setValue(e.getData().getStatusCode().toString());
200 req.addEventListener("timeout", function(e)
202 inf.setValue("Timeout");
203 typ.setValue(e.getData().getResponseHeader("Content-Type"));
204 len.setValue(e.getData().getResponseHeader("Content-Length"));
205 code.setValue(e.getData().getStatusCode().toString());
208 req.addEventListener("aborted", function(e)
210 inf.setValue("Aborted");
211 typ.setValue(e.getData().getResponseHeader("Content-Type"));
212 len.setValue(e.getData().getResponseHeader("Content-Length"));
213 code.setValue(e.getData().getStatusCode().toString());
216 req.send();
220 </script>
221 </body>
222 </html>