diff options
Diffstat (limited to 'swat.obsolete/esptest/qooxdoo.esp')
-rw-r--r-- | swat.obsolete/esptest/qooxdoo.esp | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/swat.obsolete/esptest/qooxdoo.esp b/swat.obsolete/esptest/qooxdoo.esp new file mode 100644 index 0000000000..554a4e90d5 --- /dev/null +++ b/swat.obsolete/esptest/qooxdoo.esp @@ -0,0 +1,133 @@ +<% +/******************************/ +/* server side AJAJ functions */ +libinclude("server_call.js"); + +/* this is a call that the client js code can make - it just adds + some more elements to the passed object, then returns the object */ +function testfunc(x) { + var sys = sys_init(); + x.nttime = sys.nttime(); + x.timestring = sys.httptime(x.nttime); + return x; +} + +/* register a call for clients to make */ +var call = servCallObj(); +call.add('testfunc', testfunc); + +/* run the function that was asked for */ +call.run(); + + /***********************/ + /* now the main page */ + page_header("columns", "ESP qooxdoo test", "esptest"); +%> + +<script type="text/javascript" src="/scripting/client/encoder.js"></script> +<script type="text/javascript" src="/scripting/client/call.js"></script> + +<h1>Samba4 qooxdoo test</h1> + + <script type="text/javascript"> + + window.application.main = function() + { + var inlineWidget = new QxInline; + var fieldSet = new QxFieldSet("thefieldset"); + + with(fieldSet) + { + setWidth("40%"); + setMinHeight(400); + setBottom(48); + setMinWidth(500); + }; + + var gl = new QxGridLayout("auto,auto,auto,auto,auto", "100%"); + gl.setEdge(0); + gl.setCellPaddingTop(3); + gl.setCellPaddingBottom(3); + + inlineWidget.add(fieldSet); + + var d = this.getClientWindow().getDocument(); + + var stopit = 0; + var shared = new Object(); + + function callback(o) { + shared = o; + var r = "Response:\\n"; + for (var i in shared) { + r = r + "\\t" + i + " : " + shared[i] + "\\n"; + } + ta.setText(r); + if (shared.start_time == 0) { + shared.start_time = shared.nttime; + } + shared.time_diff = shared.nttime - shared.start_time; + shared.rate = shared.counter / (shared.time_diff * 0.0000001); + shared.counter++; + if (stopit == 0) { + server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared); + } + } + + function start_call() { + srv_printf("Starting calls ... (stopit=%d)\\n", stopit); + stopit = 0; + shared.counter = 0; + shared.start_time = 0; + server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared); + }; + + function stop_call() { + srv_printf("Stopping calls\\n"); + stopit = 1; + }; + + function myButton(name, label, call) { + var b = new QxButton(label); + b.setWidth("25%"); + b.addEventListener("click", call); + return b; + }; + + function myCheckBox(label, name, value) { + var w = new QxCheckBox(label, value, name, value); + w.setWidth("100%"); + return w; + } + + var c1 = myCheckBox("Enable The Server", 'checkbox1', false); + var c2 = myCheckBox("Another Server", 'checkbox2', true); + var t3 = new QxTextField("hello"); + var b1 = myButton("send", "Make Call", start_call); + var b2 = myButton("stop", "Stop Call", stop_call); + var ta = new QxTextArea; + ta.setText("initial text"); + ta.setWidth("80%"); + ta.setHeight(150); + ta.setVerticalAlign("top"); + + gl.add(c1, { row : 1, col : 1 }); + gl.add(c2, { row : 2, col : 1 }); + gl.add(t3, { row : 3, col : 1, scaleHorizontal: true }); + gl.add(b1, { row : 4, col : 1 }); + gl.add(ta, { row : 5, col : 1 }); + gl.add(b2, { row : 6, col : 1 }); + + fieldSet.add(gl); + + inlineWidget.add(fieldSet); + + d.add(inlineWidget, "canvas"); + }; + + </script> + + + <div id="canvas" style="overflow:hidden;position:static;margin-top:38px;margin-left:10px;margin-right:700px;width:700px"></div> + +<% page_footer(); %> |