polardbxengine/storage/ndb/mcc/frontend/dojo/dojox/mvc/sync.js

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));
});