--- /dev/null
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+Ext.onReady(function(){\r
+ Ext.Direct.addProvider(\r
+ Ext.app.REMOTING_API,\r
+ {\r
+ type:'polling',\r
+ url: 'php/poll.php'\r
+ }\r
+ );\r
+\r
+ var out = new Ext.form.DisplayField({\r
+ cls: 'x-form-text',\r
+ id: 'out'\r
+ });\r
+\r
+ var text = new Ext.form.TextField({\r
+ width: 300,\r
+ emptyText: 'Echo input'\r
+ });\r
+\r
+ var call = new Ext.Button({\r
+ text: 'Echo',\r
+ handler: function(){\r
+ TestAction.doEcho(text.getValue(), function(result, e){\r
+ var t = e.getTransaction();\r
+ out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, Ext.encode(result)));\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+ }\r
+ });\r
+\r
+ var num = new Ext.form.TextField({\r
+ width: 80,\r
+ emptyText: 'Multiply x 8',\r
+ style: 'text-align:left;'\r
+ });\r
+\r
+ var multiply = new Ext.Button({\r
+ text: 'Multiply',\r
+ handler: function(){\r
+ TestAction.multiply(num.getValue(), function(result, e){\r
+ var t = e.getTransaction();\r
+ if(e.status){\r
+ out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, Ext.encode(result)));\r
+ }else{\r
+ out.append(String.format('<p><b>Call to {0}.{1} failed with message:</b><xmp>{2}</xmp></p>',\r
+ t.action, t.method, e.message));\r
+ }\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+ }\r
+ });\r
+\r
+ text.on('specialkey', function(t, e){\r
+ if(e.getKey() == e.ENTER){\r
+ call.handler();\r
+ }\r
+ });\r
+\r
+ num.on('specialkey', function(t, e){\r
+ if(e.getKey() == e.ENTER){\r
+ multiply.handler();\r
+ }\r
+ });\r
+\r
+ var p = new Ext.Panel({\r
+ title: 'Remote Call Log',\r
+ //frame:true,\r
+ width: 600,\r
+ height: 300,\r
+ layout:'fit',\r
+ \r
+ items: [out],\r
+ bbar: [text, call, '-', num, multiply]\r
+ }).render(Ext.getBody());\r
+\r
+ Ext.Direct.on('message', function(e){\r
+ out.append(String.format('<p><i>{0}</i></p>', e.data));\r
+ out.el.scroll('b', 100000, true);\r
+ });\r
+});\r