Hc.data.Connection
Hc.data.Connection = function(){var id = 1,Connection = Hc.Class.create({Extends:Hc.Observer,config:{url:"",tmieout:30000/*@cfg {Boolean} autoCancel:false,,@cfg {Object} maskConfig:null,@cfg {Boolean|Object} mask:false,@cfg getter {Boolean} initMasked:false,@cfg {Boolean|Object} loading:false,@cfg {HTMLElement|String|Hc.Element} el:null*/},_name:"connection",constructor:function(config,options){this.id = this._name + "-" + (id++);Connection.Super.constructor.call(this,config);options && this.request(options);},request:function(config){config = config || {};this.lastConfig = config;if(this.fireEvent("beforerequest",this,config) !== false){return this.doRequest(config);}else{config.callback && config.callback.call(config.scope || this,this,config);return null;}},doRequest:function(config){config = config || {};this.showToMask(config.el);var argument = {config:config,onSuccess:config.onSuccess,onError:config.onError,callback:config.callback},o = Hc.applyIf({url:config.url || this.url,onSuccess:this.successCallback,onError:this.errorCallback,callback:this.createCallback.apply(this,Hc.toArray(arguments,1)),scope:this,timeout:config.timeout || this.tmieout,argument:argument},config);if(!o.jsonData && !o.formData && !o.data && o.parames){o.jsonData = o.parames;}if(this.autoCancel || o.autoCancel){this.cancel(true);}return this.ajax = Hc.Ajax.request(o);},initMask:function(target){if(!this.initMasked){target = target || this.el;if(this.mask || target){this.mask = new Hc.LoadMask(target,Hc.apply({},this.mask,this.maskConfig));this.initMasked = true;}}},showMask:function(msg,msgCls,preventDefault){this.initMask();if(this.initMasked){this.mask.show(msg,msgCls,preventDefault);}},showToMask:function(target,msg,msgCls,preventDefault){this.initMask(target);if(this.initMasked){//this.mask.show(msg,msgCls);this.mask.showTo(target || this.el,msg,msgCls,preventDefault);}},hideMask:function(preventClip){if(this.initMasked){this.mask.hide(preventClip);}},isLoading:function(){return this.ajax && this.ajax.loading;},cancel:function(preventEvent){this.isLoading() && this.ajax.cancel(preventEvent);},createCallback:function(){return this.ajaxCallback;},ajaxCallback:function(ajax,data,success){var config = ajax.argument.config;//ajax.argument.callback(ajax,data,config,success);Hc.fireCallback(ajax.argument.callback,config.scope || ajax,ajax,data,success);this.fireEvent("callback",this,ajax,data,config,success);this.hideMask();},successCallback:function(ajax,data){var config = ajax.argument.config;Hc.fireCallback(ajax.argument.onSuccess,config.scope || ajax,ajax,data);this.fireEvent("success",this,ajax,data,config);},errorCallback:function(ajax,data){var config = ajax.argument.config;Hc.fireCallback(ajax.argument.onError,config.scope || ajax,ajax,data);this.fireEvent("error",this,ajax,data,config);},toString:function(){return " Hc.data.Connection";}});return Connection;}();
页:
[1]