recordset-min.js revision 468f077f3ad52463360d087a5ea7c7d495bbc530
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(D){},destructor:function(){},getValue:function(D){if(D===undefined){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(){},_add:function(E,D){D=(C.Lang.isNumber(D)&&(D>-1))?D:this.get("records").length;this.get("records").splice(D,0,E);return E;},_updateGivenArray:function(D,G,H){var F=0,E=this,I;for(;F<D.length;F++){I=D[F];switch(F){case 0:this.get("records").splice(G,1,this._changeToRecord(I));break;default:this._updateGivenObject(I,G+F,H);break;}}},_updateGivenObject:function(G,E,F){var D=this._changeToRecord(G);if(F){this.get("records").splice(E,1,D);}else{this.get("records").splice(E,0,D);}},_changeToRecord:function(E){var D;if(E instanceof C.Record){D=E;}else{D=new C.Record({data:E});}return D;},_recordsetChanged:function(D){this.fire("recordsetChangedEvent",{index:D});},_recordAdded:function(E,D){this.fire("recordsetAddedEvent",{data:E,index:D});},_recordRemoved:function(E,D){this.fire("recordsetRemovedEvent",{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;},add: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._add(G,D);delete G;D++;}}else{if(C.Lang.isObject(I)&&!(I instanceof C.Record)){G=new C.Record({data:I});H[0]=this._add(G,E);}else{if(I instanceof C.Record){H[0]=this._add(G,E);}}}this._recordAdded(H,E);this._recordsetChanged(E);return({data:H,index:E});},remove:function(E,D){var F=[];E=(C.Lang.isNumber(E)&&(E>-1))?E:this.get("records").length-1;D=(C.Lang.isNumber(D)&&(D>0))?D:1;F=this.get("records").splice(E,D);this._recordRemoved(F,E);this._recordsetChanged(E);return({data:F,index:E});},empty:function(){this.set("records").value=[];this._recordsetEmptied();this._recordsetChanged(0);return null;},update:function(F,D,E){if(C.Lang.isArray(F)){this._updateGivenArray(F,D,E);}else{if(C.Lang.isObject(F)){this._updateGivenObject(F,D,true);}}return null;}});C.Recordset=B;},"@VERSION@",{requires:["base","record"]});