webui-aria2/js/libs/dojox/lang/oo/mixin.js
2012-05-01 19:52:07 +08:00

77 lines
1.5 KiB
JavaScript

//>>built
define(["dijit","dojo","dojox","dojo/require!dojox/lang/oo/Filter,dojox/lang/oo/Decorator"],function(_1,_2,_3){
_2.provide("dojox.lang.oo.mixin");
_2.experimental("dojox.lang.oo.mixin");
_2.require("dojox.lang.oo.Filter");
_2.require("dojox.lang.oo.Decorator");
(function(){
var oo=_3.lang.oo,_4=oo.Filter,_5=oo.Decorator,_6={},_7=function(_8){
return _8;
},_9=function(_a,_b,_c){
return _b;
},_d=function(_e,_f,_10,_11){
_e[_f]=_10;
},_12={},_13=_2._extraNames,_14=_13.length,_15=oo.applyDecorator=function(_16,_17,_18,_19){
if(_18 instanceof _5){
var d=_18.decorator;
_18=_15(_16,_17,_18.value,_19);
return d(_17,_18,_19);
}
return _16(_17,_18,_19);
};
oo.__mixin=function(_1a,_1b,_1c,_1d,_1e){
var _1f,_20,_21,_22,_23,i;
for(_1f in _1b){
_21=_1b[_1f];
if(!(_1f in _6)||_6[_1f]!==_21){
_20=_1d(_1f,_1a,_1b,_21);
if(_20&&(!(_20 in _1a)||!(_20 in _6)||_6[_20]!==_21)){
_23=_1a[_20];
_22=_15(_1c,_20,_21,_23);
if(_23!==_22){
_1e(_1a,_20,_22,_23);
}
}
}
}
if(_14){
for(i=0;i<_14;++i){
_1f=_13[i];
_21=_1b[_1f];
if(!(_1f in _6)||_6[_1f]!==_21){
_20=_1d(_1f,_1a,_1b,_21);
if(_20&&(!(_20 in _1a)||!(_20 in _6)||_6[_20]!==_21)){
_23=_1a[_20];
_22=_15(_1c,_20,_21,_23);
if(_23!==_22){
_1e(_1a,_20,_22,_23);
}
}
}
}
}
return _1a;
};
oo.mixin=function(_24,_25){
var _26,_27,i=1,l=arguments.length;
for(;i<l;++i){
_25=arguments[i];
if(_25 instanceof _4){
_27=_25.filter;
_25=_25.bag;
}else{
_27=_7;
}
if(_25 instanceof _5){
_26=_25.decorator;
_25=_25.value;
}else{
_26=_9;
}
oo.__mixin(_24,_25,_26,_27,_d);
}
return _24;
};
})();
});