direct.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:2k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.0.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ Ext.onReady(function(){
  2.     Ext.Direct.addProvider(
  3.         Ext.app.REMOTING_API,
  4.         {
  5.             type:'polling',
  6.             url: 'php/poll.php'
  7.         }
  8.     );
  9.     var out = new Ext.form.DisplayField({
  10.         cls: 'x-form-text',
  11.         id: 'out'
  12.     });
  13.     var text = new Ext.form.TextField({
  14.         width: 300,
  15.         emptyText: 'Echo input'
  16.     });
  17.     var call = new Ext.Button({
  18.         text: 'Echo',
  19.         handler: function(){
  20.             TestAction.doEcho(text.getValue(), function(result, e){
  21.                 var t = e.getTransaction();
  22.                 out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',
  23.                        t.action, t.method, Ext.encode(result)));
  24.                 out.el.scroll('b', 100000, true);
  25.             });
  26.         }
  27.     });
  28.     var num = new Ext.form.TextField({
  29.         width: 80,
  30.         emptyText: 'Multiply x 8',
  31.         style:  'text-align:left;'
  32.     });
  33.     var multiply = new Ext.Button({
  34.         text: 'Multiply',
  35.         handler: function(){
  36.             TestAction.multiply(num.getValue(), function(result, e){
  37.                 var t = e.getTransaction();
  38.                 if(e.status){
  39.                     out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',
  40.                         t.action, t.method, Ext.encode(result)));
  41.                 }else{
  42.                     out.append(String.format('<p><b>Call to {0}.{1} failed with message:</b><xmp>{2}</xmp></p>',
  43.                         t.action, t.method, e.message));
  44.                 }
  45.                 out.el.scroll('b', 100000, true);
  46.             });
  47.         }
  48.     });
  49.     text.on('specialkey', function(t, e){
  50.         if(e.getKey() == e.ENTER){
  51.             call.handler();
  52.         }
  53.     });
  54. num.on('specialkey', function(t, e){
  55.         if(e.getKey() == e.ENTER){
  56.             multiply.handler();
  57.         }
  58.     });
  59. var p = new Ext.Panel({
  60.         title: 'Remote Call Log',
  61.         //frame:true,
  62. width: 600,
  63. height: 300,
  64. layout:'fit',
  65. items: [out],
  66.         bbar: [text, call, '-', num, multiply]
  67. }).render(Ext.getBody());
  68.     Ext.Direct.on('message', function(e){
  69.         out.append(String.format('<p><i>{0}</i></p>', e.data));
  70.                 out.el.scroll('b', 100000, true);
  71.     });
  72. });