|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
|
2 <html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#"> |
|
3 <head> |
|
4 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> |
|
5 <title>API: yui loader.js (YUI Library)</title> |
|
6 |
|
7 <link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" /> |
|
8 <link rel="stylesheet" type="text/css" href="assets/api.css" /> |
|
9 |
|
10 <script type="text/javascript" src="assets/api-js"></script> |
|
11 <script type="text/javascript" src="assets/ac-js"></script> |
|
12 </head> |
|
13 |
|
14 <body id="yahoo-com"> |
|
15 |
|
16 <div id="doc3" class="yui-t2"> |
|
17 <div id="hd"> |
|
18 <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1> |
|
19 <h3>yui <span class="subtitle">3.0.0b1</span></h3> |
|
20 <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> |
|
21 > <a href="./module_yui.html" title="yui">yui</a> |
|
22 |
|
23 > loader.js (source view) |
|
24 <form onsubmit="return false"> |
|
25 <div id="propertysearch"> |
|
26 Search: <input autocomplete="off" id="searchinput" /> |
|
27 <div id="searchresults"> |
|
28 |
|
29 </div> |
|
30 </div> |
|
31 </form> |
|
32 </div> |
|
33 |
|
34 <div id="bd"> |
|
35 <div id="yui-main"> |
|
36 <div class="yui-b"> |
|
37 <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form"> |
|
38 <fieldset> |
|
39 <legend>Filters</legend> |
|
40 <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span> |
|
41 <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span> |
|
42 <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span> |
|
43 </fieldset> |
|
44 </form> |
|
45 |
|
46 <div id="srcout"> |
|
47 <style> |
|
48 #doc3 .classopts { display:none; } |
|
49 </style> |
|
50 <div class="highlight" ><pre><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
51 <span class="c">/**</span> |
|
52 <span class="c"> * Loader dynamically loads script and css files. It includes the dependency</span> |
|
53 <span class="c"> * info for the version of the library in use, and will automatically pull in</span> |
|
54 <span class="c"> * dependencies for the modules requested. It supports rollup files and will</span> |
|
55 <span class="c"> * automatically use these when appropriate in order to minimize the number of</span> |
|
56 <span class="c"> * http connections required to load all of the dependencies. It can load the</span> |
|
57 <span class="c"> * files from the Yahoo! CDN, and it can utilize the combo service provided on</span> |
|
58 <span class="c"> * this network to reduce the number of http connections required to download </span> |
|
59 <span class="c"> * YUI files.</span> |
|
60 <span class="c"> *</span> |
|
61 <span class="c"> * @module yui</span> |
|
62 <span class="c"> * @submodule loader</span> |
|
63 <span class="c"> */</span> |
|
64 |
|
65 <span class="c">/**</span> |
|
66 <span class="c"> * Loader dynamically loads script and css files. It includes the dependency</span> |
|
67 <span class="c"> * info for the version of the library in use, and will automatically pull in</span> |
|
68 <span class="c"> * dependencies for the modules requested. It supports rollup files and will</span> |
|
69 <span class="c"> * automatically use these when appropriate in order to minimize the number of</span> |
|
70 <span class="c"> * http connections required to load all of the dependencies. It can load the</span> |
|
71 <span class="c"> * files from the Yahoo! CDN, and it can utilize the combo service provided on</span> |
|
72 <span class="c"> * this network to reduce the number of http connections required to download </span> |
|
73 <span class="c"> * YUI files.</span> |
|
74 <span class="c"> * @class Loader</span> |
|
75 <span class="c"> * @constructor</span> |
|
76 <span class="c"> * @param o an optional set of configuration options. Valid options:</span> |
|
77 <span class="c"> * <ul></span> |
|
78 <span class="c"> * <li>base:</span> |
|
79 <span class="c"> * The base dir</li></span> |
|
80 <span class="c"> * <li>secureBase:</span> |
|
81 <span class="c"> * The secure base dir (not implemented)</li></span> |
|
82 <span class="c"> * <li>comboBase:</span> |
|
83 <span class="c"> * The YUI combo service base dir. Ex: http://yui.yahooapis.com/combo?</li></span> |
|
84 <span class="c"> * <li>root:</span> |
|
85 <span class="c"> * The root path to prepend to module names for the combo service. Ex: 2.5.2/build/</li></span> |
|
86 <span class="c"> * <li>filter:</span> |
|
87 <span class="c"> * </span> |
|
88 <span class="c"> * A filter to apply to result urls. This filter will modify the default</span> |
|
89 <span class="c"> * path for all modules. The default path for the YUI library is the</span> |
|
90 <span class="c"> * minified version of the files (e.g., event-min.js). The filter property</span> |
|
91 <span class="c"> * can be a predefined filter or a custom filter. The valid predefined </span> |
|
92 <span class="c"> * filters are:</span> |
|
93 <span class="c"> * <dl></span> |
|
94 <span class="c"> * <dt>DEBUG</dt></span> |
|
95 <span class="c"> * <dd>Selects the debug versions of the library (e.g., event-debug.js).</span> |
|
96 <span class="c"> * This option will automatically include the Logger widget</dd></span> |
|
97 <span class="c"> * <dt>RAW</dt></span> |
|
98 <span class="c"> * <dd>Selects the non-minified version of the library (e.g., event.js).</dd></span> |
|
99 <span class="c"> * </dl></span> |
|
100 <span class="c"> * You can also define a custom filter, which must be an object literal </span> |
|
101 <span class="c"> * containing a search expression and a replace string:</span> |
|
102 <span class="c"> * <pre></span> |
|
103 <span class="c"> * myFilter: &#123; </span> |
|
104 <span class="c"> * 'searchExp': "-min\\.js", </span> |
|
105 <span class="c"> * 'replaceStr': "-debug.js"</span> |
|
106 <span class="c"> * &#125;</span> |
|
107 <span class="c"> * </pre></span> |
|
108 <span class="c"> *</span> |
|
109 <span class="c"> * </li></span> |
|
110 <span class="c"> * <li>filters: per-component filter specification. If specified for a given component, this overrides the filter config</li></span> |
|
111 <span class="c"> * <li>combine:</span> |
|
112 <span class="c"> * Use the YUI combo service to reduce the number of http connections required to load your dependencies</li></span> |
|
113 <span class="c"> * <li>ignore:</span> |
|
114 <span class="c"> * A list of modules that should never be dynamically loaded</li></span> |
|
115 <span class="c"> * <li>force:</span> |
|
116 <span class="c"> * A list of modules that should always be loaded when required, even if already present on the page</li></span> |
|
117 <span class="c"> * <li>insertBefore:</span> |
|
118 <span class="c"> * Node or id for a node that should be used as the insertion point for new nodes</li></span> |
|
119 <span class="c"> * <li>charset:</span> |
|
120 <span class="c"> * charset for dynamic nodes (deprecated, use jsAttributes or cssAttributes)</li></span> |
|
121 <span class="c"> * <li>jsAttributes: object literal containing attributes to add to script nodes</li></span> |
|
122 <span class="c"> * <li>cssAttributes: object literal containing attributes to add to link nodes</li></span> |
|
123 <span class="c"> * <li>timeout:</span> |
|
124 <span class="c"> * number of milliseconds before a timeout occurs when dynamically loading nodes. in not set, there is no timeout</li></span> |
|
125 <span class="c"> * <li>context:</span> |
|
126 <span class="c"> * execution context for all callbacks</li></span> |
|
127 <span class="c"> * <li>onSuccess:</span> |
|
128 <span class="c"> * callback for the 'success' event</li></span> |
|
129 <span class="c"> * <li>onFailure: callback for the 'failure' event</li></span> |
|
130 <span class="c"> * <li>onCSS: callback for the 'CSSComplete' event. When loading YUI components with CSS</span> |
|
131 <span class="c"> * the CSS is loaded first, then the script. This provides a moment you can tie into to improve</span> |
|
132 <span class="c"> * the presentation of the page while the script is loading.</li></span> |
|
133 <span class="c"> * <li>onTimeout:</span> |
|
134 <span class="c"> * callback for the 'timeout' event</li></span> |
|
135 <span class="c"> * <li>onProgress:</span> |
|
136 <span class="c"> * callback executed each time a script or css file is loaded</li></span> |
|
137 <span class="c"> * <li>modules:</span> |
|
138 <span class="c"> * A list of module definitions. See Loader.addModule for the supported module metadata</li></span> |
|
139 <span class="c"> * </ul></span> |
|
140 <span class="c"> */</span> |
|
141 |
|
142 <span class="c">// @TODO backed out the custom event changes so that the event system</span> |
|
143 <span class="c">// isn't required in the seed build. If needed, we may want to </span> |
|
144 <span class="c">// add them back if the event system is detected.</span> |
|
145 <span class="c"></span> |
|
146 |
|
147 <span class="c">/*</span> |
|
148 <span class="c"> * Global loader queue</span> |
|
149 <span class="c"> * @property _loaderQueue</span> |
|
150 <span class="c"> * @type Queue</span> |
|
151 <span class="c"> * @private</span> |
|
152 <span class="c"> */</span> |
|
153 <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span> <span class="o">||</span> <span class="k">new</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Queue</span><span class="o">();</span> |
|
154 |
|
155 <span class="k">var</span> <span class="nx">GLOBAL_ENV</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">,</span> |
|
156 <span class="nx">GLOBAL_LOADED</span><span class="o">,</span> |
|
157 <span class="nx">BASE</span> <span class="o">=</span> <span class="s1">'base'</span><span class="o">,</span> |
|
158 <span class="nx">CSS</span> <span class="o">=</span> <span class="s1">'css'</span><span class="o">,</span> |
|
159 <span class="nx">JS</span> <span class="o">=</span> <span class="s1">'js'</span><span class="o">,</span> |
|
160 <span class="nx">CSSRESET</span> <span class="o">=</span> <span class="s1">'cssreset'</span><span class="o">,</span> |
|
161 <span class="nx">CSSFONTS</span> <span class="o">=</span> <span class="s1">'cssfonts'</span><span class="o">,</span> |
|
162 <span class="nx">CSSGRIDS</span> <span class="o">=</span> <span class="s1">'cssgrids'</span><span class="o">,</span> |
|
163 <span class="nx">CSSBASE</span> <span class="o">=</span> <span class="s1">'cssbase'</span><span class="o">,</span> |
|
164 <span class="nx">CSS_AFTER</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span><span class="o">,</span> <span class="nx">CSSFONTS</span><span class="o">,</span> <span class="nx">CSSGRIDS</span><span class="o">,</span> |
|
165 <span class="s1">'cssreset-context'</span><span class="o">,</span> <span class="s1">'cssfonts-context'</span><span class="o">,</span> <span class="s1">'cssgrids-context'</span><span class="o">],</span> |
|
166 <span class="nx">YUI_CSS</span> <span class="o">=</span> <span class="o">[</span><span class="s1">'reset'</span><span class="o">,</span> <span class="s1">'fonts'</span><span class="o">,</span> <span class="s1">'grids'</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">],</span> |
|
167 <span class="nx">VERSION</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">version</span><span class="o">,</span> |
|
168 <span class="nx">ROOT</span> <span class="o">=</span> <span class="nx">VERSION</span> <span class="o">+</span> <span class="s1">'/build/'</span><span class="o">,</span> |
|
169 <span class="nx">CONTEXT</span> <span class="o">=</span> <span class="s1">'-context'</span><span class="o">,</span> |
|
170 |
|
171 |
|
172 <span class="nx">ANIMBASE</span> <span class="o">=</span> <span class="s1">'anim-base'</span><span class="o">,</span> |
|
173 <span class="nx">DDDRAG</span> <span class="o">=</span> <span class="s1">'dd-drag'</span><span class="o">,</span> |
|
174 <span class="nx">DOM</span> <span class="o">=</span> <span class="s1">'dom'</span><span class="o">,</span> |
|
175 <span class="nx">DATASCHEMABASE</span> <span class="o">=</span> <span class="s1">'dataschema-base'</span><span class="o">,</span> |
|
176 <span class="nx">DATASOURCELOCAL</span> <span class="o">=</span> <span class="s1">'datasource-local'</span><span class="o">,</span> |
|
177 <span class="nx">DOMBASE</span> <span class="o">=</span> <span class="s1">'dom-base'</span><span class="o">,</span> |
|
178 <span class="nx">DOMSTYLE</span> <span class="o">=</span> <span class="s1">'dom-style'</span><span class="o">,</span> |
|
179 <span class="nx">DUMP</span> <span class="o">=</span> <span class="s1">'dump'</span><span class="o">,</span> |
|
180 <span class="nx">GET</span> <span class="o">=</span> <span class="s1">'get'</span><span class="o">,</span> |
|
181 <span class="nx">EVENT</span> <span class="o">=</span> <span class="s1">'event'</span><span class="o">,</span> |
|
182 <span class="nx">EVENTCUSTOM</span> <span class="o">=</span> <span class="s1">'event-custom'</span><span class="o">,</span> |
|
183 <span class="nx">IOBASE</span> <span class="o">=</span> <span class="s1">'io-base'</span><span class="o">,</span> |
|
184 <span class="nx">NODE</span> <span class="o">=</span> <span class="s1">'node'</span><span class="o">,</span> |
|
185 <span class="nx">NODEBASE</span> <span class="o">=</span> <span class="s1">'node-base'</span><span class="o">,</span> |
|
186 <span class="nx">OOP</span> <span class="o">=</span> <span class="s1">'oop'</span><span class="o">,</span> |
|
187 <span class="nx">SELECTORCSS2</span> <span class="o">=</span> <span class="s1">'selector-css2'</span><span class="o">,</span> |
|
188 <span class="nx">SUBSTITUTE</span> <span class="o">=</span> <span class="s1">'substitute'</span><span class="o">,</span> |
|
189 <span class="nx">WIDGET</span> <span class="o">=</span> <span class="s1">'widget'</span><span class="o">,</span> |
|
190 <span class="nx">WIDGETPOSITION</span> <span class="o">=</span> <span class="s1">'widget-position'</span><span class="o">,</span> |
|
191 <span class="nx">YUIBASE</span> <span class="o">=</span> <span class="s1">'yui-base'</span><span class="o">,</span> |
|
192 |
|
193 <span class="nx">PLUGIN</span> <span class="o">=</span> <span class="s1">'plugin'</span><span class="o">,</span> |
|
194 |
|
195 <span class="nx">META</span> <span class="o">=</span> <span class="o">{</span> |
|
196 |
|
197 <span class="nx">version</span><span class="o">:</span> <span class="nx">VERSION</span><span class="o">,</span> |
|
198 |
|
199 <span class="nx">root</span><span class="o">:</span> <span class="nx">ROOT</span><span class="o">,</span> |
|
200 |
|
201 <span class="nx">base</span><span class="o">:</span> <span class="s1">'http://yui.yahooapis.com/'</span> <span class="o">+</span> <span class="nx">ROOT</span><span class="o">,</span> |
|
202 |
|
203 <span class="nx">comboBase</span><span class="o">:</span> <span class="s1">'http://yui.yahooapis.com/combo?'</span><span class="o">,</span> |
|
204 |
|
205 <span class="nx">skin</span><span class="o">:</span> <span class="o">{</span> |
|
206 <span class="nx">defaultSkin</span><span class="o">:</span> <span class="s1">'sam'</span><span class="o">,</span> |
|
207 <span class="nx">base</span><span class="o">:</span> <span class="s1">'assets/skins/'</span><span class="o">,</span> |
|
208 <span class="nx">path</span><span class="o">:</span> <span class="s1">'skin.css'</span><span class="o">,</span> |
|
209 <span class="nx">after</span><span class="o">:</span> <span class="nx">CSS_AFTER</span> |
|
210 <span class="c">//rollup: 3</span> |
|
211 <span class="c"></span> <span class="o">},</span> |
|
212 |
|
213 <span class="nx">modules</span><span class="o">:</span> <span class="o">{</span> |
|
214 |
|
215 <span class="nx">dom</span><span class="o">:</span> <span class="o">{</span> |
|
216 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">],</span> |
|
217 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
218 |
|
219 <span class="s1">'dom-base'</span><span class="o">:</span> <span class="o">{</span> |
|
220 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span> |
|
221 <span class="o">},</span> |
|
222 |
|
223 <span class="s1">'dom-style'</span><span class="o">:</span> <span class="o">{</span> |
|
224 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span> |
|
225 <span class="o">},</span> |
|
226 |
|
227 <span class="s1">'dom-screen'</span><span class="o">:</span> <span class="o">{</span> |
|
228 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">,</span> <span class="nx">DOMSTYLE</span><span class="o">]</span> |
|
229 <span class="o">},</span> |
|
230 |
|
231 <span class="s1">'selector-native'</span><span class="o">:</span> <span class="o">{</span> |
|
232 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span> |
|
233 <span class="o">},</span> |
|
234 |
|
235 <span class="s1">'selector-css2'</span><span class="o">:</span> <span class="o">{</span> |
|
236 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'selector-native'</span><span class="o">]</span> |
|
237 <span class="o">},</span> |
|
238 |
|
239 <span class="s1">'selector'</span><span class="o">:</span> <span class="o">{</span> |
|
240 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span> |
|
241 <span class="o">}</span> |
|
242 |
|
243 <span class="o">},</span> |
|
244 |
|
245 <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span> |
|
246 <span class="s1">'selector-css3'</span><span class="o">:</span> <span class="o">{</span> |
|
247 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">SELECTORCSS2</span><span class="o">]</span> |
|
248 <span class="o">}</span> |
|
249 <span class="o">}</span> |
|
250 <span class="o">},</span> |
|
251 |
|
252 <span class="nx">node</span><span class="o">:</span> <span class="o">{</span> |
|
253 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOM</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">],</span> |
|
254 <span class="nx">expound</span><span class="o">:</span> <span class="nx">EVENT</span><span class="o">,</span> |
|
255 |
|
256 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
257 <span class="s1">'node-base'</span><span class="o">:</span> <span class="o">{</span> |
|
258 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">,</span> <span class="nx">SELECTORCSS2</span><span class="o">]</span> |
|
259 <span class="o">},</span> |
|
260 |
|
261 <span class="s1">'node-style'</span><span class="o">:</span> <span class="o">{</span> |
|
262 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMSTYLE</span><span class="o">,</span> <span class="nx">NODEBASE</span><span class="o">]</span> |
|
263 <span class="o">},</span> |
|
264 |
|
265 <span class="s1">'node-screen'</span><span class="o">:</span> <span class="o">{</span> |
|
266 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dom-screen'</span><span class="o">,</span> <span class="nx">NODEBASE</span><span class="o">]</span> |
|
267 <span class="o">}</span> |
|
268 <span class="o">},</span> |
|
269 |
|
270 <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span> |
|
271 <span class="s1">'node-event-simulate'</span><span class="o">:</span> <span class="o">{</span> |
|
272 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODEBASE</span><span class="o">,</span> <span class="s1">'event-simulate'</span><span class="o">]</span> |
|
273 <span class="o">}</span> |
|
274 <span class="o">}</span> |
|
275 <span class="o">},</span> |
|
276 |
|
277 <span class="nx">anim</span><span class="o">:</span> <span class="o">{</span> |
|
278 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">],</span> |
|
279 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
280 |
|
281 <span class="s1">'anim-base'</span><span class="o">:</span> <span class="o">{</span> |
|
282 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="s1">'node-style'</span><span class="o">]</span> |
|
283 <span class="o">},</span> |
|
284 |
|
285 <span class="s1">'anim-color'</span><span class="o">:</span> <span class="o">{</span> |
|
286 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span> |
|
287 <span class="o">},</span> |
|
288 |
|
289 <span class="s1">'anim-curve'</span><span class="o">:</span> <span class="o">{</span> |
|
290 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'anim-xy'</span><span class="o">]</span> |
|
291 <span class="o">},</span> |
|
292 |
|
293 <span class="s1">'anim-easing'</span><span class="o">:</span> <span class="o">{</span> |
|
294 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span> |
|
295 <span class="o">},</span> |
|
296 |
|
297 <span class="s1">'anim-scroll'</span><span class="o">:</span> <span class="o">{</span> |
|
298 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span> |
|
299 <span class="o">},</span> |
|
300 |
|
301 <span class="s1">'anim-xy'</span><span class="o">:</span> <span class="o">{</span> |
|
302 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">,</span> <span class="s1">'node-screen'</span><span class="o">]</span> |
|
303 <span class="o">},</span> |
|
304 |
|
305 <span class="s1">'anim-node-plugin'</span><span class="o">:</span> <span class="o">{</span> |
|
306 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">ANIMBASE</span><span class="o">]</span> |
|
307 <span class="o">}</span> |
|
308 <span class="o">}</span> |
|
309 <span class="o">},</span> |
|
310 |
|
311 <span class="nx">attribute</span><span class="o">:</span> <span class="o">{</span> |
|
312 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">]</span> |
|
313 <span class="o">},</span> |
|
314 |
|
315 <span class="nx">base</span><span class="o">:</span> <span class="o">{</span> |
|
316 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
317 |
|
318 <span class="s1">'base-base'</span><span class="o">:</span> <span class="o">{</span> |
|
319 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'attribute'</span><span class="o">]</span> |
|
320 <span class="o">},</span> |
|
321 |
|
322 <span class="s1">'base-build'</span><span class="o">:</span> <span class="o">{</span> |
|
323 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'base-base'</span><span class="o">]</span> |
|
324 <span class="o">}</span> |
|
325 <span class="o">}</span> |
|
326 <span class="o">},</span> |
|
327 |
|
328 <span class="nx">cache</span><span class="o">:</span> <span class="o">{</span> |
|
329 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">PLUGIN</span><span class="o">]</span> |
|
330 <span class="o">},</span> |
|
331 |
|
332 <span class="nx">compat</span><span class="o">:</span> <span class="o">{</span> |
|
333 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">DUMP</span><span class="o">,</span> <span class="nx">SUBSTITUTE</span><span class="o">]</span> |
|
334 <span class="o">},</span> |
|
335 |
|
336 <span class="nx">classnamemanager</span><span class="o">:</span> <span class="o">{</span> |
|
337 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
338 <span class="o">},</span> |
|
339 |
|
340 <span class="nx">collection</span><span class="o">:</span> <span class="o">{</span> |
|
341 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span> |
|
342 <span class="o">},</span> |
|
343 |
|
344 <span class="nx">console</span><span class="o">:</span> <span class="o">{</span> |
|
345 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="nx">SUBSTITUTE</span><span class="o">],</span> |
|
346 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span> |
|
347 <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span> |
|
348 <span class="s1">'console-filters'</span><span class="o">:</span> <span class="o">{</span> |
|
349 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">PLUGIN</span><span class="o">],</span> |
|
350 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
351 <span class="o">}</span> |
|
352 <span class="o">}</span> |
|
353 <span class="o">},</span> |
|
354 |
|
355 <span class="nx">cookie</span><span class="o">:</span> <span class="o">{</span> |
|
356 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
357 <span class="o">},</span> |
|
358 |
|
359 <span class="nx">dataschema</span><span class="o">:{</span> |
|
360 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
361 <span class="s1">'dataschema-base'</span><span class="o">:</span> <span class="o">{</span> |
|
362 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span> |
|
363 <span class="o">},</span> |
|
364 <span class="s1">'dataschema-array'</span><span class="o">:</span> <span class="o">{</span> |
|
365 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span> |
|
366 <span class="o">},</span> |
|
367 <span class="s1">'dataschema-json'</span><span class="o">:</span> <span class="o">{</span> |
|
368 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">,</span> <span class="s1">'json'</span><span class="o">]</span> |
|
369 <span class="o">},</span> |
|
370 <span class="s1">'dataschema-text'</span><span class="o">:</span> <span class="o">{</span> |
|
371 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span> |
|
372 <span class="o">},</span> |
|
373 <span class="s1">'dataschema-xml'</span><span class="o">:</span> <span class="o">{</span> |
|
374 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span> |
|
375 <span class="o">}</span> |
|
376 <span class="o">}</span> |
|
377 <span class="o">},</span> |
|
378 |
|
379 <span class="nx">datasource</span><span class="o">:{</span> |
|
380 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
381 <span class="s1">'datasource-local'</span><span class="o">:</span> <span class="o">{</span> |
|
382 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span> |
|
383 <span class="o">},</span> |
|
384 <span class="s1">'datasource-arrayschema'</span><span class="o">:</span> <span class="o">{</span> |
|
385 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">'dataschema-array'</span><span class="o">]</span> |
|
386 <span class="o">},</span> |
|
387 <span class="s1">'datasource-cache'</span><span class="o">:</span> <span class="o">{</span> |
|
388 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="s1">'cache'</span><span class="o">]</span> |
|
389 <span class="o">},</span> |
|
390 <span class="s1">'datasource-function'</span><span class="o">:</span> <span class="o">{</span> |
|
391 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">]</span> |
|
392 <span class="o">},</span> |
|
393 <span class="s1">'datasource-jsonschema'</span><span class="o">:</span> <span class="o">{</span> |
|
394 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">'dataschema-json'</span><span class="o">]</span> |
|
395 <span class="o">},</span> |
|
396 <span class="s1">'datasource-polling'</span><span class="o">:</span> <span class="o">{</span> |
|
397 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">]</span> |
|
398 <span class="o">},</span> |
|
399 <span class="s1">'datasource-get'</span><span class="o">:</span> <span class="o">{</span> |
|
400 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">GET</span><span class="o">]</span> |
|
401 <span class="o">},</span> |
|
402 <span class="s1">'datasource-textschema'</span><span class="o">:</span> <span class="o">{</span> |
|
403 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">'dataschema-text'</span><span class="o">]</span> |
|
404 <span class="o">},</span> |
|
405 <span class="s1">'datasource-io'</span><span class="o">:</span> <span class="o">{</span> |
|
406 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">IOBASE</span><span class="o">]</span> |
|
407 <span class="o">},</span> |
|
408 <span class="s1">'datasource-xmlschema'</span><span class="o">:</span> <span class="o">{</span> |
|
409 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">'dataschema-xml'</span><span class="o">]</span> |
|
410 <span class="o">}</span> |
|
411 <span class="o">}</span> |
|
412 <span class="o">},</span> |
|
413 |
|
414 <span class="nx">datatype</span><span class="o">:{</span> |
|
415 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
416 <span class="s1">'datatype-date'</span><span class="o">:</span> <span class="o">{</span> |
|
417 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
418 <span class="o">},</span> |
|
419 <span class="s1">'datatype-number'</span><span class="o">:</span> <span class="o">{</span> |
|
420 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
421 <span class="o">},</span> |
|
422 <span class="s1">'datatype-xml'</span><span class="o">:</span> <span class="o">{</span> |
|
423 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
424 <span class="o">}</span> |
|
425 <span class="o">}</span> |
|
426 <span class="o">},</span> |
|
427 |
|
428 <span class="nx">dd</span><span class="o">:{</span> |
|
429 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
430 <span class="s1">'dd-ddm-base'</span><span class="o">:</span> <span class="o">{</span> |
|
431 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">]</span> |
|
432 <span class="o">},</span> |
|
433 <span class="s1">'dd-ddm'</span><span class="o">:{</span> |
|
434 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-ddm-base'</span><span class="o">]</span> |
|
435 <span class="o">},</span> |
|
436 <span class="s1">'dd-ddm-drop'</span><span class="o">:{</span> |
|
437 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-ddm'</span><span class="o">]</span> |
|
438 <span class="o">},</span> |
|
439 <span class="s1">'dd-drag'</span><span class="o">:{</span> |
|
440 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-ddm-base'</span><span class="o">]</span> |
|
441 <span class="o">},</span> |
|
442 <span class="s1">'dd-drop'</span><span class="o">:{</span> |
|
443 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-ddm-drop'</span><span class="o">]</span> |
|
444 <span class="o">},</span> |
|
445 <span class="s1">'dd-proxy'</span><span class="o">:{</span> |
|
446 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span> |
|
447 <span class="o">},</span> |
|
448 <span class="s1">'dd-constrain'</span><span class="o">:{</span> |
|
449 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span> |
|
450 <span class="o">},</span> |
|
451 <span class="s1">'dd-scroll'</span><span class="o">:{</span> |
|
452 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span> |
|
453 <span class="o">},</span> |
|
454 <span class="s1">'dd-plugin'</span><span class="o">:{</span> |
|
455 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">],</span> |
|
456 <span class="nx">optional</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-constrain'</span><span class="o">,</span> <span class="s1">'dd-proxy'</span><span class="o">]</span> |
|
457 <span class="o">},</span> |
|
458 <span class="s1">'dd-drop-plugin'</span><span class="o">:{</span> |
|
459 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'dd-drop'</span><span class="o">]</span> |
|
460 <span class="o">}</span> |
|
461 <span class="o">}</span> |
|
462 <span class="o">},</span> |
|
463 |
|
464 <span class="nx">dump</span><span class="o">:</span> <span class="o">{</span> |
|
465 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
466 <span class="o">},</span> |
|
467 |
|
468 <span class="nx">event</span><span class="o">:</span> <span class="o">{</span> |
|
469 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span> |
|
470 <span class="o">},</span> |
|
471 |
|
472 <span class="s1">'event-custom'</span><span class="o">:</span> <span class="o">{</span> |
|
473 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span> |
|
474 <span class="o">},</span> |
|
475 |
|
476 <span class="s1">'event-simulate'</span><span class="o">:</span> <span class="o">{</span> |
|
477 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENT</span><span class="o">]</span> |
|
478 <span class="o">},</span> |
|
479 |
|
480 <span class="s1">'node-focusmanager'</span><span class="o">:</span> <span class="o">{</span> |
|
481 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">]</span> |
|
482 <span class="o">},</span> |
|
483 |
|
484 <span class="nx">get</span><span class="o">:</span> <span class="o">{</span> |
|
485 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
486 <span class="o">},</span> |
|
487 |
|
488 <span class="nx">history</span><span class="o">:</span> <span class="o">{</span> |
|
489 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">]</span> |
|
490 <span class="o">},</span> |
|
491 |
|
492 <span class="nx">imageloader</span><span class="o">:</span> <span class="o">{</span> |
|
493 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">]</span> |
|
494 <span class="o">},</span> |
|
495 |
|
496 <span class="nx">io</span><span class="o">:{</span> |
|
497 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
498 |
|
499 <span class="s1">'io-base'</span><span class="o">:</span> <span class="o">{</span> |
|
500 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">]</span> |
|
501 <span class="o">},</span> |
|
502 |
|
503 <span class="s1">'io-xdr'</span><span class="o">:</span> <span class="o">{</span> |
|
504 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">]</span> |
|
505 <span class="o">},</span> |
|
506 |
|
507 <span class="s1">'io-form'</span><span class="o">:</span> <span class="o">{</span> |
|
508 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span> |
|
509 <span class="o">},</span> |
|
510 |
|
511 <span class="s1">'io-upload-iframe'</span><span class="o">:</span> <span class="o">{</span> |
|
512 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span> |
|
513 <span class="o">},</span> |
|
514 |
|
515 <span class="s1">'io-queue'</span><span class="o">:</span> <span class="o">{</span> |
|
516 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="s1">'queue-promote'</span><span class="o">]</span> |
|
517 <span class="o">}</span> |
|
518 <span class="o">}</span> |
|
519 <span class="o">},</span> |
|
520 |
|
521 <span class="nx">json</span><span class="o">:</span> <span class="o">{</span> |
|
522 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
523 <span class="s1">'json-parse'</span><span class="o">:</span> <span class="o">{</span> |
|
524 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
525 <span class="o">},</span> |
|
526 |
|
527 <span class="s1">'json-stringify'</span><span class="o">:</span> <span class="o">{</span> |
|
528 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
529 <span class="o">}</span> |
|
530 <span class="o">}</span> |
|
531 <span class="o">},</span> |
|
532 |
|
533 <span class="nx">loader</span><span class="o">:</span> <span class="o">{</span> |
|
534 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">GET</span><span class="o">]</span> |
|
535 <span class="o">},</span> |
|
536 |
|
537 <span class="s1">'node-menunav'</span><span class="o">:</span> <span class="o">{</span> |
|
538 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="s1">'classnamemanager'</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">'node-focusmanager'</span><span class="o">],</span> |
|
539 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
540 <span class="o">},</span> |
|
541 |
|
542 <span class="nx">oop</span><span class="o">:</span> <span class="o">{</span> |
|
543 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
544 <span class="o">},</span> |
|
545 |
|
546 <span class="nx">overlay</span><span class="o">:</span> <span class="o">{</span> |
|
547 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="nx">WIDGETPOSITION</span><span class="o">,</span> <span class="s1">'widget-position-ext'</span><span class="o">,</span> <span class="s1">'widget-stack'</span><span class="o">,</span> <span class="s1">'widget-stdmod'</span><span class="o">],</span> |
|
548 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
549 <span class="o">},</span> |
|
550 |
|
551 <span class="nx">plugin</span><span class="o">:</span> <span class="o">{</span> |
|
552 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span> |
|
553 <span class="o">},</span> |
|
554 |
|
555 <span class="nx">profiler</span><span class="o">:</span> <span class="o">{</span> |
|
556 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
557 <span class="o">},</span> |
|
558 |
|
559 <span class="nx">queue</span><span class="o">:</span> <span class="o">{</span> |
|
560 <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span> |
|
561 <span class="s1">'queue-base'</span><span class="o">:</span> <span class="o">{</span> |
|
562 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
563 <span class="o">},</span> |
|
564 <span class="s1">'queue-run'</span><span class="o">:</span> <span class="o">{</span> |
|
565 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">'queue-base'</span><span class="o">,</span> <span class="nx">EVENTCUSTOM</span><span class="o">]</span> |
|
566 <span class="o">}</span> |
|
567 <span class="o">},</span> |
|
568 <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span> |
|
569 <span class="s1">'queue-promote'</span><span class="o">:</span> <span class="o">{</span> <span class="o">}</span> |
|
570 <span class="o">}</span> |
|
571 <span class="o">},</span> |
|
572 |
|
573 <span class="nx">slider</span><span class="o">:</span> <span class="o">{</span> |
|
574 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="s1">'dd-constrain'</span><span class="o">],</span> |
|
575 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
576 <span class="o">},</span> |
|
577 |
|
578 <span class="nx">stylesheet</span><span class="o">:</span> <span class="o">{</span> |
|
579 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span> |
|
580 <span class="o">},</span> |
|
581 |
|
582 <span class="nx">substitute</span><span class="o">:</span> <span class="o">{</span> |
|
583 <span class="nx">optional</span><span class="o">:</span> <span class="o">[</span><span class="nx">DUMP</span><span class="o">]</span> |
|
584 <span class="o">},</span> |
|
585 |
|
586 <span class="nx">widget</span><span class="o">:</span> <span class="o">{</span> |
|
587 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">,</span> <span class="s1">'classnamemanager'</span><span class="o">],</span> |
|
588 <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span> |
|
589 <span class="s1">'widget-position'</span><span class="o">:</span> <span class="o">{</span> <span class="o">},</span> |
|
590 <span class="s1">'widget-position-ext'</span><span class="o">:</span> <span class="o">{</span> |
|
591 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGETPOSITION</span><span class="o">]</span> |
|
592 <span class="o">},</span> |
|
593 <span class="s1">'widget-stack'</span><span class="o">:</span> <span class="o">{</span> |
|
594 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
595 <span class="o">},</span> |
|
596 <span class="s1">'widget-stdmod'</span><span class="o">:</span> <span class="o">{</span> <span class="o">}</span> |
|
597 <span class="o">},</span> |
|
598 <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span> |
|
599 <span class="o">},</span> |
|
600 |
|
601 <span class="nx">yui</span><span class="o">:</span> <span class="o">{</span> |
|
602 <span class="nx">supersedes</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">,</span> <span class="nx">GET</span><span class="o">,</span> <span class="s1">'loader'</span><span class="o">,</span> <span class="s1">'queue-base'</span><span class="o">]</span> |
|
603 <span class="o">},</span> |
|
604 |
|
605 <span class="s1">'yui-base'</span><span class="o">:</span> <span class="o">{</span> <span class="o">},</span> |
|
606 |
|
607 <span class="nx">test</span><span class="o">:</span> <span class="o">{</span> |
|
608 <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">SUBSTITUTE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">,</span> <span class="s1">'json'</span><span class="o">,</span> <span class="s1">'event-simulate'</span><span class="o">]</span> |
|
609 <span class="o">}</span> |
|
610 |
|
611 <span class="o">}</span> |
|
612 <span class="o">},</span> |
|
613 |
|
614 <span class="nx">_path</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">dir</span><span class="o">,</span> <span class="nx">file</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
615 <span class="k">return</span> <span class="nx">dir</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="nx">file</span> <span class="o">+</span> <span class="s1">'-min.'</span> <span class="o">+</span> <span class="o">(</span><span class="nx">type</span> <span class="o">||</span> <span class="nx">CSS</span><span class="o">);</span> |
|
616 <span class="o">},</span> |
|
617 |
|
618 <span class="nx">_queue</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span><span class="o">,</span> |
|
619 |
|
620 <span class="nx">mods</span> <span class="o">=</span> <span class="nx">META</span><span class="o">.</span><span class="nx">modules</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">bname</span><span class="o">,</span> <span class="nx">mname</span><span class="o">,</span> <span class="nx">contextname</span><span class="o">,</span> |
|
621 <span class="nx">L</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">,</span> |
|
622 <span class="nx">PROV</span> <span class="o">=</span> <span class="s2">"_provides"</span><span class="o">,</span> |
|
623 <span class="nx">SUPER</span> <span class="o">=</span> <span class="s2">"_supersedes"</span><span class="o">;</span> |
|
624 |
|
625 <span class="c">// Create the metadata for both the regular and context-aware</span> |
|
626 <span class="c">// versions of the YUI CSS foundation.</span> |
|
627 <span class="c"></span><span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">YUI_CSS</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
628 <span class="nx">bname</span> <span class="o">=</span> <span class="nx">YUI_CSS</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
629 <span class="nx">mname</span> <span class="o">=</span> <span class="nx">CSS</span> <span class="o">+</span> <span class="nx">bname</span><span class="o">;</span> |
|
630 |
|
631 <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="o">{</span> |
|
632 <span class="nx">type</span><span class="o">:</span> <span class="nx">CSS</span><span class="o">,</span> |
|
633 <span class="nx">path</span><span class="o">:</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">mname</span><span class="o">,</span> <span class="nx">bname</span><span class="o">)</span> |
|
634 <span class="o">};</span> |
|
635 |
|
636 <span class="c">// define -context module</span> |
|
637 <span class="c"></span> <span class="nx">contextname</span> <span class="o">=</span> <span class="nx">mname</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">;</span> |
|
638 <span class="nx">bname</span> <span class="o">=</span> <span class="nx">bname</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">;</span> |
|
639 |
|
640 <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">]</span> <span class="o">=</span> <span class="o">{</span> |
|
641 <span class="nx">type</span><span class="o">:</span> <span class="nx">CSS</span><span class="o">,</span> |
|
642 <span class="nx">path</span><span class="o">:</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">mname</span><span class="o">,</span> <span class="nx">bname</span><span class="o">)</span> |
|
643 <span class="o">};</span> |
|
644 |
|
645 <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">==</span> <span class="nx">CSSGRIDS</span><span class="o">)</span> <span class="o">{</span> |
|
646 <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">requires</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSFONTS</span><span class="o">];</span> |
|
647 <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">optional</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span><span class="o">];</span> |
|
648 <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">requires</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSFONTS</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">];</span> |
|
649 <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">optional</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">];</span> |
|
650 <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">==</span> <span class="nx">CSSBASE</span><span class="o">)</span> <span class="o">{</span> |
|
651 <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">after</span> <span class="o">=</span> <span class="nx">CSS_AFTER</span><span class="o">;</span> |
|
652 <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">after</span> <span class="o">=</span> <span class="nx">CSS_AFTER</span><span class="o">;</span> |
|
653 <span class="o">}</span> |
|
654 <span class="o">}</span> |
|
655 |
|
656 <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span> <span class="o">=</span> <span class="nx">META</span><span class="o">;</span> |
|
657 |
|
658 <span class="nx">GLOBAL_LOADED</span> <span class="o">=</span> <span class="nx">GLOBAL_ENV</span><span class="o">.</span><span class="nx">_loaded</span><span class="o">;</span> |
|
659 |
|
660 <span class="nx">Y</span><span class="o">.</span><span class="nx">Loader</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
661 |
|
662 <span class="c">/**</span> |
|
663 <span class="c"> * Internal callback to handle multiple internal insert() calls</span> |
|
664 <span class="c"> * so that css is inserted prior to js</span> |
|
665 <span class="c"> * @property _internalCallback</span> |
|
666 <span class="c"> * @private</span> |
|
667 <span class="c"> */</span> |
|
668 <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
669 |
|
670 <span class="c">/**</span> |
|
671 <span class="c"> * Use the YUI environment listener to detect script load. This</span> |
|
672 <span class="c"> * is only switched on for Safari 2.x and below.</span> |
|
673 <span class="c"> * @property _useYahooListener</span> |
|
674 <span class="c"> * @private</span> |
|
675 <span class="c"> */</span> |
|
676 <span class="k">this</span><span class="o">.</span><span class="nx">_useYahooListener</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
677 |
|
678 <span class="c">/**</span> |
|
679 <span class="c"> * Callback that will be executed when the loader is finished</span> |
|
680 <span class="c"> * with an insert</span> |
|
681 <span class="c"> * @method onSuccess</span> |
|
682 <span class="c"> * @type function</span> |
|
683 <span class="c"> */</span> |
|
684 <span class="k">this</span><span class="o">.</span><span class="nx">onSuccess</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
685 |
|
686 <span class="c">/**</span> |
|
687 <span class="c"> * Callback that will be executed if there is a failure</span> |
|
688 <span class="c"> * @method onFailure</span> |
|
689 <span class="c"> * @type function</span> |
|
690 <span class="c"> */</span> |
|
691 <span class="k">this</span><span class="o">.</span><span class="nx">onFailure</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
692 |
|
693 <span class="c">/**</span> |
|
694 <span class="c"> * Callback for the 'CSSComplete' event. When loading YUI components with CSS</span> |
|
695 <span class="c"> * the CSS is loaded first, then the script. This provides a moment you can tie into to improve</span> |
|
696 <span class="c"> * the presentation of the page while the script is loading.</span> |
|
697 <span class="c"> * @method onCSS</span> |
|
698 <span class="c"> * @type function</span> |
|
699 <span class="c"> */</span> |
|
700 <span class="k">this</span><span class="o">.</span><span class="nx">onCSS</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
701 |
|
702 <span class="c">/**</span> |
|
703 <span class="c"> * Callback executed each time a script or css file is loaded</span> |
|
704 <span class="c"> * @method onProgress</span> |
|
705 <span class="c"> * @type function</span> |
|
706 <span class="c"> */</span> |
|
707 <span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
708 |
|
709 <span class="c">/**</span> |
|
710 <span class="c"> * Callback that will be executed if a timeout occurs</span> |
|
711 <span class="c"> * @method onTimeout</span> |
|
712 <span class="c"> * @type function</span> |
|
713 <span class="c"> */</span> |
|
714 <span class="k">this</span><span class="o">.</span><span class="nx">onTimeout</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
715 |
|
716 <span class="c">/**</span> |
|
717 <span class="c"> * The execution context for all callbacks</span> |
|
718 <span class="c"> * @property context</span> |
|
719 <span class="c"> * @default {YUI} the YUI instance</span> |
|
720 <span class="c"> */</span> |
|
721 <span class="k">this</span><span class="o">.</span><span class="nx">context</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">;</span> |
|
722 |
|
723 <span class="c">/**</span> |
|
724 <span class="c"> * Data that is passed to all callbacks</span> |
|
725 <span class="c"> * @property data</span> |
|
726 <span class="c"> */</span> |
|
727 <span class="k">this</span><span class="o">.</span><span class="nx">data</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
728 |
|
729 <span class="c">/**</span> |
|
730 <span class="c"> * Node reference or id where new nodes should be inserted before</span> |
|
731 <span class="c"> * @property insertBefore</span> |
|
732 <span class="c"> * @type string|HTMLElement</span> |
|
733 <span class="c"> */</span> |
|
734 <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
735 |
|
736 <span class="c">/**</span> |
|
737 <span class="c"> * The charset attribute for inserted nodes</span> |
|
738 <span class="c"> * @property charset</span> |
|
739 <span class="c"> * @type string</span> |
|
740 <span class="c"> * @deprecated, use cssAttributes or jsAttributes</span> |
|
741 <span class="c"> */</span> |
|
742 <span class="k">this</span><span class="o">.</span><span class="nx">charset</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
743 |
|
744 <span class="c">/**</span> |
|
745 <span class="c"> * An object literal containing attributes to add to link nodes</span> |
|
746 <span class="c"> * @property cssAttributes</span> |
|
747 <span class="c"> * @type object</span> |
|
748 <span class="c"> */</span> |
|
749 <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
750 |
|
751 <span class="c">/**</span> |
|
752 <span class="c"> * An object literal containing attributes to add to script nodes</span> |
|
753 <span class="c"> * @property jsAttributes</span> |
|
754 <span class="c"> * @type object</span> |
|
755 <span class="c"> */</span> |
|
756 <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
757 |
|
758 <span class="c">/**</span> |
|
759 <span class="c"> * The base directory.</span> |
|
760 <span class="c"> * @property base</span> |
|
761 <span class="c"> * @type string</span> |
|
762 <span class="c"> * @default http://yui.yahooapis.com/[YUI VERSION]/build/</span> |
|
763 <span class="c"> */</span> |
|
764 <span class="k">this</span><span class="o">.</span><span class="nx">base</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">base</span><span class="o">;</span> |
|
765 |
|
766 <span class="c">/**</span> |
|
767 <span class="c"> * Base path for the combo service</span> |
|
768 <span class="c"> * @property comboBase</span> |
|
769 <span class="c"> * @type string</span> |
|
770 <span class="c"> * @default http://yui.yahooapis.com/combo?</span> |
|
771 <span class="c"> */</span> |
|
772 <span class="k">this</span><span class="o">.</span><span class="nx">comboBase</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">comboBase</span><span class="o">;</span> |
|
773 |
|
774 <span class="c">/**</span> |
|
775 <span class="c"> * If configured, YUI JS resources will use the combo</span> |
|
776 <span class="c"> * handler</span> |
|
777 <span class="c"> * @property combine</span> |
|
778 <span class="c"> * @type boolean</span> |
|
779 <span class="c"> * @default true if a base dir isn't in the config</span> |
|
780 <span class="c"> */</span> |
|
781 <span class="k">this</span><span class="o">.</span><span class="nx">combine</span> <span class="o">=</span> <span class="o">(!(</span><span class="nx">BASE</span> <span class="k">in</span> <span class="nx">o</span><span class="o">));</span> |
|
782 |
|
783 <span class="c">/**</span> |
|
784 <span class="c"> * Ignore modules registered on the YUI global</span> |
|
785 <span class="c"> * @property ignoreRegistered</span> |
|
786 <span class="c"> * @default false</span> |
|
787 <span class="c"> */</span> |
|
788 <span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
789 |
|
790 <span class="c">/**</span> |
|
791 <span class="c"> * Root path to prepend to module path for the combo</span> |
|
792 <span class="c"> * service</span> |
|
793 <span class="c"> * @property root</span> |
|
794 <span class="c"> * @type string</span> |
|
795 <span class="c"> * @default [YUI VERSION]/build/</span> |
|
796 <span class="c"> */</span> |
|
797 <span class="k">this</span><span class="o">.</span><span class="nx">root</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">root</span><span class="o">;</span> |
|
798 |
|
799 <span class="c">/**</span> |
|
800 <span class="c"> * Timeout value in milliseconds. If set, this value will be used by</span> |
|
801 <span class="c"> * the get utility. the timeout event will fire if</span> |
|
802 <span class="c"> * a timeout occurs.</span> |
|
803 <span class="c"> * @property timeout</span> |
|
804 <span class="c"> * @type int</span> |
|
805 <span class="c"> */</span> |
|
806 <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> |
|
807 |
|
808 <span class="c">/**</span> |
|
809 <span class="c"> * A list of modules that should not be loaded, even if</span> |
|
810 <span class="c"> * they turn up in the dependency tree</span> |
|
811 <span class="c"> * @property ignore</span> |
|
812 <span class="c"> * @type string[]</span> |
|
813 <span class="c"> */</span> |
|
814 <span class="k">this</span><span class="o">.</span><span class="nx">ignore</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
815 |
|
816 <span class="c">/**</span> |
|
817 <span class="c"> * A list of modules that should always be loaded, even</span> |
|
818 <span class="c"> * if they have already been inserted into the page.</span> |
|
819 <span class="c"> * @property force</span> |
|
820 <span class="c"> * @type string[]</span> |
|
821 <span class="c"> */</span> |
|
822 <span class="k">this</span><span class="o">.</span><span class="nx">force</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
823 |
|
824 <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span> <span class="o">=</span> <span class="o">{};</span> |
|
825 |
|
826 <span class="c">/**</span> |
|
827 <span class="c"> * Should we allow rollups</span> |
|
828 <span class="c"> * @property allowRollup</span> |
|
829 <span class="c"> * @type boolean</span> |
|
830 <span class="c"> * @default true</span> |
|
831 <span class="c"> */</span> |
|
832 <span class="k">this</span><span class="o">.</span><span class="nx">allowRollup</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
833 |
|
834 <span class="c">/**</span> |
|
835 <span class="c"> * A filter to apply to result urls. This filter will modify the default</span> |
|
836 <span class="c"> * path for all modules. The default path for the YUI library is the</span> |
|
837 <span class="c"> * minified version of the files (e.g., event-min.js). The filter property</span> |
|
838 <span class="c"> * can be a predefined filter or a custom filter. The valid predefined </span> |
|
839 <span class="c"> * filters are:</span> |
|
840 <span class="c"> * <dl></span> |
|
841 <span class="c"> * <dt>DEBUG</dt></span> |
|
842 <span class="c"> * <dd>Selects the debug versions of the library (e.g., event-debug.js).</span> |
|
843 <span class="c"> * This option will automatically include the Logger widget</dd></span> |
|
844 <span class="c"> * <dt>RAW</dt></span> |
|
845 <span class="c"> * <dd>Selects the non-minified version of the library (e.g., event.js).</dd></span> |
|
846 <span class="c"> * </dl></span> |
|
847 <span class="c"> * You can also define a custom filter, which must be an object literal </span> |
|
848 <span class="c"> * containing a search expression and a replace string:</span> |
|
849 <span class="c"> * <pre></span> |
|
850 <span class="c"> * myFilter: &#123; </span> |
|
851 <span class="c"> * 'searchExp': "-min\\.js", </span> |
|
852 <span class="c"> * 'replaceStr': "-debug.js"</span> |
|
853 <span class="c"> * &#125;</span> |
|
854 <span class="c"> * </pre></span> |
|
855 <span class="c"> * @property filter</span> |
|
856 <span class="c"> * @type string|{searchExp: string, replaceStr: string}</span> |
|
857 <span class="c"> */</span> |
|
858 <span class="k">this</span><span class="o">.</span><span class="nx">filter</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
859 |
|
860 <span class="c">/**</span> |
|
861 <span class="c"> * per-component filter specification. If specified for a given component, this </span> |
|
862 <span class="c"> * overrides the filter config.</span> |
|
863 <span class="c"> * @property filters</span> |
|
864 <span class="c"> * @type object</span> |
|
865 <span class="c"> */</span> |
|
866 <span class="k">this</span><span class="o">.</span><span class="nx">filters</span> <span class="o">=</span> <span class="o">{};</span> |
|
867 |
|
868 <span class="c">/**</span> |
|
869 <span class="c"> * The list of requested modules</span> |
|
870 <span class="c"> * @property required</span> |
|
871 <span class="c"> * @type {string: boolean}</span> |
|
872 <span class="c"> */</span> |
|
873 <span class="k">this</span><span class="o">.</span><span class="nx">required</span> <span class="o">=</span> <span class="o">{};</span> |
|
874 |
|
875 <span class="c">/**</span> |
|
876 <span class="c"> * The library metadata</span> |
|
877 <span class="c"> * @property moduleInfo</span> |
|
878 <span class="c"> */</span> |
|
879 <span class="c">// this.moduleInfo = Y.merge(Y.Env.meta.moduleInfo);</span> |
|
880 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span> <span class="o">=</span> <span class="o">{};</span> |
|
881 |
|
882 <span class="c">/**</span> |
|
883 <span class="c"> * Provides the information used to skin the skinnable components.</span> |
|
884 <span class="c"> * The following skin definition would result in 'skin1' and 'skin2'</span> |
|
885 <span class="c"> * being loaded for calendar (if calendar was requested), and</span> |
|
886 <span class="c"> * 'sam' for all other skinnable components:</span> |
|
887 <span class="c"> *</span> |
|
888 <span class="c"> * <code></span> |
|
889 <span class="c"> * skin: {</span> |
|
890 <span class="c"> *</span> |
|
891 <span class="c"> * // The default skin, which is automatically applied if not</span> |
|
892 <span class="c"> * // overriden by a component-specific skin definition.</span> |
|
893 <span class="c"> * // Change this in to apply a different skin globally</span> |
|
894 <span class="c"> * defaultSkin: 'sam', </span> |
|
895 <span class="c"> *</span> |
|
896 <span class="c"> * // This is combined with the loader base property to get</span> |
|
897 <span class="c"> * // the default root directory for a skin. ex:</span> |
|
898 <span class="c"> * // http://yui.yahooapis.com/2.3.0/build/assets/skins/sam/</span> |
|
899 <span class="c"> * base: 'assets/skins/',</span> |
|
900 <span class="c"> *</span> |
|
901 <span class="c"> * // The name of the rollup css file for the skin</span> |
|
902 <span class="c"> * path: 'skin.css',</span> |
|
903 <span class="c"> *</span> |
|
904 <span class="c"> * // The number of skinnable components requested that are</span> |
|
905 <span class="c"> * // required before using the rollup file rather than the</span> |
|
906 <span class="c"> * // individual component css files</span> |
|
907 <span class="c"> * rollup: 3,</span> |
|
908 <span class="c"> *</span> |
|
909 <span class="c"> * // Any component-specific overrides can be specified here,</span> |
|
910 <span class="c"> * // making it possible to load different skins for different</span> |
|
911 <span class="c"> * // components. It is possible to load more than one skin</span> |
|
912 <span class="c"> * // for a given component as well.</span> |
|
913 <span class="c"> * overrides: {</span> |
|
914 <span class="c"> * calendar: ['skin1', 'skin2']</span> |
|
915 <span class="c"> * }</span> |
|
916 <span class="c"> * }</span> |
|
917 <span class="c"> * </code></span> |
|
918 <span class="c"> * @property skin</span> |
|
919 <span class="c"> */</span> |
|
920 <span class="k">this</span><span class="o">.</span><span class="nx">skin</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">skin</span><span class="o">);</span> |
|
921 |
|
922 <span class="k">var</span> <span class="nx">defaults</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">modules</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span> |
|
923 |
|
924 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">defaults</span><span class="o">)</span> <span class="o">{</span> |
|
925 <span class="k">if</span> <span class="o">(</span><span class="nx">defaults</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
926 <span class="k">this</span><span class="o">.</span><span class="nx">_internal</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
927 <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">defaults</span><span class="o">[</span><span class="nx">i</span><span class="o">],</span> <span class="nx">i</span><span class="o">);</span> |
|
928 <span class="k">this</span><span class="o">.</span><span class="nx">_internal</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
929 <span class="o">}</span> |
|
930 <span class="o">}</span> |
|
931 |
|
932 <span class="c">/**</span> |
|
933 <span class="c"> * List of rollup files found in the library metadata</span> |
|
934 <span class="c"> * @property rollups</span> |
|
935 <span class="c"> */</span> |
|
936 <span class="k">this</span><span class="o">.</span><span class="nx">rollups</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
937 |
|
938 <span class="c">/**</span> |
|
939 <span class="c"> * Whether or not to load optional dependencies for </span> |
|
940 <span class="c"> * the requested modules</span> |
|
941 <span class="c"> * @property loadOptional</span> |
|
942 <span class="c"> * @type boolean</span> |
|
943 <span class="c"> * @default false</span> |
|
944 <span class="c"> */</span> |
|
945 <span class="k">this</span><span class="o">.</span><span class="nx">loadOptional</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
946 |
|
947 <span class="c">/**</span> |
|
948 <span class="c"> * All of the derived dependencies in sorted order, which</span> |
|
949 <span class="c"> * will be populated when either calculate() or insert()</span> |
|
950 <span class="c"> * is called</span> |
|
951 <span class="c"> * @property sorted</span> |
|
952 <span class="c"> * @type string[]</span> |
|
953 <span class="c"> */</span> |
|
954 <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span> <span class="o">=</span> <span class="o">[];</span> |
|
955 |
|
956 <span class="c">/**</span> |
|
957 <span class="c"> * Set when beginning to compute the dependency tree. </span> |
|
958 <span class="c"> * Composed of what YUI reports to be loaded combined</span> |
|
959 <span class="c"> * with what has been loaded by any instance on the page</span> |
|
960 <span class="c"> * with the version number specified in the metadata.</span> |
|
961 <span class="c"> * @propery loaded</span> |
|
962 <span class="c"> * @type {string: boolean}</span> |
|
963 <span class="c"> */</span> |
|
964 <span class="k">this</span><span class="o">.</span><span class="nx">loaded</span> <span class="o">=</span> <span class="nx">GLOBAL_LOADED</span><span class="o">[</span><span class="nx">VERSION</span><span class="o">];</span> |
|
965 |
|
966 <span class="c">/**</span> |
|
967 <span class="c"> * A list of modules to attach to the YUI instance when complete.</span> |
|
968 <span class="c"> * If not supplied, the sorted list of dependencies are applied.</span> |
|
969 <span class="c"> * @property attaching</span> |
|
970 <span class="c"> */</span> |
|
971 <span class="k">this</span><span class="o">.</span><span class="nx">attaching</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
972 |
|
973 <span class="c">/**</span> |
|
974 <span class="c"> * Flag to indicate the dependency tree needs to be recomputed</span> |
|
975 <span class="c"> * if insert is called again.</span> |
|
976 <span class="c"> * @property dirty</span> |
|
977 <span class="c"> * @type boolean</span> |
|
978 <span class="c"> * @default true</span> |
|
979 <span class="c"> */</span> |
|
980 <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
981 |
|
982 <span class="c">/**</span> |
|
983 <span class="c"> * List of modules inserted by the utility</span> |
|
984 <span class="c"> * @property inserted</span> |
|
985 <span class="c"> * @type {string: boolean}</span> |
|
986 <span class="c"> */</span> |
|
987 <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span> <span class="o">=</span> <span class="o">{};</span> |
|
988 |
|
989 <span class="c">/**</span> |
|
990 <span class="c"> * List of skipped modules during insert() because the module</span> |
|
991 <span class="c"> * was not defined</span> |
|
992 <span class="c"> * @property skipped</span> |
|
993 <span class="c"> */</span> |
|
994 <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span> <span class="o">=</span> <span class="o">{};</span> |
|
995 |
|
996 |
|
997 <span class="c">// Y.on('yui:load', this.loadNext, this);</span> |
|
998 <span class="c"></span> |
|
999 <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span> |
|
1000 |
|
1001 <span class="o">};</span> |
|
1002 |
|
1003 <span class="nx">Y</span><span class="o">.</span><span class="nx">Loader</span><span class="o">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="o">{</span> |
|
1004 |
|
1005 <span class="nx">FILTER_DEFS</span><span class="o">:</span> <span class="o">{</span> |
|
1006 <span class="nx">RAW</span><span class="o">:</span> <span class="o">{</span> |
|
1007 <span class="s1">'searchExp'</span><span class="o">:</span> <span class="s2">"-min\\.js"</span><span class="o">,</span> |
|
1008 <span class="s1">'replaceStr'</span><span class="o">:</span> <span class="s2">".js"</span> |
|
1009 <span class="o">},</span> |
|
1010 <span class="nx">DEBUG</span><span class="o">:</span> <span class="o">{</span> |
|
1011 <span class="s1">'searchExp'</span><span class="o">:</span> <span class="s2">"-min\\.js"</span><span class="o">,</span> |
|
1012 <span class="s1">'replaceStr'</span><span class="o">:</span> <span class="s2">"-debug.js"</span> |
|
1013 <span class="o">}</span> |
|
1014 <span class="o">},</span> |
|
1015 |
|
1016 <span class="nx">SKIN_PREFIX</span><span class="o">:</span> <span class="s2">"skin-"</span><span class="o">,</span> |
|
1017 |
|
1018 <span class="nx">_config</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1019 |
|
1020 <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">val</span><span class="o">,</span> <span class="nx">f</span><span class="o">;</span> |
|
1021 |
|
1022 <span class="c">// apply config values</span> |
|
1023 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1024 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1025 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1026 <span class="nx">val</span> <span class="o">=</span> <span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
1027 <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">==</span> <span class="s1">'require'</span><span class="o">)</span> <span class="o">{</span> |
|
1028 <span class="k">this</span><span class="o">.</span><span class="nx">require</span><span class="o">(</span><span class="nx">val</span><span class="o">);</span> |
|
1029 <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">==</span> <span class="s1">'modules'</span><span class="o">)</span> <span class="o">{</span> |
|
1030 |
|
1031 <span class="c">// add a hash of module definitions</span> |
|
1032 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">j</span> <span class="k">in</span> <span class="nx">val</span><span class="o">)</span> <span class="o">{</span> |
|
1033 <span class="k">if</span> <span class="o">(</span><span class="nx">val</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">j</span><span class="o">))</span> <span class="o">{</span> |
|
1034 <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">val</span><span class="o">[</span><span class="nx">j</span><span class="o">],</span> <span class="nx">j</span><span class="o">);</span> |
|
1035 <span class="o">}</span> |
|
1036 <span class="o">}</span> |
|
1037 |
|
1038 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1039 <span class="k">this</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="nx">val</span><span class="o">;</span> |
|
1040 <span class="o">}</span> |
|
1041 <span class="o">}</span> |
|
1042 <span class="o">}</span> |
|
1043 <span class="o">}</span> |
|
1044 |
|
1045 <span class="c">// fix filter</span> |
|
1046 <span class="c"></span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">filter</span><span class="o">;</span> |
|
1047 |
|
1048 <span class="k">if</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">f</span><span class="o">))</span> <span class="o">{</span> |
|
1049 <span class="nx">f</span> <span class="o">=</span> <span class="nx">f</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">();</span> |
|
1050 <span class="k">this</span><span class="o">.</span><span class="nx">filterName</span> <span class="o">=</span> <span class="nx">f</span><span class="o">;</span> |
|
1051 <span class="k">this</span><span class="o">.</span><span class="nx">filter</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">FILTER_DEFS</span><span class="o">[</span><span class="nx">f</span><span class="o">];</span> |
|
1052 <span class="o">}</span> |
|
1053 |
|
1054 <span class="o">},</span> |
|
1055 |
|
1056 <span class="c">/**</span> |
|
1057 <span class="c"> * Returns the skin module name for the specified skin name. If a</span> |
|
1058 <span class="c"> * module name is supplied, the returned skin module name is </span> |
|
1059 <span class="c"> * specific to the module passed in.</span> |
|
1060 <span class="c"> * @method formatSkin</span> |
|
1061 <span class="c"> * @param skin {string} the name of the skin</span> |
|
1062 <span class="c"> * @param mod {string} optional: the name of a module to skin</span> |
|
1063 <span class="c"> * @return {string} the full skin module name</span> |
|
1064 <span class="c"> */</span> |
|
1065 <span class="nx">formatSkin</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1066 <span class="k">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">SKIN_PREFIX</span> <span class="o">+</span> <span class="nx">skin</span><span class="o">;</span> |
|
1067 <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1068 <span class="nx">s</span> <span class="o">=</span> <span class="nx">s</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="nx">mod</span><span class="o">;</span> |
|
1069 <span class="o">}</span> |
|
1070 |
|
1071 <span class="k">return</span> <span class="nx">s</span><span class="o">;</span> |
|
1072 <span class="o">},</span> |
|
1073 |
|
1074 <span class="c">/*</span> |
|
1075 <span class="c"> * Reverses <code>formatSkin</code>, providing the skin name and</span> |
|
1076 <span class="c"> * module name if the string matches the pattern for skins.</span> |
|
1077 <span class="c"> * @method parseSkin</span> |
|
1078 <span class="c"> * @param mod {string} the module name to parse</span> |
|
1079 <span class="c"> * @return {skin: string, module: string} the parsed skin name </span> |
|
1080 <span class="c"> * and module name, or null if the supplied string does not match</span> |
|
1081 <span class="c"> * the skin pattern</span> |
|
1082 <span class="c"> * </span> |
|
1083 <span class="c"> * This isn't being used at the moment</span> |
|
1084 <span class="c"> *</span> |
|
1085 <span class="c"> */</span> |
|
1086 <span class="c">// parseSkin: function(mod) {</span> |
|
1087 <span class="c"></span> <span class="c">// </span> |
|
1088 <span class="c"></span> <span class="c">// if (mod.indexOf(this.SKIN_PREFIX) === 0) {</span> |
|
1089 <span class="c"></span> <span class="c">// var a = mod.split("-");</span> |
|
1090 <span class="c"></span> <span class="c">// return {skin: a[1], module: a[2]};</span> |
|
1091 <span class="c"></span> <span class="c">// } </span> |
|
1092 <span class="c"></span> <span class="c">// return null;</span> |
|
1093 <span class="c"></span> <span class="c">// },</span> |
|
1094 <span class="c"></span> |
|
1095 <span class="c">/**</span> |
|
1096 <span class="c"> * Adds the skin def to the module info</span> |
|
1097 <span class="c"> * @method _addSkin</span> |
|
1098 <span class="c"> * @param skin {string} the name of the skin</span> |
|
1099 <span class="c"> * @param mod {string} the name of the module</span> |
|
1100 <span class="c"> * @param parent {string} parent module if this is a skin of a</span> |
|
1101 <span class="c"> * submodule or plugin</span> |
|
1102 <span class="c"> * @return {string} the module name for the skin</span> |
|
1103 <span class="c"> * @private</span> |
|
1104 <span class="c"> */</span> |
|
1105 <span class="nx">_addSkin</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">,</span> <span class="nx">parent</span><span class="o">)</span> <span class="o">{</span> |
|
1106 |
|
1107 <span class="k">var</span> <span class="nx">name</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">formatSkin</span><span class="o">(</span><span class="nx">skin</span><span class="o">),</span> |
|
1108 <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> |
|
1109 <span class="nx">sinf</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">,</span> |
|
1110 <span class="nx">ext</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">]</span> <span class="o">&&</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">].</span><span class="nx">ext</span><span class="o">,</span> |
|
1111 <span class="nx">mdef</span><span class="o">,</span> <span class="nx">pkg</span><span class="o">;</span> |
|
1112 |
|
1113 <span class="c">/*</span> |
|
1114 <span class="c"> // Add a module definition for the skin rollup css</span> |
|
1115 <span class="c"> // Y.log('ext? ' + mod + ": " + ext);</span> |
|
1116 <span class="c"> if (!info[name]) {</span> |
|
1117 <span class="c"> // Y.log('adding skin ' + name);</span> |
|
1118 <span class="c"> this.addModule({</span> |
|
1119 <span class="c"> 'name': name,</span> |
|
1120 <span class="c"> 'type': 'css',</span> |
|
1121 <span class="c"> 'path': sinf.base + skin + '/' + sinf.path,</span> |
|
1122 <span class="c"> //'supersedes': '*',</span> |
|
1123 <span class="c"> 'after': sinf.after,</span> |
|
1124 <span class="c"> 'rollup': sinf.rollup,</span> |
|
1125 <span class="c"> 'ext': ext</span> |
|
1126 <span class="c"> });</span> |
|
1127 <span class="c"> }</span> |
|
1128 <span class="c"> */</span> |
|
1129 |
|
1130 <span class="c">// Add a module definition for the module-specific skin css</span> |
|
1131 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1132 <span class="nx">name</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">formatSkin</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">);</span> |
|
1133 <span class="k">if</span> <span class="o">(!</span><span class="nx">info</span><span class="o">[</span><span class="nx">name</span><span class="o">])</span> <span class="o">{</span> |
|
1134 <span class="nx">mdef</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">];</span> |
|
1135 <span class="nx">pkg</span> <span class="o">=</span> <span class="nx">mdef</span><span class="o">.</span><span class="nx">pkg</span> <span class="o">||</span> <span class="nx">mod</span><span class="o">;</span> |
|
1136 <span class="c">// Y.log('adding skin ' + name);</span> |
|
1137 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">({</span> |
|
1138 <span class="s1">'name'</span><span class="o">:</span> <span class="nx">name</span><span class="o">,</span> |
|
1139 <span class="s1">'type'</span><span class="o">:</span> <span class="s1">'css'</span><span class="o">,</span> |
|
1140 <span class="s1">'after'</span><span class="o">:</span> <span class="nx">sinf</span><span class="o">.</span><span class="nx">after</span><span class="o">,</span> |
|
1141 <span class="s1">'path'</span><span class="o">:</span> <span class="o">(</span><span class="nx">parent</span> <span class="o">||</span> <span class="nx">pkg</span><span class="o">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="nx">sinf</span><span class="o">.</span><span class="nx">base</span> <span class="o">+</span> <span class="nx">skin</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="nx">mod</span> <span class="o">+</span> <span class="s1">'.css'</span><span class="o">,</span> |
|
1142 <span class="s1">'ext'</span><span class="o">:</span> <span class="nx">ext</span> |
|
1143 <span class="o">});</span> |
|
1144 <span class="o">}</span> |
|
1145 <span class="o">}</span> |
|
1146 |
|
1147 <span class="k">return</span> <span class="nx">name</span><span class="o">;</span> |
|
1148 <span class="o">},</span> |
|
1149 |
|
1150 <span class="c">/** Add a new module to the component metadata. </span> |
|
1151 <span class="c"> * <dl></span> |
|
1152 <span class="c"> * <dt>name:</dt> <dd>required, the component name</dd></span> |
|
1153 <span class="c"> * <dt>type:</dt> <dd>required, the component type (js or css)</dd></span> |
|
1154 <span class="c"> * <dt>path:</dt> <dd>required, the path to the script from "base"</dd></span> |
|
1155 <span class="c"> * <dt>requires:</dt> <dd>array of modules required by this component</dd></span> |
|
1156 <span class="c"> * <dt>optional:</dt> <dd>array of optional modules for this component</dd></span> |
|
1157 <span class="c"> * <dt>supersedes:</dt> <dd>array of the modules this component replaces</dd></span> |
|
1158 <span class="c"> * <dt>after:</dt> <dd>array of modules the components which, if present, should be sorted above this one</dd></span> |
|
1159 <span class="c"> * <dt>rollup:</dt> <dd>the number of superseded modules required for automatic rollup</dd></span> |
|
1160 <span class="c"> * <dt>fullpath:</dt> <dd>If fullpath is specified, this is used instead of the configured base + path</dd></span> |
|
1161 <span class="c"> * <dt>skinnable:</dt> <dd>flag to determine if skin assets should automatically be pulled in</dd></span> |
|
1162 <span class="c"> * <dt>submodules:</dt> <dd>a has of submodules</dd></span> |
|
1163 <span class="c"> * </dl></span> |
|
1164 <span class="c"> * @method addModule</span> |
|
1165 <span class="c"> * @param o An object containing the module data</span> |
|
1166 <span class="c"> * @param name the module name (optional), required if not in the module data</span> |
|
1167 <span class="c"> * @return {boolean} true if the module was added, false if </span> |
|
1168 <span class="c"> * the object passed in did not provide all required attributes</span> |
|
1169 <span class="c"> */</span> |
|
1170 <span class="nx">addModule</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
1171 |
|
1172 <span class="nx">name</span> <span class="o">=</span> <span class="nx">name</span> <span class="o">||</span> <span class="nx">o</span><span class="o">.</span><span class="nx">name</span><span class="o">;</span> |
|
1173 <span class="nx">o</span><span class="o">.</span><span class="nx">name</span> <span class="o">=</span> <span class="nx">name</span><span class="o">;</span> |
|
1174 |
|
1175 <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span> <span class="o">||</span> <span class="o">!</span><span class="nx">o</span><span class="o">.</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
1176 <span class="k">return</span> <span class="kc">false</span><span class="o">;</span> |
|
1177 <span class="o">}</span> |
|
1178 |
|
1179 <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
1180 <span class="nx">o</span><span class="o">.</span><span class="nx">type</span> <span class="o">=</span> <span class="nx">JS</span><span class="o">;</span> |
|
1181 <span class="o">}</span> |
|
1182 |
|
1183 <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span><span class="o">.</span><span class="nx">path</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">o</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">)</span> <span class="o">{</span> |
|
1184 <span class="c">// o.path = name + "/" + name + "-min." + o.type;</span> |
|
1185 <span class="c"></span> <span class="nx">o</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">name</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span> |
|
1186 <span class="o">}</span> |
|
1187 |
|
1188 <span class="nx">o</span><span class="o">.</span><span class="nx">ext</span> <span class="o">=</span> <span class="o">(</span><span class="s1">'ext'</span> <span class="k">in</span> <span class="nx">o</span><span class="o">)</span> <span class="o">?</span> <span class="nx">o</span><span class="o">.</span><span class="nx">ext</span> <span class="o">:</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_internal</span><span class="o">)</span> <span class="o">?</span> <span class="kc">false</span> <span class="o">:</span> <span class="kc">true</span><span class="o">;</span> |
|
1189 <span class="nx">o</span><span class="o">.</span><span class="nx">requires</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">requires</span> <span class="o">||</span> <span class="o">[];</span> |
|
1190 |
|
1191 <span class="c">// Y.log('New module ' + name);</span> |
|
1192 <span class="c"></span> |
|
1193 <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">[</span><span class="nx">name</span><span class="o">]</span> <span class="o">=</span> <span class="nx">o</span><span class="o">;</span> |
|
1194 |
|
1195 <span class="c">// Handle submodule logic</span> |
|
1196 <span class="c"></span> <span class="k">var</span> <span class="nx">subs</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">submodules</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">sup</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">smod</span><span class="o">,</span> <span class="nx">plugins</span><span class="o">,</span> <span class="nx">plug</span><span class="o">;</span> |
|
1197 <span class="k">if</span> <span class="o">(</span><span class="nx">subs</span><span class="o">)</span> <span class="o">{</span> |
|
1198 <span class="nx">sup</span> <span class="o">=</span> <span class="o">[];</span> |
|
1199 <span class="nx">l</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> |
|
1200 |
|
1201 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">subs</span><span class="o">)</span> <span class="o">{</span> |
|
1202 <span class="k">if</span> <span class="o">(</span><span class="nx">subs</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1203 <span class="nx">s</span> <span class="o">=</span> <span class="nx">subs</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
1204 <span class="nx">s</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span> |
|
1205 <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">s</span><span class="o">,</span> <span class="nx">i</span><span class="o">);</span> |
|
1206 <span class="nx">sup</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> |
|
1207 |
|
1208 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span> |
|
1209 <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span> |
|
1210 <span class="nx">sup</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">smod</span><span class="o">.</span><span class="nx">name</span><span class="o">);</span> |
|
1211 <span class="o">}</span> |
|
1212 |
|
1213 <span class="nx">l</span><span class="o">++;</span> |
|
1214 <span class="o">}</span> |
|
1215 <span class="o">}</span> |
|
1216 |
|
1217 <span class="nx">o</span><span class="o">.</span><span class="nx">supersedes</span> <span class="o">=</span> <span class="nx">sup</span><span class="o">;</span> |
|
1218 <span class="nx">o</span><span class="o">.</span><span class="nx">rollup</span> <span class="o">=</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">min</span><span class="o">(</span><span class="nx">l</span><span class="o">-</span><span class="m">1</span><span class="o">,</span> <span class="m">4</span><span class="o">);</span> |
|
1219 <span class="o">}</span> |
|
1220 |
|
1221 <span class="nx">plugins</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">plugins</span><span class="o">;</span> |
|
1222 <span class="k">if</span> <span class="o">(</span><span class="nx">plugins</span><span class="o">)</span> <span class="o">{</span> |
|
1223 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">plugins</span><span class="o">)</span> <span class="o">{</span> |
|
1224 <span class="k">if</span> <span class="o">(</span><span class="nx">plugins</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1225 <span class="nx">plug</span> <span class="o">=</span> <span class="nx">plugins</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
1226 <span class="nx">plug</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span> |
|
1227 <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span> <span class="o">=</span> <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span> <span class="o">||</span> <span class="o">[];</span> |
|
1228 <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">name</span><span class="o">);</span> |
|
1229 <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">plug</span><span class="o">,</span> <span class="nx">i</span><span class="o">);</span> |
|
1230 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span> |
|
1231 <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span> |
|
1232 <span class="o">}</span> |
|
1233 <span class="o">}</span> |
|
1234 <span class="o">}</span> |
|
1235 <span class="o">}</span> |
|
1236 |
|
1237 <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1238 |
|
1239 <span class="k">return</span> <span class="nx">o</span><span class="o">;</span> |
|
1240 <span class="o">},</span> |
|
1241 |
|
1242 <span class="c">/**</span> |
|
1243 <span class="c"> * Add a requirement for one or more module</span> |
|
1244 <span class="c"> * @method require</span> |
|
1245 <span class="c"> * @param what {string[] | string*} the modules to load</span> |
|
1246 <span class="c"> */</span> |
|
1247 <span class="nx">require</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">what</span><span class="o">)</span> <span class="o">{</span> |
|
1248 <span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="k">typeof</span> <span class="nx">what</span> <span class="o">===</span> <span class="s2">"string"</span><span class="o">)</span> <span class="o">?</span> <span class="nx">arguments</span> <span class="o">:</span> <span class="nx">what</span><span class="o">;</span> |
|
1249 <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1250 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">a</span><span class="o">));</span> |
|
1251 <span class="o">},</span> |
|
1252 |
|
1253 <span class="c">/**</span> |
|
1254 <span class="c"> * Returns an object containing properties for all modules required</span> |
|
1255 <span class="c"> * in order to load the requested module</span> |
|
1256 <span class="c"> * @method getRequires</span> |
|
1257 <span class="c"> * @param mod The module definition from moduleInfo</span> |
|
1258 <span class="c"> */</span> |
|
1259 <span class="nx">getRequires</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1260 |
|
1261 <span class="k">if</span> <span class="o">(!</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1262 <span class="c">// Y.log('getRequires, no module');</span> |
|
1263 <span class="c"></span> <span class="k">return</span> <span class="o">[];</span> |
|
1264 <span class="o">}</span> |
|
1265 |
|
1266 <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">&&</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">)</span> <span class="o">{</span> |
|
1267 <span class="c">// Y.log('already expanded');</span> |
|
1268 <span class="c"></span> <span class="k">return</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span> |
|
1269 <span class="o">}</span> |
|
1270 |
|
1271 <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">d</span><span class="o">=[],</span> <span class="nx">r</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">requires</span><span class="o">,</span> <span class="nx">o</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">optional</span><span class="o">,</span> |
|
1272 <span class="nx">info</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">add</span><span class="o">;</span> |
|
1273 |
|
1274 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">r</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1275 <span class="c">// Y.log(mod.name + ' requiring ' + r[i]);</span> |
|
1276 <span class="c"></span> <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1277 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1278 <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span> |
|
1279 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o"><</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1280 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span> |
|
1281 <span class="o">}</span> |
|
1282 <span class="o">}</span> |
|
1283 |
|
1284 <span class="c">// get the requirements from superseded modules, if any</span> |
|
1285 <span class="c"></span> <span class="nx">r</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span> |
|
1286 <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">)</span> <span class="o">{</span> |
|
1287 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">r</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1288 <span class="c">// Y.log(mod.name + ' requiring ' + r[i]);</span> |
|
1289 <span class="c"></span> <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1290 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1291 <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span> |
|
1292 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o"><</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1293 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span> |
|
1294 <span class="o">}</span> |
|
1295 <span class="o">}</span> |
|
1296 <span class="o">}</span> |
|
1297 |
|
1298 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">&&</span> <span class="k">this</span><span class="o">.</span><span class="nx">loadOptional</span><span class="o">)</span> <span class="o">{</span> |
|
1299 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">o</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1300 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1301 <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">info</span><span class="o">[</span><span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">]]);</span> |
|
1302 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o"><</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1303 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span> |
|
1304 <span class="o">}</span> |
|
1305 <span class="o">}</span> |
|
1306 <span class="o">}</span> |
|
1307 |
|
1308 <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Object</span><span class="o">.</span><span class="nx">keys</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">d</span><span class="o">));</span> |
|
1309 |
|
1310 <span class="c">// Y.log(mod.expanded);</span> |
|
1311 <span class="c"></span> |
|
1312 <span class="k">return</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span> |
|
1313 <span class="o">},</span> |
|
1314 |
|
1315 |
|
1316 <span class="c">/**</span> |
|
1317 <span class="c"> * Returns an object literal of the modules the supplied module satisfies</span> |
|
1318 <span class="c"> * @method getProvides</span> |
|
1319 <span class="c"> * @param name{string} The name of the module</span> |
|
1320 <span class="c"> * @param notMe {string} don't add this module name, only include superseded modules</span> |
|
1321 <span class="c"> * @return what this module provides</span> |
|
1322 <span class="c"> */</span> |
|
1323 <span class="nx">getProvides</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">notMe</span><span class="o">)</span> <span class="o">{</span> |
|
1324 <span class="k">var</span> <span class="nx">addMe</span> <span class="o">=</span> <span class="o">!(</span><span class="nx">notMe</span><span class="o">),</span> <span class="nx">ckey</span> <span class="o">=</span> <span class="o">(</span><span class="nx">addMe</span><span class="o">)</span> <span class="o">?</span> <span class="nx">PROV</span> <span class="o">:</span> <span class="nx">SUPER</span><span class="o">,</span> |
|
1325 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">name</span><span class="o">),</span> <span class="nx">o</span> <span class="o">=</span> <span class="o">{},</span> |
|
1326 <span class="nx">s</span><span class="o">,</span> <span class="nx">done</span><span class="o">,</span> <span class="nx">me</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> |
|
1327 |
|
1328 <span class="c">// use worker to break cycles</span> |
|
1329 <span class="c"></span> <span class="nx">add</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">mm</span><span class="o">)</span> <span class="o">{</span> |
|
1330 <span class="k">if</span> <span class="o">(!</span><span class="nx">done</span><span class="o">[</span><span class="nx">mm</span><span class="o">])</span> <span class="o">{</span> |
|
1331 <span class="c">// Y.log(name + ' provides worker trying: ' + mm);</span> |
|
1332 <span class="c"></span> <span class="nx">done</span><span class="o">[</span><span class="nx">mm</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1333 <span class="c">// we always want the return value normal behavior </span> |
|
1334 <span class="c"></span> <span class="c">// (provides) for superseded modules.</span> |
|
1335 <span class="c"></span> <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getProvides</span><span class="o">(</span><span class="nx">mm</span><span class="o">));</span> |
|
1336 <span class="o">}</span> |
|
1337 |
|
1338 <span class="c">// else {</span> |
|
1339 <span class="c"></span> <span class="c">// Y.log(name + ' provides worker skipping done: ' + mm);</span> |
|
1340 <span class="c"></span> <span class="c">// }</span> |
|
1341 <span class="c"></span> <span class="o">};</span> |
|
1342 |
|
1343 <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span> |
|
1344 <span class="k">return</span> <span class="nx">o</span><span class="o">;</span> |
|
1345 <span class="o">}</span> |
|
1346 |
|
1347 <span class="k">if</span> <span class="o">(</span><span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">])</span> <span class="o">{</span> |
|
1348 <span class="c">// Y.log('cached: ' + name + ' ' + ckey + ' ' + L.dump(this.moduleInfo[name][ckey], 0));</span> |
|
1349 <span class="c"></span> <span class="k">return</span> <span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">];</span> |
|
1350 <span class="o">}</span> |
|
1351 |
|
1352 <span class="nx">s</span> <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span> |
|
1353 <span class="nx">done</span> <span class="o">=</span> <span class="o">{};</span> |
|
1354 <span class="nx">me</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span> |
|
1355 |
|
1356 |
|
1357 <span class="c">// calculate superseded modules</span> |
|
1358 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span> |
|
1359 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1360 <span class="nx">add</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1361 <span class="o">}</span> |
|
1362 <span class="o">}</span> |
|
1363 |
|
1364 <span class="c">// supersedes cache</span> |
|
1365 <span class="c"></span> <span class="nx">m</span><span class="o">[</span><span class="nx">SUPER</span><span class="o">]</span> <span class="o">=</span> <span class="nx">o</span><span class="o">;</span> |
|
1366 <span class="c">// provides cache</span> |
|
1367 <span class="c"></span> <span class="nx">m</span><span class="o">[</span><span class="nx">PROV</span><span class="o">]</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span> |
|
1368 <span class="nx">m</span><span class="o">[</span><span class="nx">PROV</span><span class="o">][</span><span class="nx">name</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1369 |
|
1370 <span class="c">// Y.log(name + " supersedes " + L.dump(m[SUPER], 0));</span> |
|
1371 <span class="c">// Y.log(name + " provides " + L.dump(m[PROV], 0));</span> |
|
1372 <span class="c"></span> |
|
1373 <span class="k">return</span> <span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">];</span> |
|
1374 <span class="o">},</span> |
|
1375 |
|
1376 |
|
1377 <span class="c">/**</span> |
|
1378 <span class="c"> * Calculates the dependency tree, the result is stored in the sorted </span> |
|
1379 <span class="c"> * property</span> |
|
1380 <span class="c"> * @method calculate</span> |
|
1381 <span class="c"> * @param o optional options object</span> |
|
1382 <span class="c"> */</span> |
|
1383 <span class="nx">calculate</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1384 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span><span class="o">)</span> <span class="o">{</span> |
|
1385 <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span> |
|
1386 <span class="k">this</span><span class="o">.</span><span class="nx">_setup</span><span class="o">();</span> |
|
1387 <span class="k">this</span><span class="o">.</span><span class="nx">_explode</span><span class="o">();</span> |
|
1388 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">allowRollup</span> <span class="o">&&</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">combine</span><span class="o">)</span> <span class="o">{</span> |
|
1389 <span class="k">this</span><span class="o">.</span><span class="nx">_rollup</span><span class="o">();</span> |
|
1390 <span class="o">}</span> |
|
1391 <span class="k">this</span><span class="o">.</span><span class="nx">_reduce</span><span class="o">();</span> |
|
1392 <span class="k">this</span><span class="o">.</span><span class="nx">_sort</span><span class="o">();</span> |
|
1393 |
|
1394 <span class="c">// Y.log("after calculate: " + this.sorted);</span> |
|
1395 <span class="c"></span> |
|
1396 <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1397 <span class="o">}</span> |
|
1398 <span class="o">},</span> |
|
1399 |
|
1400 <span class="c">/**</span> |
|
1401 <span class="c"> * Investigates the current YUI configuration on the page. By default,</span> |
|
1402 <span class="c"> * modules already detected will not be loaded again unless a force</span> |
|
1403 <span class="c"> * option is encountered. Called by calculate()</span> |
|
1404 <span class="c"> * @method _setup</span> |
|
1405 <span class="c"> * @private</span> |
|
1406 <span class="c"> */</span> |
|
1407 <span class="nx">_setup</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1408 |
|
1409 <span class="k">var</span> <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">smod</span><span class="o">;</span> |
|
1410 |
|
1411 <span class="c">// Create skin modules</span> |
|
1412 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">info</span><span class="o">)</span> <span class="o">{</span> |
|
1413 <span class="k">if</span> <span class="o">(</span><span class="nx">info</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">name</span><span class="o">))</span> <span class="o">{</span> |
|
1414 <span class="nx">m</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span> |
|
1415 <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&&</span> <span class="nx">m</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span> |
|
1416 <span class="c">// Y.log("skinning: " + name);</span> |
|
1417 <span class="c"></span> <span class="nx">o</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">overrides</span><span class="o">;</span> |
|
1418 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">&&</span> <span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">])</span> <span class="o">{</span> |
|
1419 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">].</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1420 <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">][</span><span class="nx">i</span><span class="o">],</span> <span class="nx">name</span><span class="o">);</span> |
|
1421 <span class="o">}</span> |
|
1422 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1423 <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span> |
|
1424 <span class="o">}</span> |
|
1425 |
|
1426 <span class="nx">m</span><span class="o">.</span><span class="nx">requires</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">smod</span><span class="o">);</span> |
|
1427 <span class="o">}</span> |
|
1428 <span class="o">}</span> |
|
1429 <span class="o">}</span> |
|
1430 |
|
1431 <span class="nx">l</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">);</span> <span class="c">// shallow clone</span> |
|
1432 <span class="c"></span> |
|
1433 <span class="c">// available modules</span> |
|
1434 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span><span class="o">)</span> <span class="o">{</span> |
|
1435 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="nx">GLOBAL_ENV</span><span class="o">.</span><span class="nx">mods</span><span class="o">);</span> |
|
1436 <span class="o">}</span> |
|
1437 |
|
1438 <span class="c">// Y.log("Already loaded stuff: " + L.dump(l, 0));</span> |
|
1439 <span class="c"></span> |
|
1440 <span class="c">// add the ignore list to the list of loaded packages</span> |
|
1441 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">ignore</span><span class="o">)</span> <span class="o">{</span> |
|
1442 <span class="c">// OU.appendArray(l, this.ignore);</span> |
|
1443 <span class="c"></span> <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">ignore</span><span class="o">));</span> |
|
1444 <span class="o">}</span> |
|
1445 |
|
1446 <span class="c">// expand the list to include superseded modules</span> |
|
1447 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">j</span> <span class="k">in</span> <span class="nx">l</span><span class="o">)</span> <span class="o">{</span> |
|
1448 <span class="c">// Y.log("expanding: " + j);</span> |
|
1449 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">l</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">j</span><span class="o">))</span> <span class="o">{</span> |
|
1450 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">getProvides</span><span class="o">(</span><span class="nx">j</span><span class="o">));</span> |
|
1451 <span class="o">}</span> |
|
1452 <span class="o">}</span> |
|
1453 |
|
1454 <span class="c">// remove modules on the force list from the loaded list</span> |
|
1455 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">{</span> |
|
1456 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1457 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="k">in</span> <span class="nx">l</span><span class="o">)</span> <span class="o">{</span> |
|
1458 <span class="nx">delete</span> <span class="nx">l</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">[</span><span class="nx">i</span><span class="o">]];</span> |
|
1459 <span class="o">}</span> |
|
1460 <span class="o">}</span> |
|
1461 <span class="o">}</span> |
|
1462 |
|
1463 <span class="c">// Y.log("loaded expanded: " + L.dump(l, 0));</span> |
|
1464 <span class="c"></span> |
|
1465 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">,</span> <span class="nx">l</span><span class="o">);</span> |
|
1466 |
|
1467 <span class="c">// this.loaded = l;</span> |
|
1468 <span class="c"></span> |
|
1469 <span class="o">},</span> |
|
1470 |
|
1471 |
|
1472 <span class="c">/**</span> |
|
1473 <span class="c"> * Inspects the required modules list looking for additional </span> |
|
1474 <span class="c"> * dependencies. Expands the required list to include all </span> |
|
1475 <span class="c"> * required modules. Called by calculate()</span> |
|
1476 <span class="c"> * @method _explode</span> |
|
1477 <span class="c"> * @private</span> |
|
1478 <span class="c"> */</span> |
|
1479 <span class="nx">_explode</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1480 |
|
1481 <span class="k">var</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">mod</span><span class="o">,</span> <span class="nx">req</span><span class="o">,</span> <span class="nx">me</span> <span class="o">=</span> <span class="k">this</span><span class="o">,</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
1482 |
|
1483 <span class="nx">mod</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">name</span><span class="o">);</span> |
|
1484 |
|
1485 <span class="k">var</span> <span class="nx">expound</span> <span class="o">=</span> <span class="nx">mod</span> <span class="o">&&</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expound</span><span class="o">;</span> |
|
1486 <span class="c">// Y.log('exploding ' + i);</span> |
|
1487 <span class="c"></span> |
|
1488 <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span> |
|
1489 |
|
1490 <span class="k">if</span> <span class="o">(</span><span class="nx">expound</span><span class="o">)</span> <span class="o">{</span> |
|
1491 <span class="nx">r</span><span class="o">[</span><span class="nx">expound</span><span class="o">]</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">expound</span><span class="o">);</span> |
|
1492 <span class="nx">req</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">expound</span><span class="o">]);</span> |
|
1493 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">r</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">req</span><span class="o">));</span> |
|
1494 <span class="o">}</span> |
|
1495 |
|
1496 <span class="nx">req</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">mod</span><span class="o">);</span> |
|
1497 |
|
1498 <span class="c">// Y.log('via explode: ' + req);</span> |
|
1499 <span class="c"></span> <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">r</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">req</span><span class="o">));</span> |
|
1500 <span class="o">}</span> |
|
1501 <span class="o">};</span> |
|
1502 |
|
1503 |
|
1504 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span> |
|
1505 <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1506 <span class="nx">f</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> |
|
1507 <span class="o">}</span> |
|
1508 <span class="o">}</span> |
|
1509 <span class="o">},</span> |
|
1510 |
|
1511 <span class="nx">getModule</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
1512 |
|
1513 <span class="k">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span> |
|
1514 |
|
1515 <span class="c">// create the default module</span> |
|
1516 <span class="c"></span> <span class="c">// if (!m) {</span> |
|
1517 <span class="c"></span> <span class="c">// Y.log('Module does not exist: ' + name + ', creating with defaults');</span> |
|
1518 <span class="c"></span> <span class="c">// m = this.addModule({ext: false}, name);</span> |
|
1519 <span class="c"></span> <span class="c">// }</span> |
|
1520 <span class="c"></span> |
|
1521 <span class="k">return</span> <span class="nx">m</span><span class="o">;</span> |
|
1522 <span class="o">},</span> |
|
1523 |
|
1524 <span class="c">/**</span> |
|
1525 <span class="c"> * Look for rollup packages to determine if all of the modules a</span> |
|
1526 <span class="c"> * rollup supersedes are required. If so, include the rollup to</span> |
|
1527 <span class="c"> * help reduce the total number of connections required. Called</span> |
|
1528 <span class="c"> * by calculate()</span> |
|
1529 <span class="c"> * @method _rollup</span> |
|
1530 <span class="c"> * @private</span> |
|
1531 <span class="c"> */</span> |
|
1532 <span class="nx">_rollup</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1533 <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">rollups</span><span class="o">={},</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">roll</span><span class="o">,</span> |
|
1534 <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">rolled</span><span class="o">,</span> <span class="nx">c</span><span class="o">;</span> |
|
1535 |
|
1536 <span class="c">// find and cache rollup modules</span> |
|
1537 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">||</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">rollups</span><span class="o">)</span> <span class="o">{</span> |
|
1538 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">info</span><span class="o">)</span> <span class="o">{</span> |
|
1539 <span class="k">if</span> <span class="o">(</span><span class="nx">info</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1540 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> |
|
1541 <span class="c">// if (m && m.rollup && m.supersedes) {</span> |
|
1542 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&&</span> <span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">)</span> <span class="o">{</span> |
|
1543 <span class="nx">rollups</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="nx">m</span><span class="o">;</span> |
|
1544 <span class="o">}</span> |
|
1545 <span class="o">}</span> |
|
1546 <span class="o">}</span> |
|
1547 |
|
1548 <span class="k">this</span><span class="o">.</span><span class="nx">rollups</span> <span class="o">=</span> <span class="nx">rollups</span><span class="o">;</span> |
|
1549 <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span> <span class="o">=</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">:</span> <span class="o">{};</span> |
|
1550 <span class="o">}</span> |
|
1551 |
|
1552 <span class="c">// make as many passes as needed to pick up rollup rollups</span> |
|
1553 <span class="c"></span> <span class="k">for</span> <span class="o">(;;)</span> <span class="o">{</span> |
|
1554 <span class="nx">rolled</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1555 |
|
1556 <span class="c">// go through the rollup candidates</span> |
|
1557 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">rollups</span><span class="o">)</span> <span class="o">{</span> |
|
1558 |
|
1559 <span class="k">if</span> <span class="o">(</span><span class="nx">rollups</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1560 |
|
1561 <span class="c">// there can be only one, unless forced</span> |
|
1562 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">&&</span> <span class="o">((!</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">i</span><span class="o">]))</span> <span class="o">{</span> |
|
1563 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> |
|
1564 <span class="nx">s</span> <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span> <span class="o">||</span> <span class="o">[];</span> |
|
1565 <span class="nx">roll</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1566 |
|
1567 <span class="c">// @TODO remove continue</span> |
|
1568 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">)</span> <span class="o">{</span> |
|
1569 <span class="k">continue</span><span class="o">;</span> |
|
1570 <span class="o">}</span> |
|
1571 |
|
1572 <span class="nx">c</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> |
|
1573 |
|
1574 <span class="c">// check the threshold</span> |
|
1575 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o"><</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1576 |
|
1577 |
|
1578 <span class="c">// if the superseded module is loaded, we can't load the rollup</span> |
|
1579 <span class="c"></span> <span class="c">// unless it has been forced</span> |
|
1580 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]]</span> <span class="o">&&</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]])</span> <span class="o">{</span> |
|
1581 <span class="nx">roll</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1582 <span class="k">break</span><span class="o">;</span> |
|
1583 <span class="c">// increment the counter if this module is required. if we are</span> |
|
1584 <span class="c"></span> <span class="c">// beyond the rollup threshold, we will use the rollup module</span> |
|
1585 <span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]])</span> <span class="o">{</span> |
|
1586 <span class="nx">c</span><span class="o">++;</span> |
|
1587 <span class="c">// Y.log("adding to thresh: " + c + ", " + s[j]);</span> |
|
1588 <span class="c"></span> <span class="nx">roll</span> <span class="o">=</span> <span class="o">(</span><span class="nx">c</span> <span class="o">>=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">);</span> |
|
1589 <span class="k">if</span> <span class="o">(</span><span class="nx">roll</span><span class="o">)</span> <span class="o">{</span> |
|
1590 <span class="c">// Y.log("over thresh " + c + ", " + s[j]);</span> |
|
1591 <span class="c"></span> <span class="k">break</span><span class="o">;</span> |
|
1592 <span class="o">}</span> |
|
1593 <span class="o">}</span> |
|
1594 <span class="o">}</span> |
|
1595 |
|
1596 <span class="k">if</span> <span class="o">(</span><span class="nx">roll</span><span class="o">)</span> <span class="o">{</span> |
|
1597 <span class="c">// Y.log("adding rollup: " + i);</span> |
|
1598 <span class="c"></span> <span class="c">// add the rollup</span> |
|
1599 <span class="c"></span> <span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1600 <span class="nx">rolled</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1601 |
|
1602 <span class="c">// expand the rollup's dependencies</span> |
|
1603 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span> |
|
1604 <span class="o">}</span> |
|
1605 <span class="o">}</span> |
|
1606 <span class="o">}</span> |
|
1607 <span class="o">}</span> |
|
1608 |
|
1609 <span class="c">// if we made it here w/o rolling up something, we are done</span> |
|
1610 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">rolled</span><span class="o">)</span> <span class="o">{</span> |
|
1611 <span class="k">break</span><span class="o">;</span> |
|
1612 <span class="o">}</span> |
|
1613 <span class="o">}</span> |
|
1614 <span class="o">},</span> |
|
1615 |
|
1616 <span class="c">/**</span> |
|
1617 <span class="c"> * Remove superceded modules and loaded modules. Called by</span> |
|
1618 <span class="c"> * calculate() after we have the mega list of all dependencies</span> |
|
1619 <span class="c"> * @method _reduce</span> |
|
1620 <span class="c"> * @private</span> |
|
1621 <span class="c"> */</span> |
|
1622 <span class="nx">_reduce</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1623 |
|
1624 <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">;</span> |
|
1625 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span> |
|
1626 |
|
1627 <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1628 |
|
1629 <span class="c">// remove if already loaded</span> |
|
1630 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">&&</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">&&</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span><span class="o">)</span> <span class="o">{</span> |
|
1631 <span class="nx">delete</span> <span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
1632 |
|
1633 <span class="c">// remove anything this module supersedes</span> |
|
1634 <span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1635 |
|
1636 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> |
|
1637 <span class="nx">s</span> <span class="o">=</span> <span class="nx">m</span> <span class="o">&&</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span> |
|
1638 <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span> |
|
1639 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">j</span><span class="o"><</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1640 <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span> |
|
1641 <span class="nx">delete</span> <span class="nx">r</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]];</span> |
|
1642 <span class="o">}</span> |
|
1643 <span class="o">}</span> |
|
1644 <span class="o">}</span> |
|
1645 <span class="o">}</span> |
|
1646 <span class="o">}</span> |
|
1647 <span class="o">}</span> |
|
1648 <span class="o">},</span> |
|
1649 |
|
1650 <span class="nx">_attach</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1651 |
|
1652 <span class="c">// this is the full list of items the YUI needs attached,</span> |
|
1653 <span class="c"></span> <span class="c">// which is needed if some dependencies are already on</span> |
|
1654 <span class="c"></span> <span class="c">// the page without their dependencies.</span> |
|
1655 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">)</span> <span class="o">{</span> |
|
1656 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'attaching Y supplied deps: '</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1657 <span class="nx">Y</span><span class="o">.</span><span class="nx">_attach</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">);</span> |
|
1658 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1659 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'attaching sorted list: '</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1660 <span class="nx">Y</span><span class="o">.</span><span class="nx">_attach</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">);</span> |
|
1661 <span class="o">}</span> |
|
1662 |
|
1663 <span class="c">// this._pushEvents();</span> |
|
1664 <span class="c"></span> |
|
1665 <span class="o">},</span> |
|
1666 |
|
1667 <span class="nx">_finish</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1668 <span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1669 <span class="k">this</span><span class="o">.</span><span class="nx">_continue</span><span class="o">();</span> |
|
1670 <span class="o">},</span> |
|
1671 |
|
1672 <span class="nx">_onSuccess</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1673 |
|
1674 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'loader successful: '</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1675 |
|
1676 <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span> |
|
1677 |
|
1678 <span class="k">var</span> <span class="nx">skipped</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">f</span><span class="o">;</span> |
|
1679 |
|
1680 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">skipped</span><span class="o">)</span> <span class="o">{</span> |
|
1681 <span class="k">if</span> <span class="o">(</span><span class="nx">skipped</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span> |
|
1682 <span class="nx">delete</span> <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
1683 <span class="o">}</span> |
|
1684 <span class="o">}</span> |
|
1685 |
|
1686 <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span> <span class="o">=</span> <span class="o">{};</span> |
|
1687 |
|
1688 <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onSuccess</span><span class="o">;</span> |
|
1689 |
|
1690 <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span> |
|
1691 <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span> |
|
1692 <span class="nx">msg</span><span class="o">:</span> <span class="s1">'success'</span><span class="o">,</span> |
|
1693 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span> |
|
1694 <span class="nx">success</span><span class="o">:</span> <span class="kc">true</span> |
|
1695 <span class="o">});</span> |
|
1696 <span class="o">}</span> |
|
1697 |
|
1698 <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span> |
|
1699 |
|
1700 <span class="o">},</span> |
|
1701 |
|
1702 <span class="nx">_onFailure</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1703 |
|
1704 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'load error: '</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">msg</span> <span class="o">+</span> <span class="s1">', '</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">"error"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1705 |
|
1706 <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span> |
|
1707 |
|
1708 <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onFailure</span><span class="o">;</span> |
|
1709 <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span> |
|
1710 <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span> |
|
1711 <span class="nx">msg</span><span class="o">:</span> <span class="s1">'failure: '</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">msg</span><span class="o">,</span> |
|
1712 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span> |
|
1713 <span class="nx">success</span><span class="o">:</span> <span class="kc">false</span> |
|
1714 <span class="o">});</span> |
|
1715 <span class="o">}</span> |
|
1716 |
|
1717 <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span> |
|
1718 <span class="o">},</span> |
|
1719 |
|
1720 <span class="nx">_onTimeout</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1721 |
|
1722 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'loader timeout: '</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">"error"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1723 |
|
1724 <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span> |
|
1725 |
|
1726 <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onTimeout</span><span class="o">;</span> |
|
1727 <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span> |
|
1728 <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span> |
|
1729 <span class="nx">msg</span><span class="o">:</span> <span class="s1">'timeout'</span><span class="o">,</span> |
|
1730 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span> |
|
1731 <span class="nx">success</span><span class="o">:</span> <span class="kc">false</span> |
|
1732 <span class="o">});</span> |
|
1733 <span class="o">}</span> |
|
1734 |
|
1735 <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span> |
|
1736 <span class="o">},</span> |
|
1737 |
|
1738 <span class="c">/**</span> |
|
1739 <span class="c"> * Sorts the dependency tree. The last step of calculate()</span> |
|
1740 <span class="c"> * @method _sort</span> |
|
1741 <span class="c"> * @private</span> |
|
1742 <span class="c"> */</span> |
|
1743 <span class="nx">_sort</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1744 <span class="c">// create an indexed list</span> |
|
1745 <span class="c"></span> <span class="k">var</span> <span class="nx">s</span><span class="o">=</span><span class="nx">Y</span><span class="o">.</span><span class="nb">Object</span><span class="o">.</span><span class="nx">keys</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">),</span> <span class="nx">info</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">loaded</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">,</span> |
|
1746 <span class="nx">p</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">a</span><span class="o">,</span> <span class="nx">b</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">k</span><span class="o">,</span> <span class="nx">moved</span><span class="o">,</span> |
|
1747 |
|
1748 <span class="c">// returns true if b is not loaded, and is required</span> |
|
1749 <span class="c"></span> <span class="c">// directly or by means of modules it supersedes.</span> |
|
1750 <span class="c"></span> <span class="nx">requires</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">aa</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">{</span> |
|
1751 |
|
1752 <span class="k">var</span> <span class="nx">mm</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">aa</span><span class="o">],</span> <span class="nx">ii</span><span class="o">,</span> <span class="nx">rr</span><span class="o">,</span> <span class="nx">after</span><span class="o">,</span> <span class="nx">other</span><span class="o">,</span> <span class="nx">ss</span><span class="o">;</span> |
|
1753 |
|
1754 <span class="k">if</span> <span class="o">(</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">bb</span><span class="o">]</span> <span class="o">||</span> <span class="o">!</span><span class="nx">mm</span><span class="o">)</span> <span class="o">{</span> |
|
1755 <span class="k">return</span> <span class="kc">false</span><span class="o">;</span> |
|
1756 <span class="o">}</span> |
|
1757 |
|
1758 <span class="nx">rr</span> <span class="o">=</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span> |
|
1759 <span class="nx">after</span> <span class="o">=</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">after</span><span class="o">;</span> |
|
1760 <span class="nx">other</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">];</span> |
|
1761 |
|
1762 <span class="c">// check if this module requires the other directly</span> |
|
1763 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">rr</span> <span class="o">&&</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="nx">rr</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">></span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1764 <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> |
|
1765 <span class="o">}</span> |
|
1766 |
|
1767 <span class="c">// check if this module should be sorted after the other</span> |
|
1768 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">after</span> <span class="o">&&</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="nx">after</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">></span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1769 <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> |
|
1770 <span class="o">}</span> |
|
1771 |
|
1772 <span class="c">// check if this module requires one the other supersedes</span> |
|
1773 <span class="c"></span> <span class="nx">ss</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">]</span> <span class="o">&&</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">].</span><span class="nx">supersedes</span><span class="o">;</span> |
|
1774 <span class="k">if</span> <span class="o">(</span><span class="nx">ss</span><span class="o">)</span> <span class="o">{</span> |
|
1775 <span class="k">for</span> <span class="o">(</span><span class="nx">ii</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">ii</span><span class="o"><</span><span class="nx">ss</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">ii</span><span class="o">=</span><span class="nx">ii</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1776 <span class="k">if</span> <span class="o">(</span><span class="nx">requires</span><span class="o">(</span><span class="nx">aa</span><span class="o">,</span> <span class="nx">ss</span><span class="o">[</span><span class="nx">ii</span><span class="o">]))</span> <span class="o">{</span> |
|
1777 <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> |
|
1778 <span class="o">}</span> |
|
1779 <span class="o">}</span> |
|
1780 <span class="o">}</span> |
|
1781 |
|
1782 <span class="c">// external css files should be sorted below yui css</span> |
|
1783 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">mm</span><span class="o">.</span><span class="nx">ext</span> <span class="o">&&</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">type</span> <span class="o">==</span> <span class="nx">CSS</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">other</span><span class="o">.</span><span class="nx">ext</span> <span class="o">&&</span> <span class="nx">other</span><span class="o">.</span><span class="nx">type</span> <span class="o">==</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span> |
|
1784 <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> |
|
1785 <span class="o">}</span> |
|
1786 |
|
1787 <span class="k">return</span> <span class="kc">false</span><span class="o">;</span> |
|
1788 <span class="o">};</span> |
|
1789 |
|
1790 <span class="c">// pointer to the first unsorted item</span> |
|
1791 <span class="c"></span> <span class="nx">p</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> |
|
1792 |
|
1793 <span class="c">// keep going until we make a pass without moving anything</span> |
|
1794 <span class="c"></span> <span class="k">for</span> <span class="o">(;;)</span> <span class="o">{</span> |
|
1795 |
|
1796 <span class="nx">l</span> <span class="o">=</span> <span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> |
|
1797 <span class="nx">moved</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> |
|
1798 |
|
1799 <span class="c">// start the loop after items that are already sorted</span> |
|
1800 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="nx">p</span><span class="o">;</span> <span class="nx">j</span><span class="o"><</span><span class="nx">l</span><span class="o">;</span> <span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1801 |
|
1802 <span class="c">// check the next module on the list to see if its</span> |
|
1803 <span class="c"></span> <span class="c">// dependencies have been met</span> |
|
1804 <span class="c"></span> <span class="nx">a</span> <span class="o">=</span> <span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">];</span> |
|
1805 |
|
1806 <span class="c">// check everything below current item and move if we</span> |
|
1807 <span class="c"></span> <span class="c">// find a requirement for the current item</span> |
|
1808 <span class="c"></span> <span class="k">for</span> <span class="o">(</span><span class="nx">k</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">;</span> <span class="nx">k</span><span class="o"><</span><span class="nx">l</span><span class="o">;</span> <span class="nx">k</span><span class="o">=</span><span class="nx">k</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1809 <span class="k">if</span> <span class="o">(</span><span class="nx">requires</span><span class="o">(</span><span class="nx">a</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">k</span><span class="o">]))</span> <span class="o">{</span> |
|
1810 |
|
1811 <span class="c">// extract the dependency so we can move it up</span> |
|
1812 <span class="c"></span> <span class="nx">b</span> <span class="o">=</span> <span class="nx">s</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">k</span><span class="o">,</span> <span class="m">1</span><span class="o">);</span> |
|
1813 |
|
1814 <span class="c">// insert the dependency above the item that </span> |
|
1815 <span class="c"></span> <span class="c">// requires it</span> |
|
1816 <span class="c"></span> <span class="nx">s</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">j</span><span class="o">,</span> <span class="m">0</span><span class="o">,</span> <span class="nx">b</span><span class="o">[</span><span class="m">0</span><span class="o">]);</span> |
|
1817 |
|
1818 <span class="nx">moved</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1819 <span class="k">break</span><span class="o">;</span> |
|
1820 <span class="o">}</span> |
|
1821 <span class="o">}</span> |
|
1822 |
|
1823 <span class="c">// jump out of loop if we moved something</span> |
|
1824 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">moved</span><span class="o">)</span> <span class="o">{</span> |
|
1825 <span class="k">break</span><span class="o">;</span> |
|
1826 <span class="c">// this item is sorted, move our pointer and keep going</span> |
|
1827 <span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1828 <span class="nx">p</span> <span class="o">=</span> <span class="nx">p</span> <span class="o">+</span> <span class="m">1</span><span class="o">;</span> |
|
1829 <span class="o">}</span> |
|
1830 <span class="o">}</span> |
|
1831 |
|
1832 <span class="c">// when we make it here and moved is false, we are </span> |
|
1833 <span class="c"></span> <span class="c">// finished sorting</span> |
|
1834 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">moved</span><span class="o">)</span> <span class="o">{</span> |
|
1835 <span class="k">break</span><span class="o">;</span> |
|
1836 <span class="o">}</span> |
|
1837 |
|
1838 <span class="o">}</span> |
|
1839 |
|
1840 <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span> <span class="o">=</span> <span class="nx">s</span><span class="o">;</span> |
|
1841 <span class="o">},</span> |
|
1842 |
|
1843 <span class="nx">_insert</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">source</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
1844 |
|
1845 <span class="c">// Y.log('private _insert() ' + (type || '') + ', ' + Y.id, "info", "loader");</span> |
|
1846 <span class="c"></span> |
|
1847 <span class="c">// restore the state at the time of the request</span> |
|
1848 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">source</span><span class="o">)</span> <span class="o">{</span> |
|
1849 <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">source</span><span class="o">);</span> |
|
1850 <span class="o">}</span> |
|
1851 |
|
1852 <span class="c">// build the dependency list</span> |
|
1853 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">calculate</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span> |
|
1854 |
|
1855 <span class="k">if</span> <span class="o">(!</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
1856 |
|
1857 <span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span> |
|
1858 |
|
1859 <span class="c">// Y.log("trying to load css first");</span> |
|
1860 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1861 <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="nx">self</span><span class="o">.</span><span class="nx">onCSS</span><span class="o">;</span> |
|
1862 <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span> |
|
1863 <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">self</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="nx">Y</span><span class="o">);</span> |
|
1864 <span class="o">}</span> |
|
1865 <span class="nx">self</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
1866 <span class="nx">self</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">JS</span><span class="o">);</span> |
|
1867 <span class="o">};</span> |
|
1868 |
|
1869 <span class="c">// _queue.running = false;</span> |
|
1870 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">CSS</span><span class="o">);</span> |
|
1871 |
|
1872 <span class="k">return</span><span class="o">;</span> |
|
1873 <span class="o">}</span> |
|
1874 |
|
1875 |
|
1876 <span class="c">// set a flag to indicate the load has started</span> |
|
1877 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1878 |
|
1879 <span class="c">// flag to indicate we are done with the combo service</span> |
|
1880 <span class="c"></span> <span class="c">// and any additional files will need to be loaded</span> |
|
1881 <span class="c"></span> <span class="c">// individually</span> |
|
1882 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span> <span class="o">=</span> <span class="o">{};</span> |
|
1883 |
|
1884 <span class="c">// keep the loadType (js, css or undefined) cached</span> |
|
1885 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">=</span> <span class="nx">type</span><span class="o">;</span> |
|
1886 |
|
1887 <span class="c">// start the load</span> |
|
1888 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">();</span> |
|
1889 |
|
1890 <span class="o">},</span> |
|
1891 |
|
1892 <span class="nx">_continue</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1893 <span class="k">if</span> <span class="o">(!(</span><span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span><span class="o">)</span> <span class="o">&&</span> <span class="nx">_queue</span><span class="o">.</span><span class="nx">size</span><span class="o">()</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span> |
|
1894 <span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1895 <span class="nx">_queue</span><span class="o">.</span><span class="nx">next</span><span class="o">()();</span> |
|
1896 <span class="o">}</span> |
|
1897 <span class="o">},</span> |
|
1898 |
|
1899 <span class="c">/**</span> |
|
1900 <span class="c"> * inserts the requested modules and their dependencies. </span> |
|
1901 <span class="c"> * <code>type</code> can be "js" or "css". Both script and </span> |
|
1902 <span class="c"> * css are inserted if type is not provided.</span> |
|
1903 <span class="c"> * @method insert</span> |
|
1904 <span class="c"> * @param o optional options object</span> |
|
1905 <span class="c"> * @param type {string} the type of dependency to insert</span> |
|
1906 <span class="c"> */</span> |
|
1907 <span class="nx">insert</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
1908 |
|
1909 <span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">,</span> <span class="nx">copy</span><span class="o">;</span> |
|
1910 |
|
1911 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'public insert() '</span> <span class="o">+</span> <span class="nx">type</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1912 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'public insert() '</span> <span class="o">+</span> <span class="o">(</span><span class="nx">type</span> <span class="o">||</span> <span class="s1">''</span><span class="o">)</span> <span class="o">+</span> <span class="s1">', '</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1913 |
|
1914 |
|
1915 <span class="nx">copy</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span> |
|
1916 <span class="nx">delete</span> <span class="nx">copy</span><span class="o">.</span><span class="nx">require</span><span class="o">;</span> |
|
1917 <span class="nx">delete</span> <span class="nx">copy</span><span class="o">.</span><span class="nx">dirty</span><span class="o">;</span> |
|
1918 |
|
1919 <span class="nx">_queue</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span> |
|
1920 <span class="nx">self</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="nx">copy</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">);</span> |
|
1921 <span class="o">});</span> |
|
1922 |
|
1923 <span class="k">this</span><span class="o">.</span><span class="nx">_continue</span><span class="o">();</span> |
|
1924 |
|
1925 <span class="o">},</span> |
|
1926 |
|
1927 <span class="c">/**</span> |
|
1928 <span class="c"> * Executed every time a module is loaded, and if we are in a load</span> |
|
1929 <span class="c"> * cycle, we attempt to load the next script. Public so that it</span> |
|
1930 <span class="c"> * is possible to call this if using a method other than</span> |
|
1931 <span class="c"> * Y.register to determine when scripts are fully loaded</span> |
|
1932 <span class="c"> * @method loadNext</span> |
|
1933 <span class="c"> * @param mname {string} optional the name of the module that has</span> |
|
1934 <span class="c"> * been loaded (which is usually why it is time to load the next</span> |
|
1935 <span class="c"> * one)</span> |
|
1936 <span class="c"> */</span> |
|
1937 <span class="nx">loadNext</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">mname</span><span class="o">)</span> <span class="o">{</span> |
|
1938 |
|
1939 <span class="c">// It is possible that this function is executed due to something</span> |
|
1940 <span class="c"></span> <span class="c">// else one the page loading a YUI module. Only react when we</span> |
|
1941 <span class="c"></span> <span class="c">// are actively loading something</span> |
|
1942 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span> |
|
1943 <span class="k">return</span><span class="o">;</span> |
|
1944 <span class="o">}</span> |
|
1945 |
|
1946 <span class="k">var</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">len</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">self</span><span class="o">=</span><span class="k">this</span><span class="o">,</span> <span class="nx">type</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">loadType</span><span class="o">,</span> <span class="nx">fn</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">attr</span><span class="o">,</span> |
|
1947 <span class="nx">callback</span><span class="o">=</span><span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1948 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'Combo complete: '</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1949 <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1950 |
|
1951 |
|
1952 <span class="k">var</span> <span class="nx">c</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">,</span> <span class="nx">len</span><span class="o">=</span><span class="nx">c</span><span class="o">.</span><span class="nx">length</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span> |
|
1953 |
|
1954 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1955 <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">c</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
1956 <span class="o">}</span> |
|
1957 |
|
1958 <span class="k">this</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">);</span> |
|
1959 <span class="o">},</span> |
|
1960 <span class="nx">onsuccess</span><span class="o">=</span><span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span> |
|
1961 <span class="c">// Y.log('loading next, just loaded' + o.data);</span> |
|
1962 <span class="c"></span> <span class="nx">self</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">);</span> |
|
1963 <span class="o">};</span> |
|
1964 |
|
1965 <span class="c">// @TODO this will need to handle the two phase insert when</span> |
|
1966 <span class="c"></span> <span class="c">// CSS support is added</span> |
|
1967 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">combine</span> <span class="o">&&</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]))</span> <span class="o">{</span> |
|
1968 |
|
1969 <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span> <span class="o">=</span> <span class="o">[];</span> |
|
1970 <span class="nx">s</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">;</span> |
|
1971 <span class="nx">len</span><span class="o">=</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> |
|
1972 <span class="nx">url</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">comboBase</span><span class="o">;</span> |
|
1973 |
|
1974 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1975 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1976 <span class="c">// Do not try to combine non-yui JS</span> |
|
1977 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&&</span> <span class="nx">m</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">m</span><span class="o">.</span><span class="nx">ext</span><span class="o">)</span> <span class="o">{</span> |
|
1978 <span class="nx">url</span> <span class="o">+=</span> <span class="k">this</span><span class="o">.</span><span class="nx">root</span> <span class="o">+</span> <span class="nx">m</span><span class="o">.</span><span class="nx">path</span><span class="o">;</span> |
|
1979 <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o"><</span> <span class="nx">len</span><span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
1980 <span class="nx">url</span> <span class="o">+=</span> <span class="s1">'&'</span><span class="o">;</span> |
|
1981 <span class="o">}</span> |
|
1982 |
|
1983 <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
1984 <span class="o">}</span> |
|
1985 <span class="o">}</span> |
|
1986 |
|
1987 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">.</span><span class="nx">length</span><span class="o">)</span> <span class="o">{</span> |
|
1988 |
|
1989 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'Attempting to use combo: '</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
1990 |
|
1991 <span class="c">// if (m.type === CSS) {</span> |
|
1992 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">===</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span> |
|
1993 <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">css</span><span class="o">;</span> |
|
1994 <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span><span class="o">;</span> |
|
1995 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
1996 <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">script</span><span class="o">;</span> |
|
1997 <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span><span class="o">;</span> |
|
1998 <span class="o">}</span> |
|
1999 |
|
2000 <span class="c">// @TODO get rid of the redundant Get code</span> |
|
2001 <span class="c"></span> <span class="nx">fn</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">(</span><span class="nx">url</span><span class="o">),</span> <span class="o">{</span> |
|
2002 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">,</span> |
|
2003 <span class="nx">onSuccess</span><span class="o">:</span> <span class="nx">callback</span><span class="o">,</span> |
|
2004 <span class="nx">onFailure</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onFailure</span><span class="o">,</span> |
|
2005 <span class="nx">onTimeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onTimeout</span><span class="o">,</span> |
|
2006 <span class="nx">insertBefore</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span> |
|
2007 <span class="nx">charset</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">charset</span><span class="o">,</span> |
|
2008 <span class="nx">attributes</span><span class="o">:</span> <span class="nx">attr</span><span class="o">,</span> |
|
2009 <span class="nx">timeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span><span class="o">,</span> |
|
2010 <span class="nx">autopurge</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span> |
|
2011 <span class="nx">context</span><span class="o">:</span> <span class="nx">self</span> |
|
2012 <span class="o">});</span> |
|
2013 |
|
2014 <span class="k">return</span><span class="o">;</span> |
|
2015 |
|
2016 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
2017 <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
2018 <span class="o">}</span> |
|
2019 <span class="o">}</span> |
|
2020 |
|
2021 <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span><span class="o">)</span> <span class="o">{</span> |
|
2022 |
|
2023 <span class="c">// if the module that was just loaded isn't what we were expecting,</span> |
|
2024 <span class="c"></span> <span class="c">// continue to wait</span> |
|
2025 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">!==</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span> |
|
2026 <span class="k">return</span><span class="o">;</span> |
|
2027 <span class="o">}</span> |
|
2028 |
|
2029 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"loadNext executing, just loaded "</span> <span class="o">+</span> <span class="nx">mname</span> <span class="o">+</span> <span class="s2">", "</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
2030 |
|
2031 <span class="c">// The global handler that is called when each module is loaded</span> |
|
2032 <span class="c"></span> <span class="c">// will pass that module name to this function. Storing this</span> |
|
2033 <span class="c"></span> <span class="c">// data to avoid loading the same module multiple times</span> |
|
2034 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
2035 <span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
2036 |
|
2037 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span><span class="o">)</span> <span class="o">{</span> |
|
2038 <span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span> |
|
2039 <span class="nx">name</span><span class="o">:</span> <span class="nx">mname</span><span class="o">,</span> |
|
2040 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span> |
|
2041 <span class="o">});</span> |
|
2042 <span class="o">}</span> |
|
2043 |
|
2044 |
|
2045 <span class="o">}</span> |
|
2046 |
|
2047 <span class="nx">s</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">;</span> |
|
2048 <span class="nx">len</span><span class="o">=</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> |
|
2049 |
|
2050 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> |
|
2051 |
|
2052 <span class="c">// this.inserted keeps track of what the loader has loaded.</span> |
|
2053 <span class="c"></span> <span class="c">// move on if this item is done.</span> |
|
2054 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">)</span> <span class="o">{</span> |
|
2055 <span class="c">// Y.log(s[i] + " alread loaded ");</span> |
|
2056 <span class="c"></span> <span class="k">continue</span><span class="o">;</span> |
|
2057 <span class="o">}</span> |
|
2058 |
|
2059 <span class="c">// Because rollups will cause multiple load notifications</span> |
|
2060 <span class="c"></span> <span class="c">// from Y, loadNext may be called multiple times for</span> |
|
2061 <span class="c"></span> <span class="c">// the same module when loading a rollup. We can safely</span> |
|
2062 <span class="c"></span> <span class="c">// skip the subsequent requests</span> |
|
2063 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">===</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span> |
|
2064 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"still loading "</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">", waiting"</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
2065 <span class="k">return</span><span class="o">;</span> |
|
2066 <span class="o">}</span> |
|
2067 |
|
2068 <span class="c">// log("inserting " + s[i]);</span> |
|
2069 <span class="c"></span> <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
2070 |
|
2071 <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span> |
|
2072 |
|
2073 <span class="nx">msg</span> <span class="o">=</span> <span class="s2">"Undefined module "</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">" skipped"</span><span class="o">;</span> |
|
2074 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">msg</span><span class="o">,</span> <span class="s1">'warn'</span><span class="o">,</span> <span class="s1">'loader'</span><span class="o">);</span> |
|
2075 <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
2076 <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> |
|
2077 <span class="k">continue</span><span class="o">;</span> |
|
2078 |
|
2079 <span class="o">}</span> |
|
2080 |
|
2081 |
|
2082 <span class="c">// The load type is stored to offer the possibility to load</span> |
|
2083 <span class="c"></span> <span class="c">// the css separately from the script.</span> |
|
2084 <span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">type</span> <span class="o">||</span> <span class="nx">type</span> <span class="o">===</span> <span class="nx">m</span><span class="o">.</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span> |
|
2085 <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span> |
|
2086 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"attempting to load "</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">", "</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">base</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"loader"</span><span class="o">);</span> |
|
2087 |
|
2088 <span class="k">if</span> <span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span> |
|
2089 <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">css</span><span class="o">;</span> |
|
2090 <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span><span class="o">;</span> |
|
2091 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
2092 <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">script</span><span class="o">;</span> |
|
2093 <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span><span class="o">;</span> |
|
2094 <span class="o">}</span> |
|
2095 |
|
2096 <span class="nx">url</span> <span class="o">=</span> <span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">)</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_url</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">path</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span> |
|
2097 |
|
2098 <span class="nx">fn</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="o">{</span> |
|
2099 <span class="nx">data</span><span class="o">:</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">],</span> |
|
2100 <span class="nx">onSuccess</span><span class="o">:</span> <span class="nx">onsuccess</span><span class="o">,</span> |
|
2101 <span class="nx">insertBefore</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span> |
|
2102 <span class="nx">charset</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">charset</span><span class="o">,</span> |
|
2103 <span class="nx">attributes</span><span class="o">:</span> <span class="nx">attr</span><span class="o">,</span> |
|
2104 <span class="nx">onFailure</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onFailure</span><span class="o">,</span> |
|
2105 <span class="nx">onTimeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onTimeout</span><span class="o">,</span> |
|
2106 <span class="nx">timeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span><span class="o">,</span> |
|
2107 <span class="nx">autopurge</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span> |
|
2108 <span class="nx">context</span><span class="o">:</span> <span class="nx">self</span> |
|
2109 <span class="o">});</span> |
|
2110 |
|
2111 <span class="k">return</span><span class="o">;</span> |
|
2112 <span class="o">}</span> |
|
2113 <span class="o">}</span> |
|
2114 |
|
2115 <span class="c">// we are finished</span> |
|
2116 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
2117 |
|
2118 <span class="nx">fn</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span><span class="o">;</span> |
|
2119 |
|
2120 <span class="c">// internal callback for loading css first</span> |
|
2121 <span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">fn</span><span class="o">)</span> <span class="o">{</span> |
|
2122 <span class="c">// Y.log('loader internal');</span> |
|
2123 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> |
|
2124 <span class="nx">fn</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">);</span> |
|
2125 |
|
2126 <span class="c">// } else if (this.onSuccess) {</span> |
|
2127 <span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> |
|
2128 <span class="c">// Y.log('loader complete');</span> |
|
2129 <span class="c"></span> <span class="c">// call Y.use passing this instance. Y will use the sorted</span> |
|
2130 <span class="c"></span> <span class="c">// dependency list.</span> |
|
2131 <span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_onSuccess</span><span class="o">();</span> |
|
2132 <span class="o">}</span> |
|
2133 |
|
2134 <span class="o">},</span> |
|
2135 |
|
2136 <span class="c">/**</span> |
|
2137 <span class="c"> * Apply filter defined for this instance to a url/path</span> |
|
2138 <span class="c"> * method _filter</span> |
|
2139 <span class="c"> * @param u {string} the string to filter</span> |
|
2140 <span class="c"> * @param name {string} the name of the module, if we are processing</span> |
|
2141 <span class="c"> * a single module as opposed to a combined url</span> |
|
2142 <span class="c"> * @return {string} the filtered string</span> |
|
2143 <span class="c"> * @private</span> |
|
2144 <span class="c"> */</span> |
|
2145 <span class="nx">_filter</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">u</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
2146 |
|
2147 <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">filter</span><span class="o">,</span> |
|
2148 <span class="nx">hasFilter</span> <span class="o">=</span> <span class="nx">name</span> <span class="o">&&</span> <span class="o">(</span><span class="nx">name</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">filters</span><span class="o">),</span> |
|
2149 <span class="nx">modFilter</span> <span class="o">=</span> <span class="nx">hasFilter</span> <span class="o">&&</span> <span class="k">this</span><span class="o">.</span><span class="nx">filters</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span> |
|
2150 |
|
2151 <span class="k">if</span> <span class="o">(</span><span class="nx">u</span><span class="o">)</span> <span class="o">{</span> |
|
2152 |
|
2153 <span class="k">if</span> <span class="o">(</span><span class="nx">hasFilter</span><span class="o">)</span> <span class="o">{</span> |
|
2154 <span class="nx">f</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">modFilter</span><span class="o">))</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">FILTER_DEFS</span><span class="o">[</span><span class="nx">modFilter</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">()]</span> <span class="o">||</span> <span class="kc">null</span> <span class="o">:</span> <span class="nx">modFilter</span><span class="o">;</span> |
|
2155 <span class="o">}</span> |
|
2156 |
|
2157 <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span> |
|
2158 <span class="nx">u</span> <span class="o">=</span> <span class="nx">u</span><span class="o">.</span><span class="nx">replace</span><span class="o">(</span><span class="k">new</span> <span class="nb">RegExp</span><span class="o">(</span><span class="nx">f</span><span class="o">.</span><span class="nx">searchExp</span><span class="o">,</span> <span class="s1">'g'</span><span class="o">),</span> <span class="nx">f</span><span class="o">.</span><span class="nx">replaceStr</span><span class="o">);</span> |
|
2159 <span class="o">}</span> |
|
2160 <span class="o">}</span> |
|
2161 |
|
2162 <span class="k">return</span> <span class="nx">u</span><span class="o">;</span> |
|
2163 |
|
2164 <span class="o">},</span> |
|
2165 |
|
2166 <span class="c">/**</span> |
|
2167 <span class="c"> * Generates the full url for a module</span> |
|
2168 <span class="c"> * method _url</span> |
|
2169 <span class="c"> * @param path {string} the path fragment</span> |
|
2170 <span class="c"> * @return {string} the full url</span> |
|
2171 <span class="c"> * @private</span> |
|
2172 <span class="c"> */</span> |
|
2173 <span class="nx">_url</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">path</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span> |
|
2174 <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="nx">base</span> <span class="o">||</span> <span class="s2">""</span><span class="o">)</span> <span class="o">+</span> <span class="nx">path</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span> |
|
2175 <span class="o">}</span> |
|
2176 |
|
2177 <span class="o">};</span> |
|
2178 |
|
2179 <span class="o">})();</span> |
|
2180 </pre></div> |
|
2181 </div> |
|
2182 </div> |
|
2183 </div> |
|
2184 <div class="yui-b"> |
|
2185 <div class="nav"> |
|
2186 |
|
2187 <div id="moduleList" class="module"> |
|
2188 <h4>Modules</h4> |
|
2189 <ul class="content"> |
|
2190 <li class=""><a href="module_anim.html" title="anim">anim</a></li> |
|
2191 <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li> |
|
2192 <li class=""><a href="module_base.html" title="base">base</a></li> |
|
2193 <li class=""><a href="module_cache.html" title="cache">cache</a></li> |
|
2194 <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li> |
|
2195 <li class=""><a href="module_collection.html" title="collection">collection</a></li> |
|
2196 <li class=""><a href="module_console.html" title="console">console</a></li> |
|
2197 <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li> |
|
2198 <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li> |
|
2199 <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li> |
|
2200 <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li> |
|
2201 <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li> |
|
2202 <li class=""><a href="module_dd.html" title="dd">dd</a></li> |
|
2203 <li class=""><a href="module_dom.html" title="dom">dom</a></li> |
|
2204 <li class=""><a href="module_dump.html" title="dump">dump</a></li> |
|
2205 <li class=""><a href="module_event.html" title="event">event</a></li> |
|
2206 <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li> |
|
2207 <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li> |
|
2208 <li class=""><a href="module_history.html" title="history">history</a></li> |
|
2209 <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li> |
|
2210 <li class=""><a href="module_io.html" title="io">io</a></li> |
|
2211 <li class=""><a href="module_json.html" title="json">json</a></li> |
|
2212 <li class=""><a href="module_node.html" title="node">node</a></li> |
|
2213 <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li> |
|
2214 <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li> |
|
2215 <li class=""><a href="module_oop.html" title="oop">oop</a></li> |
|
2216 <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li> |
|
2217 <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li> |
|
2218 <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li> |
|
2219 <li class=""><a href="module_queue.html" title="queue">queue</a></li> |
|
2220 <li class=""><a href="module_slider.html" title="slider">slider</a></li> |
|
2221 <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li> |
|
2222 <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li> |
|
2223 <li class=""><a href="module_test.html" title="test">test</a></li> |
|
2224 <li class=""><a href="module_widget.html" title="widget">widget</a></li> |
|
2225 <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li> |
|
2226 <li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li> |
|
2227 <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li> |
|
2228 <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li> |
|
2229 <li class="selected"><a href="module_yui.html" title="yui">yui</a></li> |
|
2230 </ul> |
|
2231 </div> |
|
2232 |
|
2233 <div id="classList" class="module"> |
|
2234 <h4>Classes</h4> |
|
2235 <ul class="content"> |
|
2236 <li class=""><a href="Array.html" title="Array">Array</a></li> |
|
2237 <li class=""><a href="config.html" title="config">config</a></li> |
|
2238 <li class=""><a href="Get.html" title="Get">Get</a></li> |
|
2239 <li class=""><a href="Lang.html" title="Lang">Lang</a></li> |
|
2240 <li class=""><a href="Loader.html" title="Loader">Loader</a></li> |
|
2241 <li class=""><a href="Object.html" title="Object">Object</a></li> |
|
2242 <li class=""><a href="UA.html" title="UA">UA</a></li> |
|
2243 <li class=""><a href="YUI.html" title="YUI">YUI</a></li> |
|
2244 </ul> |
|
2245 </div> |
|
2246 |
|
2247 <div id="fileList" class="module"> |
|
2248 <h4>Files</h4> |
|
2249 <ul class="content"> |
|
2250 <li class=""><a href="_module.js.html" title="_module.js">_module.js</a></li> |
|
2251 <li class=""><a href="get.js.html" title="get.js">get.js</a></li> |
|
2252 <li class="selected"><a href="loader.js.html" title="loader.js">loader.js</a></li> |
|
2253 <li class=""><a href="yui-array.js.html" title="yui-array.js">yui-array.js</a></li> |
|
2254 <li class=""><a href="yui-base.js.html" title="yui-base.js">yui-base.js</a></li> |
|
2255 <li class=""><a href="yui-core.js.html" title="yui-core.js">yui-core.js</a></li> |
|
2256 <li class=""><a href="yui-init.js.html" title="yui-init.js">yui-init.js</a></li> |
|
2257 <li class=""><a href="yui-lang.js.html" title="yui-lang.js">yui-lang.js</a></li> |
|
2258 <li class=""><a href="yui-later.js.html" title="yui-later.js">yui-later.js</a></li> |
|
2259 <li class=""><a href="yui-log.js.html" title="yui-log.js">yui-log.js</a></li> |
|
2260 <li class=""><a href="yui-object.js.html" title="yui-object.js">yui-object.js</a></li> |
|
2261 <li class=""><a href="yui-ua.js.html" title="yui-ua.js">yui-ua.js</a></li> |
|
2262 <li class=""><a href="yui.js.html" title="yui.js">yui.js</a></li> |
|
2263 </ul> |
|
2264 </div> |
|
2265 |
|
2266 |
|
2267 |
|
2268 |
|
2269 |
|
2270 </div> |
|
2271 </div> |
|
2272 </div> |
|
2273 <div id="ft"> |
|
2274 <hr /> |
|
2275 Copyright © 2009 Yahoo! Inc. All rights reserved. |
|
2276 </div> |
|
2277 </div> |
|
2278 <script type="text/javascript"> |
|
2279 ALL_YUI_PROPS = [{"access": "", "host": "Object", "name": "()", "url": "Object.html#method_()", "type": "method"}, {"access": "", "host": "Array", "name": "()", "url": "Array.html#method_()", "type": "method"}, {"access": "", "host": "Get", "name": "abort", "url": "Get.html#method_abort", "type": "method"}, {"access": "", "host": "YUI", "name": "add", "url": "YUI.html#method_add", "type": "method"}, {"access": "", "host": "Loader", "name": "addModule", "url": "Loader.html#method_addModule", "type": "method"}, {"access": "private", "host": "Loader", "name": "_addSkin", "url": "Loader.html#method__addSkin", "type": "method"}, {"access": "", "host": "UA", "name": "air", "url": "UA.html#property_air", "type": "property"}, {"access": "", "host": "Loader", "name": "allowRollup", "url": "Loader.html#property_allowRollup", "type": "property"}, {"access": "", "host": "YUI", "name": "applyTo", "url": "YUI.html#method_applyTo", "type": "method"}, {"access": "", "host": "Loader", "name": "attaching", "url": "Loader.html#property_attaching", "type": "property"}, {"access": "private", "host": "Get", "name": "_autoPurge", "url": "Get.html#method__autoPurge", "type": "method"}, {"access": "", "host": "YUI", "name": "available", "url": "YUI.html#event_available", "type": "event"}, {"access": "", "host": "config", "name": "base", "url": "config.html#property_base", "type": "property"}, {"access": "", "host": "Loader", "name": "base", "url": "Loader.html#property_base", "type": "property"}, {"access": "", "host": "YUI", "name": "blur", "url": "YUI.html#event_blur", "type": "event"}, {"access": "", "host": "YUI", "name": "cached", "url": "YUI.html#method_cached", "type": "method"}, {"access": "", "host": "UA", "name": "caja", "url": "UA.html#property_caja", "type": "property"}, {"access": "", "host": "Loader", "name": "calculate", "url": "Loader.html#method_calculate", "type": "method"}, {"access": "", "host": "config", "name": "charset", "url": "config.html#property_charset", "type": "property"}, {"access": "", "host": "Loader", "name": "charset", "url": "Loader.html#property_charset", "type": "property"}, {"access": "", "host": "config", "name": "combine", "url": "config.html#property_combine", "type": "property"}, {"access": "", "host": "Loader", "name": "combine", "url": "Loader.html#property_combine", "type": "property"}, {"access": "", "host": "config", "name": "comboBase", "url": "config.html#property_comboBase", "type": "property"}, {"access": "", "host": "Loader", "name": "comboBase", "url": "Loader.html#property_comboBase", "type": "property"}, {"access": "", "host": "YUI", "name": "contentready", "url": "YUI.html#event_contentready", "type": "event"}, {"access": "", "host": "Loader", "name": "context", "url": "Loader.html#property_context", "type": "property"}, {"access": "", "host": "config", "name": "core", "url": "config.html#property_core", "type": "property"}, {"access": "", "host": "Get", "name": "css", "url": "Get.html#method_css", "type": "method"}, {"access": "", "host": "config", "name": "cssAttributes", "url": "config.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "cssAttributes", "url": "Loader.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "data", "url": "Loader.html#property_data", "type": "property"}, {"access": "", "host": "config", "name": "dateFormat", "url": "config.html#property_dateFormat", "type": "property"}, {"access": "", "host": "config", "name": "debug", "url": "config.html#property_debug", "type": "property"}, {"access": "", "host": "YUI", "name": "delegate", "url": "YUI.html#event_delegate", "type": "event"}, {"access": "", "host": "Loader", "name": "dirty", "url": "Loader.html#property_dirty", "type": "property"}, {"access": "", "host": "config", "name": "doc", "url": "config.html#property_doc", "type": "property"}, {"access": "", "host": "YUI", "name": "domready", "url": "YUI.html#event_domready", "type": "event"}, {"access": "", "host": "Object", "name": "each", "url": "Object.html#method_each", "type": "method"}, {"access": "", "host": "Array", "name": "each", "url": "Array.html#method_each", "type": "method"}, {"access": "private", "host": "Get", "name": "_end", "url": "Get.html#method__end", "type": "method"}, {"access": "", "host": "YUI", "name": "error", "url": "YUI.html#method_error", "type": "method"}, {"access": "", "host": "YUI", "name": "event:ready", "url": "YUI.html#event_event:ready", "type": "event"}, {"access": "private", "host": "Loader", "name": "_explode", "url": "Loader.html#method__explode", "type": "method"}, {"access": "private", "host": "Object", "name": "_extract", "url": "Object.html#method__extract", "type": "method"}, {"access": "", "host": "config", "name": "filter", "url": "config.html#property_filter", "type": "property"}, {"access": "", "host": "Loader", "name": "filter", "url": "Loader.html#property_filter", "type": "property"}, {"access": "private", "host": "Loader", "name": "_filter", "url": "Loader.html#method__filter", "type": "method"}, {"access": "", "host": "config", "name": "filters", "url": "config.html#property_filters", "type": "property"}, {"access": "", "host": "Loader", "name": "filters", "url": "Loader.html#property_filters", "type": "property"}, {"access": "private", "host": "Get", "name": "_finalize", "url": "Get.html#method__finalize", "type": "method"}, {"access": "private", "host": "Get", "name": "_finish", "url": "Get.html#method__finish", "type": "method"}, {"access": "", "host": "YUI", "name": "focus", "url": "YUI.html#event_focus", "type": "event"}, {"access": "", "host": "config", "name": "force", "url": "config.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "force", "url": "Loader.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "formatSkin", "url": "Loader.html#method_formatSkin", "type": "method"}, {"access": "", "host": "UA", "name": "gecko", "url": "UA.html#property_gecko", "type": "property"}, {"access": "", "host": "Loader", "name": "getProvides", "url": "Loader.html#method_getProvides", "type": "method"}, {"access": "", "host": "Loader", "name": "getRequires", "url": "Loader.html#method_getRequires", "type": "method"}, {"access": "", "host": "Object", "name": "getValue", "url": "Object.html#method_getValue", "type": "method"}, {"access": "", "host": "YUI", "name": "Global", "url": "YUI.html#property_Global", "type": "property"}, {"access": "", "host": "YUI", "name": "guid", "url": "YUI.html#method_guid", "type": "method"}, {"access": "", "host": "Array", "name": "hash", "url": "Array.html#method_hash", "type": "method"}, {"access": "", "host": "Object", "name": "hasKey", "url": "Object.html#method_hasKey", "type": "method"}, {"access": "", "host": "Object", "name": "hasValue", "url": "Object.html#method_hasValue", "type": "method"}, {"access": "", "host": "UA", "name": "ie", "url": "UA.html#property_ie", "type": "property"}, {"access": "", "host": "config", "name": "ignore", "url": "config.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignore", "url": "Loader.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignoreRegistered", "url": "Loader.html#property_ignoreRegistered", "type": "property"}, {"access": "", "host": "Array", "name": "indexOf", "url": "Array.html#method_indexOf", "type": "method"}, {"access": "private", "host": "YUI", "name": "_init", "url": "YUI.html#method__init", "type": "method"}, {"access": "", "host": "config", "name": "injected", "url": "config.html#property_injected", "type": "property"}, {"access": "", "host": "Loader", "name": "insert", "url": "Loader.html#method_insert", "type": "method"}, {"access": "", "host": "config", "name": "insertBefore", "url": "config.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "insertBefore", "url": "Loader.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "inserted", "url": "Loader.html#property_inserted", "type": "property"}, {"access": "private", "host": "Loader", "name": "_internalCallback", "url": "Loader.html#property__internalCallback", "type": "property"}, {"access": "", "host": "Lang", "name": "isArray", "url": "Lang.html#method_isArray", "type": "method"}, {"access": "", "host": "Lang", "name": "isBoolean", "url": "Lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "Lang", "name": "isDate", "url": "Lang.html#method_isDate", "type": "method"}, {"access": "", "host": "Lang", "name": "isFunction", "url": "Lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "Lang", "name": "isNull", "url": "Lang.html#method_isNull", "type": "method"}, {"access": "", "host": "Lang", "name": "isNumber", "url": "Lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "Lang", "name": "isObject", "url": "Lang.html#method_isObject", "type": "method"}, {"access": "", "host": "Lang", "name": "isString", "url": "Lang.html#method_isString", "type": "method"}, {"access": "", "host": "Lang", "name": "isUndefined", "url": "Lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "Lang", "name": "isValue", "url": "Lang.html#method_isValue", "type": "method"}, {"access": "", "host": "config", "name": "jsAttributes", "url": "config.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "jsAttributes", "url": "Loader.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "YUI", "name": "key", "url": "YUI.html#event_key", "type": "event"}, {"access": "", "host": "Object", "name": "keys", "url": "Object.html#method_keys", "type": "method"}, {"access": "", "host": "YUI", "name": "later", "url": "YUI.html#method_later", "type": "method"}, {"access": "private", "host": "Get", "name": "_linkNode", "url": "Get.html#method__linkNode", "type": "method"}, {"access": "", "host": "Loader", "name": "loaded", "url": "Loader.html#property_loaded", "type": "property"}, {"access": "", "host": "Loader", "name": "loadNext", "url": "Loader.html#method_loadNext", "type": "method"}, {"access": "", "host": "Loader", "name": "loadOptional", "url": "Loader.html#property_loadOptional", "type": "property"}, {"access": "", "host": "config", "name": "locale", "url": "config.html#property_locale", "type": "property"}, {"access": "", "host": "YUI", "name": "log", "url": "YUI.html#method_log", "type": "method"}, {"access": "", "host": "config", "name": "logExclude", "url": "config.html#property_logExclude", "type": "property"}, {"access": "", "host": "config", "name": "logInclude", "url": "config.html#property_logInclude", "type": "property"}, {"access": "", "host": "YUI", "name": "merge", "url": "YUI.html#method_merge", "type": "method"}, {"access": "", "host": "YUI", "name": "message", "url": "YUI.html#method_message", "type": "method"}, {"access": "", "host": "YUI", "name": "mix", "url": "YUI.html#method_mix", "type": "method"}, {"access": "", "host": "UA", "name": "mobile", "url": "UA.html#property_mobile", "type": "property"}, {"access": "", "host": "Loader", "name": "moduleInfo", "url": "Loader.html#property_moduleInfo", "type": "property"}, {"access": "", "host": "config", "name": "modules", "url": "config.html#property_modules", "type": "property"}, {"access": "", "host": "YUI", "name": "mouseenter", "url": "YUI.html#event_mouseenter", "type": "event"}, {"access": "", "host": "YUI", "name": "mouseleave", "url": "YUI.html#event_mouseleave", "type": "event"}, {"access": "", "host": "YUI", "name": "namespace", "url": "YUI.html#method_namespace", "type": "method"}, {"access": "private", "host": "Get", "name": "_next", "url": "Get.html#method__next", "type": "method"}, {"access": "private", "host": "Get", "name": "_node", "url": "Get.html#method__node", "type": "method"}, {"access": "", "host": "Array", "name": "numericSort", "url": "Array.html#method_numericSort", "type": "method"}, {"access": "", "host": "config", "name": "onCSS", "url": "config.html#property_onCSS", "type": "property"}, {"access": "", "host": "Loader", "name": "onCSS", "url": "Loader.html#method_onCSS", "type": "method"}, {"access": "", "host": "Loader", "name": "onFailure", "url": "Loader.html#method_onFailure", "type": "method"}, {"access": "", "host": "Loader", "name": "onProgress", "url": "Loader.html#method_onProgress", "type": "method"}, {"access": "", "host": "Loader", "name": "onSuccess", "url": "Loader.html#method_onSuccess", "type": "method"}, {"access": "", "host": "Loader", "name": "onTimeout", "url": "Loader.html#method_onTimeout", "type": "method"}, {"access": "", "host": "UA", "name": "opera", "url": "UA.html#property_opera", "type": "property"}, {"access": "", "host": "UA", "name": "os", "url": "UA.html#property_os", "type": "property"}, {"access": "", "host": "Object", "name": "owns", "url": "Object.html#method_owns", "type": "method"}, {"access": "", "host": "config", "name": "pollInterval", "url": "config.html#property_pollInterval", "type": "property"}, {"access": "private", "host": "Get", "name": "_purge", "url": "Get.html#method__purge", "type": "method"}, {"access": "private", "host": "Get", "name": "PURGE_THRESH", "url": "Get.html#property_PURGE_THRESH", "type": "property"}, {"access": "", "host": "config", "name": "purgethreshold", "url": "config.html#property_purgethreshold", "type": "property"}, {"access": "private", "host": "Get", "name": "purging", "url": "Get.html#property_purging", "type": "property"}, {"access": "private", "host": "Get", "name": "qidx", "url": "Get.html#property_qidx", "type": "property"}, {"access": "private", "host": "Get", "name": "queue", "url": "Get.html#method_queue", "type": "method"}, {"access": "private", "host": "Get", "name": "queues", "url": "Get.html#property_queues", "type": "property"}, {"access": "private", "host": "Loader", "name": "_reduce", "url": "Loader.html#method__reduce", "type": "method"}, {"access": "", "host": "Loader", "name": "require", "url": "Loader.html#method_require", "type": "method"}, {"access": "", "host": "Loader", "name": "required", "url": "Loader.html#property_required", "type": "property"}, {"access": "private", "host": "Get", "name": "_returnData", "url": "Get.html#method__returnData", "type": "method"}, {"access": "private", "host": "Loader", "name": "_rollup", "url": "Loader.html#method__rollup", "type": "method"}, {"access": "", "host": "Loader", "name": "rollups", "url": "Loader.html#property_rollups", "type": "property"}, {"access": "", "host": "config", "name": "root", "url": "config.html#property_root", "type": "property"}, {"access": "", "host": "Loader", "name": "root", "url": "Loader.html#property_root", "type": "property"}, {"access": "", "host": "Get", "name": "script", "url": "Get.html#method_script", "type": "method"}, {"access": "private", "host": "Get", "name": "_scriptNode", "url": "Get.html#method__scriptNode", "type": "method"}, {"access": "", "host": "UA", "name": "secure", "url": "UA.html#property_secure", "type": "property"}, {"access": "", "host": "config", "name": "secureBase", "url": "config.html#property_secureBase", "type": "property"}, {"access": "private", "host": "YUI", "name": "_setup", "url": "YUI.html#method__setup", "type": "method"}, {"access": "private", "host": "Loader", "name": "_setup", "url": "Loader.html#method__setup", "type": "method"}, {"access": "", "host": "Object", "name": "setValue", "url": "Object.html#method_setValue", "type": "method"}, {"access": "", "host": "YUI", "name": "simulate", "url": "YUI.html#method_simulate", "type": "method"}, {"access": "", "host": "Object", "name": "size", "url": "Object.html#method_size", "type": "method"}, {"access": "", "host": "Loader", "name": "skin", "url": "Loader.html#property_skin", "type": "property"}, {"access": "", "host": "Loader", "name": "skipped", "url": "Loader.html#property_skipped", "type": "property"}, {"access": "", "host": "Array", "name": "some", "url": "Array.html#method_some", "type": "method"}, {"access": "private", "host": "Loader", "name": "_sort", "url": "Loader.html#method__sort", "type": "method"}, {"access": "", "host": "Loader", "name": "sorted", "url": "Loader.html#property_sorted", "type": "property"}, {"access": "", "host": "YUI", "name": "stamp", "url": "YUI.html#method_stamp", "type": "method"}, {"access": "", "host": "Array", "name": "test", "url": "Array.html#method_test", "type": "method"}, {"access": "", "host": "config", "name": "throwFail", "url": "config.html#property_throwFail", "type": "property"}, {"access": "", "host": "config", "name": "timeout", "url": "config.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_timeout", "url": "Get.html#method__timeout", "type": "method"}, {"access": "", "host": "Loader", "name": "timeout", "url": "Loader.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_track", "url": "Get.html#method__track", "type": "method"}, {"access": "", "host": "Lang", "name": "trim", "url": "Lang.html#method_trim", "type": "method"}, {"access": "", "host": "Lang", "name": "type", "url": "Lang.html#method_type", "type": "method"}, {"access": "private", "host": "Loader", "name": "_url", "url": "Loader.html#method__url", "type": "method"}, {"access": "", "host": "YUI", "name": "use", "url": "YUI.html#method_use", "type": "method"}, {"access": "", "host": "config", "name": "useBrowserConsole", "url": "config.html#property_useBrowserConsole", "type": "property"}, {"access": "private", "host": "Loader", "name": "_useYahooListener", "url": "Loader.html#property__useYahooListener", "type": "property"}, {"access": "", "host": "Object", "name": "values", "url": "Object.html#method_values", "type": "method"}, {"access": "", "host": "UA", "name": "webkit", "url": "UA.html#property_webkit", "type": "property"}, {"access": "", "host": "config", "name": "win", "url": "config.html#property_win", "type": "property"}, {"access": "", "host": "YUI", "name": "windowresize", "url": "YUI.html#event_windowresize", "type": "event"}, {"access": "", "host": "config", "name": "windowResizeDelay", "url": "config.html#property_windowResizeDelay", "type": "property"}]; |
|
2280 </script> |
|
2281 </body> |
|
2282 </html> |