One Class fits all!
Items.js:
function Items(oConstructor){
this.oPage=new Page();
this.items = [];
//this.sItem=sItem; //e.g.: "Person"
this.oConstructor=oConstructor;
};
Items.prototype.Unload = function() {
this.items.length = 0;
delete this.oConstructor;
delete this.oPage;
delete this.items;
};
Items.prototype.Add = function(oItem) {
//this.items[this.items.length] = oItem;
this.items.push(oItem);
};
Items.prototype.Clear=function(){
this.items=[];
//this.oPage.Clear();
};
Items.prototype.IsEqual = function(o) {
var oItem, nItm;
if (!this.oPage.IsEqual(o.oPage)) return false;
if (this.items.length !== o.items.length) return false;
for (nItm = 0; nItm <= this.items.length - 1; nItm++) {
if (!this.items[nItm].IsEqual(o.items[nItm])) return false;
}
return true;
}
Items.prototype.Copy = function(o) {
var oItem, nItm;
this.oPage.Copy(o.oPage);
this.items = [];
for (nItm = 0; nItm <= o.items.length - 1; nItm++) {
oItem = new this.oConstructor();
oItem.Copy(o.items[nItm]);
this.items[nItm] = oItem;
}
return this;
};
Items.CopyTo = function(o) {
o.Copy(this);
return this;
};
Items.prototype.Count = function() {
return this.items.length;
};
Items.prototype.toString = function() {
var sOut = "[";
sOut += "[" + this.oPage.toString() + "]";
for (var nItm = 0; nItm <= this.items.length - 1; nItm++) {
sOut += "[" + this.items[nItm].toString() + "]";
}
sOut += "]";
//sOut+=this.items[this.items.length-1].toString();
return sOut;
};
Items.prototype.Parse=function(o){
this.oPage.Parse(o[0]);
var oItem;
var nItm;
this.items=[];
for(nItm=0; nItm <= o[1].length-1; nItm++){
//oItem = new Item();
//oItem=eval("new "+sItem+"()");
oItem = new this.oConstructor();
oItem.Parse(o[1][nItm]);
this.items[nItm]= oItem;
}
};
//--Client Server----------------------------------------------
Items.prototype.Load = function(fCb, sVals) {
this.LoadRe = function(oItems) {
return function(oResult) {
if (oResult && oResult.nError && oResult.nError == 1) {
ins.oUser.Login();
} else {
oItems.Parse(oResult);
fCb();
}
}
} (this);
var sData;
if (sVals == undefined) {
//o Jd.send(this.LoadRe, "sAction=get" + this.oConstructor.sId + "s&sVals=" + u$(this.oPage.toString()));
//ins.Post("getAll"+this.oConstructor.sId+"s" ,this.oPage.toString(), this.LoadRe);
ins.Post(this.oConstructor.sId + "s",(this.oPage.sAction==""?"getAll":this.oPage.sAction), this.oPage.toString(), this.LoadRe);
} else {
//o Jd.send(this.LoadRe, "sAction=get" + this.oConstructor.sId + "s&sVals=" + u$(sVals));
//ins.Post("getAll"+this.oConstructor.sId+"s" ,sVals, this.LoadRe);
ins.Post(this.oConstructor.sId + "s", "getAll", sVals, this.LoadRe);
}
};
uhm... what will those codes result to?
ReplyDelete