source: [view]
var store = this.store;
var item = this.item;
if(key == "getLabel"){
return store.getLabel(item);
}else if(key == "getAttributes"){
return store.getAttributes(item);
}else if(key == "getIdentity"){
if(store.getIdentity){
return store.getIdentity(item);
}
return "Store has no identity API";
}else{
if(!store.hasAttribute(item, key)){
if(key.slice(-1) == "s"){
if(first){
first = false;
dojo.deprecated("You no longer need an extra s to call getValues, it can be figured out automatically");
}
key = key.slice(0, -1);
}
if(!store.hasAttribute(item, key)){
return;
}
}
var values = store.getValues(item, key);
if(!values){
return;
}
if(!dojo.isArray(values)){
return new ddcd._BoundItem(values, store);
}
values = dojo.map(values, function(value){
if(dojo.isObject(value) && store.isItem(value)){
return new ddcd._BoundItem(value, store);
}
return value;
});
values.get = ddcd._get;
return values;
}