diff options
Diffstat (limited to 'webapps/qooxdoo-0.6.5-sdk/frontend/application/sample/source/html/test/RPC_5.html')
-rw-r--r-- | webapps/qooxdoo-0.6.5-sdk/frontend/application/sample/source/html/test/RPC_5.html | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/application/sample/source/html/test/RPC_5.html b/webapps/qooxdoo-0.6.5-sdk/frontend/application/sample/source/html/test/RPC_5.html new file mode 100644 index 0000000000..b23cdd2c86 --- /dev/null +++ b/webapps/qooxdoo-0.6.5-sdk/frontend/application/sample/source/html/test/RPC_5.html @@ -0,0 +1,95 @@ +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>qooxdoo » Demo » Sample</title> + <link type="text/css" rel="stylesheet" href="../../css/layout.css"/> + <!--[if IE]> + <link type="text/css" rel="stylesheet" href="../../css/layout_ie.css"/> + <![endif]--> + <script type="text/javascript" src="../../script/sample.js"></script> + <script type="text/javascript" src=".qxrpc"></script> + <!-- With the above script, the service URL for a J2EE application can be + automatically determined, no matter on what path it's deployed. --> +</head> +<body> + <script type="text/javascript" src="../../script/layout.js"></script> + + <div id="demoDescription"> + <p><strong>Only works together with a RPC backend!</strong></p> + <p>Test for RPC functionality.</p> + <p> + This test calls remote function getParams(), passing a defined field in + an object, and an undefined field in an object. Depending on the + setting of qx.core.Settings.jsonEncodeUndefined, the undefined field + should or should not be sent. We also send some (ignored) server data + in this test, if requested. + </p> + </div> + + <script type="text/javascript"> +// qx.Settings.setCustomOfClass("qx.io.remote.Exchange", "enableDebug", true); + qx.Settings.setCustomOfClass("qx.io.Json", "enableDebug", true); + + qx.core.Init.getInstance().defineMain(function() { + var layout1 = new qx.ui.layout.VerticalBoxLayout(); + layout1.setTop(40); + layout1.setLeft(20); + layout1.setSpacing(4); + + var encodeUndefined = new qx.ui.form.CheckBox("Encode 'undefined' as null"); + layout1.add(encodeUndefined); + + var sendServerData = new qx.ui.form.CheckBox("Send server data"); + layout1.add(sendServerData); + + layout1.add(new qx.ui.basic.Label("URL:")); + var defaultURL = qx.io.remote.Rpc.makeServerURL(); + if (defaultURL == null) { + defaultURL = "/services/"; + } + var url = new qx.ui.form.TextField(defaultURL); + layout1.add(url); + + layout1.add(new qx.ui.basic.Label("Service:")); + var service = new qx.ui.form.TextField("qooxdoo.test"); + layout1.add(service); + + var start = new qx.ui.form.Button("Start test"); + layout1.add(start); + + // We'll be setting url and service upon execute; no need to do it now. + var rpc = new qx.io.remote.Rpc(); + rpc.setTimeout(10000); + var mycall = null; + + start.addEventListener("execute", function() { + // Allow the user to reset the URL and Service on each call + rpc.setUrl(url.getValue()); + rpc.setServiceName(service.getValue()); + rpc.setCrossDomain(false); + + if (sendServerData.isChecked()) { + rpc.setServerData(new Date()); + } else { + rpc.setServerData(undefined); + } + + qx.Settings.setCustomOfClass("qx.io.Json", "encodeUndefined", + encodeUndefined.isChecked()); + + try { + obj = new Object(); + obj.def = "defined"; + var result = rpc.callSync("getParams", obj.undef, obj.def); + alert("Sync result: " + result); + } catch (ex) { + alert("Sync exception: " + ex); + } + }); + + var d = qx.ui.core.ClientDocument.getInstance(); + d.add(layout1); + }); + </script> +</body> +</html> |