recordset-min.js revision 52104662d2bf71db0aa6dba39f7e6b3d1982f60b
YUI.add("recordset",function(C){function A(D){A.superclass.constructor.apply(this,arguments);}A.NAME="record";A.ATTRS={id:{valueFn:"_setId",writeOnce:true},data:{}};C.extend(A,C.Base,{_setId:function(){return C.guid();},initializer:function(){},destructor:function(){},getValue:function(D){if(!D){return this.get("data");}else{return this.get("data")[D];}return null;}});C.Record=A;function B(D){B.superclass.constructor.apply(this,arguments);}B.NAME="recordset";B.ATTRS={records:{value:null,setter:"_setRecords"},length:{value:0,readOnly:true}};C.extend(B,C.Base,{_setRecords:function(F){var E=[];function D(G){E.push(new C.Record({data:G}));}C.Array.each(F,D);return E;},initializer:function(){},destructor:function(){},_addRecord:function(E,D){D=(C.Lang.isNumber(D)&&(D>-1))?D:this.get("records").length;this.get("records").splice(D,0,E);return E;},_recordsetChanged:function(D){this.fire("recordsetChangedEvent",D);},_recordAdded:function(E,D){this.fire("recordsetAddedEvent",{data:E,index:D});},_recordDeleted:function(E,D){this.fire("recordsetDeletedEvent",{data:E,index:D});},_recordsetEmptied:function(){this.fire("recordsetEmptiedEvent",{});},_recordsetUpdated:function(E,D){this.fire("recordsetUpdatedEvent",{oldRecord:E,newRecord:D});},getRecord:function(D){return this.get("records")[D];},getRecords:function(F,E){var G=0,D=[];E=(C.Lang.isNumber(E)&&(E>0))?E:1;D=this.get("records").splice(F,E);return D;},getValuesByKey:function(F){var E=0,D=this.get("records").length,G=[];for(;E<D;E++){G.push(this.getRecord(E).getValue(F));}return G;},addRecord:function(I,E){var G,H=[],D,F;if(C.Lang.isArray(I)){H=[];D=(C.Lang.isNumber(E)&&(E>-1))?E:this.get("records").length;for(F=0;F<I.length;F++){G=new C.Record({data:I[F]});H[F]=this._addRecord(G,D);delete G;D++;}}else{if(C.Lang.isObject(I)&&!(I instanceof C.Record)){G=new C.Record({data:I});H[0]=this._addRecord(G,E);}else{if(I instanceof C.Record){H[0]=this._addRecord(G,E);}}}this._recordAdded(H,E);this._recordsetChanged(E);return({data:H,index:E});},deleteRecord:function(E,D){var G=0,F=[];E=(C.Lang.isNumber(E)&&(E>-1))?E:this.get("records").length;D=(C.Lang.isNumber(D)&&(D>0))?D:1;for(;G<D;G++){F.push(C.clone(this.get("records")[E+G]));}this.get("records").splice(E,D);if(F.length==1){this._recordDeleted(F[0],E);return({data:F[0],index:E});}else{this._recordDeleted(F,E);return({data:F,index:E});}this._recordsetChanged(E);return null;},empty:function(){this.set("records").value=[];this._recordsetEmptied();this._recordsetChanged(0);},updateRecord:function(D,E){oRecord=this.getRecord(E);this.get("records").splice(E,1,D);this._recordsetUpdated(oRecord,D);return null;}});C.Recordset=B;},"@VERSION@",{requires:["base","record"]});