blob: 27b4dffdc791134d72328198eb56005a0a5eca37 [file] [log] [blame]
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["dojox.wire.DataWire"]){
dojo._hasResource["dojox.wire.DataWire"]=true;
dojo.provide("dojox.wire.DataWire");
dojo.require("dojox.wire.Wire");
dojo.declare("dojox.wire.DataWire",dojox.wire.Wire,{_wireClass:"dojox.wire.DataWire",constructor:function(_1){
if(!this.dataStore&&this.parent){
this.dataStore=this.parent.dataStore;
}
},_getValue:function(_2){
if(!_2||!this.attribute||!this.dataStore){
return _2;
}
var _3=_2;
var _4=this.attribute.split(".");
for(var i in _4){
_3=this._getAttributeValue(_3,_4[i]);
if(!_3){
return undefined;
}
}
return _3;
},_setValue:function(_5,_6){
if(!_5||!this.attribute||!this.dataStore){
return _5;
}
var _7=_5;
var _8=this.attribute.split(".");
var _9=_8.length-1;
for(var i=0;i<_9;i++){
_7=this._getAttributeValue(_7,_8[i]);
if(!_7){
return undefined;
}
}
this._setAttributeValue(_7,_8[_9],_6);
return _5;
},_getAttributeValue:function(_a,_b){
var _c=undefined;
var i1=_b.indexOf("[");
if(i1>=0){
var i2=_b.indexOf("]");
var _d=_b.substring(i1+1,i2);
_b=_b.substring(0,i1);
var _e=this.dataStore.getValues(_a,_b);
if(_e){
if(!_d){
_c=_e;
}else{
_c=_e[_d];
}
}
}else{
_c=this.dataStore.getValue(_a,_b);
}
return _c;
},_setAttributeValue:function(_f,_10,_11){
var i1=_10.indexOf("[");
if(i1>=0){
var i2=_10.indexOf("]");
var _12=_10.substring(i1+1,i2);
_10=_10.substring(0,i1);
var _13=null;
if(!_12){
_13=_11;
}else{
_13=this.dataStore.getValues(_f,_10);
if(!_13){
_13=[];
}
_13[_12]=_11;
}
this.dataStore.setValues(_f,_10,_13);
}else{
this.dataStore.setValue(_f,_10,_11);
}
}});
}