112 lines
2.9 KiB
JavaScript
112 lines
2.9 KiB
JavaScript
//>>built
|
|
define("dojox/mvc/sync",["dojo/_base/lang","dojo/_base/config","dojo/_base/array","dojo/has"],function(_1,_2,_3,_4){
|
|
var _5=_1.getObject("dojox.mvc",true);
|
|
_4.add("mvc-bindings-log-api",(_2["mvc"]||{}).debugBindings);
|
|
var _6;
|
|
if(_4("mvc-bindings-log-api")){
|
|
function _7(_8,_9,_a,_b){
|
|
return [[_a._setIdAttr||!_a.declaredClass?_a:_a.declaredClass,_b].join(":"),[_8._setIdAttr||!_8.declaredClass?_8:_8.declaredClass,_9].join(":")];
|
|
};
|
|
}
|
|
function _c(_d,_e){
|
|
return _d===_e||typeof _d=="number"&&isNaN(_d)&&typeof _e=="number"&&isNaN(_e)||_1.isFunction((_d||{}).getTime)&&_1.isFunction((_e||{}).getTime)&&_d.getTime()==_e.getTime()||(_1.isFunction((_d||{}).equals)?_d.equals(_e):_1.isFunction((_e||{}).equals)?_e.equals(_d):false);
|
|
};
|
|
function _f(_10,_11,_12,_13,_14,_15,old,_16,_17){
|
|
if(_6.equals(_16,old)||_13=="*"&&_3.indexOf(_12.get("properties")||[_15],_15)<0||_13=="*"&&_15 in (_17||{})){
|
|
return;
|
|
}
|
|
var _18=_13=="*"?_15:_13;
|
|
if(_4("mvc-bindings-log-api")){
|
|
var _19=_7(_12,_18,_14,_15);
|
|
}
|
|
try{
|
|
_16=_10?_10(_16,_11):_16;
|
|
}
|
|
catch(e){
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
return;
|
|
}
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
_1.isFunction(_12.set)?_12.set(_18,_16):(_12[_18]=_16);
|
|
};
|
|
var _1a={from:1,to:2,both:3},_1b;
|
|
_6=function(_1c,_1d,_1e,_1f,_20){
|
|
var _21=(_20||{}).converter,_22,_23,_24;
|
|
if(_21){
|
|
_22={source:_1c,target:_1e};
|
|
_23=_21.format&&_1.hitch(_22,_21.format);
|
|
_24=_21.parse&&_1.hitch(_22,_21.parse);
|
|
}
|
|
var _25=[],_26=[],_27,_28=_1.mixin({},_1c.constraints,_1e.constraints),_29=(_20||{}).bindDirection||_5.both;
|
|
if(_4("mvc-bindings-log-api")){
|
|
var _2a=_7(_1c,_1d,_1e,_1f);
|
|
}
|
|
if(_1f=="*"){
|
|
if(_1d!="*"){
|
|
throw new Error("Unmatched wildcard is specified between source and target.");
|
|
}
|
|
_27=_1e.get("properties");
|
|
if(!_27){
|
|
_27=[];
|
|
for(var s in _1e){
|
|
if(_1e.hasOwnProperty(s)&&s!="_watchCallbacks"){
|
|
_27.push(s);
|
|
}
|
|
}
|
|
}
|
|
_26=_1e.get("excludes");
|
|
}else{
|
|
_27=[_1d];
|
|
}
|
|
if(_29&_5.from){
|
|
if(_1.isFunction(_1c.set)&&_1.isFunction(_1c.watch)){
|
|
_25.push(_1c.watch.apply(_1c,((_1d!="*")?[_1d]:[]).concat([function(_2b,old,_2c){
|
|
_f(_23,_28,_1e,_1f,_1c,_2b,old,_2c,_26);
|
|
}])));
|
|
}else{
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
}
|
|
_3.forEach(_27,function(_2d){
|
|
if(_1f!="*"||!(_2d in (_26||{}))){
|
|
var _2e=_1.isFunction(_1c.get)?_1c.get(_2d):_1c[_2d];
|
|
_f(_23,_28,_1e,_1f=="*"?_2d:_1f,_1c,_2d,_1b,_2e);
|
|
}
|
|
});
|
|
}
|
|
if(_29&_5.to){
|
|
if(!(_29&_5.from)){
|
|
_3.forEach(_27,function(_2f){
|
|
if(_1f!="*"||!(_2f in (_26||{}))){
|
|
var _30=_1.isFunction(_1e.get)?_1e.get(_1f):_1e[_1f];
|
|
_f(_24,_28,_1c,_2f,_1e,_1f=="*"?_2f:_1f,_1b,_30);
|
|
}
|
|
});
|
|
}
|
|
if(_1.isFunction(_1e.set)&&_1.isFunction(_1e.watch)){
|
|
_25.push(_1e.watch.apply(_1e,((_1f!="*")?[_1f]:[]).concat([function(_31,old,_32){
|
|
_f(_24,_28,_1c,_1d,_1e,_31,old,_32,_26);
|
|
}])));
|
|
}else{
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
}
|
|
}
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
var _33={};
|
|
_33.unwatch=_33.remove=function(){
|
|
for(var h=null;h=_25.pop();){
|
|
h.unwatch();
|
|
if(_4("mvc-bindings-log-api")){
|
|
}
|
|
}
|
|
};
|
|
return _33;
|
|
};
|
|
_1.mixin(_5,_1a);
|
|
return _1.setObject("dojox.mvc.sync",_1.mixin(_6,{equals:_c},_1a));
|
|
});
|