r20445: add README file indicating that the swat directory is no longer relevant
[kai/samba.git] / swat.obsolete / apps / qooxdoo-examples / test / Transport_6.html
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>
13
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>
18
19   <script type="text/javascript">
20   qx.core.Init.getInstance().defineMain(function()
21   {
22     var d = qx.ui.core.ClientDocument.getInstance();
23
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);
29
30
31
32     var fsq = new qx.ui.groupbox.GroupBox("Request");
33     fsq.setHeight("auto");
34     lay.add(fsq);
35
36
37     var hlay = new qx.ui.layout.HorizontalBoxLayout;
38     hlay.setVerticalChildrenAlign("middle");
39     hlay.setSpacing(4);
40     hlay.auto();
41     fsq.add(hlay);
42
43
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);
52
53     hlay.add(cm1);
54
55
56
57     var async = new qx.ui.form.CheckBox("Async");
58     async.setChecked(true);
59     hlay.add(async);
60
61
62     var spin = new qx.ui.form.Spinner(1);
63     hlay.add(spin);
64
65
66
67     var btn = new qx.ui.form.Button("Send", "icon/16/apply.png");
68     btn.addEventListener("execute", upd);
69     hlay.add(btn);
70
71
72     var inf = new qx.ui.form.TextField("State");
73     inf.setWidth(80);
74     inf.setReadOnly(true);
75     hlay.add(inf);
76
77
78     var code = new qx.ui.form.TextField("Code");
79     code.setWidth(30);
80     code.setReadOnly(true);
81     hlay.add(code);
82
83
84     var typ = new qx.ui.form.TextField("Type");
85     typ.setWidth(80);
86     typ.setReadOnly(true);
87     hlay.add(typ);
88
89
90     var len = new qx.ui.form.TextField("Length");
91     len.setWidth(50);
92     len.setReadOnly(true);
93     hlay.add(len);
94
95
96     var checken = new qx.ui.form.CheckBox("enabled");
97     checken.setChecked(true);
98     hlay.add(checken);
99
100     checken.addEventListener("changeChecked", function(e) {
101       qx.io.remote.RemoteRequestQueue.setEnabled(e.getData());
102     });
103
104
105
106
107
108     var fsr = new qx.ui.groupbox.GroupBox("Result");
109     fsr.setHeight("1*");
110     lay.add(fsr);
111
112     var area = new qx.ui.layout.VerticalBoxLayout;
113     area.setSpacing(6);
114     area.setDimension("100%", "100%");
115     fsr.add(area);
116
117
118
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");
127
128     area.add(fgivenname, fname, fage, fstreet, fplz, fcity, fcountry, fphone);
129
130
131
132
133
134
135
136     function upd(e)
137     {
138       var val = cm1.getSelected();
139
140       if (!val) {
141         return;
142       };
143
144       var req;
145       for( var i=0, max=parseInt(spin.getValue()); i<max; i++ )
146       {
147         req = new qx.io.remote.RemoteRequest(val.getLabel(), "GET", "text/json");
148
149         req.setAsynchronous(async.getChecked());
150         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
151
152         req.setParameter("test1", "value1");
153         req.setParameter("test2", "value2");
154         req.setParameter("test3", "value3");
155
156         // Force to testing iframe implementation
157         // req.setCrossDomain(true);
158
159         // This combination couldn't be handled currently
160         // req.setCrossDomain(true);
161         // req.setAsynchronous(false);
162
163         req.addEventListener("sending", function(e) {
164           inf.setValue("Sending");
165         });
166
167         req.addEventListener("receiving", function(e) {
168           inf.setValue("Receiving");
169         });
170
171         req.addEventListener("completed", function(e)
172         {
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());
177
178           var vContent = e.getData().getContent();
179
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());
188
189           qx.ui.core.Widget.flushGlobalQueues();
190         });
191
192         req.addEventListener("failed", function(e)
193         {
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());
198         });
199
200         req.addEventListener("timeout", function(e)
201         {
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());
206         });
207
208         req.addEventListener("aborted", function(e)
209         {
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());
214         });
215
216         req.send();
217       };
218     };
219   });
220   </script>
221 </body>
222 </html>