]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/javascript/yui3/build/loader/loader-rollup.js
Release 6.5.0
[Github/sugarcrm.git] / include / javascript / yui3 / build / loader / loader-rollup.js
1 /*
2  Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3  Code licensed under the BSD License:
4  http://developer.yahoo.com/yui/license.html
5  version: 3.3.0
6  build: 3167
7  */
8 YUI.add('loader-rollup',function(Y){Y.Loader.prototype._rollup=function(){var i,j,m,s,r=this.required,roll,info=this.moduleInfo,rolled,c,smod;if(this.dirty||!this.rollups){this.rollups={};for(i in info){if(info.hasOwnProperty(i)){m=this.getModule(i);if(m&&m.rollup){this.rollups[i]=m;}}}
9 this.forceMap=(this.force)?Y.Array.hash(this.force):{};}
10 for(;;){rolled=false;for(i in this.rollups){if(this.rollups.hasOwnProperty(i)){if(!r[i]&&((!this.loaded[i])||this.forceMap[i])){m=this.getModule(i);s=m.supersedes||[];roll=false;if(!m.rollup){continue;}
11 c=0;for(j=0;j<s.length;j++){smod=info[s[j]];if(this.loaded[s[j]]&&!this.forceMap[s[j]]){roll=false;break;}else if(r[s[j]]&&m.type==smod.type){c++;roll=(c>=m.rollup);if(roll){break;}}}
12 if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}}
13 if(!rolled){break;}}};},'3.3.0',{requires:['loader-base']});