datasource-base-min.js revision 6da8c70b8b366ef387914ebf8f3c4d44d4cec955
YUI.add("datasource-base",function(D){D.namespace("DataSource");var C=D.DataSource;D.mix(C,{_tId:0,ERROR_DATANULL:0,ERROR_DATAINVALID:1});var A=D.Lang,B=function(){B.superclass.constructor.apply(this,arguments);};D.mix(B,{NAME:"DataSource.Base",ATTRS:{source:{value:null},ERROR_DATAINVALID:{value:"Invalid data"},ERROR_DATANULL:{value:"Null data"}},issueCallback:function(I,H,F){if(I){var G=I.scope||window,E=(F&&I.failure)||I.success;if(E){E.apply(G,H.concat([I.argument]));}}}});D.extend(B,D.Base,{_queue:null,initializer:function(){this._queue={interval:null,conn:null,requests:[]};this._initEvents();},destructor:function(){},_initEvents:function(){this.publish("requestEvent",{defaultFn:this._makeConnection});this.publish("responseEvent",{defaultFn:this._handleResponse});},_makeConnection:function(E){this.fire("responseEvent",D.mix(E.details[0],{response:this.get("source")}));},_handleResponse:function(E){this.returnData(E.tId,E.request,E.callback,{results:E.response});},sendRequest:function(E,G){var F=C._tId++;this.fire("requestEvent",{tId:F,request:E,callback:G});return F;},returnData:function(H,F,G,E){if(!E){E={error:true};}if(E.error){this.fire("errorEvent",{tId:H,request:F,callback:G,response:E});}E.tId=H;if(!E.results){E.results=[];}if(!E.meta){E.meta={};}B.issueCallback(G,[F,E,(G&&G.argument)],E.error);}});C.Base=B;},"@VERSION@",{requires:["base"]});