summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/RPC_5.html
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/RPC_5.html')
-rw-r--r--webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/RPC_5.html95
1 files changed, 95 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/RPC_5.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/RPC_5.html
new file mode 100644
index 0000000000..44f9493aeb
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/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 &raquo; Demo</title>
+ <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
+ <!--[if IE]>
+ <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
+ <![endif]-->
+ <script type="text/javascript" src="../../script/qx.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>