diff --git a/rhodecode/public/js/yui/yuiloader/yuiloader.js b/rhodecode/public/js/yui/yuiloader/yuiloader.js deleted file mode 100644 --- a/rhodecode/public/js/yui/yuiloader/yuiloader.js +++ /dev/null @@ -1,3879 +0,0 @@ -/* -Copyright (c) 2010, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.com/yui/license.html -version: 2.8.2r1 -*/ -/** - * The YAHOO object is the single global object used by YUI Library. It - * contains utility function for setting up namespaces, inheritance, and - * logging. YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces - * created automatically for and used by the library. - * @module yahoo - * @title YAHOO Global - */ - -/** - * YAHOO_config is not included as part of the library. Instead it is an - * object that can be defined by the implementer immediately before - * including the YUI library. The properties included in this object - * will be used to configure global properties needed as soon as the - * library begins to load. - * @class YAHOO_config - * @static - */ - -/** - * A reference to a function that will be executed every time a YAHOO module - * is loaded. As parameter, this function will receive the version - * information for the module. See - * YAHOO.env.getVersion for the description of the version data structure. - * @property listener - * @type Function - * @static - * @default undefined - */ - -/** - * Set to true if the library will be dynamically loaded after window.onload. - * Defaults to false - * @property injecting - * @type boolean - * @static - * @default undefined - */ - -/** - * Instructs the yuiloader component to dynamically load yui components and - * their dependencies. See the yuiloader documentation for more information - * about dynamic loading - * @property load - * @static - * @default undefined - * @see yuiloader - */ - -/** - * Forces the use of the supplied locale where applicable in the library - * @property locale - * @type string - * @static - * @default undefined - */ - -if (typeof YAHOO == "undefined" || !YAHOO) { - /** - * The YAHOO global namespace object. If YAHOO is already defined, the - * existing YAHOO object will not be overwritten so that defined - * namespaces are preserved. - * @class YAHOO - * @static - */ - var YAHOO = {}; -} - -/** - * Returns the namespace specified and creates it if it doesn't exist - *
- * YAHOO.namespace("property.package");
- * YAHOO.namespace("YAHOO.property.package");
- *
- * Either of the above would create YAHOO.property, then
- * YAHOO.property.package
- *
- * Be careful when naming packages. Reserved words may work in some browsers
- * and not others. For instance, the following will fail in Safari:
- *
- * YAHOO.namespace("really.long.nested.namespace");
- *
- * This fails because "long" is a future reserved word in ECMAScript
- *
- * For implementation code that uses YUI, do not create your components
- * in the namespaces defined by YUI (
- * YAHOO.util,
- * YAHOO.widget,
- * YAHOO.lang,
- * YAHOO.tool,
- * YAHOO.example,
- * YAHOO.env) -- create your own namespace (e.g., 'companyname').
- *
- * @method namespace
- * @static
- * @param {String*} arguments 1-n namespaces to create
- * @return {Object} A reference to the last namespace object created
- */
-YAHOO.namespace = function() {
- var a=arguments, o=null, i, j, d;
- for (i=0; i- * Firefox 1.0.0.4: 1.7.8 <-- Reports 1.7 - * Firefox 1.5.0.9: 1.8.0.9 <-- Reports 1.8 - * Firefox 2.0.0.3: 1.8.1.3 <-- Reports 1.8 - * Firefox 3 alpha: 1.9a4 <-- Reports 1.9 - *- * @property gecko - * @type float - */ - gecko: 0, - - /** - * AppleWebKit version. KHTML browsers that are not WebKit browsers - * will evaluate to 1, other browsers 0. Example: 418.9.1 - *
- * Safari 1.3.2 (312.6): 312.8.1 <-- Reports 312.8 -- currently the - * latest available for Mac OSX 10.3. - * Safari 2.0.2: 416 <-- hasOwnProperty introduced - * Safari 2.0.4: 418 <-- preventDefault fixed - * Safari 2.0.4 (419.3): 418.9.1 <-- One version of Safari may run - * different versions of webkit - * Safari 2.0.4 (419.3): 419 <-- Tiger installations that have been - * updated, but not updated - * to the latest patch. - * Webkit 212 nightly: 522+ <-- Safari 3.0 precursor (with native SVG - * and many major issues fixed). - * 3.x yahoo.com, flickr:422 <-- Safari 3.x hacks the user agent - * string when hitting yahoo.com and - * flickr.com. - * Safari 3.0.4 (523.12):523.12 <-- First Tiger release - automatic update - * from 2.x via the 10.4.11 OS patch - * Webkit nightly 1/2008:525+ <-- Supports DOMContentLoaded event. - * yahoo.com user agent hack removed. - * - *- * http://developer.apple.com/internet/safari/uamatrix.html - * @property webkit - * @type float - */ - webkit: 0, - - /** - * The mobile property will be set to a string containing any relevant - * user agent information when a modern mobile browser is detected. - * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series - * devices with the WebKit-based browser, and Opera Mini. - * @property mobile - * @type string - */ - mobile: null, - - /** - * Adobe AIR version number or 0. Only populated if webkit is detected. - * Example: 1.0 - * @property air - * @type float - */ - air: 0, - - /** - * Google Caja version number or 0. - * @property caja - * @type float - */ - caja: nav.cajaVersion, - - /** - * Set to true if the page appears to be in SSL - * @property secure - * @type boolean - * @static - */ - secure: false, - - /** - * The operating system. Currently only detecting windows or macintosh - * @property os - * @type string - * @static - */ - os: null - - }, - - ua = navigator && navigator.userAgent, - - loc = window && window.location, - - href = loc && loc.href, - - m; - - o.secure = href && (href.toLowerCase().indexOf("https") === 0); - - if (ua) { - - if ((/windows|win32/i).test(ua)) { - o.os = 'windows'; - } else if ((/macintosh/i).test(ua)) { - o.os = 'macintosh'; - } - - // Modern KHTML browsers should qualify as Safari X-Grade - if ((/KHTML/).test(ua)) { - o.webkit=1; - } - - // Modern WebKit browsers are at least X-Grade - m=ua.match(/AppleWebKit\/([^\s]*)/); - if (m&&m[1]) { - o.webkit=numberfy(m[1]); - - // Mobile browser check - if (/ Mobile\//.test(ua)) { - o.mobile = "Apple"; // iPhone or iPod Touch - } else { - m=ua.match(/NokiaN[^\/]*/); - if (m) { - o.mobile = m[0]; // Nokia N-series, ex: NokiaN95 - } - } - - m=ua.match(/AdobeAIR\/([^\s]*)/); - if (m) { - o.air = m[0]; // Adobe AIR 1.0 or better - } - - } - - if (!o.webkit) { // not webkit - // @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr) - m=ua.match(/Opera[\s\/]([^\s]*)/); - if (m&&m[1]) { - o.opera=numberfy(m[1]); - m=ua.match(/Opera Mini[^;]*/); - if (m) { - o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316 - } - } else { // not opera or webkit - m=ua.match(/MSIE\s([^;]*)/); - if (m&&m[1]) { - o.ie=numberfy(m[1]); - } else { // not opera, webkit, or ie - m=ua.match(/Gecko\/([^\s]*)/); - if (m) { - o.gecko=1; // Gecko detected, look for revision - m=ua.match(/rv:([^\s\)]*)/); - if (m&&m[1]) { - o.gecko=numberfy(m[1]); - } - } - } - } - } - } - - return o; -}(); - -/* - * Initializes the global by creating the default namespaces and applying - * any new configuration information that is detected. This is the setup - * for env. - * @method init - * @static - * @private - */ -(function() { - YAHOO.namespace("util", "widget", "example"); - /*global YAHOO_config*/ - if ("undefined" !== typeof YAHOO_config) { - var l=YAHOO_config.listener, ls=YAHOO.env.listeners,unique=true, i; - if (l) { - // if YAHOO is loaded multiple times we need to check to see if - // this is a new config object. If it is, add the new component - // load listener to the stack - for (i=0; i
- * // assumes yahoo, dom, and event are already on the page
- * YAHOO.util.Get.script(
- * ["http://yui.yahooapis.com/2.7.0/build/dragdrop/dragdrop-min.js",
- * "http://yui.yahooapis.com/2.7.0/build/animation/animation-min.js"], {
- * onSuccess: function(o) {
- * new YAHOO.util.DDProxy("dd1"); // also new o.reference("dd1"); would work
- * this.log("won't cause error because YAHOO is the scope");
- * this.log(o.nodes.length === 2) // true
- * // o.purge(); // optionally remove the script nodes immediately
- * },
- * onFailure: function(o) {
- * },
- * data: "foo",
- * timeout: 10000, // 10 second timeout
- * scope: YAHOO,
- * // win: otherframe // target another window/frame
- * autopurge: true // allow the utility to choose when to remove the nodes
- * });
- *
- * @return {tId: string} an object containing info about the transaction
- */
- script: function(url, opts) { return _queue("script", url, opts); },
-
- /**
- * Fetches and inserts one or more css link nodes into the
- * head of the current document or the document in a specified
- * window.
- * @method css
- * @static
- * @param url {string} the url or urls to the css file(s)
- * @param opts Options:
- *
- * YAHOO.util.Get.css("http://yui.yahooapis.com/2.7.0/build/menu/assets/skins/sam/menu.css");
- *
- * - * YAHOO.util.Get.css(["http://yui.yahooapis.com/2.7.0/build/menu/assets/skins/sam/menu.css", - *- * @return {tId: string} an object containing info about the transaction - */ - css: function(url, opts) { - return _queue("css", url, opts); - } - }; -}(); - -YAHOO.register("get", YAHOO.util.Get, {version: "2.8.2r1", build: "7"}); -/** - * Provides dynamic loading for the YUI library. It includes the dependency - * info for the library, and will automatically pull in dependencies for - * the modules requested. It supports rollup files (such as utilities.js - * and yahoo-dom-event.js), and will automatically use these when - * appropriate in order to minimize the number of http connections - * required to load all of the dependencies. - * - * @module yuiloader - * @namespace YAHOO.util - */ - -/** - * YUILoader provides dynamic loading for YUI. - * @class YAHOO.util.YUILoader - * @todo - * version management, automatic sandboxing - */ -(function() { - - var Y=YAHOO, util=Y.util, lang=Y.lang, env=Y.env, - PROV = "_provides", SUPER = "_supersedes", - REQ = "expanded", AFTER = "_after"; - - var YUI = { - - dupsAllowed: {'yahoo': true, 'get': true}, - - /* - * The library metadata for the current release The is the default - * value for YAHOO.util.YUILoader.moduleInfo - * @property YUIInfo - * @static - */ - info: { - - // 'root': '2.5.2/build/', - // 'base': 'http://yui.yahooapis.com/2.5.2/build/', - - 'root': '2.8.2r1/build/', - 'base': 'http://yui.yahooapis.com/2.8.2r1/build/', - - 'comboBase': 'http://yui.yahooapis.com/combo?', - - 'skin': { - 'defaultSkin': 'sam', - 'base': 'assets/skins/', - 'path': 'skin.css', - 'after': ['reset', 'fonts', 'grids', 'base'], - 'rollup': 3 - }, - - dupsAllowed: ['yahoo', 'get'], - - 'moduleInfo': { - - 'animation': { - 'type': 'js', - 'path': 'animation/animation-min.js', - 'requires': ['dom', 'event'] - }, - - 'autocomplete': { - 'type': 'js', - 'path': 'autocomplete/autocomplete-min.js', - 'requires': ['dom', 'event', 'datasource'], - 'optional': ['connection', 'animation'], - 'skinnable': true - }, - - 'base': { - 'type': 'css', - 'path': 'base/base-min.css', - 'after': ['reset', 'fonts', 'grids'] - }, - - 'button': { - 'type': 'js', - 'path': 'button/button-min.js', - 'requires': ['element'], - 'optional': ['menu'], - 'skinnable': true - }, - - 'calendar': { - 'type': 'js', - 'path': 'calendar/calendar-min.js', - 'requires': ['event', 'dom'], - supersedes: ['datemeth'], - 'skinnable': true - }, - - 'carousel': { - 'type': 'js', - 'path': 'carousel/carousel-min.js', - 'requires': ['element'], - 'optional': ['animation'], - 'skinnable': true - }, - - 'charts': { - 'type': 'js', - 'path': 'charts/charts-min.js', - 'requires': ['element', 'json', 'datasource', 'swf'] - }, - - 'colorpicker': { - 'type': 'js', - 'path': 'colorpicker/colorpicker-min.js', - 'requires': ['slider', 'element'], - 'optional': ['animation'], - 'skinnable': true - }, - - 'connection': { - 'type': 'js', - 'path': 'connection/connection-min.js', - 'requires': ['event'], - 'supersedes': ['connectioncore'] - }, - - 'connectioncore': { - 'type': 'js', - 'path': 'connection/connection_core-min.js', - 'requires': ['event'], - 'pkg': 'connection' - }, - - 'container': { - 'type': 'js', - 'path': 'container/container-min.js', - 'requires': ['dom', 'event'], - // button is also optional, but this creates a circular - // dependency when loadOptional is specified. button - // optionally includes menu, menu requires container. - 'optional': ['dragdrop', 'animation', 'connection'], - 'supersedes': ['containercore'], - 'skinnable': true - }, - - 'containercore': { - 'type': 'js', - 'path': 'container/container_core-min.js', - 'requires': ['dom', 'event'], - 'pkg': 'container' - }, - - 'cookie': { - 'type': 'js', - 'path': 'cookie/cookie-min.js', - 'requires': ['yahoo'] - }, - - 'datasource': { - 'type': 'js', - 'path': 'datasource/datasource-min.js', - 'requires': ['event'], - 'optional': ['connection'] - }, - - 'datatable': { - 'type': 'js', - 'path': 'datatable/datatable-min.js', - 'requires': ['element', 'datasource'], - 'optional': ['calendar', 'dragdrop', 'paginator'], - 'skinnable': true - }, - - datemath: { - 'type': 'js', - 'path': 'datemath/datemath-min.js', - 'requires': ['yahoo'] - }, - - 'dom': { - 'type': 'js', - 'path': 'dom/dom-min.js', - 'requires': ['yahoo'] - }, - - 'dragdrop': { - 'type': 'js', - 'path': 'dragdrop/dragdrop-min.js', - 'requires': ['dom', 'event'] - }, - - 'editor': { - 'type': 'js', - 'path': 'editor/editor-min.js', - 'requires': ['menu', 'element', 'button'], - 'optional': ['animation', 'dragdrop'], - 'supersedes': ['simpleeditor'], - 'skinnable': true - }, - - 'element': { - 'type': 'js', - 'path': 'element/element-min.js', - 'requires': ['dom', 'event'], - 'optional': ['event-mouseenter', 'event-delegate'] - }, - - 'element-delegate': { - 'type': 'js', - 'path': 'element-delegate/element-delegate-min.js', - 'requires': ['element'] - }, - - 'event': { - 'type': 'js', - 'path': 'event/event-min.js', - 'requires': ['yahoo'] - }, - - 'event-simulate': { - 'type': 'js', - 'path': 'event-simulate/event-simulate-min.js', - 'requires': ['event'] - }, - - 'event-delegate': { - 'type': 'js', - 'path': 'event-delegate/event-delegate-min.js', - 'requires': ['event'], - 'optional': ['selector'] - }, - - 'event-mouseenter': { - 'type': 'js', - 'path': 'event-mouseenter/event-mouseenter-min.js', - 'requires': ['dom', 'event'] - }, - - 'fonts': { - 'type': 'css', - 'path': 'fonts/fonts-min.css' - }, - - 'get': { - 'type': 'js', - 'path': 'get/get-min.js', - 'requires': ['yahoo'] - }, - - 'grids': { - 'type': 'css', - 'path': 'grids/grids-min.css', - 'requires': ['fonts'], - 'optional': ['reset'] - }, - - 'history': { - 'type': 'js', - 'path': 'history/history-min.js', - 'requires': ['event'] - }, - - 'imagecropper': { - 'type': 'js', - 'path': 'imagecropper/imagecropper-min.js', - 'requires': ['dragdrop', 'element', 'resize'], - 'skinnable': true - }, - - 'imageloader': { - 'type': 'js', - 'path': 'imageloader/imageloader-min.js', - 'requires': ['event', 'dom'] - }, - - 'json': { - 'type': 'js', - 'path': 'json/json-min.js', - 'requires': ['yahoo'] - }, - - 'layout': { - 'type': 'js', - 'path': 'layout/layout-min.js', - 'requires': ['element'], - 'optional': ['animation', 'dragdrop', 'resize', 'selector'], - 'skinnable': true - }, - - 'logger': { - 'type': 'js', - 'path': 'logger/logger-min.js', - 'requires': ['event', 'dom'], - 'optional': ['dragdrop'], - 'skinnable': true - }, - - 'menu': { - 'type': 'js', - 'path': 'menu/menu-min.js', - 'requires': ['containercore'], - 'skinnable': true - }, - - 'paginator': { - 'type': 'js', - 'path': 'paginator/paginator-min.js', - 'requires': ['element'], - 'skinnable': true - }, - - 'profiler': { - 'type': 'js', - 'path': 'profiler/profiler-min.js', - 'requires': ['yahoo'] - }, - - - 'profilerviewer': { - 'type': 'js', - 'path': 'profilerviewer/profilerviewer-min.js', - 'requires': ['profiler', 'yuiloader', 'element'], - 'skinnable': true - }, - - 'progressbar': { - 'type': 'js', - 'path': 'progressbar/progressbar-min.js', - 'requires': ['element'], - 'optional': ['animation'], - 'skinnable': true - }, - - 'reset': { - 'type': 'css', - 'path': 'reset/reset-min.css' - }, - - 'reset-fonts-grids': { - 'type': 'css', - 'path': 'reset-fonts-grids/reset-fonts-grids.css', - 'supersedes': ['reset', 'fonts', 'grids', 'reset-fonts'], - 'rollup': 4 - }, - - 'reset-fonts': { - 'type': 'css', - 'path': 'reset-fonts/reset-fonts.css', - 'supersedes': ['reset', 'fonts'], - 'rollup': 2 - }, - - 'resize': { - 'type': 'js', - 'path': 'resize/resize-min.js', - 'requires': ['dragdrop', 'element'], - 'optional': ['animation'], - 'skinnable': true - }, - - 'selector': { - 'type': 'js', - 'path': 'selector/selector-min.js', - 'requires': ['yahoo', 'dom'] - }, - - 'simpleeditor': { - 'type': 'js', - 'path': 'editor/simpleeditor-min.js', - 'requires': ['element'], - 'optional': ['containercore', 'menu', 'button', 'animation', 'dragdrop'], - 'skinnable': true, - 'pkg': 'editor' - }, - - 'slider': { - 'type': 'js', - 'path': 'slider/slider-min.js', - 'requires': ['dragdrop'], - 'optional': ['animation'], - 'skinnable': true - }, - - 'storage': { - 'type': 'js', - 'path': 'storage/storage-min.js', - 'requires': ['yahoo', 'event', 'cookie'], - 'optional': ['swfstore'] - }, - - 'stylesheet': { - 'type': 'js', - 'path': 'stylesheet/stylesheet-min.js', - 'requires': ['yahoo'] - }, - - 'swf': { - 'type': 'js', - 'path': 'swf/swf-min.js', - 'requires': ['element'], - 'supersedes': ['swfdetect'] - }, - - 'swfdetect': { - 'type': 'js', - 'path': 'swfdetect/swfdetect-min.js', - 'requires': ['yahoo'] - }, - - 'swfstore': { - 'type': 'js', - 'path': 'swfstore/swfstore-min.js', - 'requires': ['element', 'cookie', 'swf'] - }, - - 'tabview': { - 'type': 'js', - 'path': 'tabview/tabview-min.js', - 'requires': ['element'], - 'optional': ['connection'], - 'skinnable': true - }, - - 'treeview': { - 'type': 'js', - 'path': 'treeview/treeview-min.js', - 'requires': ['event', 'dom'], - 'optional': ['json', 'animation', 'calendar'], - 'skinnable': true - }, - - 'uploader': { - 'type': 'js', - 'path': 'uploader/uploader-min.js', - 'requires': ['element'] - }, - - 'utilities': { - 'type': 'js', - 'path': 'utilities/utilities.js', - 'supersedes': ['yahoo', 'event', 'dragdrop', 'animation', 'dom', 'connection', 'element', 'yahoo-dom-event', 'get', 'yuiloader', 'yuiloader-dom-event'], - 'rollup': 8 - }, - - 'yahoo': { - 'type': 'js', - 'path': 'yahoo/yahoo-min.js' - }, - - 'yahoo-dom-event': { - 'type': 'js', - 'path': 'yahoo-dom-event/yahoo-dom-event.js', - 'supersedes': ['yahoo', 'event', 'dom'], - 'rollup': 3 - }, - - 'yuiloader': { - 'type': 'js', - 'path': 'yuiloader/yuiloader-min.js', - 'supersedes': ['yahoo', 'get'] - }, - - 'yuiloader-dom-event': { - 'type': 'js', - 'path': 'yuiloader-dom-event/yuiloader-dom-event.js', - 'supersedes': ['yahoo', 'dom', 'event', 'get', 'yuiloader', 'yahoo-dom-event'], - 'rollup': 5 - }, - - 'yuitest': { - 'type': 'js', - 'path': 'yuitest/yuitest-min.js', - 'requires': ['logger'], - 'optional': ['event-simulate'], - 'skinnable': true - } - } -} - , - - ObjectUtil: { - appendArray: function(o, a) { - if (a) { - for (var i=0; i
- * myFilter: {
- * 'searchExp': "-min\\.js",
- * 'replaceStr': "-debug.js"
- * }
- *
- * @property filter
- * @type string|{searchExp: string, replaceStr: string}
- */
- this.filter = null;
-
- /**
- * The list of requested modules
- * @property required
- * @type {string: boolean}
- */
- this.required = {};
-
- /**
- * The library metadata
- * @property moduleInfo
- */
- this.moduleInfo = lang.merge(YUI.info.moduleInfo);
-
- /**
- * List of rollup files found in the library metadata
- * @property rollups
- */
- this.rollups = null;
-
- /**
- * Whether or not to load optional dependencies for
- * the requested modules
- * @property loadOptional
- * @type boolean
- * @default false
- */
- this.loadOptional = false;
-
- /**
- * All of the derived dependencies in sorted order, which
- * will be populated when either calculate() or insert()
- * is called
- * @property sorted
- * @type string[]
- */
- this.sorted = [];
-
- /**
- * Set when beginning to compute the dependency tree.
- * Composed of what YAHOO reports to be loaded combined
- * with what has been loaded by the tool
- * @propery loaded
- * @type {string: boolean}
- */
- this.loaded = {};
-
- /**
- * Flag to indicate the dependency tree needs to be recomputed
- * if insert is called again.
- * @property dirty
- * @type boolean
- * @default true
- */
- this.dirty = true;
-
- /**
- * List of modules inserted by the utility
- * @property inserted
- * @type {string: boolean}
- */
- this.inserted = {};
-
- /**
- * Provides the information used to skin the skinnable components.
- * The following skin definition would result in 'skin1' and 'skin2'
- * being loaded for calendar (if calendar was requested), and
- * 'sam' for all other skinnable components:
- *
- *
- * skin: {
- *
- * // The default skin, which is automatically applied if not
- * // overriden by a component-specific skin definition.
- * // Change this in to apply a different skin globally
- * defaultSkin: 'sam',
- *
- * // This is combined with the loader base property to get
- * // the default root directory for a skin. ex:
- * // http://yui.yahooapis.com/2.3.0/build/assets/skins/sam/
- * base: 'assets/skins/',
- *
- * // The name of the rollup css file for the skin
- * path: 'skin.css',
- *
- * // The number of skinnable components requested that are
- * // required before using the rollup file rather than the
- * // individual component css files
- * rollup: 3,
- *
- * // Any component-specific overrides can be specified here,
- * // making it possible to load different skins for different
- * // components. It is possible to load more than one skin
- * // for a given component as well.
- * overrides: {
- * calendar: ['skin1', 'skin2']
- * }
- * }
- *
- * @property skin
- */
-
- var self = this;
-
- env.listeners.push(function(m) {
- if (self._useYahooListener) {
- //Y.log("YAHOO listener: " + m.name);
- self.loadNext(m.name);
- }
- });
-
- this.skin = lang.merge(YUI.info.skin);
-
- this._config(o);
-
- };
-
- Y.util.YUILoader.prototype = {
-
- FILTERS: {
- RAW: {
- 'searchExp': "-min\\.js",
- 'replaceStr': ".js"
- },
- DEBUG: {
- 'searchExp': "-min\\.js",
- 'replaceStr': "-debug.js"
- }
- },
-
- SKIN_PREFIX: "skin-",
-
- _config: function(o) {
-
- // apply config values
- if (o) {
- for (var i in o) {
- if (lang.hasOwnProperty(o, i)) {
- if (i == "require") {
- this.require(o[i]);
- } else {
- this[i] = o[i];
- }
- }
- }
- }
-
- // fix filter
- var f = this.filter;
-
- if (lang.isString(f)) {
- f = f.toUpperCase();
-
- // the logger must be available in order to use the debug
- // versions of the library
- if (f === "DEBUG") {
- this.require("logger");
- }
-
- // hack to handle a a bug where LogWriter is being instantiated
- // at load time, and the loader has no way to sort above it
- // at the moment.
- if (!Y.widget.LogWriter) {
- Y.widget.LogWriter = function() {
- return Y;
- };
- }
-
- this.filter = this.FILTERS[f];
- }
-
- },
-
- /** Add a new module to the component metadata.
- * type can be "js" or "css". Both script and
- * css are inserted if type is not provided.
- * @method insert
- * @param o optional options object
- * @param type {string} the type of dependency to insert
- */
- insert: function(o, type) {
- // if (o) {
- // Y.log("insert: " + lang.dump(o, 1) + ", " + type);
- // } else {
- // Y.log("insert: " + this.toString() + ", " + type);
- // }
-
- // build the dependency list
- this.calculate(o);
-
-
- // set a flag to indicate the load has started
- this._loading = true;
-
- // flag to indicate we are done with the combo service
- // and any additional files will need to be loaded
- // individually
- // this._combineComplete = false;
-
- // keep the loadType (js, css or undefined) cached
- this.loadType = type;
-
- if (this.combine) {
- return this._combine();
- }
-
- if (!type) {
- // Y.log("trying to load css first");
- var self = this;
- this._internalCallback = function() {
- self._internalCallback = null;
- self.insert(null, "js");
- };
- this.insert(null, "css");
- return;
- }
-
-
- // start the load
- this.loadNext();
-
- },
-
- /**
- * Interns the script for the requested modules. The callback is
- * provided a reference to the sandboxed YAHOO object. This only
- * applies to the script: css can not be sandboxed; css will be
- * loaded into the page normally if specified.
- * @method sandbox
- * @param callback {Function} the callback to exectued when the load is
- * complete.
- */
- sandbox: function(o, type) {
- // if (o) {
- // YAHOO.log("sandbox: " + lang.dump(o, 1) + ", " + type);
- // } else {
- // YAHOO.log("sandbox: " + this.toString() + ", " + type);
- // }
-
- this._config(o);
-
- if (!this.onSuccess) {
-throw new Error("You must supply an onSuccess handler for your sandbox");
- }
-
- this._sandbox = true;
-
- var self = this;
-
- // take care of any css first (this can't be sandboxed)
- if (!type || type !== "js") {
- this._internalCallback = function() {
- self._internalCallback = null;
- self.sandbox(null, "js");
- };
- this.insert(null, "css");
- return;
- }
-
- // get the connection manager if not on the page
- if (!util.Connect) {
- // get a new loader instance to load connection.
- var ld = new YAHOO.util.YUILoader();
- ld.insert({
- base: this.base,
- filter: this.filter,
- require: "connection",
- insertBefore: this.insertBefore,
- charset: this.charset,
- onSuccess: function() {
- this.sandbox(null, "js");
- },
- scope: this
- }, "js");
- return;
- }
-
- this._scriptText = [];
- this._loadCount = 0;
- this._stopCount = this.sorted.length;
- this._xhr = [];
-
- this.calculate();
-
- var s=this.sorted, l=s.length, i, m, url;
-
- for (i=0; i