//>>built define("dojox/app/model",["dojo/_base/lang","dojo/Deferred","dojo/when"],function(_1,_2,_3){ return function(_4,_5,_6){ this.app=_6||_5; this.defCount=0; var _7={}; var _8=new _2(); if(_5.loadedModels){ _1.mixin(_7,_5.loadedModels); } if(_4){ for(var _9 in _4){ if(_9.charAt(0)!=="_"){ this.defCount++; } } if(this.defCount==0){ return _7; } for(var _a in _4){ if(_a.charAt(0)!=="_"){ _b(_4,_a,_5,_8,_7); } } return _8; }else{ return _7; } }; function _b(_c,_d,_e,_f,_10){ var _11=_c[_d].params?_c[_d].params:{}; var def=new _2(); var _12=_c[_d].modelLoader?_c[_d].modelLoader:"dojox/app/utils/simpleModel"; require([_12],function(_13){ def.resolve(_13); }); var _14=new _2(); return _3(def,_1.hitch(this,function(_15){ var _16; try{ _16=_15(_c,_11,_d); } catch(ex){ console.warn("load model error in model.",ex); _14.reject("load model error in model.",ex); return _14.promise; } if(_16.then){ _3(_16,_1.hitch(this,function(_17){ _10[_d]=_17; this.app.log("in app/model, for item=[",_d,"] loadedModels =",_10); this.defCount--; if(this.defCount==0){ _f.resolve(_10); } _14.resolve(_10); return _10; }),function(){ _14.reject("load model error in models."); }); return _14; }else{ _10[_d]=_16; this.app.log("in app/model else path, for item=[",_d,"] loadedModels=",_10); this.defCount--; if(this.defCount==0){ _f.resolve(_10); } _14.resolve(_10); return _10; } })); }; });