b9a5d540dcded58b39882e950e3f50c831f0f9c5
[samba.git] / swat / apps / qooxdoo-examples / test / Transport_5.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 html 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.html"));
46     cm1.add(new qx.ui.form.ListItem("data/persons/harald.html"));
47     cm1.add(new qx.ui.form.ListItem("data/persons/lisbeth.html"));
48     cm1.add(new qx.ui.form.ListItem("data/persons/paul.html"));
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.embed.HtmlEmbed("&#160;");
113     area.setDimension("100%", "100%");
114     fsr.add(area);
115
116
117
118
119
120
121
122
123
124
125     function upd(e)
126     {
127       var val = cm1.getSelected();
128
129       if (!val) {
130         return;
131       };
132
133       var req;
134       for( var i=0, max=parseInt(spin.getValue()); i<max; i++ )
135       {
136         req = new qx.io.remote.RemoteRequest(val.getLabel(), "GET", "text/html");
137
138         req.setAsynchronous(async.getChecked());
139         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
140
141         req.setParameter("test1", "value1");
142         req.setParameter("test2", "value2");
143         req.setParameter("test3", "value3");
144
145         // Force to testing iframe implementation
146         // req.setCrossDomain(true);
147
148         req.addEventListener("sending", function(e) {
149           inf.setValue("Sending");
150         });
151
152         req.addEventListener("receiving", function(e) {
153           inf.setValue("Receiving");
154         });
155
156         req.addEventListener("completed", function(e)
157         {
158           inf.setValue("Completed");
159           typ.setValue(e.getData().getResponseHeader("Content-Type"));
160           len.setValue(e.getData().getResponseHeader("Content-Length"));
161           code.setValue(e.getData().getStatusCode().toString());
162           area.setHtml(e.getData().getContent());
163         });
164
165         req.addEventListener("failed", function(e)
166         {
167           inf.setValue("Failed");
168           typ.setValue(e.getData().getResponseHeader("Content-Type"));
169           len.setValue(e.getData().getResponseHeader("Content-Length"));
170           code.setValue(e.getData().getStatusCode().toString());
171           area.setHtml(e.getData().getContent());
172         });
173
174         req.addEventListener("timeout", function(e)
175         {
176           inf.setValue("Timeout");
177           typ.setValue(e.getData().getResponseHeader("Content-Type"));
178           len.setValue(e.getData().getResponseHeader("Content-Length"));
179           code.setValue(e.getData().getStatusCode().toString());
180           area.setHtml(e.getData().getContent());
181         });
182
183         req.addEventListener("aborted", function(e)
184         {
185           inf.setValue("Aborted");
186           typ.setValue(e.getData().getResponseHeader("Content-Type"));
187           len.setValue(e.getData().getResponseHeader("Content-Length"));
188           code.setValue(e.getData().getStatusCode().toString());
189           area.setHtml(e.getData().getContent());
190         });
191
192         req.send();
193       };
194     };
195   });
196   </script>
197 </body>
198 </html>