* @return {Object} The item added.
*/
add : function(key, o){
-
if(arguments.length == 1){
o = arguments[0];
- key = this.getKey(o) * 1;
+ key = this.getKey(o);
}
- Roo.log(typeof(key));
- Roo.log([key, o]);
-
if(typeof key == "undefined" || key === null){
this.length++;
this.items.push(o);
this.keys.push(null);
}else{
- Roo.log(this);
var old = this.map[key];
- Roo.log('old.........................');
- Roo.log(old);
if(old){
return this.replace(key, o);
}
o = arguments[0];
key = this.getKey(o);
}
- Roo.log('replace.........................');
- Roo.log([o, key]);
var old = this.item(key);
if(typeof key == "undefined" || key === null || typeof old == "undefined"){
return this.add(key, o);
}
var index = this.indexOfKey(key);
- Roo.log(index);
-
this.items[index] = o;
this.map[key] = o;
this.fireEvent("replace", key, old, o);
indexOf : function(o){
if(!this.items.indexOf){
for(var i = 0, len = this.items.length; i < len; i++){
- if(this.items[i] == o) return i;
+ if(this.items[i] == o) {
+ return i;
+ }
}
return -1;
}else{
indexOfKey : function(key){
if(!this.keys.indexOf){
for(var i = 0, len = this.keys.length; i < len; i++){
- if(this.keys[i] == key) return i;
+ if(this.keys[i] == key) {
+ return i;
+ }
}
return -1;
}else{
* @return {Object} The item associated with the passed key.
*/
item : function(key){
+ if (key === 'length') {
+ return null;
+ }
var item = typeof this.map[key] != "undefined" ? this.map[key] : this.items[key];
return typeof item != 'function' || this.allowFunctions ? item : null; // for prototype!
},