class for the complete
-list of supported configuration properties accepted by the YUI constuctor.
-
-If a global `YUI` object is already defined, the existing YUI object will not be
-overwritten, to ensure that defined namespaces are preserved.
-
-Each YUI instance has full custom event support, but only if the event system is
-available.
-
-@class YUI
-@uses EventTarget
-@constructor
-@global
-@param {Object} [config]* Zero or more optional configuration objects. Config
- values are stored in the `Y.config` property. See the
- Config docs for the list of supported properties.
-**/
-
- /*global YUI*/
- /*global YUI_config*/
- var YUI = function() {
- var i = 0,
- Y = this,
- args = arguments,
- l = args.length,
- instanceOf = function(o, type) {
- return (o && o.hasOwnProperty && (o instanceof type));
- },
- gconf = (typeof YUI_config !== 'undefined') && YUI_config;
-
- if (!(instanceOf(Y, YUI))) {
- Y = new YUI();
- } else {
- // set up the core environment
- Y._init();
-
- /**
- Master configuration that might span multiple contexts in a non-
- browser environment. It is applied first to all instances in all
- contexts.
-
- @example
-
- YUI.GlobalConfig = {
- filter: 'debug'
- };
-
- YUI().use('node', function (Y) {
- // debug files used here
- });
-
- YUI({
- filter: 'min'
- }).use('node', function (Y) {
- // min files used here
- });
-
- @property {Object} GlobalConfig
- @global
- @static
- **/
- if (YUI.GlobalConfig) {
- Y.applyConfig(YUI.GlobalConfig);
- }
-
- /**
- Page-level config applied to all YUI instances created on the
- current page. This is applied after `YUI.GlobalConfig` and before
- any instance-level configuration.
-
- @example
-
- // Single global var to include before YUI seed file
- YUI_config = {
- filter: 'debug'
- };
-
- YUI().use('node', function (Y) {
- // debug files used here
- });
-
- YUI({
- filter: 'min'
- }).use('node', function (Y) {
- // min files used here
- });
-
- @property {Object} YUI_config
- @global
- **/
- if (gconf) {
- Y.applyConfig(gconf);
- }
-
- // bind the specified additional modules for this instance
- if (!l) {
- Y._setup();
- }
- }
-
- if (l) {
- // Each instance can accept one or more configuration objects.
- // These are applied after YUI.GlobalConfig and YUI_Config,
- // overriding values set in those config files if there is a
- // matching property.
- for (; i < l; i++) {
- Y.applyConfig(args[i]);
- }
-
- Y._setup();
- }
-
- Y.instanceOf = instanceOf;
-
- return Y;
- };
-
-(function() {
-
- var proto, prop,
- VERSION = '3.12.0',
- PERIOD = '.',
- BASE = 'http://yui.yahooapis.com/',
- /*
- These CSS class names can't be generated by
- getClassName since it is not available at the
- time they are being used.
- */
- DOC_LABEL = 'yui3-js-enabled',
- CSS_STAMP_EL = 'yui3-css-stamp',
- NOOP = function() {},
- SLICE = Array.prototype.slice,
- APPLY_TO_AUTH = { 'io.xdrReady': 1, // the functions applyTo
- 'io.xdrResponse': 1, // can call. this should
- 'SWF.eventHandler': 1 }, // be done at build time
- hasWin = (typeof window != 'undefined'),
- win = (hasWin) ? window : null,
- doc = (hasWin) ? win.document : null,
- docEl = doc && doc.documentElement,
- docClass = docEl && docEl.className,
- instances = {},
- time = new Date().getTime(),
- add = function(el, type, fn, capture) {
- if (el && el.addEventListener) {
- el.addEventListener(type, fn, capture);
- } else if (el && el.attachEvent) {
- el.attachEvent('on' + type, fn);
- }
- },
- remove = function(el, type, fn, capture) {
- if (el && el.removeEventListener) {
- // this can throw an uncaught exception in FF
- try {
- el.removeEventListener(type, fn, capture);
- } catch (ex) {}
- } else if (el && el.detachEvent) {
- el.detachEvent('on' + type, fn);
- }
- },
- handleLoad = function() {
- YUI.Env.windowLoaded = true;
- YUI.Env.DOMReady = true;
- if (hasWin) {
- remove(window, 'load', handleLoad);
- }
- },
- getLoader = function(Y, o) {
- var loader = Y.Env._loader,
- lCore = [ 'loader-base' ],
- G_ENV = YUI.Env,
- mods = G_ENV.mods;
-
- if (loader) {
- //loader._config(Y.config);
- loader.ignoreRegistered = false;
- loader.onEnd = null;
- loader.data = null;
- loader.required = [];
- loader.loadType = null;
- } else {
- loader = new Y.Loader(Y.config);
- Y.Env._loader = loader;
- }
- if (mods && mods.loader) {
- lCore = [].concat(lCore, YUI.Env.loaderExtras);
- }
- YUI.Env.core = Y.Array.dedupe([].concat(YUI.Env.core, lCore));
-
- return loader;
- },
-
- clobber = function(r, s) {
- for (var i in s) {
- if (s.hasOwnProperty(i)) {
- r[i] = s[i];
- }
- }
- },
-
- ALREADY_DONE = { success: true };
-
-// Stamp the documentElement (HTML) with a class of "yui-loaded" to
-// enable styles that need to key off of JS being enabled.
-if (docEl && docClass.indexOf(DOC_LABEL) == -1) {
- if (docClass) {
- docClass += ' ';
- }
- docClass += DOC_LABEL;
- docEl.className = docClass;
-}
-
-if (VERSION.indexOf('@') > -1) {
- VERSION = '3.5.0'; // dev time hack for cdn test
-}
-
-proto = {
- /**
- Applies a new configuration object to the config of this YUI instance. This
- will merge new group/module definitions, and will also update the loader
- cache if necessary. Updating `Y.config` directly will not update the cache.
-
- @method applyConfig
- @param {Object} o the configuration object.
- @since 3.2.0
- **/
- applyConfig: function(o) {
-
- o = o || NOOP;
-
- var attr,
- name,
- // detail,
- config = this.config,
- mods = config.modules,
- groups = config.groups,
- aliases = config.aliases,
- loader = this.Env._loader;
-
- for (name in o) {
- if (o.hasOwnProperty(name)) {
- attr = o[name];
- if (mods && name == 'modules') {
- clobber(mods, attr);
- } else if (aliases && name == 'aliases') {
- clobber(aliases, attr);
- } else if (groups && name == 'groups') {
- clobber(groups, attr);
- } else if (name == 'win') {
- config[name] = (attr && attr.contentWindow) || attr;
- config.doc = config[name] ? config[name].document : null;
- } else if (name == '_yuid') {
- // preserve the guid
- } else {
- config[name] = attr;
- }
- }
- }
-
- if (loader) {
- loader._config(o);
- }
-
- },
-
- /**
- Old way to apply a config to this instance (calls `applyConfig` under the
- hood).
-
- @private
- @method _config
- @param {Object} o The config to apply
- **/
- _config: function(o) {
- this.applyConfig(o);
- },
-
- /**
- Initializes this YUI instance.
-
- @private
- @method _init
- **/
- _init: function() {
- var filter, el,
- Y = this,
- G_ENV = YUI.Env,
- Env = Y.Env,
- prop;
-
- /**
- The version number of this YUI instance.
-
- This value is typically updated by a script when a YUI release is built,
- so it may not reflect the correct version number when YUI is run from
- the development source tree.
-
- @property {String} version
- **/
- Y.version = VERSION;
-
- if (!Env) {
- Y.Env = {
- core: ['get', 'features', 'intl-base', 'yui-log', 'yui-later'],
- loaderExtras: ['loader-rollup', 'loader-yui3'],
- mods: {}, // flat module map
- versions: {}, // version module map
- base: BASE,
- cdn: BASE + VERSION + '/build/',
- // bootstrapped: false,
- _idx: 0,
- _used: {},
- _attached: {},
- _missed: [],
- _yidx: 0,
- _uidx: 0,
- _guidp: 'y',
- _loaded: {},
- // serviced: {},
- // Regex in English:
- // I'll start at the \b(simpleyui).
- // 1. Look in the test string for "simpleyui" or "yui" or
- // "yui-base" or "yui-davglass" or "yui-foobar" that comes after a word break. That is, it
- // can't match "foyui" or "i_heart_simpleyui". This can be anywhere in the string.
- // 2. After #1 must come a forward slash followed by the string matched in #1, so
- // "yui-base/yui-base" or "simpleyui/simpleyui" or "yui-pants/yui-pants".
- // 3. The second occurence of the #1 token can optionally be followed by "-debug" or "-min",
- // so "yui/yui-min", "yui/yui-debug", "yui-base/yui-base-debug". NOT "yui/yui-tshirt".
- // 4. This is followed by ".js", so "yui/yui.js", "simpleyui/simpleyui-min.js"
- // 0. Going back to the beginning, now. If all that stuff in 1-4 comes after a "?" in the string,
- // then capture the junk between the LAST "&" and the string in 1-4. So
- // "blah?foo/yui/yui.js" will capture "foo/" and "blah?some/thing.js&3.3.0/build/yui-davglass/yui-davglass.js"
- // will capture "3.3.0/build/"
- //
- // Regex Exploded:
- // (?:\? Find a ?
- // (?:[^&]*&) followed by 0..n characters followed by an &
- // * in fact, find as many sets of characters followed by a & as you can
- // ([^&]*) capture the stuff after the last & in \1
- // )? but it's ok if all this ?junk&more_junk stuff isn't even there
- // \b(simpleyui| after a word break find either the string "simpleyui" or
- // yui(?:-\w+)? the string "yui" optionally followed by a -, then more characters
- // ) and store the simpleyui or yui-* string in \2
- // \/\2 then comes a / followed by the simpleyui or yui-* string in \2
- // (?:-(min|debug))? optionally followed by "-min" or "-debug"
- // .js and ending in ".js"
- _BASE_RE: /(?:\?(?:[^&]*&)*([^&]*))?\b(simpleyui|yui(?:-\w+)?)\/\2(?:-(min|debug))?\.js/,
- parseBasePath: function(src, pattern) {
- var match = src.match(pattern),
- path, filter;
-
- if (match) {
- path = RegExp.leftContext || src.slice(0, src.indexOf(match[0]));
-
- // this is to set up the path to the loader. The file
- // filter for loader should match the yui include.
- filter = match[3];
-
- // extract correct path for mixed combo urls
- // http://yuilibrary.com/projects/yui3/ticket/2528423
- if (match[1]) {
- path += '?' + match[1];
- }
- path = {
- filter: filter,
- path: path
- };
- }
- return path;
- },
- getBase: G_ENV && G_ENV.getBase ||
- function(pattern) {
- var nodes = (doc && doc.getElementsByTagName('script')) || [],
- path = Env.cdn, parsed,
- i, len, src;
-
- for (i = 0, len = nodes.length; i < len; ++i) {
- src = nodes[i].src;
- if (src) {
- parsed = Y.Env.parseBasePath(src, pattern);
- if (parsed) {
- filter = parsed.filter;
- path = parsed.path;
- break;
- }
- }
- }
-
- // use CDN default
- return path;
- }
-
- };
-
- Env = Y.Env;
-
- Env._loaded[VERSION] = {};
-
- if (G_ENV && Y !== YUI) {
- Env._yidx = ++G_ENV._yidx;
- Env._guidp = ('yui_' + VERSION + '_' +
- Env._yidx + '_' + time).replace(/[^a-z0-9_]+/g, '_');
- } else if (YUI._YUI) {
-
- G_ENV = YUI._YUI.Env;
- Env._yidx += G_ENV._yidx;
- Env._uidx += G_ENV._uidx;
-
- for (prop in G_ENV) {
- if (!(prop in Env)) {
- Env[prop] = G_ENV[prop];
- }
- }
-
- delete YUI._YUI;
- }
-
- Y.id = Y.stamp(Y);
- instances[Y.id] = Y;
-
- }
-
- Y.constructor = YUI;
-
- // configuration defaults
- Y.config = Y.config || {
- bootstrap: true,
- cacheUse: true,
- debug: true,
- doc: doc,
- fetchCSS: true,
- throwFail: true,
- useBrowserConsole: true,
- useNativeES5: true,
- win: win,
- global: Function('return this')()
- };
-
- //Register the CSS stamp element
- if (doc && !doc.getElementById(CSS_STAMP_EL)) {
- el = doc.createElement('div');
- el.innerHTML = '';
- YUI.Env.cssStampEl = el.firstChild;
- if (doc.body) {
- doc.body.appendChild(YUI.Env.cssStampEl);
- } else {
- docEl.insertBefore(YUI.Env.cssStampEl, docEl.firstChild);
- }
- } else if (doc && doc.getElementById(CSS_STAMP_EL) && !YUI.Env.cssStampEl) {
- YUI.Env.cssStampEl = doc.getElementById(CSS_STAMP_EL);
- }
-
- Y.config.lang = Y.config.lang || 'en-US';
-
- Y.config.base = YUI.config.base || Y.Env.getBase(Y.Env._BASE_RE);
-
- if (!filter || (!('mindebug').indexOf(filter))) {
- filter = 'min';
- }
- filter = (filter) ? '-' + filter : filter;
- Y.config.loaderPath = YUI.config.loaderPath || 'loader/loader' + filter + '.js';
-
- },
-
- /**
- Finishes the instance setup. Attaches whatever YUI modules were defined
- at the time that this instance was created.
-
- @method _setup
- @private
- **/
- _setup: function() {
- var i, Y = this,
- core = [],
- mods = YUI.Env.mods,
- extras = Y.config.core || [].concat(YUI.Env.core); //Clone it..
-
- for (i = 0; i < extras.length; i++) {
- if (mods[extras[i]]) {
- core.push(extras[i]);
- }
- }
-
- Y._attach(['yui-base']);
- Y._attach(core);
-
- if (Y.Loader) {
- getLoader(Y);
- }
-
- // Y.log(Y.id + ' initialized', 'info', 'yui');
- },
-
- /**
- Executes the named method on the specified YUI instance if that method is
- whitelisted.
-
- @method applyTo
- @param {String} id YUI instance id.
- @param {String} method Name of the method to execute. For example:
- 'Object.keys'.
- @param {Array} args Arguments to apply to the method.
- @return {Mixed} Return value from the applied method, or `null` if the
- specified instance was not found or the method was not whitelisted.
- **/
- applyTo: function(id, method, args) {
- if (!(method in APPLY_TO_AUTH)) {
- this.log(method + ': applyTo not allowed', 'warn', 'yui');
- return null;
- }
-
- var instance = instances[id], nest, m, i;
- if (instance) {
- nest = method.split('.');
- m = instance;
- for (i = 0; i < nest.length; i = i + 1) {
- m = m[nest[i]];
- if (!m) {
- this.log('applyTo not found: ' + method, 'warn', 'yui');
- }
- }
- return m && m.apply(instance, args);
- }
-
- return null;
- },
-
-/**
-Registers a YUI module and makes it available for use in a `YUI().use()` call or
-as a dependency for other modules.
-
-The easiest way to create a first-class YUI module is to use
-Shifter, the YUI component build
-tool.
-
-Shifter will automatically wrap your module code in a `YUI.add()` call along
-with any configuration info required for the module.
-
-@example
-
- YUI.add('davglass', function (Y) {
- Y.davglass = function () {
- Y.log('Dav was here!');
- };
- }, '3.4.0', {
- requires: ['harley-davidson', 'mt-dew']
- });
-
-@method add
-@param {String} name Module name.
-@param {Function} fn Function containing module code. This function will be
- executed whenever the module is attached to a specific YUI instance.
-
- @param {YUI} fn.Y The YUI instance to which this module is attached.
- @param {String} fn.name Name of the module
-
-@param {String} version Module version number. This is currently used only for
- informational purposes, and is not used internally by YUI.
-
-@param {Object} [config] Module config.
- @param {Array} [config.requires] Array of other module names that must be
- attached before this module can be attached.
- @param {Array} [config.optional] Array of optional module names that should
- be attached before this module is attached if they've already been
- loaded. If the `loadOptional` YUI option is `true`, optional modules
- that have not yet been loaded will be loaded just as if they were hard
- requirements.
- @param {Array} [config.use] Array of module names that are included within
- or otherwise provided by this module, and which should be attached
- automatically when this module is attached. This makes it possible to
- create "virtual rollup" modules that simply attach a collection of other
- modules or submodules.
-
-@return {YUI} This YUI instance.
-**/
- add: function(name, fn, version, details) {
- details = details || {};
- var env = YUI.Env,
- mod = {
- name: name,
- fn: fn,
- version: version,
- details: details
- },
- //Instance hash so we don't apply it to the same instance twice
- applied = {},
- loader, inst,
- i, versions = env.versions;
-
- env.mods[name] = mod;
- versions[version] = versions[version] || {};
- versions[version][name] = mod;
-
- for (i in instances) {
- if (instances.hasOwnProperty(i)) {
- inst = instances[i];
- if (!applied[inst.id]) {
- applied[inst.id] = true;
- loader = inst.Env._loader;
- if (loader) {
- if (!loader.moduleInfo[name] || loader.moduleInfo[name].temp) {
- loader.addModule(details, name);
- }
- }
- }
- }
- }
-
- return this;
- },
-
- /**
- Executes the callback function associated with each required module,
- attaching the module to this YUI instance.
-
- @method _attach
- @param {Array} r The array of modules to attach
- @param {Boolean} [moot=false] If `true`, don't throw a warning if the module
- is not attached.
- @private
- **/
- _attach: function(r, moot) {
- var i, name, mod, details, req, use, after,
- mods = YUI.Env.mods,
- aliases = YUI.Env.aliases,
- Y = this, j,
- cache = YUI.Env._renderedMods,
- loader = Y.Env._loader,
- done = Y.Env._attached,
- len = r.length, loader, def, go,
- c = [];
-
- //Check for conditional modules (in a second+ instance) and add their requirements
- //TODO I hate this entire method, it needs to be fixed ASAP (3.5.0) ^davglass
- for (i = 0; i < len; i++) {
- name = r[i];
- mod = mods[name];
- c.push(name);
- if (loader && loader.conditions[name]) {
- for (j in loader.conditions[name]) {
- if (loader.conditions[name].hasOwnProperty(j)) {
- def = loader.conditions[name][j];
- go = def && ((def.ua && Y.UA[def.ua]) || (def.test && def.test(Y)));
- if (go) {
- c.push(def.name);
- }
- }
- }
- }
- }
- r = c;
- len = r.length;
-
- for (i = 0; i < len; i++) {
- if (!done[r[i]]) {
- name = r[i];
- mod = mods[name];
-
- if (aliases && aliases[name] && !mod) {
- Y._attach(aliases[name]);
- continue;
- }
- if (!mod) {
- if (loader && loader.moduleInfo[name]) {
- mod = loader.moduleInfo[name];
- moot = true;
- }
-
- // Y.log('no js def for: ' + name, 'info', 'yui');
-
- //if (!loader || !loader.moduleInfo[name]) {
- //if ((!loader || !loader.moduleInfo[name]) && !moot) {
- if (!moot && name) {
- if ((name.indexOf('skin-') === -1) && (name.indexOf('css') === -1)) {
- Y.Env._missed.push(name);
- Y.Env._missed = Y.Array.dedupe(Y.Env._missed);
- Y.message('NOT loaded: ' + name, 'warn', 'yui');
- }
- }
- } else {
- done[name] = true;
- //Don't like this, but in case a mod was asked for once, then we fetch it
- //We need to remove it from the missed list ^davglass
- for (j = 0; j < Y.Env._missed.length; j++) {
- if (Y.Env._missed[j] === name) {
- Y.message('Found: ' + name + ' (was reported as missing earlier)', 'warn', 'yui');
- Y.Env._missed.splice(j, 1);
- }
- }
- /*
- If it's a temp module, we need to redo it's requirements if it's already loaded
- since it may have been loaded by another instance and it's dependencies might
- have been redefined inside the fetched file.
- */
- if (loader && cache && cache[name] && cache[name].temp) {
- loader.getRequires(cache[name]);
- req = [];
- for (j in loader.moduleInfo[name].expanded_map) {
- if (loader.moduleInfo[name].expanded_map.hasOwnProperty(j)) {
- req.push(j);
- }
- }
- Y._attach(req);
- }
-
- details = mod.details;
- req = details.requires;
- use = details.use;
- after = details.after;
- //Force Intl load if there is a language (Loader logic) @todo fix this shit
- if (details.lang) {
- req = req || [];
- req.unshift('intl');
- }
-
- if (req) {
- for (j = 0; j < req.length; j++) {
- if (!done[req[j]]) {
- if (!Y._attach(req)) {
- return false;
- }
- break;
- }
- }
- }
-
- if (after) {
- for (j = 0; j < after.length; j++) {
- if (!done[after[j]]) {
- if (!Y._attach(after, true)) {
- return false;
- }
- break;
- }
- }
- }
-
- if (mod.fn) {
- if (Y.config.throwFail) {
- mod.fn(Y, name);
- } else {
- try {
- mod.fn(Y, name);
- } catch (e) {
- Y.error('Attach error: ' + name, e, name);
- return false;
- }
- }
- }
-
- if (use) {
- for (j = 0; j < use.length; j++) {
- if (!done[use[j]]) {
- if (!Y._attach(use)) {
- return false;
- }
- break;
- }
- }
- }
-
-
-
- }
- }
- }
-
- return true;
- },
-
- /**
- Delays the `use` callback until another event has taken place such as
- `window.onload`, `domready`, `contentready`, or `available`.
-
- @private
- @method _delayCallback
- @param {Function} cb The original `use` callback.
- @param {String|Object} until Either an event name ('load', 'domready', etc.)
- or an object containing event/args keys for contentready/available.
- @return {Function}
- **/
- _delayCallback: function(cb, until) {
-
- var Y = this,
- mod = ['event-base'];
-
- until = (Y.Lang.isObject(until) ? until : { event: until });
-
- if (until.event === 'load') {
- mod.push('event-synthetic');
- }
-
- Y.log('Delaying use callback until: ' + until.event, 'info', 'yui');
- return function() {
- Y.log('Use callback fired, waiting on delay', 'info', 'yui');
- var args = arguments;
- Y._use(mod, function() {
- Y.log('Delayed use wrapper callback after dependencies', 'info', 'yui');
- Y.on(until.event, function() {
- args[1].delayUntil = until.event;
- Y.log('Delayed use callback done after ' + until.event, 'info', 'yui');
- cb.apply(Y, args);
- }, until.args);
- });
- };
- },
-
- /**
- Attaches one or more modules to this YUI instance. When this is executed,
- the requirements of the desired modules are analyzed, and one of several
- things can happen:
-
-
- * All required modules have already been loaded, and just need to be
- attached to this YUI instance. In this case, the `use()` callback will
- be executed synchronously after the modules are attached.
-
- * One or more modules have not yet been loaded, or the Get utility is not
- available, or the `bootstrap` config option is `false`. In this case,
- a warning is issued indicating that modules are missing, but all
- available modules will still be attached and the `use()` callback will
- be executed synchronously.
-
- * One or more modules are missing and the Loader is not available but the
- Get utility is, and `bootstrap` is not `false`. In this case, the Get
- utility will be used to load the Loader, and we will then proceed to
- the following state:
-
- * One or more modules are missing and the Loader is available. In this
- case, the Loader will be used to resolve the dependency tree for the
- missing modules and load them and their dependencies. When the Loader is
- finished loading modules, the `use()` callback will be executed
- asynchronously.
-
- @example
-
- // Loads and attaches dd and its dependencies.
- YUI().use('dd', function (Y) {
- // ...
- });
-
- // Loads and attaches dd and node as well as all of their dependencies.
- YUI().use(['dd', 'node'], function (Y) {
- // ...
- });
-
- // Attaches all modules that have already been loaded.
- YUI().use('*', function (Y) {
- // ...
- });
-
- // Attaches a gallery module.
- YUI().use('gallery-yql', function (Y) {
- // ...
- });
-
- // Attaches a YUI 2in3 module.
- YUI().use('yui2-datatable', function (Y) {
- // ...
- });
-
- @method use
- @param {String|Array} modules* One or more module names to attach.
- @param {Function} [callback] Callback function to be executed once all
- specified modules and their dependencies have been attached.
- @param {YUI} callback.Y The YUI instance created for this sandbox.
- @param {Object} callback.status Object containing `success`, `msg` and
- `data` properties.
- @chainable
- **/
- use: function() {
- var args = SLICE.call(arguments, 0),
- callback = args[args.length - 1],
- Y = this,
- i = 0,
- name,
- Env = Y.Env,
- provisioned = true;
-
- // The last argument supplied to use can be a load complete callback
- if (Y.Lang.isFunction(callback)) {
- args.pop();
- if (Y.config.delayUntil) {
- callback = Y._delayCallback(callback, Y.config.delayUntil);
- }
- } else {
- callback = null;
- }
- if (Y.Lang.isArray(args[0])) {
- args = args[0];
- }
-
- if (Y.config.cacheUse) {
- while ((name = args[i++])) {
- if (!Env._attached[name]) {
- provisioned = false;
- break;
- }
- }
-
- if (provisioned) {
- if (args.length) {
- Y.log('already provisioned: ' + args, 'info', 'yui');
- }
- Y._notify(callback, ALREADY_DONE, args);
- return Y;
- }
- }
-
- if (Y._loading) {
- Y._useQueue = Y._useQueue || new Y.Queue();
- Y._useQueue.add([args, callback]);
- } else {
- Y._use(args, function(Y, response) {
- Y._notify(callback, response, args);
- });
- }
-
- return Y;
- },
-
- /**
- Handles Loader notifications about attachment/load errors.
-
- @method _notify
- @param {Function} callback Callback to pass to `Y.config.loadErrorFn`.
- @param {Object} response Response returned from Loader.
- @param {Array} args Arguments passed from Loader.
- @private
- **/
- _notify: function(callback, response, args) {
- if (!response.success && this.config.loadErrorFn) {
- this.config.loadErrorFn.call(this, this, callback, response, args);
- } else if (callback) {
- if (this.Env._missed && this.Env._missed.length) {
- response.msg = 'Missing modules: ' + this.Env._missed.join();
- response.success = false;
- }
- if (this.config.throwFail) {
- callback(this, response);
- } else {
- try {
- callback(this, response);
- } catch (e) {
- this.error('use callback error', e, args);
- }
- }
- }
- },
-
- /**
- Called from the `use` method queue to ensure that only one set of loading
- logic is performed at a time.
-
- @method _use
- @param {String} args* One or more modules to attach.
- @param {Function} [callback] Function to call once all required modules have
- been attached.
- @private
- **/
- _use: function(args, callback) {
-
- if (!this.Array) {
- this._attach(['yui-base']);
- }
-
- var len, loader, handleBoot,
- Y = this,
- G_ENV = YUI.Env,
- mods = G_ENV.mods,
- Env = Y.Env,
- used = Env._used,
- aliases = G_ENV.aliases,
- queue = G_ENV._loaderQueue,
- firstArg = args[0],
- YArray = Y.Array,
- config = Y.config,
- boot = config.bootstrap,
- missing = [],
- i,
- r = [],
- ret = true,
- fetchCSS = config.fetchCSS,
- process = function(names, skip) {
-
- var i = 0, a = [], name, len, m, req, use;
-
- if (!names.length) {
- return;
- }
-
- if (aliases) {
- len = names.length;
- for (i = 0; i < len; i++) {
- if (aliases[names[i]] && !mods[names[i]]) {
- a = [].concat(a, aliases[names[i]]);
- } else {
- a.push(names[i]);
- }
- }
- names = a;
- }
-
- len = names.length;
-
- for (i = 0; i < len; i++) {
- name = names[i];
- if (!skip) {
- r.push(name);
- }
-
- // only attach a module once
- if (used[name]) {
- continue;
- }
-
- m = mods[name];
- req = null;
- use = null;
-
- if (m) {
- used[name] = true;
- req = m.details.requires;
- use = m.details.use;
- } else {
- // CSS files don't register themselves, see if it has
- // been loaded
- if (!G_ENV._loaded[VERSION][name]) {
- missing.push(name);
- } else {
- used[name] = true; // probably css
- }
- }
-
- // make sure requirements are attached
- if (req && req.length) {
- process(req);
- }
-
- // make sure we grab the submodule dependencies too
- if (use && use.length) {
- process(use, 1);
- }
- }
-
- },
-
- handleLoader = function(fromLoader) {
- var response = fromLoader || {
- success: true,
- msg: 'not dynamic'
- },
- redo, origMissing,
- ret = true,
- data = response.data;
-
- Y._loading = false;
-
- if (data) {
- origMissing = missing;
- missing = [];
- r = [];
- process(data);
- redo = missing.length;
- if (redo) {
- if ([].concat(missing).sort().join() ==
- origMissing.sort().join()) {
- redo = false;
- }
- }
- }
-
- if (redo && data) {
- Y._loading = true;
- Y._use(missing, function() {
- Y.log('Nested use callback: ' + data, 'info', 'yui');
- if (Y._attach(data)) {
- Y._notify(callback, response, data);
- }
- });
- } else {
- if (data) {
- // Y.log('attaching from loader: ' + data, 'info', 'yui');
- ret = Y._attach(data);
- }
- if (ret) {
- Y._notify(callback, response, args);
- }
- }
-
- if (Y._useQueue && Y._useQueue.size() && !Y._loading) {
- Y._use.apply(Y, Y._useQueue.next());
- }
-
- };
-
-// Y.log(Y.id + ': use called: ' + a + ' :: ' + callback, 'info', 'yui');
-
- // YUI().use('*'); // bind everything available
- if (firstArg === '*') {
- args = [];
- for (i in mods) {
- if (mods.hasOwnProperty(i)) {
- args.push(i);
- }
- }
- ret = Y._attach(args);
- if (ret) {
- handleLoader();
- }
- return Y;
- }
-
- if ((mods.loader || mods['loader-base']) && !Y.Loader) {
- Y.log('Loader was found in meta, but it is not attached. Attaching..', 'info', 'yui');
- Y._attach(['loader' + ((!mods.loader) ? '-base' : '')]);
- }
-
- // Y.log('before loader requirements: ' + args, 'info', 'yui');
-
- // use loader to expand dependencies and sort the
- // requirements if it is available.
- if (boot && Y.Loader && args.length) {
- Y.log('Using loader to expand dependencies', 'info', 'yui');
- loader = getLoader(Y);
- loader.require(args);
- loader.ignoreRegistered = true;
- loader._boot = true;
- loader.calculate(null, (fetchCSS) ? null : 'js');
- args = loader.sorted;
- loader._boot = false;
- }
-
- process(args);
-
- len = missing.length;
-
-
- if (len) {
- missing = YArray.dedupe(missing);
- len = missing.length;
-Y.log('Modules missing: ' + missing + ', ' + missing.length, 'info', 'yui');
- }
-
-
- // dynamic load
- if (boot && len && Y.Loader) {
-// Y.log('Using loader to fetch missing deps: ' + missing, 'info', 'yui');
- Y.log('Using Loader', 'info', 'yui');
- Y._loading = true;
- loader = getLoader(Y);
- loader.onEnd = handleLoader;
- loader.context = Y;
- loader.data = args;
- loader.ignoreRegistered = false;
- loader.require(missing);
- loader.insert(null, (fetchCSS) ? null : 'js');
-
- } else if (boot && len && Y.Get && !Env.bootstrapped) {
-
- Y._loading = true;
-
- handleBoot = function() {
- Y._loading = false;
- queue.running = false;
- Env.bootstrapped = true;
- G_ENV._bootstrapping = false;
- if (Y._attach(['loader'])) {
- Y._use(args, callback);
- }
- };
-
- if (G_ENV._bootstrapping) {
-Y.log('Waiting for loader', 'info', 'yui');
- queue.add(handleBoot);
- } else {
- G_ENV._bootstrapping = true;
-Y.log('Fetching loader: ' + config.base + config.loaderPath, 'info', 'yui');
- Y.Get.script(config.base + config.loaderPath, {
- onEnd: handleBoot
- });
- }
-
- } else {
- Y.log('Attaching available dependencies: ' + args, 'info', 'yui');
- ret = Y._attach(args);
- if (ret) {
- handleLoader();
- }
- }
-
- return Y;
- },
-
-
- /**
- Utility method for safely creating namespaces if they don't already exist.
- May be called statically on the YUI global object or as a method on a YUI
- instance.
-
- When called statically, a namespace will be created on the YUI global
- object:
-
- // Create `YUI.your.namespace.here` as nested objects, preserving any
- // objects that already exist instead of overwriting them.
- YUI.namespace('your.namespace.here');
-
- When called as a method on a YUI instance, a namespace will be created on
- that instance:
-
- // Creates `Y.property.package`.
- Y.namespace('property.package');
-
- Dots in the input string cause `namespace` to create nested objects for each
- token. If any part of the requested namespace already exists, the current
- object will be left in place and will not be overwritten. This allows
- multiple calls to `namespace` to preserve existing namespaced properties.
-
- If the first token in the namespace string is "YAHOO", that token is
- discarded. This is legacy behavior for backwards compatibility with YUI 2.
-
- Be careful with namespace tokens. Reserved words may work in some browsers
- and not others. For instance, the following will fail in some browsers
- because the supported version of JavaScript reserves the word "long":
-
- Y.namespace('really.long.nested.namespace');
-
- Note: If you pass multiple arguments to create multiple namespaces, only the
- last one created is returned from this function.
-
- @method namespace
- @param {String} namespace* One or more namespaces to create.
- @return {Object} Reference to the last namespace object created.
- **/
- namespace: function() {
- var a = arguments, o, i = 0, j, d, arg;
-
- for (; i < a.length; i++) {
- o = this; //Reset base object per argument or it will get reused from the last
- arg = a[i];
- if (arg.indexOf(PERIOD) > -1) { //Skip this if no "." is present
- d = arg.split(PERIOD);
- for (j = (d[0] == 'YAHOO') ? 1 : 0; j < d.length; j++) {
- o[d[j]] = o[d[j]] || {};
- o = o[d[j]];
- }
- } else {
- o[arg] = o[arg] || {};
- o = o[arg]; //Reset base object to the new object so it's returned
- }
- }
- return o;
- },
-
- // this is replaced if the log module is included
- log: NOOP,
- message: NOOP,
- // this is replaced if the dump module is included
- dump: function (o) { return ''+o; },
-
- /**
- Reports an error.
-
- The reporting mechanism is controlled by the `throwFail` configuration
- attribute. If `throwFail` is falsy, the message is logged. If `throwFail` is
- truthy, a JS exception is thrown.
-
- If an `errorFn` is specified in the config it must return `true` to indicate
- that the exception was handled and keep it from being thrown.
-
- @method error
- @param {String} msg Error message.
- @param {Error|String} [e] JavaScript error object or an error string.
- @param {String} [src] Source of the error (such as the name of the module in
- which the error occurred).
- @chainable
- **/
- error: function(msg, e, src) {
- //TODO Add check for window.onerror here
-
- var Y = this, ret;
-
- if (Y.config.errorFn) {
- ret = Y.config.errorFn.apply(Y, arguments);
- }
-
- if (!ret) {
- throw (e || new Error(msg));
- } else {
- Y.message(msg, 'error', ''+src); // don't scrub this one
- }
-
- return Y;
- },
-
- /**
- Generates an id string that is unique among all YUI instances in this
- execution context.
-
- @method guid
- @param {String} [pre] Prefix.
- @return {String} Unique id.
- **/
- guid: function(pre) {
- var id = this.Env._guidp + '_' + (++this.Env._uidx);
- return (pre) ? (pre + id) : id;
- },
-
- /**
- Returns a unique id associated with the given object and (if *readOnly* is
- falsy) stamps the object with that id so it can be identified in the future.
-
- Stamping an object involves adding a `_yuid` property to it that contains
- the object's id. One exception to this is that in Internet Explorer, DOM
- nodes have a `uniqueID` property that contains a browser-generated unique
- id, which will be used instead of a YUI-generated id when available.
-
- @method stamp
- @param {Object} o Object to stamp.
- @param {Boolean} readOnly If truthy and the given object has not already
- been stamped, the object will not be modified and `null` will be
- returned.
- @return {String} Object's unique id, or `null` if *readOnly* was truthy and
- the given object was not already stamped.
- **/
- stamp: function(o, readOnly) {
- var uid;
- if (!o) {
- return o;
- }
-
- // IE generates its own unique ID for dom nodes
- // The uniqueID property of a document node returns a new ID
- if (o.uniqueID && o.nodeType && o.nodeType !== 9) {
- uid = o.uniqueID;
- } else {
- uid = (typeof o === 'string') ? o : o._yuid;
- }
-
- if (!uid) {
- uid = this.guid();
- if (!readOnly) {
- try {
- o._yuid = uid;
- } catch (e) {
- uid = null;
- }
- }
- }
- return uid;
- },
-
- /**
- Destroys this YUI instance.
-
- @method destroy
- @since 3.3.0
- **/
- destroy: function() {
- var Y = this;
- if (Y.Event) {
- Y.Event._unload();
- }
- delete instances[Y.id];
- delete Y.Env;
- delete Y.config;
- }
-
- /**
- Safe `instanceof` wrapper that works around a memory leak in IE when the
- object being tested is `window` or `document`.
-
- Unless you are testing objects that may be `window` or `document`, you
- should use the native `instanceof` operator instead of this method.
-
- @method instanceOf
- @param {Object} o Object to check.
- @param {Object} type Class to check against.
- @since 3.3.0
- **/
-};
-
- YUI.prototype = proto;
-
- // inheritance utilities are not available yet
- for (prop in proto) {
- if (proto.hasOwnProperty(prop)) {
- YUI[prop] = proto[prop];
- }
- }
-
- /**
- Applies a configuration to all YUI instances in this execution context.
-
- The main use case for this method is in "mashups" where several third-party
- scripts need to write to a global YUI config, but cannot share a single
- centrally-managed config object. This way they can all call
- `YUI.applyConfig({})` instead of overwriting the single global config.
-
- @example
-
- YUI.applyConfig({
- modules: {
- davglass: {
- fullpath: './davglass.js'
- }
- }
- });
-
- YUI.applyConfig({
- modules: {
- foo: {
- fullpath: './foo.js'
- }
- }
- });
-
- YUI().use('davglass', function (Y) {
- // Module davglass will be available here.
- });
-
- @method applyConfig
- @param {Object} o Configuration object to apply.
- @static
- @since 3.5.0
- **/
- YUI.applyConfig = function(o) {
- if (!o) {
- return;
- }
- //If there is a GlobalConfig, apply it first to set the defaults
- if (YUI.GlobalConfig) {
- this.prototype.applyConfig.call(this, YUI.GlobalConfig);
- }
- //Apply this config to it
- this.prototype.applyConfig.call(this, o);
- //Reset GlobalConfig to the combined config
- YUI.GlobalConfig = this.config;
- };
-
- // set up the environment
- YUI._init();
-
- if (hasWin) {
- // add a window load event at load time so we can capture
- // the case where it fires before dynamic loading is
- // complete.
- add(window, 'load', handleLoad);
- } else {
- handleLoad();
- }
-
- YUI.Env.add = add;
- YUI.Env.remove = remove;
-
- /*global exports*/
- // Support the CommonJS method for exporting our single global
- if (typeof exports == 'object') {
- exports.YUI = YUI;
- /**
- * Set a method to be called when `Get.script` is called in Node.js
- * `Get` will open the file, then pass it's content and it's path
- * to this method before attaching it. Commonly used for code coverage
- * instrumentation. Calling this multiple times will only
- * attach the last hook method. This method is only
- * available in Node.js.
- * @method setLoadHook
- * @static
- * @param {Function} fn The function to set
- * @param {String} fn.data The content of the file
- * @param {String} fn.path The file path of the file
- */
- YUI.setLoadHook = function(fn) {
- YUI._getLoadHook = fn;
- };
- /**
- * Load hook for `Y.Get.script` in Node.js, see `YUI.setLoadHook`
- * @method _getLoadHook
- * @private
- * @param {String} data The content of the file
- * @param {String} path The file path of the file
- */
- YUI._getLoadHook = null;
- }
-
- YUI.Env[VERSION] = {};
-}());
-
-
-/**
-Config object that contains all of the configuration options for
-this `YUI` instance.
-
-This object is supplied by the implementer when instantiating YUI. Some
-properties have default values if they are not supplied by the implementer.
-
-This object should not be updated directly because some values are cached. Use
-`applyConfig()` to update the config object on a YUI instance that has already
-been configured.
-
-@class config
-@static
-**/
-
-/**
-If `true` (the default), YUI will "bootstrap" the YUI Loader and module metadata
-if they're needed to load additional dependencies and aren't already available.
-
-Setting this to `false` will prevent YUI from automatically loading the Loader
-and module metadata, so you will need to manually ensure that they're available
-or handle dependency resolution yourself.
-
-@property {Boolean} bootstrap
-@default true
-**/
-
-/**
-If `true`, `Y.log()` messages will be written to the browser's debug console
-when available and when `useBrowserConsole` is also `true`.
-
-@property {Boolean} debug
-@default true
-**/
-
-/**
-Log messages to the browser console if `debug` is `true` and the browser has a
-supported console.
-
-@property {Boolean} useBrowserConsole
-@default true
-**/
-
-/**
-A hash of log sources that should be logged. If specified, only messages from
-these sources will be logged. Others will be discarded.
-
-@property {Object} logInclude
-@type object
-**/
-
-/**
-A hash of log sources that should be not be logged. If specified, all sources
-will be logged *except* those on this list.
-
-@property {Object} logExclude
-**/
-
-/**
-When the YUI seed file is dynamically loaded after the `window.onload` event has
-fired, set this to `true` to tell YUI that it shouldn't wait for `window.onload`
-to occur.
-
-This ensures that components that rely on `window.onload` and the `domready`
-custom event will work as expected even when YUI is dynamically injected.
-
-@property {Boolean} injected
-@default false
-**/
-
-/**
-If `true`, `Y.error()` will generate or re-throw a JavaScript error. Otherwise,
-errors are merely logged silently.
-
-@property {Boolean} throwFail
-@default true
-**/
-
-/**
-Reference to the global object for this execution context.
-
-In a browser, this is the current `window` object. In Node.js, this is the
-Node.js `global` object.
-
-@property {Object} global
-**/
-
-/**
-The browser window or frame that this YUI instance should operate in.
-
-When running in Node.js, this property is `undefined`, since there is no
-`window` object. Use `global` to get a reference to the global object that will
-work in both browsers and Node.js.
-
-@property {Window} win
-**/
-
-/**
-The browser `document` object associated with this YUI instance's `win` object.
-
-When running in Node.js, this property is `undefined`, since there is no
-`document` object.
-
-@property {Document} doc
-**/
-
-/**
-A list of modules that defines the YUI core (overrides the default list).
-
-@property {Array} core
-@type Array
-@default ['get', 'features', 'intl-base', 'yui-log', 'yui-later', 'loader-base', 'loader-rollup', 'loader-yui3']
-**/
-
-/**
-A list of languages to use in order of preference.
-
-This list is matched against the list of available languages in modules that the
-YUI instance uses to determine the best possible localization of language
-sensitive modules.
-
-Languages are represented using BCP 47 language tags, such as "en-GB" for
-English as used in the United Kingdom, or "zh-Hans-CN" for simplified Chinese as
-used in China. The list may be provided as a comma-separated string or as an
-array.
-
-@property {String|String[]} lang
-**/
-
-/**
-Default date format.
-
-@property {String} dateFormat
-@deprecated Use configuration in `DataType.Date.format()` instead.
-**/
-
-/**
-Default locale.
-
-@property {String} locale
-@deprecated Use `config.lang` instead.
-**/
-
-/**
-Default generic polling interval in milliseconds.
-
-@property {Number} pollInterval
-@default 20
-**/
-
-/**
-The number of dynamic `', 'script');
- }
-});
-
-if (!testFeature('innerhtml', 'table')) {
- // TODO: thead/tfoot with nested tbody
- // IE adds TBODY when creating TABLE elements (which may share this impl)
- creators.tbody = function(html, doc) {
- var frag = Y_DOM.create(TABLE_OPEN + html + TABLE_CLOSE, doc),
- tb = Y.DOM._children(frag, 'tbody')[0];
-
- if (frag.children.length > 1 && tb && !re_tbody.test(html)) {
- tb.parentNode.removeChild(tb); // strip extraneous tbody
- }
- return frag;
- };
-}
-
-if (!testFeature('innerhtml-div', 'script')) {
- creators.script = function(html, doc) {
- var frag = doc.createElement('div');
-
- frag.innerHTML = '-' + html;
- frag.removeChild(frag.firstChild);
- return frag;
- };
-
- creators.link = creators.style = creators.script;
-}
-
-if (!testFeature('innerhtml-div', 'tr')) {
- Y.mix(creators, {
- option: function(html, doc) {
- return Y_DOM.create('', doc);
- },
-
- tr: function(html, doc) {
- return Y_DOM.create('' + html + '', doc);
- },
-
- td: function(html, doc) {
- return Y_DOM.create('
', doc);
- },
-
- tbody: 'table'
- });
-
- Y.mix(creators, {
- legend: 'fieldset',
- th: creators.td,
- thead: creators.tbody,
- tfoot: creators.tbody,
- caption: creators.tbody,
- colgroup: creators.tbody,
- optgroup: creators.option
- });
-}
-
-Y_DOM.creators = creators;
-Y.mix(Y.DOM, {
- /**
- * Sets the width of the element to the given size, regardless
- * of box model, border, padding, etc.
- * @method setWidth
- * @param {HTMLElement} element The DOM element.
- * @param {String|Number} size The pixel height to size to
- */
-
- setWidth: function(node, size) {
- Y.DOM._setSize(node, 'width', size);
- },
-
- /**
- * Sets the height of the element to the given size, regardless
- * of box model, border, padding, etc.
- * @method setHeight
- * @param {HTMLElement} element The DOM element.
- * @param {String|Number} size The pixel height to size to
- */
-
- setHeight: function(node, size) {
- Y.DOM._setSize(node, 'height', size);
- },
-
- _setSize: function(node, prop, val) {
- val = (val > 0) ? val : 0;
- var size = 0;
-
- node.style[prop] = val + 'px';
- size = (prop === 'height') ? node.offsetHeight : node.offsetWidth;
-
- if (size > val) {
- val = val - (size - val);
-
- if (val < 0) {
- val = 0;
- }
-
- node.style[prop] = val + 'px';
- }
- }
-});
-
-
-}, '3.12.0', {"requires": ["dom-core"]});
-YUI.add('color-base', function (Y, NAME) {
-
-/**
-Color provides static methods for color conversion.
-
- Y.Color.toRGB('f00'); // rgb(255, 0, 0)
-
- Y.Color.toHex('rgb(255, 255, 0)'); // #ffff00
-
-@module color
-@submodule color-base
-@class Color
-@since 3.8.0
-**/
-
-var REGEX_HEX = /^#?([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})(\ufffe)?/,
- REGEX_HEX3 = /^#?([\da-fA-F]{1})([\da-fA-F]{1})([\da-fA-F]{1})(\ufffe)?/,
- REGEX_RGB = /rgba?\(([\d]{1,3}), ?([\d]{1,3}), ?([\d]{1,3}),? ?([.\d]*)?\)/,
- TYPES = { 'HEX': 'hex', 'RGB': 'rgb', 'RGBA': 'rgba' },
- CONVERTS = { 'hex': 'toHex', 'rgb': 'toRGB', 'rgba': 'toRGBA' };
-
-
-Y.Color = {
- /**
- @static
- @property KEYWORDS
- @type Object
- @since 3.8.0
- **/
- KEYWORDS: {
- 'black': '000', 'silver': 'c0c0c0', 'gray': '808080', 'white': 'fff',
- 'maroon': '800000', 'red': 'f00', 'purple': '800080', 'fuchsia': 'f0f',
- 'green': '008000', 'lime': '0f0', 'olive': '808000', 'yellow': 'ff0',
- 'navy': '000080', 'blue': '00f', 'teal': '008080', 'aqua': '0ff'
- },
-
- /**
- NOTE: `(\ufffe)?` is added to the Regular Expression to carve out a
- place for the alpha channel that is returned from toArray
- without compromising any usage of the Regular Expression
-
- @static
- @property REGEX_HEX
- @type RegExp
- @default /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})(\ufffe)?/
- @since 3.8.0
- **/
- REGEX_HEX: REGEX_HEX,
-
- /**
- NOTE: `(\ufffe)?` is added to the Regular Expression to carve out a
- place for the alpha channel that is returned from toArray
- without compromising any usage of the Regular Expression
-
- @static
- @property REGEX_HEX3
- @type RegExp
- @default /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})(\ufffe)?/
- @since 3.8.0
- **/
- REGEX_HEX3: REGEX_HEX3,
-
- /**
- @static
- @property REGEX_RGB
- @type RegExp
- @default /rgba?\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3}),? ?([.0-9]{1,3})?\)/
- @since 3.8.0
- **/
- REGEX_RGB: REGEX_RGB,
-
- re_RGB: REGEX_RGB,
-
- re_hex: REGEX_HEX,
-
- re_hex3: REGEX_HEX3,
-
- /**
- @static
- @property STR_HEX
- @type String
- @default #{*}{*}{*}
- @since 3.8.0
- **/
- STR_HEX: '#{*}{*}{*}',
-
- /**
- @static
- @property STR_RGB
- @type String
- @default rgb({*}, {*}, {*})
- @since 3.8.0
- **/
- STR_RGB: 'rgb({*}, {*}, {*})',
-
- /**
- @static
- @property STR_RGBA
- @type String
- @default rgba({*}, {*}, {*}, {*})
- @since 3.8.0
- **/
- STR_RGBA: 'rgba({*}, {*}, {*}, {*})',
-
- /**
- @static
- @property TYPES
- @type Object
- @default {'rgb':'rgb', 'rgba':'rgba'}
- @since 3.8.0
- **/
- TYPES: TYPES,
-
- /**
- @static
- @property CONVERTS
- @type Object
- @default {}
- @since 3.8.0
- **/
- CONVERTS: CONVERTS,
-
- /**
- Converts the provided string to the provided type.
- You can use the `Y.Color.TYPES` to get a valid `to` type.
- If the color cannot be converted, the original color will be returned.
-
- @public
- @method convert
- @param {String} str
- @param {String} to
- @return {String}
- @since 3.8.0
- **/
- convert: function (str, to) {
- var convert = Y.Color.CONVERTS[to.toLowerCase()],
- clr = str;
-
- if (convert && Y.Color[convert]) {
- clr = Y.Color[convert](str);
- }
-
- return clr;
- },
-
- /**
- Converts provided color value to a hex value string
-
- @public
- @method toHex
- @param {String} str Hex or RGB value string
- @return {String} returns array of values or CSS string if options.css is true
- @since 3.8.0
- **/
- toHex: function (str) {
- var clr = Y.Color._convertTo(str, 'hex'),
- isTransparent = clr.toLowerCase() === 'transparent';
-
- if (clr.charAt(0) !== '#' && !isTransparent) {
- clr = '#' + clr;
- }
-
- return isTransparent ? clr.toLowerCase() : clr.toUpperCase();
- },
-
- /**
- Converts provided color value to an RGB value string
- @public
- @method toRGB
- @param {String} str Hex or RGB value string
- @return {String}
- @since 3.8.0
- **/
- toRGB: function (str) {
- var clr = Y.Color._convertTo(str, 'rgb');
- return clr.toLowerCase();
- },
-
- /**
- Converts provided color value to an RGB value string
- @public
- @method toRGBA
- @param {String} str Hex or RGB value string
- @return {String}
- @since 3.8.0
- **/
- toRGBA: function (str) {
- var clr = Y.Color._convertTo(str, 'rgba' );
- return clr.toLowerCase();
- },
-
- /**
- Converts the provided color string to an array of values where the
- last value is the alpha value. Will return an empty array if
- the provided string is not able to be parsed.
-
- NOTE: `(\ufffe)?` is added to `HEX` and `HEX3` Regular Expressions to
- carve out a place for the alpha channel that is returned from
- toArray without compromising any usage of the Regular Expression
-
- Y.Color.toArray('fff'); // ['ff', 'ff', 'ff', 1]
- Y.Color.toArray('rgb(0, 0, 0)'); // ['0', '0', '0', 1]
- Y.Color.toArray('rgba(0, 0, 0, 0)'); // ['0', '0', '0', 1]
-
-
-
- @public
- @method toArray
- @param {String} str
- @return {Array}
- @since 3.8.0
- **/
- toArray: function(str) {
- // parse with regex and return "matches" array
- var type = Y.Color.findType(str).toUpperCase(),
- regex,
- arr,
- length,
- lastItem;
-
- if (type === 'HEX' && str.length < 5) {
- type = 'HEX3';
- }
-
- if (type.charAt(type.length - 1) === 'A') {
- type = type.slice(0, -1);
- }
-
- regex = Y.Color['REGEX_' + type];
-
- if (regex) {
- arr = regex.exec(str) || [];
- length = arr.length;
-
- if (length) {
-
- arr.shift();
- length--;
-
- if (type === 'HEX3') {
- arr[0] += arr[0];
- arr[1] += arr[1];
- arr[2] += arr[2];
- }
-
- lastItem = arr[length - 1];
- if (!lastItem) {
- arr[length - 1] = 1;
- }
- }
- }
-
- return arr;
-
- },
-
- /**
- Converts the array of values to a string based on the provided template.
- @public
- @method fromArray
- @param {Array} arr
- @param {String} template
- @return {String}
- @since 3.8.0
- **/
- fromArray: function(arr, template) {
- arr = arr.concat();
-
- if (typeof template === 'undefined') {
- return arr.join(', ');
- }
-
- var replace = '{*}';
-
- template = Y.Color['STR_' + template.toUpperCase()];
-
- if (arr.length === 3 && template.match(/\{\*\}/g).length === 4) {
- arr.push(1);
- }
-
- while ( template.indexOf(replace) >= 0 && arr.length > 0) {
- template = template.replace(replace, arr.shift());
- }
-
- return template;
- },
-
- /**
- Finds the value type based on the str value provided.
- @public
- @method findType
- @param {String} str
- @return {String}
- @since 3.8.0
- **/
- findType: function (str) {
- if (Y.Color.KEYWORDS[str]) {
- return 'keyword';
- }
-
- var index = str.indexOf('('),
- key;
-
- if (index > 0) {
- key = str.substr(0, index);
- }
-
- if (key && Y.Color.TYPES[key.toUpperCase()]) {
- return Y.Color.TYPES[key.toUpperCase()];
- }
-
- return 'hex';
-
- }, // return 'keyword', 'hex', 'rgb'
-
- /**
- Retrives the alpha channel from the provided string. If no alpha
- channel is present, `1` will be returned.
- @protected
- @method _getAlpha
- @param {String} clr
- @return {Number}
- @since 3.8.0
- **/
- _getAlpha: function (clr) {
- var alpha,
- arr = Y.Color.toArray(clr);
-
- if (arr.length > 3) {
- alpha = arr.pop();
- }
-
- return +alpha || 1;
- },
-
- /**
- Returns the hex value string if found in the KEYWORDS object
- @protected
- @method _keywordToHex
- @param {String} clr
- @return {String}
- @since 3.8.0
- **/
- _keywordToHex: function (clr) {
- var keyword = Y.Color.KEYWORDS[clr];
-
- if (keyword) {
- return keyword;
- }
- },
-
- /**
- Converts the provided color string to the value type provided as `to`
- @protected
- @method _convertTo
- @param {String} clr
- @param {String} to
- @return {String}
- @since 3.8.0
- **/
- _convertTo: function(clr, to) {
-
- if (clr === 'transparent') {
- return clr;
- }
-
- var from = Y.Color.findType(clr),
- originalTo = to,
- needsAlpha,
- alpha,
- method,
- ucTo;
-
- if (from === 'keyword') {
- clr = Y.Color._keywordToHex(clr);
- from = 'hex';
- }
-
- if (from === 'hex' && clr.length < 5) {
- if (clr.charAt(0) === '#') {
- clr = clr.substr(1);
- }
-
- clr = '#' + clr.charAt(0) + clr.charAt(0) +
- clr.charAt(1) + clr.charAt(1) +
- clr.charAt(2) + clr.charAt(2);
- }
-
- if (from === to) {
- return clr;
- }
-
- if (from.charAt(from.length - 1) === 'a') {
- from = from.slice(0, -1);
- }
-
- needsAlpha = (to.charAt(to.length - 1) === 'a');
- if (needsAlpha) {
- to = to.slice(0, -1);
- alpha = Y.Color._getAlpha(clr);
- }
-
- ucTo = to.charAt(0).toUpperCase() + to.substr(1).toLowerCase();
- method = Y.Color['_' + from + 'To' + ucTo ];
-
- // check to see if need conversion to rgb first
- // check to see if there is a direct conversion method
- // convertions are: hex <-> rgb <-> hsl
- if (!method) {
- if (from !== 'rgb' && to !== 'rgb') {
- clr = Y.Color['_' + from + 'ToRgb'](clr);
- from = 'rgb';
- method = Y.Color['_' + from + 'To' + ucTo ];
- }
- }
-
- if (method) {
- clr = ((method)(clr, needsAlpha));
- }
-
- // process clr from arrays to strings after conversions if alpha is needed
- if (needsAlpha) {
- if (!Y.Lang.isArray(clr)) {
- clr = Y.Color.toArray(clr);
- }
- clr.push(alpha);
- clr = Y.Color.fromArray(clr, originalTo.toUpperCase());
- }
-
- return clr;
- },
-
- /**
- Processes the hex string into r, g, b values. Will return values as
- an array, or as an rgb string.
- @protected
- @method _hexToRgb
- @param {String} str
- @param {Boolean} [toArray]
- @return {String|Array}
- @since 3.8.0
- **/
- _hexToRgb: function (str, toArray) {
- var r, g, b;
-
- /*jshint bitwise:false*/
- if (str.charAt(0) === '#') {
- str = str.substr(1);
- }
-
- str = parseInt(str, 16);
-
- r = str >> 16;
- g = str >> 8 & 0xFF;
- b = str & 0xFF;
-
- if (toArray) {
- return [r, g, b];
- }
-
- return 'rgb(' + r + ', ' + g + ', ' + b + ')';
- },
-
- /**
- Processes the rgb string into r, g, b values. Will return values as
- an array, or as a hex string.
- @protected
- @method _rgbToHex
- @param {String} str
- @param {Boolean} [toArray]
- @return {String|Array}
- @since 3.8.0
- **/
- _rgbToHex: function (str) {
- /*jshint bitwise:false*/
- var rgb = Y.Color.toArray(str),
- hex = rgb[2] | (rgb[1] << 8) | (rgb[0] << 16);
-
- hex = (+hex).toString(16);
-
- while (hex.length < 6) {
- hex = '0' + hex;
- }
-
- return '#' + hex;
- }
-
-};
-
-
-
-}, '3.12.0', {"requires": ["yui-base"]});
-YUI.add('dom-style', function (Y, NAME) {
-
-(function(Y) {
-/**
- * Add style management functionality to DOM.
- * @module dom
- * @submodule dom-style
- * @for DOM
- */
-
-var DOCUMENT_ELEMENT = 'documentElement',
- DEFAULT_VIEW = 'defaultView',
- OWNER_DOCUMENT = 'ownerDocument',
- STYLE = 'style',
- FLOAT = 'float',
- CSS_FLOAT = 'cssFloat',
- STYLE_FLOAT = 'styleFloat',
- TRANSPARENT = 'transparent',
- GET_COMPUTED_STYLE = 'getComputedStyle',
- GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect',
-
- WINDOW = Y.config.win,
- DOCUMENT = Y.config.doc,
- UNDEFINED = undefined,
-
- Y_DOM = Y.DOM,
-
- TRANSFORM = 'transform',
- TRANSFORMORIGIN = 'transformOrigin',
- VENDOR_TRANSFORM = [
- 'WebkitTransform',
- 'MozTransform',
- 'OTransform',
- 'msTransform'
- ],
-
- re_color = /color$/i,
- re_unit = /width|height|top|left|right|bottom|margin|padding/i;
-
-Y.Array.each(VENDOR_TRANSFORM, function(val) {
- if (val in DOCUMENT[DOCUMENT_ELEMENT].style) {
- TRANSFORM = val;
- TRANSFORMORIGIN = val + "Origin";
- }
-});
-
-Y.mix(Y_DOM, {
- DEFAULT_UNIT: 'px',
-
- CUSTOM_STYLES: {
- },
-
-
- /**
- * Sets a style property for a given element.
- * @method setStyle
- * @param {HTMLElement} An HTMLElement to apply the style to.
- * @param {String} att The style property to set.
- * @param {String|Number} val The value.
- */
- setStyle: function(node, att, val, style) {
- style = style || node.style;
- var CUSTOM_STYLES = Y_DOM.CUSTOM_STYLES;
-
- if (style) {
- if (val === null || val === '') { // normalize unsetting
- val = '';
- } else if (!isNaN(new Number(val)) && re_unit.test(att)) { // number values may need a unit
- val += Y_DOM.DEFAULT_UNIT;
- }
-
- if (att in CUSTOM_STYLES) {
- if (CUSTOM_STYLES[att].set) {
- CUSTOM_STYLES[att].set(node, val, style);
- return; // NOTE: return
- } else if (typeof CUSTOM_STYLES[att] === 'string') {
- att = CUSTOM_STYLES[att];
- }
- } else if (att === '') { // unset inline styles
- att = 'cssText';
- val = '';
- }
- style[att] = val;
- }
- },
-
- /**
- * Returns the current style value for the given property.
- * @method getStyle
- * @param {HTMLElement} An HTMLElement to get the style from.
- * @param {String} att The style property to get.
- */
- getStyle: function(node, att, style) {
- style = style || node.style;
- var CUSTOM_STYLES = Y_DOM.CUSTOM_STYLES,
- val = '';
-
- if (style) {
- if (att in CUSTOM_STYLES) {
- if (CUSTOM_STYLES[att].get) {
- return CUSTOM_STYLES[att].get(node, att, style); // NOTE: return
- } else if (typeof CUSTOM_STYLES[att] === 'string') {
- att = CUSTOM_STYLES[att];
- }
- }
- val = style[att];
- if (val === '') { // TODO: is empty string sufficient?
- val = Y_DOM[GET_COMPUTED_STYLE](node, att);
- }
- }
-
- return val;
- },
-
- /**
- * Sets multiple style properties.
- * @method setStyles
- * @param {HTMLElement} node An HTMLElement to apply the styles to.
- * @param {Object} hash An object literal of property:value pairs.
- */
- setStyles: function(node, hash) {
- var style = node.style;
- Y.each(hash, function(v, n) {
- Y_DOM.setStyle(node, n, v, style);
- }, Y_DOM);
- },
-
- /**
- * Returns the computed style for the given node.
- * @method getComputedStyle
- * @param {HTMLElement} An HTMLElement to get the style from.
- * @param {String} att The style property to get.
- * @return {String} The computed value of the style property.
- */
- getComputedStyle: function(node, att) {
- var val = '',
- doc = node[OWNER_DOCUMENT],
- computed;
-
- if (node[STYLE] && doc[DEFAULT_VIEW] && doc[DEFAULT_VIEW][GET_COMPUTED_STYLE]) {
- computed = doc[DEFAULT_VIEW][GET_COMPUTED_STYLE](node, null);
- if (computed) { // FF may be null in some cases (ticket #2530548)
- val = computed[att];
- }
- }
- return val;
- }
-});
-
-// normalize reserved word float alternatives ("cssFloat" or "styleFloat")
-if (DOCUMENT[DOCUMENT_ELEMENT][STYLE][CSS_FLOAT] !== UNDEFINED) {
- Y_DOM.CUSTOM_STYLES[FLOAT] = CSS_FLOAT;
-} else if (DOCUMENT[DOCUMENT_ELEMENT][STYLE][STYLE_FLOAT] !== UNDEFINED) {
- Y_DOM.CUSTOM_STYLES[FLOAT] = STYLE_FLOAT;
-}
-
-// fix opera computedStyle default color unit (convert to rgb)
-if (Y.UA.opera) {
- Y_DOM[GET_COMPUTED_STYLE] = function(node, att) {
- var view = node[OWNER_DOCUMENT][DEFAULT_VIEW],
- val = view[GET_COMPUTED_STYLE](node, '')[att];
-
- if (re_color.test(att)) {
- val = Y.Color.toRGB(val);
- }
-
- return val;
- };
-
-}
-
-// safari converts transparent to rgba(), others use "transparent"
-if (Y.UA.webkit) {
- Y_DOM[GET_COMPUTED_STYLE] = function(node, att) {
- var view = node[OWNER_DOCUMENT][DEFAULT_VIEW],
- val = view[GET_COMPUTED_STYLE](node, '')[att];
-
- if (val === 'rgba(0, 0, 0, 0)') {
- val = TRANSPARENT;
- }
-
- return val;
- };
-
-}
-
-Y.DOM._getAttrOffset = function(node, attr) {
- var val = Y.DOM[GET_COMPUTED_STYLE](node, attr),
- offsetParent = node.offsetParent,
- position,
- parentOffset,
- offset;
-
- if (val === 'auto') {
- position = Y.DOM.getStyle(node, 'position');
- if (position === 'static' || position === 'relative') {
- val = 0;
- } else if (offsetParent && offsetParent[GET_BOUNDING_CLIENT_RECT]) {
- parentOffset = offsetParent[GET_BOUNDING_CLIENT_RECT]()[attr];
- offset = node[GET_BOUNDING_CLIENT_RECT]()[attr];
- if (attr === 'left' || attr === 'top') {
- val = offset - parentOffset;
- } else {
- val = parentOffset - node[GET_BOUNDING_CLIENT_RECT]()[attr];
- }
- }
- }
-
- return val;
-};
-
-Y.DOM._getOffset = function(node) {
- var pos,
- xy = null;
-
- if (node) {
- pos = Y_DOM.getStyle(node, 'position');
- xy = [
- parseInt(Y_DOM[GET_COMPUTED_STYLE](node, 'left'), 10),
- parseInt(Y_DOM[GET_COMPUTED_STYLE](node, 'top'), 10)
- ];
-
- if ( isNaN(xy[0]) ) { // in case of 'auto'
- xy[0] = parseInt(Y_DOM.getStyle(node, 'left'), 10); // try inline
- if ( isNaN(xy[0]) ) { // default to offset value
- xy[0] = (pos === 'relative') ? 0 : node.offsetLeft || 0;
- }
- }
-
- if ( isNaN(xy[1]) ) { // in case of 'auto'
- xy[1] = parseInt(Y_DOM.getStyle(node, 'top'), 10); // try inline
- if ( isNaN(xy[1]) ) { // default to offset value
- xy[1] = (pos === 'relative') ? 0 : node.offsetTop || 0;
- }
- }
- }
-
- return xy;
-
-};
-
-Y_DOM.CUSTOM_STYLES.transform = {
- set: function(node, val, style) {
- style[TRANSFORM] = val;
- },
-
- get: function(node, style) {
- return Y_DOM[GET_COMPUTED_STYLE](node, TRANSFORM);
- }
-};
-
-Y_DOM.CUSTOM_STYLES.transformOrigin = {
- set: function(node, val, style) {
- style[TRANSFORMORIGIN] = val;
- },
-
- get: function(node, style) {
- return Y_DOM[GET_COMPUTED_STYLE](node, TRANSFORMORIGIN);
- }
-};
-
-
-})(Y);
-
-
-}, '3.12.0', {"requires": ["dom-base", "color-base"]});
-YUI.add('dom-style-ie', function (Y, NAME) {
-
-(function(Y) {
-var HAS_LAYOUT = 'hasLayout',
- PX = 'px',
- FILTER = 'filter',
- FILTERS = 'filters',
- OPACITY = 'opacity',
- AUTO = 'auto',
-
- BORDER_WIDTH = 'borderWidth',
- BORDER_TOP_WIDTH = 'borderTopWidth',
- BORDER_RIGHT_WIDTH = 'borderRightWidth',
- BORDER_BOTTOM_WIDTH = 'borderBottomWidth',
- BORDER_LEFT_WIDTH = 'borderLeftWidth',
- WIDTH = 'width',
- HEIGHT = 'height',
- TRANSPARENT = 'transparent',
- VISIBLE = 'visible',
- GET_COMPUTED_STYLE = 'getComputedStyle',
- UNDEFINED = undefined,
- documentElement = Y.config.doc.documentElement,
-
- testFeature = Y.Features.test,
- addFeature = Y.Features.add,
-
- // TODO: unit-less lineHeight (e.g. 1.22)
- re_unit = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,
-
- isIE8 = (Y.UA.ie >= 8),
-
- _getStyleObj = function(node) {
- return node.currentStyle || node.style;
- },
-
- ComputedStyle = {
- CUSTOM_STYLES: {},
-
- get: function(el, property) {
- var value = '',
- current;
-
- if (el) {
- current = _getStyleObj(el)[property];
-
- if (property === OPACITY && Y.DOM.CUSTOM_STYLES[OPACITY]) {
- value = Y.DOM.CUSTOM_STYLES[OPACITY].get(el);
- } else if (!current || (current.indexOf && current.indexOf(PX) > -1)) { // no need to convert
- value = current;
- } else if (Y.DOM.IE.COMPUTED[property]) { // use compute function
- value = Y.DOM.IE.COMPUTED[property](el, property);
- } else if (re_unit.test(current)) { // convert to pixel
- value = ComputedStyle.getPixel(el, property) + PX;
- } else {
- value = current;
- }
- }
-
- return value;
- },
-
- sizeOffsets: {
- width: ['Left', 'Right'],
- height: ['Top', 'Bottom'],
- top: ['Top'],
- bottom: ['Bottom']
- },
-
- getOffset: function(el, prop) {
- var current = _getStyleObj(el)[prop], // value of "width", "top", etc.
- capped = prop.charAt(0).toUpperCase() + prop.substr(1), // "Width", "Top", etc.
- offset = 'offset' + capped, // "offsetWidth", "offsetTop", etc.
- pixel = 'pixel' + capped, // "pixelWidth", "pixelTop", etc.
- sizeOffsets = ComputedStyle.sizeOffsets[prop],
- mode = el.ownerDocument.compatMode,
- value = '';
-
- // IE pixelWidth incorrect for percent
- // manually compute by subtracting padding and border from offset size
- // NOTE: clientWidth/Height (size minus border) is 0 when current === AUTO so offsetHeight is used
- // reverting to auto from auto causes position stacking issues (old impl)
- if (current === AUTO || current.indexOf('%') > -1) {
- value = el['offset' + capped];
-
- if (mode !== 'BackCompat') {
- if (sizeOffsets[0]) {
- value -= ComputedStyle.getPixel(el, 'padding' + sizeOffsets[0]);
- value -= ComputedStyle.getBorderWidth(el, 'border' + sizeOffsets[0] + 'Width', 1);
- }
-
- if (sizeOffsets[1]) {
- value -= ComputedStyle.getPixel(el, 'padding' + sizeOffsets[1]);
- value -= ComputedStyle.getBorderWidth(el, 'border' + sizeOffsets[1] + 'Width', 1);
- }
- }
-
- } else { // use style.pixelWidth, etc. to convert to pixels
- // need to map style.width to currentStyle (no currentStyle.pixelWidth)
- if (!el.style[pixel] && !el.style[prop]) {
- el.style[prop] = current;
- }
- value = el.style[pixel];
-
- }
- return value + PX;
- },
-
- borderMap: {
- thin: (isIE8) ? '1px' : '2px',
- medium: (isIE8) ? '3px': '4px',
- thick: (isIE8) ? '5px' : '6px'
- },
-
- getBorderWidth: function(el, property, omitUnit) {
- var unit = omitUnit ? '' : PX,
- current = el.currentStyle[property];
-
- if (current.indexOf(PX) < 0) { // look up keywords if a border exists
- if (ComputedStyle.borderMap[current] &&
- el.currentStyle.borderStyle !== 'none') {
- current = ComputedStyle.borderMap[current];
- } else { // otherwise no border (default is "medium")
- current = 0;
- }
- }
- return (omitUnit) ? parseFloat(current) : current;
- },
-
- getPixel: function(node, att) {
- // use pixelRight to convert to px
- var val = null,
- style = _getStyleObj(node),
- styleRight = style.right,
- current = style[att];
-
- node.style.right = current;
- val = node.style.pixelRight;
- node.style.right = styleRight; // revert
-
- return val;
- },
-
- getMargin: function(node, att) {
- var val,
- style = _getStyleObj(node);
-
- if (style[att] == AUTO) {
- val = 0;
- } else {
- val = ComputedStyle.getPixel(node, att);
- }
- return val + PX;
- },
-
- getVisibility: function(node, att) {
- var current;
- while ( (current = node.currentStyle) && current[att] == 'inherit') { // NOTE: assignment in test
- node = node.parentNode;
- }
- return (current) ? current[att] : VISIBLE;
- },
-
- getColor: function(node, att) {
- var current = _getStyleObj(node)[att];
-
- if (!current || current === TRANSPARENT) {
- Y.DOM.elementByAxis(node, 'parentNode', null, function(parent) {
- current = _getStyleObj(parent)[att];
- if (current && current !== TRANSPARENT) {
- node = parent;
- return true;
- }
- });
- }
-
- return Y.Color.toRGB(current);
- },
-
- getBorderColor: function(node, att) {
- var current = _getStyleObj(node),
- val = current[att] || current.color;
- return Y.Color.toRGB(Y.Color.toHex(val));
- }
- },
-
- //fontSize: getPixelFont,
- IEComputed = {};
-
-addFeature('style', 'computedStyle', {
- test: function() {
- return 'getComputedStyle' in Y.config.win;
- }
-});
-
-addFeature('style', 'opacity', {
- test: function() {
- return 'opacity' in documentElement.style;
- }
-});
-
-addFeature('style', 'filter', {
- test: function() {
- return 'filters' in documentElement;
- }
-});
-
-// use alpha filter for IE opacity
-if (!testFeature('style', 'opacity') && testFeature('style', 'filter')) {
- Y.DOM.CUSTOM_STYLES[OPACITY] = {
- get: function(node) {
- var val = 100;
- try { // will error if no DXImageTransform
- val = node[FILTERS]['DXImageTransform.Microsoft.Alpha'][OPACITY];
-
- } catch(e) {
- try { // make sure its in the document
- val = node[FILTERS]('alpha')[OPACITY];
- } catch(err) {
- Y.log('getStyle: IE opacity filter not found; returning 1', 'warn', 'dom-style');
- }
- }
- return val / 100;
- },
-
- set: function(node, val, style) {
- var current,
- styleObj = _getStyleObj(node),
- currentFilter = styleObj[FILTER];
-
- style = style || node.style;
- if (val === '') { // normalize inline style behavior
- current = (OPACITY in styleObj) ? styleObj[OPACITY] : 1; // revert to original opacity
- val = current;
- }
-
- if (typeof currentFilter == 'string') { // in case not appended
- style[FILTER] = currentFilter.replace(/alpha([^)]*\))/gi, '') +
- ((val < 1) ? 'alpha(' + OPACITY + '=' + val * 100 + ')' : '');
-
- if (!style[FILTER]) {
- style.removeAttribute(FILTER);
- }
-
- if (!styleObj[HAS_LAYOUT]) {
- style.zoom = 1; // needs layout
- }
- }
- }
- };
-}
-
-try {
- Y.config.doc.createElement('div').style.height = '-1px';
-} catch(e) { // IE throws error on invalid style set; trap common cases
- Y.DOM.CUSTOM_STYLES.height = {
- set: function(node, val, style) {
- var floatVal = parseFloat(val);
- if (floatVal >= 0 || val === 'auto' || val === '') {
- style.height = val;
- } else {
- Y.log('invalid style value for height: ' + val, 'warn', 'dom-style');
- }
- }
- };
-
- Y.DOM.CUSTOM_STYLES.width = {
- set: function(node, val, style) {
- var floatVal = parseFloat(val);
- if (floatVal >= 0 || val === 'auto' || val === '') {
- style.width = val;
- } else {
- Y.log('invalid style value for width: ' + val, 'warn', 'dom-style');
- }
- }
- };
-}
-
-if (!testFeature('style', 'computedStyle')) {
- // TODO: top, right, bottom, left
- IEComputed[WIDTH] = IEComputed[HEIGHT] = ComputedStyle.getOffset;
-
- IEComputed.color = IEComputed.backgroundColor = ComputedStyle.getColor;
-
- IEComputed[BORDER_WIDTH] = IEComputed[BORDER_TOP_WIDTH] = IEComputed[BORDER_RIGHT_WIDTH] =
- IEComputed[BORDER_BOTTOM_WIDTH] = IEComputed[BORDER_LEFT_WIDTH] =
- ComputedStyle.getBorderWidth;
-
- IEComputed.marginTop = IEComputed.marginRight = IEComputed.marginBottom =
- IEComputed.marginLeft = ComputedStyle.getMargin;
-
- IEComputed.visibility = ComputedStyle.getVisibility;
- IEComputed.borderColor = IEComputed.borderTopColor =
- IEComputed.borderRightColor = IEComputed.borderBottomColor =
- IEComputed.borderLeftColor = ComputedStyle.getBorderColor;
-
- Y.DOM[GET_COMPUTED_STYLE] = ComputedStyle.get;
-
- Y.namespace('DOM.IE');
- Y.DOM.IE.COMPUTED = IEComputed;
- Y.DOM.IE.ComputedStyle = ComputedStyle;
-}
-
-})(Y);
-
-
-}, '3.12.0', {"requires": ["dom-style"]});
-YUI.add('dom-screen', function (Y, NAME) {
-
-(function(Y) {
-
-/**
- * Adds position and region management functionality to DOM.
- * @module dom
- * @submodule dom-screen
- * @for DOM
- */
-
-var DOCUMENT_ELEMENT = 'documentElement',
- COMPAT_MODE = 'compatMode',
- POSITION = 'position',
- FIXED = 'fixed',
- RELATIVE = 'relative',
- LEFT = 'left',
- TOP = 'top',
- _BACK_COMPAT = 'BackCompat',
- MEDIUM = 'medium',
- BORDER_LEFT_WIDTH = 'borderLeftWidth',
- BORDER_TOP_WIDTH = 'borderTopWidth',
- GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect',
- GET_COMPUTED_STYLE = 'getComputedStyle',
-
- Y_DOM = Y.DOM,
-
- // TODO: how about thead/tbody/tfoot/tr?
- // TODO: does caption matter?
- RE_TABLE = /^t(?:able|d|h)$/i,
-
- SCROLL_NODE;
-
-if (Y.UA.ie) {
- if (Y.config.doc[COMPAT_MODE] !== 'BackCompat') {
- SCROLL_NODE = DOCUMENT_ELEMENT;
- } else {
- SCROLL_NODE = 'body';
- }
-}
-
-Y.mix(Y_DOM, {
- /**
- * Returns the inner height of the viewport (exludes scrollbar).
- * @method winHeight
- * @return {Number} The current height of the viewport.
- */
- winHeight: function(node) {
- var h = Y_DOM._getWinSize(node).height;
- Y.log('winHeight returning ' + h, 'info', 'dom-screen');
- return h;
- },
-
- /**
- * Returns the inner width of the viewport (exludes scrollbar).
- * @method winWidth
- * @return {Number} The current width of the viewport.
- */
- winWidth: function(node) {
- var w = Y_DOM._getWinSize(node).width;
- Y.log('winWidth returning ' + w, 'info', 'dom-screen');
- return w;
- },
-
- /**
- * Document height
- * @method docHeight
- * @return {Number} The current height of the document.
- */
- docHeight: function(node) {
- var h = Y_DOM._getDocSize(node).height;
- Y.log('docHeight returning ' + h, 'info', 'dom-screen');
- return Math.max(h, Y_DOM._getWinSize(node).height);
- },
-
- /**
- * Document width
- * @method docWidth
- * @return {Number} The current width of the document.
- */
- docWidth: function(node) {
- var w = Y_DOM._getDocSize(node).width;
- Y.log('docWidth returning ' + w, 'info', 'dom-screen');
- return Math.max(w, Y_DOM._getWinSize(node).width);
- },
-
- /**
- * Amount page has been scroll horizontally
- * @method docScrollX
- * @return {Number} The current amount the screen is scrolled horizontally.
- */
- docScrollX: function(node, doc) {
- doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc; // perf optimization
- var dv = doc.defaultView,
- pageOffset = (dv) ? dv.pageXOffset : 0;
- return Math.max(doc[DOCUMENT_ELEMENT].scrollLeft, doc.body.scrollLeft, pageOffset);
- },
-
- /**
- * Amount page has been scroll vertically
- * @method docScrollY
- * @return {Number} The current amount the screen is scrolled vertically.
- */
- docScrollY: function(node, doc) {
- doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc; // perf optimization
- var dv = doc.defaultView,
- pageOffset = (dv) ? dv.pageYOffset : 0;
- return Math.max(doc[DOCUMENT_ELEMENT].scrollTop, doc.body.scrollTop, pageOffset);
- },
-
- /**
- * Gets the current position of an element based on page coordinates.
- * Element must be part of the DOM tree to have page coordinates
- * (display:none or elements not appended return false).
- * @method getXY
- * @param element The target element
- * @return {Array} The XY position of the element
-
- TODO: test inDocument/display?
- */
- getXY: function() {
- if (Y.config.doc[DOCUMENT_ELEMENT][GET_BOUNDING_CLIENT_RECT]) {
- return function(node) {
- var xy = null,
- scrollLeft,
- scrollTop,
- mode,
- box,
- offX,
- offY,
- doc,
- win,
- inDoc,
- rootNode;
-
- if (node && node.tagName) {
- doc = node.ownerDocument;
- mode = doc[COMPAT_MODE];
-
- if (mode !== _BACK_COMPAT) {
- rootNode = doc[DOCUMENT_ELEMENT];
- } else {
- rootNode = doc.body;
- }
-
- // inline inDoc check for perf
- if (rootNode.contains) {
- inDoc = rootNode.contains(node);
- } else {
- inDoc = Y.DOM.contains(rootNode, node);
- }
-
- if (inDoc) {
- win = doc.defaultView;
-
- // inline scroll calc for perf
- if (win && 'pageXOffset' in win) {
- scrollLeft = win.pageXOffset;
- scrollTop = win.pageYOffset;
- } else {
- scrollLeft = (SCROLL_NODE) ? doc[SCROLL_NODE].scrollLeft : Y_DOM.docScrollX(node, doc);
- scrollTop = (SCROLL_NODE) ? doc[SCROLL_NODE].scrollTop : Y_DOM.docScrollY(node, doc);
- }
-
- if (Y.UA.ie) { // IE < 8, quirks, or compatMode
- if (!doc.documentMode || doc.documentMode < 8 || mode === _BACK_COMPAT) {
- offX = rootNode.clientLeft;
- offY = rootNode.clientTop;
- }
- }
- box = node[GET_BOUNDING_CLIENT_RECT]();
- xy = [box.left, box.top];
-
- if (offX || offY) {
- xy[0] -= offX;
- xy[1] -= offY;
-
- }
- if ((scrollTop || scrollLeft)) {
- if (!Y.UA.ios || (Y.UA.ios >= 4.2)) {
- xy[0] += scrollLeft;
- xy[1] += scrollTop;
- }
-
- }
- } else {
- xy = Y_DOM._getOffset(node);
- }
- }
- return xy;
- };
- } else {
- return function(node) { // manually calculate by crawling up offsetParents
- //Calculate the Top and Left border sizes (assumes pixels)
- var xy = null,
- doc,
- parentNode,
- bCheck,
- scrollTop,
- scrollLeft;
-
- if (node) {
- if (Y_DOM.inDoc(node)) {
- xy = [node.offsetLeft, node.offsetTop];
- doc = node.ownerDocument;
- parentNode = node;
- // TODO: refactor with !! or just falsey
- bCheck = ((Y.UA.gecko || Y.UA.webkit > 519) ? true : false);
-
- // TODO: worth refactoring for TOP/LEFT only?
- while ((parentNode = parentNode.offsetParent)) {
- xy[0] += parentNode.offsetLeft;
- xy[1] += parentNode.offsetTop;
- if (bCheck) {
- xy = Y_DOM._calcBorders(parentNode, xy);
- }
- }
-
- // account for any scrolled ancestors
- if (Y_DOM.getStyle(node, POSITION) != FIXED) {
- parentNode = node;
-
- while ((parentNode = parentNode.parentNode)) {
- scrollTop = parentNode.scrollTop;
- scrollLeft = parentNode.scrollLeft;
-
- //Firefox does something funky with borders when overflow is not visible.
- if (Y.UA.gecko && (Y_DOM.getStyle(parentNode, 'overflow') !== 'visible')) {
- xy = Y_DOM._calcBorders(parentNode, xy);
- }
-
-
- if (scrollTop || scrollLeft) {
- xy[0] -= scrollLeft;
- xy[1] -= scrollTop;
- }
- }
- xy[0] += Y_DOM.docScrollX(node, doc);
- xy[1] += Y_DOM.docScrollY(node, doc);
-
- } else {
- //Fix FIXED position -- add scrollbars
- xy[0] += Y_DOM.docScrollX(node, doc);
- xy[1] += Y_DOM.docScrollY(node, doc);
- }
- } else {
- xy = Y_DOM._getOffset(node);
- }
- }
-
- return xy;
- };
- }
- }(),// NOTE: Executing for loadtime branching
-
- /**
- Gets the width of vertical scrollbars on overflowed containers in the body
- content.
-
- @method getScrollbarWidth
- @return {Number} Pixel width of a scrollbar in the current browser
- **/
- getScrollbarWidth: Y.cached(function () {
- var doc = Y.config.doc,
- testNode = doc.createElement('div'),
- body = doc.getElementsByTagName('body')[0],
- // 0.1 because cached doesn't support falsy refetch values
- width = 0.1;
-
- if (body) {
- testNode.style.cssText = "position:absolute;visibility:hidden;overflow:scroll;width:20px;";
- testNode.appendChild(doc.createElement('p')).style.height = '1px';
- body.insertBefore(testNode, body.firstChild);
- width = testNode.offsetWidth - testNode.clientWidth;
-
- body.removeChild(testNode);
- }
-
- return width;
- }, null, 0.1),
-
- /**
- * Gets the current X position of an element based on page coordinates.
- * Element must be part of the DOM tree to have page coordinates
- * (display:none or elements not appended return false).
- * @method getX
- * @param element The target element
- * @return {Number} The X position of the element
- */
-
- getX: function(node) {
- return Y_DOM.getXY(node)[0];
- },
-
- /**
- * Gets the current Y position of an element based on page coordinates.
- * Element must be part of the DOM tree to have page coordinates
- * (display:none or elements not appended return false).
- * @method getY
- * @param element The target element
- * @return {Number} The Y position of the element
- */
-
- getY: function(node) {
- return Y_DOM.getXY(node)[1];
- },
-
- /**
- * Set the position of an html element in page coordinates.
- * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
- * @method setXY
- * @param element The target element
- * @param {Array} xy Contains X & Y values for new position (coordinates are page-based)
- * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
- */
- setXY: function(node, xy, noRetry) {
- var setStyle = Y_DOM.setStyle,
- pos,
- delta,
- newXY,
- currentXY;
-
- if (node && xy) {
- pos = Y_DOM.getStyle(node, POSITION);
-
- delta = Y_DOM._getOffset(node);
- if (pos == 'static') { // default to relative
- pos = RELATIVE;
- setStyle(node, POSITION, pos);
- }
- currentXY = Y_DOM.getXY(node);
-
- if (xy[0] !== null) {
- setStyle(node, LEFT, xy[0] - currentXY[0] + delta[0] + 'px');
- }
-
- if (xy[1] !== null) {
- setStyle(node, TOP, xy[1] - currentXY[1] + delta[1] + 'px');
- }
-
- if (!noRetry) {
- newXY = Y_DOM.getXY(node);
- if (newXY[0] !== xy[0] || newXY[1] !== xy[1]) {
- Y_DOM.setXY(node, xy, true);
- }
- }
-
- Y.log('setXY setting position to ' + xy, 'info', 'dom-screen');
- } else {
- Y.log('setXY failed to set ' + node + ' to ' + xy, 'info', 'dom-screen');
- }
- },
-
- /**
- * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
- * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
- * @method setX
- * @param element The target element
- * @param {Number} x The X values for new position (coordinates are page-based)
- */
- setX: function(node, x) {
- return Y_DOM.setXY(node, [x, null]);
- },
-
- /**
- * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
- * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
- * @method setY
- * @param element The target element
- * @param {Number} y The Y values for new position (coordinates are page-based)
- */
- setY: function(node, y) {
- return Y_DOM.setXY(node, [null, y]);
- },
-
- /**
- * @method swapXY
- * @description Swap the xy position with another node
- * @param {Node} node The node to swap with
- * @param {Node} otherNode The other node to swap with
- * @return {Node}
- */
- swapXY: function(node, otherNode) {
- var xy = Y_DOM.getXY(node);
- Y_DOM.setXY(node, Y_DOM.getXY(otherNode));
- Y_DOM.setXY(otherNode, xy);
- },
-
- _calcBorders: function(node, xy2) {
- var t = parseInt(Y_DOM[GET_COMPUTED_STYLE](node, BORDER_TOP_WIDTH), 10) || 0,
- l = parseInt(Y_DOM[GET_COMPUTED_STYLE](node, BORDER_LEFT_WIDTH), 10) || 0;
- if (Y.UA.gecko) {
- if (RE_TABLE.test(node.tagName)) {
- t = 0;
- l = 0;
- }
- }
- xy2[0] += l;
- xy2[1] += t;
- return xy2;
- },
-
- _getWinSize: function(node, doc) {
- doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc;
- var win = doc.defaultView || doc.parentWindow,
- mode = doc[COMPAT_MODE],
- h = win.innerHeight,
- w = win.innerWidth,
- root = doc[DOCUMENT_ELEMENT];
-
- if ( mode && !Y.UA.opera ) { // IE, Gecko
- if (mode != 'CSS1Compat') { // Quirks
- root = doc.body;
- }
- h = root.clientHeight;
- w = root.clientWidth;
- }
- return { height: h, width: w };
- },
-
- _getDocSize: function(node) {
- var doc = (node) ? Y_DOM._getDoc(node) : Y.config.doc,
- root = doc[DOCUMENT_ELEMENT];
-
- if (doc[COMPAT_MODE] != 'CSS1Compat') {
- root = doc.body;
- }
-
- return { height: root.scrollHeight, width: root.scrollWidth };
- }
-});
-
-})(Y);
-(function(Y) {
-var TOP = 'top',
- RIGHT = 'right',
- BOTTOM = 'bottom',
- LEFT = 'left',
-
- getOffsets = function(r1, r2) {
- var t = Math.max(r1[TOP], r2[TOP]),
- r = Math.min(r1[RIGHT], r2[RIGHT]),
- b = Math.min(r1[BOTTOM], r2[BOTTOM]),
- l = Math.max(r1[LEFT], r2[LEFT]),
- ret = {};
-
- ret[TOP] = t;
- ret[RIGHT] = r;
- ret[BOTTOM] = b;
- ret[LEFT] = l;
- return ret;
- },
-
- DOM = Y.DOM;
-
-Y.mix(DOM, {
- /**
- * Returns an Object literal containing the following about this element: (top, right, bottom, left)
- * @for DOM
- * @method region
- * @param {HTMLElement} element The DOM element.
- * @return {Object} Object literal containing the following about this element: (top, right, bottom, left)
- */
- region: function(node) {
- var xy = DOM.getXY(node),
- ret = false;
-
- if (node && xy) {
- ret = DOM._getRegion(
- xy[1], // top
- xy[0] + node.offsetWidth, // right
- xy[1] + node.offsetHeight, // bottom
- xy[0] // left
- );
- }
-
- return ret;
- },
-
- /**
- * Find the intersect information for the passed nodes.
- * @method intersect
- * @for DOM
- * @param {HTMLElement} element The first element
- * @param {HTMLElement | Object} element2 The element or region to check the interect with
- * @param {Object} altRegion An object literal containing the region for the first element if we already have the data (for performance e.g. DragDrop)
- * @return {Object} Object literal containing the following intersection data: (top, right, bottom, left, area, yoff, xoff, inRegion)
- */
- intersect: function(node, node2, altRegion) {
- var r = altRegion || DOM.region(node), region = {},
- n = node2,
- off;
-
- if (n.tagName) {
- region = DOM.region(n);
- } else if (Y.Lang.isObject(node2)) {
- region = node2;
- } else {
- return false;
- }
-
- off = getOffsets(region, r);
- return {
- top: off[TOP],
- right: off[RIGHT],
- bottom: off[BOTTOM],
- left: off[LEFT],
- area: ((off[BOTTOM] - off[TOP]) * (off[RIGHT] - off[LEFT])),
- yoff: ((off[BOTTOM] - off[TOP])),
- xoff: (off[RIGHT] - off[LEFT]),
- inRegion: DOM.inRegion(node, node2, false, altRegion)
- };
-
- },
- /**
- * Check if any part of this node is in the passed region
- * @method inRegion
- * @for DOM
- * @param {Object} node The node to get the region from
- * @param {Object} node2 The second node to get the region from or an Object literal of the region
- * @param {Boolean} all Should all of the node be inside the region
- * @param {Object} altRegion An object literal containing the region for this node if we already have the data (for performance e.g. DragDrop)
- * @return {Boolean} True if in region, false if not.
- */
- inRegion: function(node, node2, all, altRegion) {
- var region = {},
- r = altRegion || DOM.region(node),
- n = node2,
- off;
-
- if (n.tagName) {
- region = DOM.region(n);
- } else if (Y.Lang.isObject(node2)) {
- region = node2;
- } else {
- return false;
- }
-
- if (all) {
- return (
- r[LEFT] >= region[LEFT] &&
- r[RIGHT] <= region[RIGHT] &&
- r[TOP] >= region[TOP] &&
- r[BOTTOM] <= region[BOTTOM] );
- } else {
- off = getOffsets(region, r);
- if (off[BOTTOM] >= off[TOP] && off[RIGHT] >= off[LEFT]) {
- return true;
- } else {
- return false;
- }
-
- }
- },
-
- /**
- * Check if any part of this element is in the viewport
- * @method inViewportRegion
- * @for DOM
- * @param {HTMLElement} element The DOM element.
- * @param {Boolean} all Should all of the node be inside the region
- * @param {Object} altRegion An object literal containing the region for this node if we already have the data (for performance e.g. DragDrop)
- * @return {Boolean} True if in region, false if not.
- */
- inViewportRegion: function(node, all, altRegion) {
- return DOM.inRegion(node, DOM.viewportRegion(node), all, altRegion);
-
- },
-
- _getRegion: function(t, r, b, l) {
- var region = {};
-
- region[TOP] = region[1] = t;
- region[LEFT] = region[0] = l;
- region[BOTTOM] = b;
- region[RIGHT] = r;
- region.width = region[RIGHT] - region[LEFT];
- region.height = region[BOTTOM] - region[TOP];
-
- return region;
- },
-
- /**
- * Returns an Object literal containing the following about the visible region of viewport: (top, right, bottom, left)
- * @method viewportRegion
- * @for DOM
- * @return {Object} Object literal containing the following about the visible region of the viewport: (top, right, bottom, left)
- */
- viewportRegion: function(node) {
- node = node || Y.config.doc.documentElement;
- var ret = false,
- scrollX,
- scrollY;
-
- if (node) {
- scrollX = DOM.docScrollX(node);
- scrollY = DOM.docScrollY(node);
-
- ret = DOM._getRegion(scrollY, // top
- DOM.winWidth(node) + scrollX, // right
- scrollY + DOM.winHeight(node), // bottom
- scrollX); // left
- }
-
- return ret;
- }
-});
-})(Y);
-
-
-}, '3.12.0', {"requires": ["dom-base", "dom-style"]});
-YUI.add('selector-native', function (Y, NAME) {
-
-(function(Y) {
-/**
- * The selector-native module provides support for native querySelector
- * @module dom
- * @submodule selector-native
- * @for Selector
- */
-
-/**
- * Provides support for using CSS selectors to query the DOM
- * @class Selector
- * @static
- * @for Selector
- */
-
-Y.namespace('Selector'); // allow native module to standalone
-
-var COMPARE_DOCUMENT_POSITION = 'compareDocumentPosition',
- OWNER_DOCUMENT = 'ownerDocument';
-
-var Selector = {
- _types: {
- esc: {
- token: '\uE000',
- re: /\\[:\[\]\(\)#\.\'\>+~"]/gi
- },
-
- attr: {
- token: '\uE001',
- re: /(\[[^\]]*\])/g
- },
-
- pseudo: {
- token: '\uE002',
- re: /(\([^\)]*\))/g
- }
- },
-
- useNative: true,
-
- _escapeId: function(id) {
- if (id) {
- id = id.replace(/([:\[\]\(\)#\.'<>+~"])/g,'\\$1');
- }
- return id;
- },
-
- _compare: ('sourceIndex' in Y.config.doc.documentElement) ?
- function(nodeA, nodeB) {
- var a = nodeA.sourceIndex,
- b = nodeB.sourceIndex;
-
- if (a === b) {
- return 0;
- } else if (a > b) {
- return 1;
- }
-
- return -1;
-
- } : (Y.config.doc.documentElement[COMPARE_DOCUMENT_POSITION] ?
- function(nodeA, nodeB) {
- if (nodeA[COMPARE_DOCUMENT_POSITION](nodeB) & 4) {
- return -1;
- } else {
- return 1;
- }
- } :
- function(nodeA, nodeB) {
- var rangeA, rangeB, compare;
- if (nodeA && nodeB) {
- rangeA = nodeA[OWNER_DOCUMENT].createRange();
- rangeA.setStart(nodeA, 0);
- rangeB = nodeB[OWNER_DOCUMENT].createRange();
- rangeB.setStart(nodeB, 0);
- compare = rangeA.compareBoundaryPoints(1, rangeB); // 1 === Range.START_TO_END
- }
-
- return compare;
-
- }),
-
- _sort: function(nodes) {
- if (nodes) {
- nodes = Y.Array(nodes, 0, true);
- if (nodes.sort) {
- nodes.sort(Selector._compare);
- }
- }
-
- return nodes;
- },
-
- _deDupe: function(nodes) {
- var ret = [],
- i, node;
-
- for (i = 0; (node = nodes[i++]);) {
- if (!node._found) {
- ret[ret.length] = node;
- node._found = true;
- }
- }
-
- for (i = 0; (node = ret[i++]);) {
- node._found = null;
- node.removeAttribute('_found');
- }
-
- return ret;
- },
-
- /**
- * Retrieves a set of nodes based on a given CSS selector.
- * @method query
- *
- * @param {string} selector The CSS Selector to test the node against.
- * @param {HTMLElement} root optional An HTMLElement to start the query from. Defaults to Y.config.doc
- * @param {Boolean} firstOnly optional Whether or not to return only the first match.
- * @return {Array} An array of nodes that match the given selector.
- * @static
- */
- query: function(selector, root, firstOnly, skipNative) {
- root = root || Y.config.doc;
- var ret = [],
- useNative = (Y.Selector.useNative && Y.config.doc.querySelector && !skipNative),
- queries = [[selector, root]],
- query,
- result,
- i,
- fn = (useNative) ? Y.Selector._nativeQuery : Y.Selector._bruteQuery;
-
- if (selector && fn) {
- // split group into seperate queries
- if (!skipNative && // already done if skipping
- (!useNative || root.tagName)) { // split native when element scoping is needed
- queries = Selector._splitQueries(selector, root);
- }
-
- for (i = 0; (query = queries[i++]);) {
- result = fn(query[0], query[1], firstOnly);
- if (!firstOnly) { // coerce DOM Collection to Array
- result = Y.Array(result, 0, true);
- }
- if (result) {
- ret = ret.concat(result);
- }
- }
-
- if (queries.length > 1) { // remove dupes and sort by doc order
- ret = Selector._sort(Selector._deDupe(ret));
- }
- }
-
- Y.log('query: ' + selector + ' returning: ' + ret.length, 'info', 'Selector');
- return (firstOnly) ? (ret[0] || null) : ret;
-
- },
-
- _replaceSelector: function(selector) {
- var esc = Y.Selector._parse('esc', selector), // pull escaped colon, brackets, etc.
- attrs,
- pseudos;
-
- // first replace escaped chars, which could be present in attrs or pseudos
- selector = Y.Selector._replace('esc', selector);
-
- // then replace pseudos before attrs to avoid replacing :not([foo])
- pseudos = Y.Selector._parse('pseudo', selector);
- selector = Selector._replace('pseudo', selector);
-
- attrs = Y.Selector._parse('attr', selector);
- selector = Y.Selector._replace('attr', selector);
-
- return {
- esc: esc,
- attrs: attrs,
- pseudos: pseudos,
- selector: selector
- };
- },
-
- _restoreSelector: function(replaced) {
- var selector = replaced.selector;
- selector = Y.Selector._restore('attr', selector, replaced.attrs);
- selector = Y.Selector._restore('pseudo', selector, replaced.pseudos);
- selector = Y.Selector._restore('esc', selector, replaced.esc);
- return selector;
- },
-
- _replaceCommas: function(selector) {
- var replaced = Y.Selector._replaceSelector(selector),
- selector = replaced.selector;
-
- if (selector) {
- selector = selector.replace(/,/g, '\uE007');
- replaced.selector = selector;
- selector = Y.Selector._restoreSelector(replaced);
- }
- return selector;
- },
-
- // allows element scoped queries to begin with combinator
- // e.g. query('> p', document.body) === query('body > p')
- _splitQueries: function(selector, node) {
- if (selector.indexOf(',') > -1) {
- selector = Y.Selector._replaceCommas(selector);
- }
-
- var groups = selector.split('\uE007'), // split on replaced comma token
- queries = [],
- prefix = '',
- id,
- i,
- len;
-
- if (node) {
- // enforce for element scoping
- if (node.nodeType === 1) { // Elements only
- id = Y.Selector._escapeId(Y.DOM.getId(node));
-
- if (!id) {
- id = Y.guid();
- Y.DOM.setId(node, id);
- }
-
- prefix = '[id="' + id + '"] ';
- }
-
- for (i = 0, len = groups.length; i < len; ++i) {
- selector = prefix + groups[i];
- queries.push([selector, node]);
- }
- }
-
- return queries;
- },
-
- _nativeQuery: function(selector, root, one) {
- if (
- (Y.UA.webkit || Y.UA.opera) && // webkit (chrome, safari) and Opera
- selector.indexOf(':checked') > -1 && // fail to pick up "selected" with ":checked"
- (Y.Selector.pseudos && Y.Selector.pseudos.checked)
- ) {
- return Y.Selector.query(selector, root, one, true); // redo with skipNative true to try brute query
- }
- try {
- //Y.log('trying native query with: ' + selector, 'info', 'selector-native');
- return root['querySelector' + (one ? '' : 'All')](selector);
- } catch(e) { // fallback to brute if available
- //Y.log('native query error; reverting to brute query with: ' + selector, 'info', 'selector-native');
- return Y.Selector.query(selector, root, one, true); // redo with skipNative true
- }
- },
-
- filter: function(nodes, selector) {
- var ret = [],
- i, node;
-
- if (nodes && selector) {
- for (i = 0; (node = nodes[i++]);) {
- if (Y.Selector.test(node, selector)) {
- ret[ret.length] = node;
- }
- }
- } else {
- Y.log('invalid filter input (nodes: ' + nodes +
- ', selector: ' + selector + ')', 'warn', 'Selector');
- }
-
- return ret;
- },
-
- test: function(node, selector, root) {
- var ret = false,
- useFrag = false,
- groups,
- parent,
- item,
- items,
- frag,
- id,
- i, j, group;
-
- if (node && node.tagName) { // only test HTMLElements
-
- if (typeof selector == 'function') { // test with function
- ret = selector.call(node, node);
- } else { // test with query
- // we need a root if off-doc
- groups = selector.split(',');
- if (!root && !Y.DOM.inDoc(node)) {
- parent = node.parentNode;
- if (parent) {
- root = parent;
- } else { // only use frag when no parent to query
- frag = node[OWNER_DOCUMENT].createDocumentFragment();
- frag.appendChild(node);
- root = frag;
- useFrag = true;
- }
- }
- root = root || node[OWNER_DOCUMENT];
-
- id = Y.Selector._escapeId(Y.DOM.getId(node));
- if (!id) {
- id = Y.guid();
- Y.DOM.setId(node, id);
- }
-
- for (i = 0; (group = groups[i++]);) { // TODO: off-dom test
- group += '[id="' + id + '"]';
- items = Y.Selector.query(group, root);
-
- for (j = 0; item = items[j++];) {
- if (item === node) {
- ret = true;
- break;
- }
- }
- if (ret) {
- break;
- }
- }
-
- if (useFrag) { // cleanup
- frag.removeChild(node);
- }
- };
- }
-
- return ret;
- },
-
- /**
- * A convenience function to emulate Y.Node's aNode.ancestor(selector).
- * @param {HTMLElement} element An HTMLElement to start the query from.
- * @param {String} selector The CSS selector to test the node against.
- * @return {HTMLElement} The ancestor node matching the selector, or null.
- * @param {Boolean} testSelf optional Whether or not to include the element in the scan
- * @static
- * @method ancestor
- */
- ancestor: function (element, selector, testSelf) {
- return Y.DOM.ancestor(element, function(n) {
- return Y.Selector.test(n, selector);
- }, testSelf);
- },
-
- _parse: function(name, selector) {
- return selector.match(Y.Selector._types[name].re);
- },
-
- _replace: function(name, selector) {
- var o = Y.Selector._types[name];
- return selector.replace(o.re, o.token);
- },
-
- _restore: function(name, selector, items) {
- if (items) {
- var token = Y.Selector._types[name].token,
- i, len;
- for (i = 0, len = items.length; i < len; ++i) {
- selector = selector.replace(token, items[i]);
- }
- }
- return selector;
- }
-};
-
-Y.mix(Y.Selector, Selector, true);
-
-})(Y);
-
-
-}, '3.12.0', {"requires": ["dom-base"]});
-YUI.add('selector', function (Y, NAME) {
-
-
-
-}, '3.12.0', {"requires": ["selector-native"]});
-YUI.add('event-custom-base', function (Y, NAME) {
-
-/**
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event-custom
- */
-
-Y.Env.evt = {
- handles: {},
- plugins: {}
-};
-
-
-/**
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event-custom
- * @submodule event-custom-base
- */
-
-/**
- * Allows for the insertion of methods that are executed before or after
- * a specified method
- * @class Do
- * @static
- */
-
-var DO_BEFORE = 0,
- DO_AFTER = 1,
-
-DO = {
-
- /**
- * Cache of objects touched by the utility
- * @property objs
- * @static
- * @deprecated Since 3.6.0. The `_yuiaop` property on the AOP'd object
- * replaces the role of this property, but is considered to be private, and
- * is only mentioned to provide a migration path.
- *
- * If you have a use case which warrants migration to the _yuiaop property,
- * please file a ticket to let us know what it's used for and we can see if
- * we need to expose hooks for that functionality more formally.
- */
- objs: null,
-
- /**
- *
Execute the supplied method before the specified function. Wrapping
- * function may optionally return an instance of the following classes to
- * further alter runtime behavior:
- *
- *
Y.Do.Halt(message, returnValue)
- *
Immediatly stop execution and return
- * returnValue. No other wrapping functions will be
- * executed.
- *
Y.Do.AlterArgs(message, newArgArray)
- *
Replace the arguments that the original function will be
- * called with.
- *
Y.Do.Prevent(message)
- *
Don't execute the wrapped function. Other before phase
- * wrappers will be executed.
- *
- *
- * @method before
- * @param fn {Function} the function to execute
- * @param obj the object hosting the method to displace
- * @param sFn {string} the name of the method to displace
- * @param c The execution context for fn
- * @param arg* {mixed} 0..n additional arguments to supply to the subscriber
- * when the event fires.
- * @return {string} handle for the subscription
- * @static
- */
- before: function(fn, obj, sFn, c) {
- // Y.log('Do before: ' + sFn, 'info', 'event');
- var f = fn, a;
- if (c) {
- a = [fn, c].concat(Y.Array(arguments, 4, true));
- f = Y.rbind.apply(Y, a);
- }
-
- return this._inject(DO_BEFORE, f, obj, sFn);
- },
-
- /**
- *
Execute the supplied method after the specified function. Wrapping
- * function may optionally return an instance of the following classes to
- * further alter runtime behavior:
- *
- *
Y.Do.Halt(message, returnValue)
- *
Immediatly stop execution and return
- * returnValue. No other wrapping functions will be
- * executed.
- *
Y.Do.AlterReturn(message, returnValue)
- *
Return returnValue instead of the wrapped
- * method's original return value. This can be further altered by
- * other after phase wrappers.
- *
- *
- *
The static properties Y.Do.originalRetVal and
- * Y.Do.currentRetVal will be populated for reference.
- *
- * @method after
- * @param fn {Function} the function to execute
- * @param obj the object hosting the method to displace
- * @param sFn {string} the name of the method to displace
- * @param c The execution context for fn
- * @param arg* {mixed} 0..n additional arguments to supply to the subscriber
- * @return {string} handle for the subscription
- * @static
- */
- after: function(fn, obj, sFn, c) {
- var f = fn, a;
- if (c) {
- a = [fn, c].concat(Y.Array(arguments, 4, true));
- f = Y.rbind.apply(Y, a);
- }
-
- return this._inject(DO_AFTER, f, obj, sFn);
- },
-
- /**
- * Execute the supplied method before or after the specified function.
- * Used by before and after.
- *
- * @method _inject
- * @param when {string} before or after
- * @param fn {Function} the function to execute
- * @param obj the object hosting the method to displace
- * @param sFn {string} the name of the method to displace
- * @param c The execution context for fn
- * @return {string} handle for the subscription
- * @private
- * @static
- */
- _inject: function(when, fn, obj, sFn) {
- // object id
- var id = Y.stamp(obj), o, sid;
-
- if (!obj._yuiaop) {
- // create a map entry for the obj if it doesn't exist, to hold overridden methods
- obj._yuiaop = {};
- }
-
- o = obj._yuiaop;
-
- if (!o[sFn]) {
- // create a map entry for the method if it doesn't exist
- o[sFn] = new Y.Do.Method(obj, sFn);
-
- // re-route the method to our wrapper
- obj[sFn] = function() {
- return o[sFn].exec.apply(o[sFn], arguments);
- };
- }
-
- // subscriber id
- sid = id + Y.stamp(fn) + sFn;
-
- // register the callback
- o[sFn].register(sid, fn, when);
-
- return new Y.EventHandle(o[sFn], sid);
- },
-
- /**
- * Detach a before or after subscription.
- *
- * @method detach
- * @param handle {string} the subscription handle
- * @static
- */
- detach: function(handle) {
- if (handle.detach) {
- handle.detach();
- }
- }
-};
-
-Y.Do = DO;
-
-//////////////////////////////////////////////////////////////////////////
-
-/**
- * Contains the return value from the wrapped method, accessible
- * by 'after' event listeners.
- *
- * @property originalRetVal
- * @static
- * @since 3.2.0
- */
-
-/**
- * Contains the current state of the return value, consumable by
- * 'after' event listeners, and updated if an after subscriber
- * changes the return value generated by the wrapped function.
- *
- * @property currentRetVal
- * @static
- * @since 3.2.0
- */
-
-//////////////////////////////////////////////////////////////////////////
-
-/**
- * Wrapper for a displaced method with aop enabled
- * @class Do.Method
- * @constructor
- * @param obj The object to operate on
- * @param sFn The name of the method to displace
- */
-DO.Method = function(obj, sFn) {
- this.obj = obj;
- this.methodName = sFn;
- this.method = obj[sFn];
- this.before = {};
- this.after = {};
-};
-
-/**
- * Register a aop subscriber
- * @method register
- * @param sid {string} the subscriber id
- * @param fn {Function} the function to execute
- * @param when {string} when to execute the function
- */
-DO.Method.prototype.register = function (sid, fn, when) {
- if (when) {
- this.after[sid] = fn;
- } else {
- this.before[sid] = fn;
- }
-};
-
-/**
- * Unregister a aop subscriber
- * @method delete
- * @param sid {string} the subscriber id
- * @param fn {Function} the function to execute
- * @param when {string} when to execute the function
- */
-DO.Method.prototype._delete = function (sid) {
- // Y.log('Y.Do._delete: ' + sid, 'info', 'Event');
- delete this.before[sid];
- delete this.after[sid];
-};
-
-/**
- *
Execute the wrapped method. All arguments are passed into the wrapping
- * functions. If any of the before wrappers return an instance of
- * Y.Do.Halt or Y.Do.Prevent, neither the wrapped
- * function nor any after phase subscribers will be executed.
- *
- *
The return value will be the return value of the wrapped function or one
- * provided by a wrapper function via an instance of Y.Do.Halt or
- * Y.Do.AlterReturn.
- *
- * @method exec
- * @param arg* {any} Arguments are passed to the wrapping and wrapped functions
- * @return {any} Return value of wrapped function unless overwritten (see above)
- */
-DO.Method.prototype.exec = function () {
-
- var args = Y.Array(arguments, 0, true),
- i, ret, newRet,
- bf = this.before,
- af = this.after,
- prevented = false;
-
- // execute before
- for (i in bf) {
- if (bf.hasOwnProperty(i)) {
- ret = bf[i].apply(this.obj, args);
- if (ret) {
- switch (ret.constructor) {
- case DO.Halt:
- return ret.retVal;
- case DO.AlterArgs:
- args = ret.newArgs;
- break;
- case DO.Prevent:
- prevented = true;
- break;
- default:
- }
- }
- }
- }
-
- // execute method
- if (!prevented) {
- ret = this.method.apply(this.obj, args);
- }
-
- DO.originalRetVal = ret;
- DO.currentRetVal = ret;
-
- // execute after methods.
- for (i in af) {
- if (af.hasOwnProperty(i)) {
- newRet = af[i].apply(this.obj, args);
- // Stop processing if a Halt object is returned
- if (newRet && newRet.constructor === DO.Halt) {
- return newRet.retVal;
- // Check for a new return value
- } else if (newRet && newRet.constructor === DO.AlterReturn) {
- ret = newRet.newRetVal;
- // Update the static retval state
- DO.currentRetVal = ret;
- }
- }
- }
-
- return ret;
-};
-
-//////////////////////////////////////////////////////////////////////////
-
-/**
- * Return an AlterArgs object when you want to change the arguments that
- * were passed into the function. Useful for Do.before subscribers. An
- * example would be a service that scrubs out illegal characters prior to
- * executing the core business logic.
- * @class Do.AlterArgs
- * @constructor
- * @param msg {String} (optional) Explanation of the altered return value
- * @param newArgs {Array} Call parameters to be used for the original method
- * instead of the arguments originally passed in.
- */
-DO.AlterArgs = function(msg, newArgs) {
- this.msg = msg;
- this.newArgs = newArgs;
-};
-
-/**
- * Return an AlterReturn object when you want to change the result returned
- * from the core method to the caller. Useful for Do.after subscribers.
- * @class Do.AlterReturn
- * @constructor
- * @param msg {String} (optional) Explanation of the altered return value
- * @param newRetVal {any} Return value passed to code that invoked the wrapped
- * function.
- */
-DO.AlterReturn = function(msg, newRetVal) {
- this.msg = msg;
- this.newRetVal = newRetVal;
-};
-
-/**
- * Return a Halt object when you want to terminate the execution
- * of all subsequent subscribers as well as the wrapped method
- * if it has not exectued yet. Useful for Do.before subscribers.
- * @class Do.Halt
- * @constructor
- * @param msg {String} (optional) Explanation of why the termination was done
- * @param retVal {any} Return value passed to code that invoked the wrapped
- * function.
- */
-DO.Halt = function(msg, retVal) {
- this.msg = msg;
- this.retVal = retVal;
-};
-
-/**
- * Return a Prevent object when you want to prevent the wrapped function
- * from executing, but want the remaining listeners to execute. Useful
- * for Do.before subscribers.
- * @class Do.Prevent
- * @constructor
- * @param msg {String} (optional) Explanation of why the termination was done
- */
-DO.Prevent = function(msg) {
- this.msg = msg;
-};
-
-/**
- * Return an Error object when you want to terminate the execution
- * of all subsequent method calls.
- * @class Do.Error
- * @constructor
- * @param msg {String} (optional) Explanation of the altered return value
- * @param retVal {any} Return value passed to code that invoked the wrapped
- * function.
- * @deprecated use Y.Do.Halt or Y.Do.Prevent
- */
-DO.Error = DO.Halt;
-
-
-//////////////////////////////////////////////////////////////////////////
-
-/**
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event-custom
- * @submodule event-custom-base
- */
-
-
-// var onsubscribeType = "_event:onsub",
-var YArray = Y.Array,
-
- AFTER = 'after',
- CONFIGS = [
- 'broadcast',
- 'monitored',
- 'bubbles',
- 'context',
- 'contextFn',
- 'currentTarget',
- 'defaultFn',
- 'defaultTargetOnly',
- 'details',
- 'emitFacade',
- 'fireOnce',
- 'async',
- 'host',
- 'preventable',
- 'preventedFn',
- 'queuable',
- 'silent',
- 'stoppedFn',
- 'target',
- 'type'
- ],
-
- CONFIGS_HASH = YArray.hash(CONFIGS),
-
- nativeSlice = Array.prototype.slice,
-
- YUI3_SIGNATURE = 9,
- YUI_LOG = 'yui:log',
-
- mixConfigs = function(r, s, ov) {
- var p;
-
- for (p in s) {
- if (CONFIGS_HASH[p] && (ov || !(p in r))) {
- r[p] = s[p];
- }
- }
-
- return r;
- };
-
-/**
- * The CustomEvent class lets you define events for your application
- * that can be subscribed to by one or more independent component.
- *
- * @param {String} type The type of event, which is passed to the callback
- * when the event fires.
- * @param {object} defaults configuration object.
- * @class CustomEvent
- * @constructor
- */
-
- /**
- * The type of event, returned to subscribers when the event fires
- * @property type
- * @type string
- */
-
-/**
- * By default all custom events are logged in the debug build, set silent
- * to true to disable debug outpu for this event.
- * @property silent
- * @type boolean
- */
-
-Y.CustomEvent = function(type, defaults) {
-
- this._kds = Y.CustomEvent.keepDeprecatedSubs;
-
- this.id = Y.guid();
-
- this.type = type;
- this.silent = this.logSystem = (type === YUI_LOG);
-
- if (this._kds) {
- /**
- * The subscribers to this event
- * @property subscribers
- * @type Subscriber {}
- * @deprecated
- */
-
- /**
- * 'After' subscribers
- * @property afters
- * @type Subscriber {}
- * @deprecated
- */
- this.subscribers = {};
- this.afters = {};
- }
-
- if (defaults) {
- mixConfigs(this, defaults, true);
- }
-};
-
-/**
- * Static flag to enable population of the `subscribers`
- * and `afters` properties held on a `CustomEvent` instance.
- *
- * These properties were changed to private properties (`_subscribers` and `_afters`), and
- * converted from objects to arrays for performance reasons.
- *
- * Setting this property to true will populate the deprecated `subscribers` and `afters`
- * properties for people who may be using them (which is expected to be rare). There will
- * be a performance hit, compared to the new array based implementation.
- *
- * If you are using these deprecated properties for a use case which the public API
- * does not support, please file an enhancement request, and we can provide an alternate
- * public implementation which doesn't have the performance cost required to maintiain the
- * properties as objects.
- *
- * @property keepDeprecatedSubs
- * @static
- * @for CustomEvent
- * @type boolean
- * @default false
- * @deprecated
- */
-Y.CustomEvent.keepDeprecatedSubs = false;
-
-Y.CustomEvent.mixConfigs = mixConfigs;
-
-Y.CustomEvent.prototype = {
-
- constructor: Y.CustomEvent,
-
- /**
- * Monitor when an event is attached or detached.
- *
- * @property monitored
- * @type boolean
- */
-
- /**
- * If 0, this event does not broadcast. If 1, the YUI instance is notified
- * every time this event fires. If 2, the YUI instance and the YUI global
- * (if event is enabled on the global) are notified every time this event
- * fires.
- * @property broadcast
- * @type int
- */
-
- /**
- * Specifies whether this event should be queued when the host is actively
- * processing an event. This will effect exectution order of the callbacks
- * for the various events.
- * @property queuable
- * @type boolean
- * @default false
- */
-
- /**
- * This event has fired if true
- *
- * @property fired
- * @type boolean
- * @default false;
- */
-
- /**
- * An array containing the arguments the custom event
- * was last fired with.
- * @property firedWith
- * @type Array
- */
-
- /**
- * This event should only fire one time if true, and if
- * it has fired, any new subscribers should be notified
- * immediately.
- *
- * @property fireOnce
- * @type boolean
- * @default false;
- */
-
- /**
- * fireOnce listeners will fire syncronously unless async
- * is set to true
- * @property async
- * @type boolean
- * @default false
- */
-
- /**
- * Flag for stopPropagation that is modified during fire()
- * 1 means to stop propagation to bubble targets. 2 means
- * to also stop additional subscribers on this target.
- * @property stopped
- * @type int
- */
-
- /**
- * Flag for preventDefault that is modified during fire().
- * if it is not 0, the default behavior for this event
- * @property prevented
- * @type int
- */
-
- /**
- * Specifies the host for this custom event. This is used
- * to enable event bubbling
- * @property host
- * @type EventTarget
- */
-
- /**
- * The default function to execute after event listeners
- * have fire, but only if the default action was not
- * prevented.
- * @property defaultFn
- * @type Function
- */
-
- /**
- * The function to execute if a subscriber calls
- * stopPropagation or stopImmediatePropagation
- * @property stoppedFn
- * @type Function
- */
-
- /**
- * The function to execute if a subscriber calls
- * preventDefault
- * @property preventedFn
- * @type Function
- */
-
- /**
- * The subscribers to this event
- * @property _subscribers
- * @type Subscriber []
- * @private
- */
-
- /**
- * 'After' subscribers
- * @property _afters
- * @type Subscriber []
- * @private
- */
-
- /**
- * If set to true, the custom event will deliver an EventFacade object
- * that is similar to a DOM event object.
- * @property emitFacade
- * @type boolean
- * @default false
- */
-
- /**
- * Supports multiple options for listener signatures in order to
- * port YUI 2 apps.
- * @property signature
- * @type int
- * @default 9
- */
- signature : YUI3_SIGNATURE,
-
- /**
- * The context the the event will fire from by default. Defaults to the YUI
- * instance.
- * @property context
- * @type object
- */
- context : Y,
-
- /**
- * Specifies whether or not this event's default function
- * can be cancelled by a subscriber by executing preventDefault()
- * on the event facade
- * @property preventable
- * @type boolean
- * @default true
- */
- preventable : true,
-
- /**
- * Specifies whether or not a subscriber can stop the event propagation
- * via stopPropagation(), stopImmediatePropagation(), or halt()
- *
- * Events can only bubble if emitFacade is true.
- *
- * @property bubbles
- * @type boolean
- * @default true
- */
- bubbles : true,
-
- /**
- * Returns the number of subscribers for this event as the sum of the on()
- * subscribers and after() subscribers.
- *
- * @method hasSubs
- * @return Number
- */
- hasSubs: function(when) {
- var s = 0,
- a = 0,
- subs = this._subscribers,
- afters = this._afters,
- sib = this.sibling;
-
- if (subs) {
- s = subs.length;
- }
-
- if (afters) {
- a = afters.length;
- }
-
- if (sib) {
- subs = sib._subscribers;
- afters = sib._afters;
-
- if (subs) {
- s += subs.length;
- }
-
- if (afters) {
- a += afters.length;
- }
- }
-
- if (when) {
- return (when === 'after') ? a : s;
- }
-
- return (s + a);
- },
-
- /**
- * Monitor the event state for the subscribed event. The first parameter
- * is what should be monitored, the rest are the normal parameters when
- * subscribing to an event.
- * @method monitor
- * @param what {string} what to monitor ('detach', 'attach', 'publish').
- * @return {EventHandle} return value from the monitor event subscription.
- */
- monitor: function(what) {
- this.monitored = true;
- var type = this.id + '|' + this.type + '_' + what,
- args = nativeSlice.call(arguments, 0);
- args[0] = type;
- return this.host.on.apply(this.host, args);
- },
-
- /**
- * Get all of the subscribers to this event and any sibling event
- * @method getSubs
- * @return {Array} first item is the on subscribers, second the after.
- */
- getSubs: function() {
-
- var sibling = this.sibling,
- subs = this._subscribers,
- afters = this._afters,
- siblingSubs,
- siblingAfters;
-
- if (sibling) {
- siblingSubs = sibling._subscribers;
- siblingAfters = sibling._afters;
- }
-
- if (siblingSubs) {
- if (subs) {
- subs = subs.concat(siblingSubs);
- } else {
- subs = siblingSubs.concat();
- }
- } else {
- if (subs) {
- subs = subs.concat();
- } else {
- subs = [];
- }
- }
-
- if (siblingAfters) {
- if (afters) {
- afters = afters.concat(siblingAfters);
- } else {
- afters = siblingAfters.concat();
- }
- } else {
- if (afters) {
- afters = afters.concat();
- } else {
- afters = [];
- }
- }
-
- return [subs, afters];
- },
-
- /**
- * Apply configuration properties. Only applies the CONFIG whitelist
- * @method applyConfig
- * @param o hash of properties to apply.
- * @param force {boolean} if true, properties that exist on the event
- * will be overwritten.
- */
- applyConfig: function(o, force) {
- mixConfigs(this, o, force);
- },
-
- /**
- * Create the Subscription for subscribing function, context, and bound
- * arguments. If this is a fireOnce event, the subscriber is immediately
- * notified.
- *
- * @method _on
- * @param fn {Function} Subscription callback
- * @param [context] {Object} Override `this` in the callback
- * @param [args] {Array} bound arguments that will be passed to the callback after the arguments generated by fire()
- * @param [when] {String} "after" to slot into after subscribers
- * @return {EventHandle}
- * @protected
- */
- _on: function(fn, context, args, when) {
-
- if (!fn) { this.log('Invalid callback for CE: ' + this.type); }
-
- var s = new Y.Subscriber(fn, context, args, when),
- firedWith;
-
- if (this.fireOnce && this.fired) {
-
- firedWith = this.firedWith;
-
- // It's a little ugly for this to know about facades,
- // but given the current breakup, not much choice without
- // moving a whole lot of stuff around.
- if (this.emitFacade && this._addFacadeToArgs) {
- this._addFacadeToArgs(firedWith);
- }
-
- if (this.async) {
- setTimeout(Y.bind(this._notify, this, s, firedWith), 0);
- } else {
- this._notify(s, firedWith);
- }
- }
-
- if (when === AFTER) {
- if (!this._afters) {
- this._afters = [];
- }
- this._afters.push(s);
- } else {
- if (!this._subscribers) {
- this._subscribers = [];
- }
- this._subscribers.push(s);
- }
-
- if (this._kds) {
- if (when === AFTER) {
- this.afters[s.id] = s;
- } else {
- this.subscribers[s.id] = s;
- }
- }
-
- return new Y.EventHandle(this, s);
- },
-
- /**
- * Listen for this event
- * @method subscribe
- * @param {Function} fn The function to execute.
- * @return {EventHandle} Unsubscribe handle.
- * @deprecated use on.
- */
- subscribe: function(fn, context) {
- Y.log('ce.subscribe deprecated, use "on"', 'warn', 'deprecated');
- var a = (arguments.length > 2) ? nativeSlice.call(arguments, 2) : null;
- return this._on(fn, context, a, true);
- },
-
- /**
- * Listen for this event
- * @method on
- * @param {Function} fn The function to execute.
- * @param {object} context optional execution context.
- * @param {mixed} arg* 0..n additional arguments to supply to the subscriber
- * when the event fires.
- * @return {EventHandle} An object with a detach method to detch the handler(s).
- */
- on: function(fn, context) {
- var a = (arguments.length > 2) ? nativeSlice.call(arguments, 2) : null;
-
- if (this.monitored && this.host) {
- this.host._monitor('attach', this, {
- args: arguments
- });
- }
- return this._on(fn, context, a, true);
- },
-
- /**
- * Listen for this event after the normal subscribers have been notified and
- * the default behavior has been applied. If a normal subscriber prevents the
- * default behavior, it also prevents after listeners from firing.
- * @method after
- * @param {Function} fn The function to execute.
- * @param {object} context optional execution context.
- * @param {mixed} arg* 0..n additional arguments to supply to the subscriber
- * when the event fires.
- * @return {EventHandle} handle Unsubscribe handle.
- */
- after: function(fn, context) {
- var a = (arguments.length > 2) ? nativeSlice.call(arguments, 2) : null;
- return this._on(fn, context, a, AFTER);
- },
-
- /**
- * Detach listeners.
- * @method detach
- * @param {Function} fn The subscribed function to remove, if not supplied
- * all will be removed.
- * @param {Object} context The context object passed to subscribe.
- * @return {int} returns the number of subscribers unsubscribed.
- */
- detach: function(fn, context) {
- // unsubscribe handle
- if (fn && fn.detach) {
- return fn.detach();
- }
-
- var i, s,
- found = 0,
- subs = this._subscribers,
- afters = this._afters;
-
- if (subs) {
- for (i = subs.length; i >= 0; i--) {
- s = subs[i];
- if (s && (!fn || fn === s.fn)) {
- this._delete(s, subs, i);
- found++;
- }
- }
- }
-
- if (afters) {
- for (i = afters.length; i >= 0; i--) {
- s = afters[i];
- if (s && (!fn || fn === s.fn)) {
- this._delete(s, afters, i);
- found++;
- }
- }
- }
-
- return found;
- },
-
- /**
- * Detach listeners.
- * @method unsubscribe
- * @param {Function} fn The subscribed function to remove, if not supplied
- * all will be removed.
- * @param {Object} context The context object passed to subscribe.
- * @return {int|undefined} returns the number of subscribers unsubscribed.
- * @deprecated use detach.
- */
- unsubscribe: function() {
- return this.detach.apply(this, arguments);
- },
-
- /**
- * Notify a single subscriber
- * @method _notify
- * @param {Subscriber} s the subscriber.
- * @param {Array} args the arguments array to apply to the listener.
- * @protected
- */
- _notify: function(s, args, ef) {
-
- this.log(this.type + '->' + 'sub: ' + s.id);
-
- var ret;
-
- ret = s.notify(args, this);
-
- if (false === ret || this.stopped > 1) {
- this.log(this.type + ' cancelled by subscriber');
- return false;
- }
-
- return true;
- },
-
- /**
- * Logger abstraction to centralize the application of the silent flag
- * @method log
- * @param {string} msg message to log.
- * @param {string} cat log category.
- */
- log: function(msg, cat) {
- if (!this.silent) { Y.log(this.id + ': ' + msg, cat || 'info', 'event'); }
- },
-
- /**
- * Notifies the subscribers. The callback functions will be executed
- * from the context specified when the event was created, and with the
- * following parameters:
- *
- *
The type of event
- *
All of the arguments fire() was executed with as an array
- *
The custom object (if any) that was passed into the subscribe()
- * method
- *
- * @method fire
- * @param {Object*} arguments an arbitrary set of parameters to pass to
- * the handler.
- * @return {boolean} false if one of the subscribers returned false,
- * true otherwise.
- *
- */
- fire: function() {
-
- // push is the fastest way to go from arguments to arrays
- // for most browsers currently
- // http://jsperf.com/push-vs-concat-vs-slice/2
-
- var args = [];
- args.push.apply(args, arguments);
-
- return this._fire(args);
- },
-
- /**
- * Private internal implementation for `fire`, which is can be used directly by
- * `EventTarget` and other event module classes which have already converted from
- * an `arguments` list to an array, to avoid the repeated overhead.
- *
- * @method _fire
- * @private
- * @param {Array} args The array of arguments passed to be passed to handlers.
- * @return {boolean} false if one of the subscribers returned false, true otherwise.
- */
- _fire: function(args) {
-
- if (this.fireOnce && this.fired) {
- this.log('fireOnce event: ' + this.type + ' already fired');
- return true;
- } else {
-
- // this doesn't happen if the event isn't published
- // this.host._monitor('fire', this.type, args);
-
- this.fired = true;
-
- if (this.fireOnce) {
- this.firedWith = args;
- }
-
- if (this.emitFacade) {
- return this.fireComplex(args);
- } else {
- return this.fireSimple(args);
- }
- }
- },
-
- /**
- * Set up for notifying subscribers of non-emitFacade events.
- *
- * @method fireSimple
- * @param args {Array} Arguments passed to fire()
- * @return Boolean false if a subscriber returned false
- * @protected
- */
- fireSimple: function(args) {
- this.stopped = 0;
- this.prevented = 0;
- if (this.hasSubs()) {
- var subs = this.getSubs();
- this._procSubs(subs[0], args);
- this._procSubs(subs[1], args);
- }
- if (this.broadcast) {
- this._broadcast(args);
- }
- return this.stopped ? false : true;
- },
-
- // Requires the event-custom-complex module for full funcitonality.
- fireComplex: function(args) {
- this.log('Missing event-custom-complex needed to emit a facade for: ' + this.type);
- args[0] = args[0] || {};
- return this.fireSimple(args);
- },
-
- /**
- * Notifies a list of subscribers.
- *
- * @method _procSubs
- * @param subs {Array} List of subscribers
- * @param args {Array} Arguments passed to fire()
- * @param ef {}
- * @return Boolean false if a subscriber returns false or stops the event
- * propagation via e.stopPropagation(),
- * e.stopImmediatePropagation(), or e.halt()
- * @private
- */
- _procSubs: function(subs, args, ef) {
- var s, i, l;
-
- for (i = 0, l = subs.length; i < l; i++) {
- s = subs[i];
- if (s && s.fn) {
- if (false === this._notify(s, args, ef)) {
- this.stopped = 2;
- }
- if (this.stopped === 2) {
- return false;
- }
- }
- }
-
- return true;
- },
-
- /**
- * Notifies the YUI instance if the event is configured with broadcast = 1,
- * and both the YUI instance and Y.Global if configured with broadcast = 2.
- *
- * @method _broadcast
- * @param args {Array} Arguments sent to fire()
- * @private
- */
- _broadcast: function(args) {
- if (!this.stopped && this.broadcast) {
-
- var a = args.concat();
- a.unshift(this.type);
-
- if (this.host !== Y) {
- Y.fire.apply(Y, a);
- }
-
- if (this.broadcast === 2) {
- Y.Global.fire.apply(Y.Global, a);
- }
- }
- },
-
- /**
- * Removes all listeners
- * @method unsubscribeAll
- * @return {int} The number of listeners unsubscribed.
- * @deprecated use detachAll.
- */
- unsubscribeAll: function() {
- return this.detachAll.apply(this, arguments);
- },
-
- /**
- * Removes all listeners
- * @method detachAll
- * @return {int} The number of listeners unsubscribed.
- */
- detachAll: function() {
- return this.detach();
- },
-
- /**
- * Deletes the subscriber from the internal store of on() and after()
- * subscribers.
- *
- * @method _delete
- * @param s subscriber object.
- * @param subs (optional) on or after subscriber array
- * @param index (optional) The index found.
- * @private
- */
- _delete: function(s, subs, i) {
- var when = s._when;
-
- if (!subs) {
- subs = (when === AFTER) ? this._afters : this._subscribers;
- }
-
- if (subs) {
- i = YArray.indexOf(subs, s, 0);
-
- if (s && subs[i] === s) {
- subs.splice(i, 1);
- }
- }
-
- if (this._kds) {
- if (when === AFTER) {
- delete this.afters[s.id];
- } else {
- delete this.subscribers[s.id];
- }
- }
-
- if (this.monitored && this.host) {
- this.host._monitor('detach', this, {
- ce: this,
- sub: s
- });
- }
-
- if (s) {
- s.deleted = true;
- }
- }
-};
-/**
- * Stores the subscriber information to be used when the event fires.
- * @param {Function} fn The wrapped function to execute.
- * @param {Object} context The value of the keyword 'this' in the listener.
- * @param {Array} args* 0..n additional arguments to supply the listener.
- *
- * @class Subscriber
- * @constructor
- */
-Y.Subscriber = function(fn, context, args, when) {
-
- /**
- * The callback that will be execute when the event fires
- * This is wrapped by Y.rbind if obj was supplied.
- * @property fn
- * @type Function
- */
- this.fn = fn;
-
- /**
- * Optional 'this' keyword for the listener
- * @property context
- * @type Object
- */
- this.context = context;
-
- /**
- * Unique subscriber id
- * @property id
- * @type String
- */
- this.id = Y.guid();
-
- /**
- * Additional arguments to propagate to the subscriber
- * @property args
- * @type Array
- */
- this.args = args;
-
- this._when = when;
-
- /**
- * Custom events for a given fire transaction.
- * @property events
- * @type {EventTarget}
- */
- // this.events = null;
-
- /**
- * This listener only reacts to the event once
- * @property once
- */
- // this.once = false;
-
-};
-
-Y.Subscriber.prototype = {
- constructor: Y.Subscriber,
-
- _notify: function(c, args, ce) {
- if (this.deleted && !this.postponed) {
- if (this.postponed) {
- delete this.fn;
- delete this.context;
- } else {
- delete this.postponed;
- return null;
- }
- }
- var a = this.args, ret;
- switch (ce.signature) {
- case 0:
- ret = this.fn.call(c, ce.type, args, c);
- break;
- case 1:
- ret = this.fn.call(c, args[0] || null, c);
- break;
- default:
- if (a || args) {
- args = args || [];
- a = (a) ? args.concat(a) : args;
- ret = this.fn.apply(c, a);
- } else {
- ret = this.fn.call(c);
- }
- }
-
- if (this.once) {
- ce._delete(this);
- }
-
- return ret;
- },
-
- /**
- * Executes the subscriber.
- * @method notify
- * @param args {Array} Arguments array for the subscriber.
- * @param ce {CustomEvent} The custom event that sent the notification.
- */
- notify: function(args, ce) {
- var c = this.context,
- ret = true;
-
- if (!c) {
- c = (ce.contextFn) ? ce.contextFn() : ce.context;
- }
-
- // only catch errors if we will not re-throw them.
- if (Y.config && Y.config.throwFail) {
- ret = this._notify(c, args, ce);
- } else {
- try {
- ret = this._notify(c, args, ce);
- } catch (e) {
- Y.error(this + ' failed: ' + e.message, e);
- }
- }
-
- return ret;
- },
-
- /**
- * Returns true if the fn and obj match this objects properties.
- * Used by the unsubscribe method to match the right subscriber.
- *
- * @method contains
- * @param {Function} fn the function to execute.
- * @param {Object} context optional 'this' keyword for the listener.
- * @return {boolean} true if the supplied arguments match this
- * subscriber's signature.
- */
- contains: function(fn, context) {
- if (context) {
- return ((this.fn === fn) && this.context === context);
- } else {
- return (this.fn === fn);
- }
- },
-
- valueOf : function() {
- return this.id;
- }
-
-};
-/**
- * Return value from all subscribe operations
- * @class EventHandle
- * @constructor
- * @param {CustomEvent} evt the custom event.
- * @param {Subscriber} sub the subscriber.
- */
-Y.EventHandle = function(evt, sub) {
-
- /**
- * The custom event
- *
- * @property evt
- * @type CustomEvent
- */
- this.evt = evt;
-
- /**
- * The subscriber object
- *
- * @property sub
- * @type Subscriber
- */
- this.sub = sub;
-};
-
-Y.EventHandle.prototype = {
- batch: function(f, c) {
- f.call(c || this, this);
- if (Y.Lang.isArray(this.evt)) {
- Y.Array.each(this.evt, function(h) {
- h.batch.call(c || h, f);
- });
- }
- },
-
- /**
- * Detaches this subscriber
- * @method detach
- * @return {int} the number of detached listeners
- */
- detach: function() {
- var evt = this.evt, detached = 0, i;
- if (evt) {
- // Y.log('EventHandle.detach: ' + this.sub, 'info', 'Event');
- if (Y.Lang.isArray(evt)) {
- for (i = 0; i < evt.length; i++) {
- detached += evt[i].detach();
- }
- } else {
- evt._delete(this.sub);
- detached = 1;
- }
-
- }
-
- return detached;
- },
-
- /**
- * Monitor the event state for the subscribed event. The first parameter
- * is what should be monitored, the rest are the normal parameters when
- * subscribing to an event.
- * @method monitor
- * @param what {string} what to monitor ('attach', 'detach', 'publish').
- * @return {EventHandle} return value from the monitor event subscription.
- */
- monitor: function(what) {
- return this.evt.monitor.apply(this.evt, arguments);
- }
-};
-
-/**
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event-custom
- * @submodule event-custom-base
- */
-
-/**
- * EventTarget provides the implementation for any object to
- * publish, subscribe and fire to custom events, and also
- * alows other EventTargets to target the object with events
- * sourced from the other object.
- * EventTarget is designed to be used with Y.augment to wrap
- * EventCustom in an interface that allows events to be listened to
- * and fired by name. This makes it possible for implementing code to
- * subscribe to an event that either has not been created yet, or will
- * not be created at all.
- * @class EventTarget
- * @param opts a configuration object
- * @config emitFacade {boolean} if true, all events will emit event
- * facade payloads by default (default false)
- * @config prefix {String} the prefix to apply to non-prefixed event names
- */
-
-var L = Y.Lang,
- PREFIX_DELIMITER = ':',
- CATEGORY_DELIMITER = '|',
- AFTER_PREFIX = '~AFTER~',
- WILD_TYPE_RE = /(.*?)(:)(.*?)/,
-
- _wildType = Y.cached(function(type) {
- return type.replace(WILD_TYPE_RE, "*$2$3");
- }),
-
- /**
- * If the instance has a prefix attribute and the
- * event type is not prefixed, the instance prefix is
- * applied to the supplied type.
- * @method _getType
- * @private
- */
- _getType = function(type, pre) {
-
- if (!pre || !type || type.indexOf(PREFIX_DELIMITER) > -1) {
- return type;
- }
-
- return pre + PREFIX_DELIMITER + type;
- },
-
- /**
- * Returns an array with the detach key (if provided),
- * and the prefixed event name from _getType
- * Y.on('detachcategory| menu:click', fn)
- * @method _parseType
- * @private
- */
- _parseType = Y.cached(function(type, pre) {
-
- var t = type, detachcategory, after, i;
-
- if (!L.isString(t)) {
- return t;
- }
-
- i = t.indexOf(AFTER_PREFIX);
-
- if (i > -1) {
- after = true;
- t = t.substr(AFTER_PREFIX.length);
- }
-
- i = t.indexOf(CATEGORY_DELIMITER);
-
- if (i > -1) {
- detachcategory = t.substr(0, (i));
- t = t.substr(i+1);
- if (t === '*') {
- t = null;
- }
- }
-
- // detach category, full type with instance prefix, is this an after listener, short type
- return [detachcategory, (pre) ? _getType(t, pre) : t, after, t];
- }),
-
- ET = function(opts) {
-
- var etState = this._yuievt,
- etConfig;
-
- if (!etState) {
- etState = this._yuievt = {
- events: {}, // PERF: Not much point instantiating lazily. We're bound to have events
- targets: null, // PERF: Instantiate lazily, if user actually adds target,
- config: {
- host: this,
- context: this
- },
- chain: Y.config.chain
- };
- }
-
- etConfig = etState.config;
-
- if (opts) {
- mixConfigs(etConfig, opts, true);
-
- if (opts.chain !== undefined) {
- etState.chain = opts.chain;
- }
-
- if (opts.prefix) {
- etConfig.prefix = opts.prefix;
- }
- }
- };
-
-ET.prototype = {
-
- constructor: ET,
-
- /**
- * Listen to a custom event hosted by this object one time.
- * This is the equivalent to on except the
- * listener is immediatelly detached when it is executed.
- * @method once
- * @param {String} type The name of the event
- * @param {Function} fn The callback to execute in response to the event
- * @param {Object} [context] Override `this` object in callback
- * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber
- * @return {EventHandle} A subscription handle capable of detaching the
- * subscription
- */
- once: function() {
- var handle = this.on.apply(this, arguments);
- handle.batch(function(hand) {
- if (hand.sub) {
- hand.sub.once = true;
- }
- });
- return handle;
- },
-
- /**
- * Listen to a custom event hosted by this object one time.
- * This is the equivalent to after except the
- * listener is immediatelly detached when it is executed.
- * @method onceAfter
- * @param {String} type The name of the event
- * @param {Function} fn The callback to execute in response to the event
- * @param {Object} [context] Override `this` object in callback
- * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber
- * @return {EventHandle} A subscription handle capable of detaching that
- * subscription
- */
- onceAfter: function() {
- var handle = this.after.apply(this, arguments);
- handle.batch(function(hand) {
- if (hand.sub) {
- hand.sub.once = true;
- }
- });
- return handle;
- },
-
- /**
- * Takes the type parameter passed to 'on' and parses out the
- * various pieces that could be included in the type. If the
- * event type is passed without a prefix, it will be expanded
- * to include the prefix one is supplied or the event target
- * is configured with a default prefix.
- * @method parseType
- * @param {String} type the type
- * @param {String} [pre=this._yuievt.config.prefix] the prefix
- * @since 3.3.0
- * @return {Array} an array containing:
- * * the detach category, if supplied,
- * * the prefixed event type,
- * * whether or not this is an after listener,
- * * the supplied event type
- */
- parseType: function(type, pre) {
- return _parseType(type, pre || this._yuievt.config.prefix);
- },
-
- /**
- * Subscribe a callback function to a custom event fired by this object or
- * from an object that bubbles its events to this object.
- *
- * Callback functions for events published with `emitFacade = true` will
- * receive an `EventFacade` as the first argument (typically named "e").
- * These callbacks can then call `e.preventDefault()` to disable the
- * behavior published to that event's `defaultFn`. See the `EventFacade`
- * API for all available properties and methods. Subscribers to
- * non-`emitFacade` events will receive the arguments passed to `fire()`
- * after the event name.
- *
- * To subscribe to multiple events at once, pass an object as the first
- * argument, where the key:value pairs correspond to the eventName:callback,
- * or pass an array of event names as the first argument to subscribe to
- * all listed events with the same callback.
- *
- * Returning `false` from a callback is supported as an alternative to
- * calling `e.preventDefault(); e.stopPropagation();`. However, it is
- * recommended to use the event methods whenever possible.
- *
- * @method on
- * @param {String} type The name of the event
- * @param {Function} fn The callback to execute in response to the event
- * @param {Object} [context] Override `this` object in callback
- * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber
- * @return {EventHandle} A subscription handle capable of detaching that
- * subscription
- */
- on: function(type, fn, context) {
-
- var yuievt = this._yuievt,
- parts = _parseType(type, yuievt.config.prefix), f, c, args, ret, ce,
- detachcategory, handle, store = Y.Env.evt.handles, after, adapt, shorttype,
- Node = Y.Node, n, domevent, isArr;
-
- // full name, args, detachcategory, after
- this._monitor('attach', parts[1], {
- args: arguments,
- category: parts[0],
- after: parts[2]
- });
-
- if (L.isObject(type)) {
-
- if (L.isFunction(type)) {
- return Y.Do.before.apply(Y.Do, arguments);
- }
-
- f = fn;
- c = context;
- args = nativeSlice.call(arguments, 0);
- ret = [];
-
- if (L.isArray(type)) {
- isArr = true;
- }
-
- after = type._after;
- delete type._after;
-
- Y.each(type, function(v, k) {
-
- if (L.isObject(v)) {
- f = v.fn || ((L.isFunction(v)) ? v : f);
- c = v.context || c;
- }
-
- var nv = (after) ? AFTER_PREFIX : '';
-
- args[0] = nv + ((isArr) ? v : k);
- args[1] = f;
- args[2] = c;
-
- ret.push(this.on.apply(this, args));
-
- }, this);
-
- return (yuievt.chain) ? this : new Y.EventHandle(ret);
- }
-
- detachcategory = parts[0];
- after = parts[2];
- shorttype = parts[3];
-
- // extra redirection so we catch adaptor events too. take a look at this.
- if (Node && Y.instanceOf(this, Node) && (shorttype in Node.DOM_EVENTS)) {
- args = nativeSlice.call(arguments, 0);
- args.splice(2, 0, Node.getDOMNode(this));
- // Y.log("Node detected, redirecting with these args: " + args);
- return Y.on.apply(Y, args);
- }
-
- type = parts[1];
-
- if (Y.instanceOf(this, YUI)) {
-
- adapt = Y.Env.evt.plugins[type];
- args = nativeSlice.call(arguments, 0);
- args[0] = shorttype;
-
- if (Node) {
- n = args[2];
-
- if (Y.instanceOf(n, Y.NodeList)) {
- n = Y.NodeList.getDOMNodes(n);
- } else if (Y.instanceOf(n, Node)) {
- n = Node.getDOMNode(n);
- }
-
- domevent = (shorttype in Node.DOM_EVENTS);
-
- // Captures both DOM events and event plugins.
- if (domevent) {
- args[2] = n;
- }
- }
-
- // check for the existance of an event adaptor
- if (adapt) {
- Y.log('Using adaptor for ' + shorttype + ', ' + n, 'info', 'event');
- handle = adapt.on.apply(Y, args);
- } else if ((!type) || domevent) {
- handle = Y.Event._attach(args);
- }
-
- }
-
- if (!handle) {
- ce = yuievt.events[type] || this.publish(type);
- handle = ce._on(fn, context, (arguments.length > 3) ? nativeSlice.call(arguments, 3) : null, (after) ? 'after' : true);
-
- // TODO: More robust regex, accounting for category
- if (type.indexOf("*:") !== -1) {
- this._hasSiblings = true;
- }
- }
-
- if (detachcategory) {
- store[detachcategory] = store[detachcategory] || {};
- store[detachcategory][type] = store[detachcategory][type] || [];
- store[detachcategory][type].push(handle);
- }
-
- return (yuievt.chain) ? this : handle;
-
- },
-
- /**
- * subscribe to an event
- * @method subscribe
- * @deprecated use on
- */
- subscribe: function() {
- Y.log('EventTarget subscribe() is deprecated, use on()', 'warn', 'deprecated');
- return this.on.apply(this, arguments);
- },
-
- /**
- * Detach one or more listeners the from the specified event
- * @method detach
- * @param type {string|Object} Either the handle to the subscriber or the
- * type of event. If the type
- * is not specified, it will attempt to remove
- * the listener from all hosted events.
- * @param fn {Function} The subscribed function to unsubscribe, if not
- * supplied, all subscribers will be removed.
- * @param context {Object} The custom object passed to subscribe. This is
- * optional, but if supplied will be used to
- * disambiguate multiple listeners that are the same
- * (e.g., you subscribe many object using a function
- * that lives on the prototype)
- * @return {EventTarget} the host
- */
- detach: function(type, fn, context) {
-
- var evts = this._yuievt.events,
- i,
- Node = Y.Node,
- isNode = Node && (Y.instanceOf(this, Node));
-
- // detachAll disabled on the Y instance.
- if (!type && (this !== Y)) {
- for (i in evts) {
- if (evts.hasOwnProperty(i)) {
- evts[i].detach(fn, context);
- }
- }
- if (isNode) {
- Y.Event.purgeElement(Node.getDOMNode(this));
- }
-
- return this;
- }
-
- var parts = _parseType(type, this._yuievt.config.prefix),
- detachcategory = L.isArray(parts) ? parts[0] : null,
- shorttype = (parts) ? parts[3] : null,
- adapt, store = Y.Env.evt.handles, detachhost, cat, args,
- ce,
-
- keyDetacher = function(lcat, ltype, host) {
- var handles = lcat[ltype], ce, i;
- if (handles) {
- for (i = handles.length - 1; i >= 0; --i) {
- ce = handles[i].evt;
- if (ce.host === host || ce.el === host) {
- handles[i].detach();
- }
- }
- }
- };
-
- if (detachcategory) {
-
- cat = store[detachcategory];
- type = parts[1];
- detachhost = (isNode) ? Y.Node.getDOMNode(this) : this;
-
- if (cat) {
- if (type) {
- keyDetacher(cat, type, detachhost);
- } else {
- for (i in cat) {
- if (cat.hasOwnProperty(i)) {
- keyDetacher(cat, i, detachhost);
- }
- }
- }
-
- return this;
- }
-
- // If this is an event handle, use it to detach
- } else if (L.isObject(type) && type.detach) {
- type.detach();
- return this;
- // extra redirection so we catch adaptor events too. take a look at this.
- } else if (isNode && ((!shorttype) || (shorttype in Node.DOM_EVENTS))) {
- args = nativeSlice.call(arguments, 0);
- args[2] = Node.getDOMNode(this);
- Y.detach.apply(Y, args);
- return this;
- }
-
- adapt = Y.Env.evt.plugins[shorttype];
-
- // The YUI instance handles DOM events and adaptors
- if (Y.instanceOf(this, YUI)) {
- args = nativeSlice.call(arguments, 0);
- // use the adaptor specific detach code if
- if (adapt && adapt.detach) {
- adapt.detach.apply(Y, args);
- return this;
- // DOM event fork
- } else if (!type || (!adapt && Node && (type in Node.DOM_EVENTS))) {
- args[0] = type;
- Y.Event.detach.apply(Y.Event, args);
- return this;
- }
- }
-
- // ce = evts[type];
- ce = evts[parts[1]];
- if (ce) {
- ce.detach(fn, context);
- }
-
- return this;
- },
-
- /**
- * detach a listener
- * @method unsubscribe
- * @deprecated use detach
- */
- unsubscribe: function() {
-Y.log('EventTarget unsubscribe() is deprecated, use detach()', 'warn', 'deprecated');
- return this.detach.apply(this, arguments);
- },
-
- /**
- * Removes all listeners from the specified event. If the event type
- * is not specified, all listeners from all hosted custom events will
- * be removed.
- * @method detachAll
- * @param type {String} The type, or name of the event
- */
- detachAll: function(type) {
- return this.detach(type);
- },
-
- /**
- * Removes all listeners from the specified event. If the event type
- * is not specified, all listeners from all hosted custom events will
- * be removed.
- * @method unsubscribeAll
- * @param type {String} The type, or name of the event
- * @deprecated use detachAll
- */
- unsubscribeAll: function() {
-Y.log('EventTarget unsubscribeAll() is deprecated, use detachAll()', 'warn', 'deprecated');
- return this.detachAll.apply(this, arguments);
- },
-
- /**
- * Creates a new custom event of the specified type. If a custom event
- * by that name already exists, it will not be re-created. In either
- * case the custom event is returned.
- *
- * @method publish
- *
- * @param type {String} the type, or name of the event
- * @param opts {object} optional config params. Valid properties are:
- *
- *
- *
- * 'broadcast': whether or not the YUI instance and YUI global are notified when the event is fired (false)
- *
- *
- * 'bubbles': whether or not this event bubbles (true)
- * Events can only bubble if emitFacade is true.
- *
- *
- * 'context': the default execution context for the listeners (this)
- *
- *
- * 'defaultFn': the default function to execute when this event fires if preventDefault was not called
- *
- *
- * 'emitFacade': whether or not this event emits a facade (false)
- *
- *
- * 'prefix': the prefix for this targets events, e.g., 'menu' in 'menu:click'
- *
- *
- * 'fireOnce': if an event is configured to fire once, new subscribers after
- * the fire will be notified immediately.
- *
- *
- * 'async': fireOnce event listeners will fire synchronously if the event has already
- * fired unless async is true.
- *
- *
- * 'preventable': whether or not preventDefault() has an effect (true)
- *
- *
- * 'preventedFn': a function that is executed when preventDefault is called
- *
- *
- * 'queuable': whether or not this event can be queued during bubbling (false)
- *
- *
- * 'silent': if silent is true, debug messages are not provided for this event.
- *
- *
- * 'stoppedFn': a function that is executed when stopPropagation is called
- *
- *
- *
- * 'monitored': specifies whether or not this event should send notifications about
- * when the event has been attached, detached, or published.
- *
- *
- * 'type': the event type (valid option if not provided as the first parameter to publish)
- *
- *
- *
- * @return {CustomEvent} the custom event
- *
- */
- publish: function(type, opts) {
-
- var ret,
- etState = this._yuievt,
- etConfig = etState.config,
- pre = etConfig.prefix;
-
- if (typeof type === "string") {
- if (pre) {
- type = _getType(type, pre);
- }
- ret = this._publish(type, etConfig, opts);
- } else {
- ret = {};
-
- Y.each(type, function(v, k) {
- if (pre) {
- k = _getType(k, pre);
- }
- ret[k] = this._publish(k, etConfig, v || opts);
- }, this);
-
- }
-
- return ret;
- },
-
- /**
- * Returns the fully qualified type, given a short type string.
- * That is, returns "foo:bar" when given "bar" if "foo" is the configured prefix.
- *
- * NOTE: This method, unlike _getType, does no checking of the value passed in, and
- * is designed to be used with the low level _publish() method, for critical path
- * implementations which need to fast-track publish for performance reasons.
- *
- * @method _getFullType
- * @private
- * @param {String} type The short type to prefix
- * @return {String} The prefixed type, if a prefix is set, otherwise the type passed in
- */
- _getFullType : function(type) {
-
- var pre = this._yuievt.config.prefix;
-
- if (pre) {
- return pre + PREFIX_DELIMITER + type;
- } else {
- return type;
- }
- },
-
- /**
- * The low level event publish implementation. It expects all the massaging to have been done
- * outside of this method. e.g. the `type` to `fullType` conversion. It's designed to be a fast
- * path publish, which can be used by critical code paths to improve performance.
- *
- * @method _publish
- * @private
- * @param {String} fullType The prefixed type of the event to publish.
- * @param {Object} etOpts The EventTarget specific configuration to mix into the published event.
- * @param {Object} ceOpts The publish specific configuration to mix into the published event.
- * @return {CustomEvent} The published event. If called without `etOpts` or `ceOpts`, this will
- * be the default `CustomEvent` instance, and can be configured independently.
- */
- _publish : function(fullType, etOpts, ceOpts) {
-
- var ce,
- etState = this._yuievt,
- etConfig = etState.config,
- host = etConfig.host,
- context = etConfig.context,
- events = etState.events;
-
- ce = events[fullType];
-
- // PERF: Hate to pull the check out of monitor, but trying to keep critical path tight.
- if ((etConfig.monitored && !ce) || (ce && ce.monitored)) {
- this._monitor('publish', fullType, {
- args: arguments
- });
- }
-
- if (!ce) {
- // Publish event
- ce = events[fullType] = new Y.CustomEvent(fullType, etOpts);
-
- if (!etOpts) {
- ce.host = host;
- ce.context = context;
- }
- }
-
- if (ceOpts) {
- mixConfigs(ce, ceOpts, true);
- }
-
- return ce;
- },
-
- /**
- * This is the entry point for the event monitoring system.
- * You can monitor 'attach', 'detach', 'fire', and 'publish'.
- * When configured, these events generate an event. click ->
- * click_attach, click_detach, click_publish -- these can
- * be subscribed to like other events to monitor the event
- * system. Inividual published events can have monitoring
- * turned on or off (publish can't be turned off before it
- * it published) by setting the events 'monitor' config.
- *
- * @method _monitor
- * @param what {String} 'attach', 'detach', 'fire', or 'publish'
- * @param eventType {String|CustomEvent} The prefixed name of the event being monitored, or the CustomEvent object.
- * @param o {Object} Information about the event interaction, such as
- * fire() args, subscription category, publish config
- * @private
- */
- _monitor: function(what, eventType, o) {
- var monitorevt, ce, type;
-
- if (eventType) {
- if (typeof eventType === "string") {
- type = eventType;
- ce = this.getEvent(eventType, true);
- } else {
- ce = eventType;
- type = eventType.type;
- }
-
- if ((this._yuievt.config.monitored && (!ce || ce.monitored)) || (ce && ce.monitored)) {
- monitorevt = type + '_' + what;
- o.monitored = what;
- this.fire.call(this, monitorevt, o);
- }
- }
- },
-
- /**
- * Fire a custom event by name. The callback functions will be executed
- * from the context specified when the event was created, and with the
- * following parameters.
- *
- * The first argument is the event type, and any additional arguments are
- * passed to the listeners as parameters. If the first of these is an
- * object literal, and the event is configured to emit an event facade,
- * that object is mixed into the event facade and the facade is provided
- * in place of the original object.
- *
- * If the custom event object hasn't been created, then the event hasn't
- * been published and it has no subscribers. For performance sake, we
- * immediate exit in this case. This means the event won't bubble, so
- * if the intention is that a bubble target be notified, the event must
- * be published on this object first.
- *
- * @method fire
- * @param type {String|Object} The type of the event, or an object that contains
- * a 'type' property.
- * @param arguments {Object*} an arbitrary set of parameters to pass to
- * the handler. If the first of these is an object literal and the event is
- * configured to emit an event facade, the event facade will replace that
- * parameter after the properties the object literal contains are copied to
- * the event facade.
- * @return {Boolean} True if the whole lifecycle of the event went through,
- * false if at any point the event propagation was halted.
- */
- fire: function(type) {
-
- var typeIncluded = (typeof type === "string"),
- argCount = arguments.length,
- t = type,
- yuievt = this._yuievt,
- etConfig = yuievt.config,
- pre = etConfig.prefix,
- ret,
- ce,
- ce2,
- args;
-
- if (typeIncluded && argCount <= 3) {
-
- // PERF: Try to avoid slice/iteration for the common signatures
-
- // Most common
- if (argCount === 2) {
- args = [arguments[1]]; // fire("foo", {})
- } else if (argCount === 3) {
- args = [arguments[1], arguments[2]]; // fire("foo", {}, opts)
- } else {
- args = []; // fire("foo")
- }
-
- } else {
- args = nativeSlice.call(arguments, ((typeIncluded) ? 1 : 0));
- }
-
- if (!typeIncluded) {
- t = (type && type.type);
- }
-
- if (pre) {
- t = _getType(t, pre);
- }
-
- ce = yuievt.events[t];
-
- if (this._hasSiblings) {
- ce2 = this.getSibling(t, ce);
-
- if (ce2 && !ce) {
- ce = this.publish(t);
- }
- }
-
- // PERF: trying to avoid function call, since this is a critical path
- if ((etConfig.monitored && (!ce || ce.monitored)) || (ce && ce.monitored)) {
- this._monitor('fire', (ce || t), {
- args: args
- });
- }
-
- // this event has not been published or subscribed to
- if (!ce) {
- if (yuievt.hasTargets) {
- return this.bubble({ type: t }, args, this);
- }
-
- // otherwise there is nothing to be done
- ret = true;
- } else {
-
- if (ce2) {
- ce.sibling = ce2;
- }
-
- ret = ce._fire(args);
- }
-
- return (yuievt.chain) ? this : ret;
- },
-
- getSibling: function(type, ce) {
- var ce2;
-
- // delegate to *:type events if there are subscribers
- if (type.indexOf(PREFIX_DELIMITER) > -1) {
- type = _wildType(type);
- ce2 = this.getEvent(type, true);
- if (ce2) {
- ce2.applyConfig(ce);
- ce2.bubbles = false;
- ce2.broadcast = 0;
- }
- }
-
- return ce2;
- },
-
- /**
- * Returns the custom event of the provided type has been created, a
- * falsy value otherwise
- * @method getEvent
- * @param type {String} the type, or name of the event
- * @param prefixed {String} if true, the type is prefixed already
- * @return {CustomEvent} the custom event or null
- */
- getEvent: function(type, prefixed) {
- var pre, e;
-
- if (!prefixed) {
- pre = this._yuievt.config.prefix;
- type = (pre) ? _getType(type, pre) : type;
- }
- e = this._yuievt.events;
- return e[type] || null;
- },
-
- /**
- * Subscribe to a custom event hosted by this object. The
- * supplied callback will execute after any listeners add
- * via the subscribe method, and after the default function,
- * if configured for the event, has executed.
- *
- * @method after
- * @param {String} type The name of the event
- * @param {Function} fn The callback to execute in response to the event
- * @param {Object} [context] Override `this` object in callback
- * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber
- * @return {EventHandle} A subscription handle capable of detaching the
- * subscription
- */
- after: function(type, fn) {
-
- var a = nativeSlice.call(arguments, 0);
-
- switch (L.type(type)) {
- case 'function':
- return Y.Do.after.apply(Y.Do, arguments);
- case 'array':
- // YArray.each(a[0], function(v) {
- // v = AFTER_PREFIX + v;
- // });
- // break;
- case 'object':
- a[0]._after = true;
- break;
- default:
- a[0] = AFTER_PREFIX + type;
- }
-
- return this.on.apply(this, a);
-
- },
-
- /**
- * Executes the callback before a DOM event, custom event
- * or method. If the first argument is a function, it
- * is assumed the target is a method. For DOM and custom
- * events, this is an alias for Y.on.
- *
- * For DOM and custom events:
- * type, callback, context, 0-n arguments
- *
- * For methods:
- * callback, object (method host), methodName, context, 0-n arguments
- *
- * @method before
- * @return detach handle
- */
- before: function() {
- return this.on.apply(this, arguments);
- }
-
-};
-
-Y.EventTarget = ET;
-
-// make Y an event target
-Y.mix(Y, ET.prototype);
-ET.call(Y, { bubbles: false });
-
-YUI.Env.globalEvents = YUI.Env.globalEvents || new ET();
-
-/**
- * Hosts YUI page level events. This is where events bubble to
- * when the broadcast config is set to 2. This property is
- * only available if the custom event module is loaded.
- * @property Global
- * @type EventTarget
- * @for YUI
- */
-Y.Global = YUI.Env.globalEvents;
-
-// @TODO implement a global namespace function on Y.Global?
-
-/**
-`Y.on()` can do many things:
-
-
-
Subscribe to custom events `publish`ed and `fire`d from Y
-
Subscribe to custom events `publish`ed with `broadcast` 1 or 2 and
- `fire`d from any object in the YUI instance sandbox
-
Subscribe to DOM events
-
Subscribe to the execution of a method on any object, effectively
- treating that method as an event
-
-
-For custom event subscriptions, pass the custom event name as the first argument
-and callback as the second. The `this` object in the callback will be `Y` unless
-an override is passed as the third argument.
-
- Y.on('io:complete', function () {
- Y.MyApp.updateStatus('Transaction complete');
- });
-
-To subscribe to DOM events, pass the name of a DOM event as the first argument
-and a CSS selector string as the third argument after the callback function.
-Alternately, the third argument can be a `Node`, `NodeList`, `HTMLElement`,
-array, or simply omitted (the default is the `window` object).
-
- Y.on('click', function (e) {
- e.preventDefault();
-
- // proceed with ajax form submission
- var url = this.get('action');
- ...
- }, '#my-form');
-
-The `this` object in DOM event callbacks will be the `Node` targeted by the CSS
-selector or other identifier.
-
-`on()` subscribers for DOM events or custom events `publish`ed with a
-`defaultFn` can prevent the default behavior with `e.preventDefault()` from the
-event object passed as the first parameter to the subscription callback.
-
-To subscribe to the execution of an object method, pass arguments corresponding to the call signature for
-`Y.Do.before(...)`.
-
-NOTE: The formal parameter list below is for events, not for function
-injection. See `Y.Do.before` for that signature.
-
-@method on
-@param {String} type DOM or custom event name
-@param {Function} fn The callback to execute in response to the event
-@param {Object} [context] Override `this` object in callback
-@param {Any} [arg*] 0..n additional arguments to supply to the subscriber
-@return {EventHandle} A subscription handle capable of detaching the
- subscription
-@see Do.before
-@for YUI
-**/
-
-/**
-Listen for an event one time. Equivalent to `on()`, except that
-the listener is immediately detached when executed.
-
-See the `on()` method for additional subscription
-options.
-
-@see on
-@method once
-@param {String} type DOM or custom event name
-@param {Function} fn The callback to execute in response to the event
-@param {Object} [context] Override `this` object in callback
-@param {Any} [arg*] 0..n additional arguments to supply to the subscriber
-@return {EventHandle} A subscription handle capable of detaching the
- subscription
-@for YUI
-**/
-
-/**
-Listen for an event one time. Equivalent to `once()`, except, like `after()`,
-the subscription callback executes after all `on()` subscribers and the event's
-`defaultFn` (if configured) have executed. Like `after()` if any `on()` phase
-subscriber calls `e.preventDefault()`, neither the `defaultFn` nor the `after()`
-subscribers will execute.
-
-The listener is immediately detached when executed.
-
-See the `on()` method for additional subscription
-options.
-
-@see once
-@method onceAfter
-@param {String} type The custom event name
-@param {Function} fn The callback to execute in response to the event
-@param {Object} [context] Override `this` object in callback
-@param {Any} [arg*] 0..n additional arguments to supply to the subscriber
-@return {EventHandle} A subscription handle capable of detaching the
- subscription
-@for YUI
-**/
-
-/**
-Like `on()`, this method creates a subscription to a custom event or to the
-execution of a method on an object.
-
-For events, `after()` subscribers are executed after the event's
-`defaultFn` unless `e.preventDefault()` was called from an `on()` subscriber.
-
-See the `on()` method for additional subscription
-options.
-
-NOTE: The subscription signature shown is for events, not for function
-injection. See `Y.Do.after`
-for that signature.
-
-@see on
-@see Do.after
-@method after
-@param {String} type The custom event name
-@param {Function} fn The callback to execute in response to the event
-@param {Object} [context] Override `this` object in callback
-@param {Any} [args*] 0..n additional arguments to supply to the subscriber
-@return {EventHandle} A subscription handle capable of detaching the
- subscription
-@for YUI
-**/
-
-
-}, '3.12.0', {"requires": ["oop"]});
-YUI.add('event-custom-complex', function (Y, NAME) {
-
-
-/**
- * Adds event facades, preventable default behavior, and bubbling.
- * events.
- * @module event-custom
- * @submodule event-custom-complex
- */
-
-var FACADE,
- FACADE_KEYS,
- YObject = Y.Object,
- key,
- EMPTY = {},
- CEProto = Y.CustomEvent.prototype,
- ETProto = Y.EventTarget.prototype,
-
- mixFacadeProps = function(facade, payload) {
- var p;
-
- for (p in payload) {
- if (!(FACADE_KEYS.hasOwnProperty(p))) {
- facade[p] = payload[p];
- }
- }
- };
-
-/**
- * Wraps and protects a custom event for use when emitFacade is set to true.
- * Requires the event-custom-complex module
- * @class EventFacade
- * @param e {Event} the custom event
- * @param currentTarget {HTMLElement} the element the listener was attached to
- */
-
-Y.EventFacade = function(e, currentTarget) {
-
- if (!e) {
- e = EMPTY;
- }
-
- this._event = e;
-
- /**
- * The arguments passed to fire
- * @property details
- * @type Array
- */
- this.details = e.details;
-
- /**
- * The event type, this can be overridden by the fire() payload
- * @property type
- * @type string
- */
- this.type = e.type;
-
- /**
- * The real event type
- * @property _type
- * @type string
- * @private
- */
- this._type = e.type;
-
- //////////////////////////////////////////////////////
-
- /**
- * Node reference for the targeted eventtarget
- * @property target
- * @type Node
- */
- this.target = e.target;
-
- /**
- * Node reference for the element that the listener was attached to.
- * @property currentTarget
- * @type Node
- */
- this.currentTarget = currentTarget;
-
- /**
- * Node reference to the relatedTarget
- * @property relatedTarget
- * @type Node
- */
- this.relatedTarget = e.relatedTarget;
-
-};
-
-Y.mix(Y.EventFacade.prototype, {
-
- /**
- * Stops the propagation to the next bubble target
- * @method stopPropagation
- */
- stopPropagation: function() {
- this._event.stopPropagation();
- this.stopped = 1;
- },
-
- /**
- * Stops the propagation to the next bubble target and
- * prevents any additional listeners from being exectued
- * on the current target.
- * @method stopImmediatePropagation
- */
- stopImmediatePropagation: function() {
- this._event.stopImmediatePropagation();
- this.stopped = 2;
- },
-
- /**
- * Prevents the event's default behavior
- * @method preventDefault
- */
- preventDefault: function() {
- this._event.preventDefault();
- this.prevented = 1;
- },
-
- /**
- * Stops the event propagation and prevents the default
- * event behavior.
- * @method halt
- * @param immediate {boolean} if true additional listeners
- * on the current target will not be executed
- */
- halt: function(immediate) {
- this._event.halt(immediate);
- this.prevented = 1;
- this.stopped = (immediate) ? 2 : 1;
- }
-
-});
-
-CEProto.fireComplex = function(args) {
-
- var es,
- ef,
- q,
- queue,
- ce,
- ret = true,
- events,
- subs,
- ons,
- afters,
- afterQueue,
- postponed,
- prevented,
- preventedFn,
- defaultFn,
- self = this,
- host = self.host || self,
- next,
- oldbubble,
- stack = self.stack,
- yuievt = host._yuievt,
- hasPotentialSubscribers;
-
- if (stack) {
-
- // queue this event if the current item in the queue bubbles
- if (self.queuable && self.type !== stack.next.type) {
- self.log('queue ' + self.type);
-
- if (!stack.queue) {
- stack.queue = [];
- }
- stack.queue.push([self, args]);
-
- return true;
- }
- }
-
- hasPotentialSubscribers = self.hasSubs() || yuievt.hasTargets || self.broadcast;
-
- self.target = self.target || host;
- self.currentTarget = host;
-
- self.details = args.concat();
-
- if (hasPotentialSubscribers) {
-
- es = stack || {
-
- id: self.id, // id of the first event in the stack
- next: self,
- silent: self.silent,
- stopped: 0,
- prevented: 0,
- bubbling: null,
- type: self.type,
- // defaultFnQueue: new Y.Queue(),
- defaultTargetOnly: self.defaultTargetOnly
-
- };
-
- subs = self.getSubs();
- ons = subs[0];
- afters = subs[1];
-
- self.stopped = (self.type !== es.type) ? 0 : es.stopped;
- self.prevented = (self.type !== es.type) ? 0 : es.prevented;
-
- if (self.stoppedFn) {
- // PERF TODO: Can we replace with callback, like preventedFn. Look into history
- events = new Y.EventTarget({
- fireOnce: true,
- context: host
- });
- self.events = events;
- events.on('stopped', self.stoppedFn);
- }
-
- // self.log("Firing " + self + ", " + "args: " + args);
- self.log("Firing " + self.type);
-
- self._facade = null; // kill facade to eliminate stale properties
-
- ef = self._createFacade(args);
-
- if (ons) {
- self._procSubs(ons, args, ef);
- }
-
- // bubble if this is hosted in an event target and propagation has not been stopped
- if (self.bubbles && host.bubble && !self.stopped) {
- oldbubble = es.bubbling;
-
- es.bubbling = self.type;
-
- if (es.type !== self.type) {
- es.stopped = 0;
- es.prevented = 0;
- }
-
- ret = host.bubble(self, args, null, es);
-
- self.stopped = Math.max(self.stopped, es.stopped);
- self.prevented = Math.max(self.prevented, es.prevented);
-
- es.bubbling = oldbubble;
- }
-
- prevented = self.prevented;
-
- if (prevented) {
- preventedFn = self.preventedFn;
- if (preventedFn) {
- preventedFn.apply(host, args);
- }
- } else {
- defaultFn = self.defaultFn;
-
- if (defaultFn && ((!self.defaultTargetOnly && !es.defaultTargetOnly) || host === ef.target)) {
- defaultFn.apply(host, args);
- }
- }
-
- // broadcast listeners are fired as discreet events on the
- // YUI instance and potentially the YUI global.
- if (self.broadcast) {
- self._broadcast(args);
- }
-
- if (afters && !self.prevented && self.stopped < 2) {
-
- // Queue the after
- afterQueue = es.afterQueue;
-
- if (es.id === self.id || self.type !== yuievt.bubbling) {
-
- self._procSubs(afters, args, ef);
-
- if (afterQueue) {
- while ((next = afterQueue.last())) {
- next();
- }
- }
- } else {
- postponed = afters;
-
- if (es.execDefaultCnt) {
- postponed = Y.merge(postponed);
-
- Y.each(postponed, function(s) {
- s.postponed = true;
- });
- }
-
- if (!afterQueue) {
- es.afterQueue = new Y.Queue();
- }
-
- es.afterQueue.add(function() {
- self._procSubs(postponed, args, ef);
- });
- }
-
- }
-
- self.target = null;
-
- if (es.id === self.id) {
-
- queue = es.queue;
-
- if (queue) {
- while (queue.length) {
- q = queue.pop();
- ce = q[0];
- // set up stack to allow the next item to be processed
- es.next = ce;
- ce._fire(q[1]);
- }
- }
-
- self.stack = null;
- }
-
- ret = !(self.stopped);
-
- if (self.type !== yuievt.bubbling) {
- es.stopped = 0;
- es.prevented = 0;
- self.stopped = 0;
- self.prevented = 0;
- }
-
- } else {
- defaultFn = self.defaultFn;
-
- if(defaultFn) {
- ef = self._createFacade(args);
-
- if ((!self.defaultTargetOnly) || (host === ef.target)) {
- defaultFn.apply(host, args);
- }
- }
- }
-
- // Kill the cached facade to free up memory.
- // Otherwise we have the facade from the last fire, sitting around forever.
- self._facade = null;
-
- return ret;
-};
-
-/**
- * @method _hasPotentialSubscribers
- * @for CustomEvent
- * @private
- * @return {boolean} Whether the event has potential subscribers or not
- */
-CEProto._hasPotentialSubscribers = function() {
- return this.hasSubs() || this.host._yuievt.hasTargets || this.broadcast;
-};
-
-/**
- * Internal utility method to create a new facade instance and
- * insert it into the fire argument list, accounting for any payload
- * merging which needs to happen.
- *
- * This used to be called `_getFacade`, but the name seemed inappropriate
- * when it was used without a need for the return value.
- *
- * @method _createFacade
- * @private
- * @param fireArgs {Array} The arguments passed to "fire", which need to be
- * shifted (and potentially merged) when the facade is added.
- * @return {EventFacade} The event facade created.
- */
-
-// TODO: Remove (private) _getFacade alias, once synthetic.js is updated.
-CEProto._createFacade = CEProto._getFacade = function(fireArgs) {
-
- var userArgs = this.details,
- firstArg = userArgs && userArgs[0],
- firstArgIsObj = (firstArg && (typeof firstArg === "object")),
- ef = this._facade;
-
- if (!ef) {
- ef = new Y.EventFacade(this, this.currentTarget);
- }
-
- if (firstArgIsObj) {
- // protect the event facade properties
- mixFacadeProps(ef, firstArg);
-
- // Allow the event type to be faked http://yuilibrary.com/projects/yui3/ticket/2528376
- if (firstArg.type) {
- ef.type = firstArg.type;
- }
-
- if (fireArgs) {
- fireArgs[0] = ef;
- }
- } else {
- if (fireArgs) {
- fireArgs.unshift(ef);
- }
- }
-
- // update the details field with the arguments
- ef.details = this.details;
-
- // use the original target when the event bubbled to this target
- ef.target = this.originalTarget || this.target;
-
- ef.currentTarget = this.currentTarget;
- ef.stopped = 0;
- ef.prevented = 0;
-
- this._facade = ef;
-
- return this._facade;
-};
-
-/**
- * Utility method to manipulate the args array passed in, to add the event facade,
- * if it's not already the first arg.
- *
- * @method _addFacadeToArgs
- * @private
- * @param {Array} The arguments to manipulate
- */
-CEProto._addFacadeToArgs = function(args) {
- var e = args[0];
-
- // Trying not to use instanceof, just to avoid potential cross Y edge case issues.
- if (!(e && e.halt && e.stopImmediatePropagation && e.stopPropagation && e._event)) {
- this._createFacade(args);
- }
-};
-
-/**
- * Stop propagation to bubble targets
- * @for CustomEvent
- * @method stopPropagation
- */
-CEProto.stopPropagation = function() {
- this.stopped = 1;
- if (this.stack) {
- this.stack.stopped = 1;
- }
- if (this.events) {
- this.events.fire('stopped', this);
- }
-};
-
-/**
- * Stops propagation to bubble targets, and prevents any remaining
- * subscribers on the current target from executing.
- * @method stopImmediatePropagation
- */
-CEProto.stopImmediatePropagation = function() {
- this.stopped = 2;
- if (this.stack) {
- this.stack.stopped = 2;
- }
- if (this.events) {
- this.events.fire('stopped', this);
- }
-};
-
-/**
- * Prevents the execution of this event's defaultFn
- * @method preventDefault
- */
-CEProto.preventDefault = function() {
- if (this.preventable) {
- this.prevented = 1;
- if (this.stack) {
- this.stack.prevented = 1;
- }
- }
-};
-
-/**
- * Stops the event propagation and prevents the default
- * event behavior.
- * @method halt
- * @param immediate {boolean} if true additional listeners
- * on the current target will not be executed
- */
-CEProto.halt = function(immediate) {
- if (immediate) {
- this.stopImmediatePropagation();
- } else {
- this.stopPropagation();
- }
- this.preventDefault();
-};
-
-/**
- * Registers another EventTarget as a bubble target. Bubble order
- * is determined by the order registered. Multiple targets can
- * be specified.
- *
- * Events can only bubble if emitFacade is true.
- *
- * Included in the event-custom-complex submodule.
- *
- * @method addTarget
- * @param o {EventTarget} the target to add
- * @for EventTarget
- */
-ETProto.addTarget = function(o) {
- var etState = this._yuievt;
-
- if (!etState.targets) {
- etState.targets = {};
- }
-
- etState.targets[Y.stamp(o)] = o;
- etState.hasTargets = true;
-};
-
-/**
- * Returns an array of bubble targets for this object.
- * @method getTargets
- * @return EventTarget[]
- */
-ETProto.getTargets = function() {
- var targets = this._yuievt.targets;
- return targets ? YObject.values(targets) : [];
-};
-
-/**
- * Removes a bubble target
- * @method removeTarget
- * @param o {EventTarget} the target to remove
- * @for EventTarget
- */
-ETProto.removeTarget = function(o) {
- var targets = this._yuievt.targets;
-
- if (targets) {
- delete targets[Y.stamp(o, true)];
-
- if (YObject.size(targets) === 0) {
- this._yuievt.hasTargets = false;
- }
- }
-};
-
-/**
- * Propagate an event. Requires the event-custom-complex module.
- * @method bubble
- * @param evt {CustomEvent} the custom event to propagate
- * @return {boolean} the aggregated return value from Event.Custom.fire
- * @for EventTarget
- */
-ETProto.bubble = function(evt, args, target, es) {
-
- var targs = this._yuievt.targets,
- ret = true,
- t,
- ce,
- i,
- bc,
- ce2,
- type = evt && evt.type,
- originalTarget = target || (evt && evt.target) || this,
- oldbubble;
-
- if (!evt || ((!evt.stopped) && targs)) {
-
- for (i in targs) {
- if (targs.hasOwnProperty(i)) {
-
- t = targs[i];
-
- ce = t._yuievt.events[type];
-
- if (t._hasSiblings) {
- ce2 = t.getSibling(type, ce);
- }
-
- if (ce2 && !ce) {
- ce = t.publish(type);
- }
-
- oldbubble = t._yuievt.bubbling;
- t._yuievt.bubbling = type;
-
- // if this event was not published on the bubble target,
- // continue propagating the event.
- if (!ce) {
- if (t._yuievt.hasTargets) {
- t.bubble(evt, args, originalTarget, es);
- }
- } else {
-
- if (ce2) {
- ce.sibling = ce2;
- }
-
- // set the original target to that the target payload on the facade is correct.
- ce.target = originalTarget;
- ce.originalTarget = originalTarget;
- ce.currentTarget = t;
- bc = ce.broadcast;
- ce.broadcast = false;
-
- // default publish may not have emitFacade true -- that
- // shouldn't be what the implementer meant to do
- ce.emitFacade = true;
-
- ce.stack = es;
-
- // TODO: See what's getting in the way of changing this to use
- // the more performant ce._fire(args || evt.details || []).
-
- // Something in Widget Parent/Child tests is not happy if we
- // change it - maybe evt.details related?
- ret = ret && ce.fire.apply(ce, args || evt.details || []);
-
- ce.broadcast = bc;
- ce.originalTarget = null;
-
- // stopPropagation() was called
- if (ce.stopped) {
- break;
- }
- }
-
- t._yuievt.bubbling = oldbubble;
- }
- }
- }
-
- return ret;
-};
-
-/**
- * @method _hasPotentialSubscribers
- * @for EventTarget
- * @private
- * @param {String} fullType The fully prefixed type name
- * @return {boolean} Whether the event has potential subscribers or not
- */
-ETProto._hasPotentialSubscribers = function(fullType) {
-
- var etState = this._yuievt,
- e = etState.events[fullType];
-
- if (e) {
- return e.hasSubs() || etState.hasTargets || e.broadcast;
- } else {
- return false;
- }
-};
-
-FACADE = new Y.EventFacade();
-FACADE_KEYS = {};
-
-// Flatten whitelist
-for (key in FACADE) {
- FACADE_KEYS[key] = true;
-}
-
-
-}, '3.12.0', {"requires": ["event-custom-base"]});
-YUI.add('node-core', function (Y, NAME) {
-
-/**
- * The Node Utility provides a DOM-like interface for interacting with DOM nodes.
- * @module node
- * @main node
- * @submodule node-core
- */
-
-/**
- * The Node class provides a wrapper for manipulating DOM Nodes.
- * Node properties can be accessed via the set/get methods.
- * Use `Y.one()` to retrieve Node instances.
- *
- * NOTE: Node properties are accessed using
- * the set and get methods.
- *
- * @class Node
- * @constructor
- * @param {DOMNode} node the DOM node to be mapped to the Node instance.
- * @uses EventTarget
- */
-
-// "globals"
-var DOT = '.',
- NODE_NAME = 'nodeName',
- NODE_TYPE = 'nodeType',
- OWNER_DOCUMENT = 'ownerDocument',
- TAG_NAME = 'tagName',
- UID = '_yuid',
- EMPTY_OBJ = {},
-
- _slice = Array.prototype.slice,
-
- Y_DOM = Y.DOM,
-
- Y_Node = function(node) {
- if (!this.getDOMNode) { // support optional "new"
- return new Y_Node(node);
- }
-
- if (typeof node == 'string') {
- node = Y_Node._fromString(node);
- if (!node) {
- return null; // NOTE: return
- }
- }
-
- var uid = (node.nodeType !== 9) ? node.uniqueID : node[UID];
-
- if (uid && Y_Node._instances[uid] && Y_Node._instances[uid]._node !== node) {
- node[UID] = null; // unset existing uid to prevent collision (via clone or hack)
- }
-
- uid = uid || Y.stamp(node);
- if (!uid) { // stamp failed; likely IE non-HTMLElement
- uid = Y.guid();
- }
-
- this[UID] = uid;
-
- /**
- * The underlying DOM node bound to the Y.Node instance
- * @property _node
- * @type DOMNode
- * @private
- */
- this._node = node;
-
- this._stateProxy = node; // when augmented with Attribute
-
- if (this._initPlugins) { // when augmented with Plugin.Host
- this._initPlugins();
- }
- },
-
- // used with previous/next/ancestor tests
- _wrapFn = function(fn) {
- var ret = null;
- if (fn) {
- ret = (typeof fn == 'string') ?
- function(n) {
- return Y.Selector.test(n, fn);
- } :
- function(n) {
- return fn(Y.one(n));
- };
- }
-
- return ret;
- };
-// end "globals"
-
-Y_Node.ATTRS = {};
-Y_Node.DOM_EVENTS = {};
-
-Y_Node._fromString = function(node) {
- if (node) {
- if (node.indexOf('doc') === 0) { // doc OR document
- node = Y.config.doc;
- } else if (node.indexOf('win') === 0) { // win OR window
- node = Y.config.win;
- } else {
- node = Y.Selector.query(node, null, true);
- }
- }
-
- return node || null;
-};
-
-/**
- * The name of the component
- * @static
- * @type String
- * @property NAME
- */
-Y_Node.NAME = 'node';
-
-/*
- * The pattern used to identify ARIA attributes
- */
-Y_Node.re_aria = /^(?:role$|aria-)/;
-
-Y_Node.SHOW_TRANSITION = 'fadeIn';
-Y_Node.HIDE_TRANSITION = 'fadeOut';
-
-/**
- * A list of Node instances that have been created
- * @private
- * @type Object
- * @property _instances
- * @static
- *
- */
-Y_Node._instances = {};
-
-/**
- * Retrieves the DOM node bound to a Node instance
- * @method getDOMNode
- * @static
- *
- * @param {Node | HTMLNode} node The Node instance or an HTMLNode
- * @return {HTMLNode} The DOM node bound to the Node instance. If a DOM node is passed
- * as the node argument, it is simply returned.
- */
-Y_Node.getDOMNode = function(node) {
- if (node) {
- return (node.nodeType) ? node : node._node || null;
- }
- return null;
-};
-
-/**
- * Checks Node return values and wraps DOM Nodes as Y.Node instances
- * and DOM Collections / Arrays as Y.NodeList instances.
- * Other return values just pass thru. If undefined is returned (e.g. no return)
- * then the Node instance is returned for chainability.
- * @method scrubVal
- * @static
- *
- * @param {any} node The Node instance or an HTMLNode
- * @return {Node | NodeList | Any} Depends on what is returned from the DOM node.
- */
-Y_Node.scrubVal = function(val, node) {
- if (val) { // only truthy values are risky
- if (typeof val == 'object' || typeof val == 'function') { // safari nodeList === function
- if (NODE_TYPE in val || Y_DOM.isWindow(val)) {// node || window
- val = Y.one(val);
- } else if ((val.item && !val._nodes) || // dom collection or Node instance
- (val[0] && val[0][NODE_TYPE])) { // array of DOM Nodes
- val = Y.all(val);
- }
- }
- } else if (typeof val === 'undefined') {
- val = node; // for chaining
- } else if (val === null) {
- val = null; // IE: DOM null not the same as null
- }
-
- return val;
-};
-
-/**
- * Adds methods to the Y.Node prototype, routing through scrubVal.
- * @method addMethod
- * @static
- *
- * @param {String} name The name of the method to add
- * @param {Function} fn The function that becomes the method
- * @param {Object} context An optional context to call the method with
- * (defaults to the Node instance)
- * @return {any} Depends on what is returned from the DOM node.
- */
-Y_Node.addMethod = function(name, fn, context) {
- if (name && fn && typeof fn == 'function') {
- Y_Node.prototype[name] = function() {
- var args = _slice.call(arguments),
- node = this,
- ret;
-
- if (args[0] && args[0]._node) {
- args[0] = args[0]._node;
- }
-
- if (args[1] && args[1]._node) {
- args[1] = args[1]._node;
- }
- args.unshift(node._node);
-
- ret = fn.apply(context || node, args);
-
- if (ret) { // scrub truthy
- ret = Y_Node.scrubVal(ret, node);
- }
-
- (typeof ret != 'undefined') || (ret = node);
- return ret;
- };
- } else {
- Y.log('unable to add method: ' + name, 'warn', 'Node');
- }
-};
-
-/**
- * Imports utility methods to be added as Y.Node methods.
- * @method importMethod
- * @static
- *
- * @param {Object} host The object that contains the method to import.
- * @param {String} name The name of the method to import
- * @param {String} altName An optional name to use in place of the host name
- * @param {Object} context An optional context to call the method with
- */
-Y_Node.importMethod = function(host, name, altName) {
- if (typeof name == 'string') {
- altName = altName || name;
- Y_Node.addMethod(altName, host[name], host);
- } else {
- Y.Array.each(name, function(n) {
- Y_Node.importMethod(host, n);
- });
- }
-};
-
-/**
- * Retrieves a NodeList based on the given CSS selector.
- * @method all
- *
- * @param {string} selector The CSS selector to test against.
- * @return {NodeList} A NodeList instance for the matching HTMLCollection/Array.
- * @for YUI
- */
-
-/**
- * Returns a single Node instance bound to the node or the
- * first element matching the given selector. Returns null if no match found.
- * Note: For chaining purposes you may want to
- * use Y.all, which returns a NodeList when no match is found.
- * @method one
- * @param {String | HTMLElement} node a node or Selector
- * @return {Node | null} a Node instance or null if no match found.
- * @for YUI
- */
-
-/**
- * Returns a single Node instance bound to the node or the
- * first element matching the given selector. Returns null if no match found.
- * Note: For chaining purposes you may want to
- * use Y.all, which returns a NodeList when no match is found.
- * @method one
- * @static
- * @param {String | HTMLElement} node a node or Selector
- * @return {Node | null} a Node instance or null if no match found.
- * @for Node
- */
-Y_Node.one = function(node) {
- var instance = null,
- cachedNode,
- uid;
-
- if (node) {
- if (typeof node == 'string') {
- node = Y_Node._fromString(node);
- if (!node) {
- return null; // NOTE: return
- }
- } else if (node.getDOMNode) {
- return node; // NOTE: return
- }
-
- if (node.nodeType || Y.DOM.isWindow(node)) { // avoid bad input (numbers, boolean, etc)
- uid = (node.uniqueID && node.nodeType !== 9) ? node.uniqueID : node._yuid;
- instance = Y_Node._instances[uid]; // reuse exising instances
- cachedNode = instance ? instance._node : null;
- if (!instance || (cachedNode && node !== cachedNode)) { // new Node when nodes don't match
- instance = new Y_Node(node);
- if (node.nodeType != 11) { // dont cache document fragment
- Y_Node._instances[instance[UID]] = instance; // cache node
- }
- }
- }
- }
-
- return instance;
-};
-
-/**
- * The default setter for DOM properties
- * Called with instance context (this === the Node instance)
- * @method DEFAULT_SETTER
- * @static
- * @param {String} name The attribute/property being set
- * @param {any} val The value to be set
- * @return {any} The value
- */
-Y_Node.DEFAULT_SETTER = function(name, val) {
- var node = this._stateProxy,
- strPath;
-
- if (name.indexOf(DOT) > -1) {
- strPath = name;
- name = name.split(DOT);
- // only allow when defined on node
- Y.Object.setValue(node, name, val);
- } else if (typeof node[name] != 'undefined') { // pass thru DOM properties
- node[name] = val;
- }
-
- return val;
-};
-
-/**
- * The default getter for DOM properties
- * Called with instance context (this === the Node instance)
- * @method DEFAULT_GETTER
- * @static
- * @param {String} name The attribute/property to look up
- * @return {any} The current value
- */
-Y_Node.DEFAULT_GETTER = function(name) {
- var node = this._stateProxy,
- val;
-
- if (name.indexOf && name.indexOf(DOT) > -1) {
- val = Y.Object.getValue(node, name.split(DOT));
- } else if (typeof node[name] != 'undefined') { // pass thru from DOM
- val = node[name];
- }
-
- return val;
-};
-
-Y.mix(Y_Node.prototype, {
- DATA_PREFIX: 'data-',
-
- /**
- * The method called when outputting Node instances as strings
- * @method toString
- * @return {String} A string representation of the Node instance
- */
- toString: function() {
- var str = this[UID] + ': not bound to a node',
- node = this._node,
- attrs, id, className;
-
- if (node) {
- attrs = node.attributes;
- id = (attrs && attrs.id) ? node.getAttribute('id') : null;
- className = (attrs && attrs.className) ? node.getAttribute('className') : null;
- str = node[NODE_NAME];
-
- if (id) {
- str += '#' + id;
- }
-
- if (className) {
- str += '.' + className.replace(' ', '.');
- }
-
- // TODO: add yuid?
- str += ' ' + this[UID];
- }
- return str;
- },
-
- /**
- * Returns an attribute value on the Node instance.
- * Unless pre-configured (via `Node.ATTRS`), get hands
- * off to the underlying DOM node. Only valid
- * attributes/properties for the node will be queried.
- * @method get
- * @param {String} attr The attribute
- * @return {any} The current value of the attribute
- */
- get: function(attr) {
- var val;
-
- if (this._getAttr) { // use Attribute imple
- val = this._getAttr(attr);
- } else {
- val = this._get(attr);
- }
-
- if (val) {
- val = Y_Node.scrubVal(val, this);
- } else if (val === null) {
- val = null; // IE: DOM null is not true null (even though they ===)
- }
- return val;
- },
-
- /**
- * Helper method for get.
- * @method _get
- * @private
- * @param {String} attr The attribute
- * @return {any} The current value of the attribute
- */
- _get: function(attr) {
- var attrConfig = Y_Node.ATTRS[attr],
- val;
-
- if (attrConfig && attrConfig.getter) {
- val = attrConfig.getter.call(this);
- } else if (Y_Node.re_aria.test(attr)) {
- val = this._node.getAttribute(attr, 2);
- } else {
- val = Y_Node.DEFAULT_GETTER.apply(this, arguments);
- }
-
- return val;
- },
-
- /**
- * Sets an attribute on the Node instance.
- * Unless pre-configured (via Node.ATTRS), set hands
- * off to the underlying DOM node. Only valid
- * attributes/properties for the node will be set.
- * To set custom attributes use setAttribute.
- * @method set
- * @param {String} attr The attribute to be set.
- * @param {any} val The value to set the attribute to.
- * @chainable
- */
- set: function(attr, val) {
- var attrConfig = Y_Node.ATTRS[attr];
-
- if (this._setAttr) { // use Attribute imple
- this._setAttr.apply(this, arguments);
- } else { // use setters inline
- if (attrConfig && attrConfig.setter) {
- attrConfig.setter.call(this, val, attr);
- } else if (Y_Node.re_aria.test(attr)) { // special case Aria
- this._node.setAttribute(attr, val);
- } else {
- Y_Node.DEFAULT_SETTER.apply(this, arguments);
- }
- }
-
- return this;
- },
-
- /**
- * Sets multiple attributes.
- * @method setAttrs
- * @param {Object} attrMap an object of name/value pairs to set
- * @chainable
- */
- setAttrs: function(attrMap) {
- if (this._setAttrs) { // use Attribute imple
- this._setAttrs(attrMap);
- } else { // use setters inline
- Y.Object.each(attrMap, function(v, n) {
- this.set(n, v);
- }, this);
- }
-
- return this;
- },
-
- /**
- * Returns an object containing the values for the requested attributes.
- * @method getAttrs
- * @param {Array} attrs an array of attributes to get values
- * @return {Object} An object with attribute name/value pairs.
- */
- getAttrs: function(attrs) {
- var ret = {};
- if (this._getAttrs) { // use Attribute imple
- this._getAttrs(attrs);
- } else { // use setters inline
- Y.Array.each(attrs, function(v, n) {
- ret[v] = this.get(v);
- }, this);
- }
-
- return ret;
- },
-
- /**
- * Compares nodes to determine if they match.
- * Node instances can be compared to each other and/or HTMLElements.
- * @method compareTo
- * @param {HTMLElement | Node} refNode The reference node to compare to the node.
- * @return {Boolean} True if the nodes match, false if they do not.
- */
- compareTo: function(refNode) {
- var node = this._node;
-
- if (refNode && refNode._node) {
- refNode = refNode._node;
- }
- return node === refNode;
- },
-
- /**
- * Determines whether the node is appended to the document.
- * @method inDoc
- * @param {Node|HTMLElement} doc optional An optional document to check against.
- * Defaults to current document.
- * @return {Boolean} Whether or not this node is appended to the document.
- */
- inDoc: function(doc) {
- var node = this._node;
- doc = (doc) ? doc._node || doc : node[OWNER_DOCUMENT];
- if (doc.documentElement) {
- return Y_DOM.contains(doc.documentElement, node);
- }
- },
-
- getById: function(id) {
- var node = this._node,
- ret = Y_DOM.byId(id, node[OWNER_DOCUMENT]);
- if (ret && Y_DOM.contains(node, ret)) {
- ret = Y.one(ret);
- } else {
- ret = null;
- }
- return ret;
- },
-
- /**
- * Returns the nearest ancestor that passes the test applied by supplied boolean method.
- * @method ancestor
- * @param {String | Function} fn A selector string or boolean method for testing elements.
- * If a function is used, it receives the current node being tested as the only argument.
- * If fn is not passed as an argument, the parent node will be returned.
- * @param {Boolean} testSelf optional Whether or not to include the element in the scan
- * @param {String | Function} stopFn optional A selector string or boolean
- * method to indicate when the search should stop. The search bails when the function
- * returns true or the selector matches.
- * If a function is used, it receives the current node being tested as the only argument.
- * @return {Node} The matching Node instance or null if not found
- */
- ancestor: function(fn, testSelf, stopFn) {
- // testSelf is optional, check for stopFn as 2nd arg
- if (arguments.length === 2 &&
- (typeof testSelf == 'string' || typeof testSelf == 'function')) {
- stopFn = testSelf;
- }
-
- return Y.one(Y_DOM.ancestor(this._node, _wrapFn(fn), testSelf, _wrapFn(stopFn)));
- },
-
- /**
- * Returns the ancestors that pass the test applied by supplied boolean method.
- * @method ancestors
- * @param {String | Function} fn A selector string or boolean method for testing elements.
- * @param {Boolean} testSelf optional Whether or not to include the element in the scan
- * If a function is used, it receives the current node being tested as the only argument.
- * @return {NodeList} A NodeList instance containing the matching elements
- */
- ancestors: function(fn, testSelf, stopFn) {
- if (arguments.length === 2 &&
- (typeof testSelf == 'string' || typeof testSelf == 'function')) {
- stopFn = testSelf;
- }
- return Y.all(Y_DOM.ancestors(this._node, _wrapFn(fn), testSelf, _wrapFn(stopFn)));
- },
-
- /**
- * Returns the previous matching sibling.
- * Returns the nearest element node sibling if no method provided.
- * @method previous
- * @param {String | Function} fn A selector or boolean method for testing elements.
- * If a function is used, it receives the current node being tested as the only argument.
- * @return {Node} Node instance or null if not found
- */
- previous: function(fn, all) {
- return Y.one(Y_DOM.elementByAxis(this._node, 'previousSibling', _wrapFn(fn), all));
- },
-
- /**
- * Returns the next matching sibling.
- * Returns the nearest element node sibling if no method provided.
- * @method next
- * @param {String | Function} fn A selector or boolean method for testing elements.
- * If a function is used, it receives the current node being tested as the only argument.
- * @return {Node} Node instance or null if not found
- */
- next: function(fn, all) {
- return Y.one(Y_DOM.elementByAxis(this._node, 'nextSibling', _wrapFn(fn), all));
- },
-
- /**
- * Returns all matching siblings.
- * Returns all siblings if no method provided.
- * @method siblings
- * @param {String | Function} fn A selector or boolean method for testing elements.
- * If a function is used, it receives the current node being tested as the only argument.
- * @return {NodeList} NodeList instance bound to found siblings
- */
- siblings: function(fn) {
- return Y.all(Y_DOM.siblings(this._node, _wrapFn(fn)));
- },
-
- /**
- * Retrieves a single Node instance, the first element matching the given
- * CSS selector.
- * Returns null if no match found.
- * @method one
- *
- * @param {string} selector The CSS selector to test against.
- * @return {Node | null} A Node instance for the matching HTMLElement or null
- * if no match found.
- */
- one: function(selector) {
- return Y.one(Y.Selector.query(selector, this._node, true));
- },
-
- /**
- * Retrieves a NodeList based on the given CSS selector.
- * @method all
- *
- * @param {string} selector The CSS selector to test against.
- * @return {NodeList} A NodeList instance for the matching HTMLCollection/Array.
- */
- all: function(selector) {
- var nodelist;
-
- if (this._node) {
- nodelist = Y.all(Y.Selector.query(selector, this._node));
- nodelist._query = selector;
- nodelist._queryRoot = this._node;
- }
-
- return nodelist || Y.all([]);
- },
-
- // TODO: allow fn test
- /**
- * Test if the supplied node matches the supplied selector.
- * @method test
- *
- * @param {string} selector The CSS selector to test against.
- * @return {boolean} Whether or not the node matches the selector.
- */
- test: function(selector) {
- return Y.Selector.test(this._node, selector);
- },
-
- /**
- * Removes the node from its parent.
- * Shortcut for myNode.get('parentNode').removeChild(myNode);
- * @method remove
- * @param {Boolean} destroy whether or not to call destroy() on the node
- * after removal.
- * @chainable
- *
- */
- remove: function(destroy) {
- var node = this._node;
-
- if (node && node.parentNode) {
- node.parentNode.removeChild(node);
- }
-
- if (destroy) {
- this.destroy();
- }
-
- return this;
- },
-
- /**
- * Replace the node with the other node. This is a DOM update only
- * and does not change the node bound to the Node instance.
- * Shortcut for myNode.get('parentNode').replaceChild(newNode, myNode);
- * @method replace
- * @param {Node | HTMLNode} newNode Node to be inserted
- * @chainable
- *
- */
- replace: function(newNode) {
- var node = this._node;
- if (typeof newNode == 'string') {
- newNode = Y_Node.create(newNode);
- }
- node.parentNode.replaceChild(Y_Node.getDOMNode(newNode), node);
- return this;
- },
-
- /**
- * @method replaceChild
- * @for Node
- * @param {String | HTMLElement | Node} node Node to be inserted
- * @param {HTMLElement | Node} refNode Node to be replaced
- * @return {Node} The replaced node
- */
- replaceChild: function(node, refNode) {
- if (typeof node == 'string') {
- node = Y_DOM.create(node);
- }
-
- return Y.one(this._node.replaceChild(Y_Node.getDOMNode(node), Y_Node.getDOMNode(refNode)));
- },
-
- /**
- * Nulls internal node references, removes any plugins and event listeners.
- * Note that destroy() will not remove the node from its parent or from the DOM. For that
- * functionality, call remove(true).
- * @method destroy
- * @param {Boolean} recursivePurge (optional) Whether or not to remove listeners from the
- * node's subtree (default is false)
- *
- */
- destroy: function(recursive) {
- var UID = Y.config.doc.uniqueID ? 'uniqueID' : '_yuid',
- instance;
-
- this.purge(); // TODO: only remove events add via this Node
-
- if (this.unplug) { // may not be a PluginHost
- this.unplug();
- }
-
- this.clearData();
-
- if (recursive) {
- Y.NodeList.each(this.all('*'), function(node) {
- instance = Y_Node._instances[node[UID]];
- if (instance) {
- instance.destroy();
- } else { // purge in case added by other means
- Y.Event.purgeElement(node);
- }
- });
- }
-
- this._node = null;
- this._stateProxy = null;
-
- delete Y_Node._instances[this._yuid];
- },
-
- /**
- * Invokes a method on the Node instance
- * @method invoke
- * @param {String} method The name of the method to invoke
- * @param {Any} a, b, c, etc. Arguments to invoke the method with.
- * @return Whatever the underly method returns.
- * DOM Nodes and Collections return values
- * are converted to Node/NodeList instances.
- *
- */
- invoke: function(method, a, b, c, d, e) {
- var node = this._node,
- ret;
-
- if (a && a._node) {
- a = a._node;
- }
-
- if (b && b._node) {
- b = b._node;
- }
-
- ret = node[method](a, b, c, d, e);
- return Y_Node.scrubVal(ret, this);
- },
-
- /**
- * @method swap
- * @description Swap DOM locations with the given node.
- * This does not change which DOM node each Node instance refers to.
- * @param {Node} otherNode The node to swap with
- * @chainable
- */
- swap: Y.config.doc.documentElement.swapNode ?
- function(otherNode) {
- this._node.swapNode(Y_Node.getDOMNode(otherNode));
- } :
- function(otherNode) {
- otherNode = Y_Node.getDOMNode(otherNode);
- var node = this._node,
- parent = otherNode.parentNode,
- nextSibling = otherNode.nextSibling;
-
- if (nextSibling === node) {
- parent.insertBefore(node, otherNode);
- } else if (otherNode === node.nextSibling) {
- parent.insertBefore(otherNode, node);
- } else {
- node.parentNode.replaceChild(otherNode, node);
- Y_DOM.addHTML(parent, node, nextSibling);
- }
- return this;
- },
-
-
- hasMethod: function(method) {
- var node = this._node;
- return !!(node && method in node &&
- typeof node[method] != 'unknown' &&
- (typeof node[method] == 'function' ||
- String(node[method]).indexOf('function') === 1)); // IE reports as object, prepends space
- },
-
- isFragment: function() {
- return (this.get('nodeType') === 11);
- },
-
- /**
- * Removes and destroys all of the nodes within the node.
- * @method empty
- * @chainable
- */
- empty: function() {
- this.get('childNodes').remove().destroy(true);
- return this;
- },
-
- /**
- * Returns the DOM node bound to the Node instance
- * @method getDOMNode
- * @return {DOMNode}
- */
- getDOMNode: function() {
- return this._node;
- }
-}, true);
-
-Y.Node = Y_Node;
-Y.one = Y_Node.one;
-/**
- * The NodeList module provides support for managing collections of Nodes.
- * @module node
- * @submodule node-core
- */
-
-/**
- * The NodeList class provides a wrapper for manipulating DOM NodeLists.
- * NodeList properties can be accessed via the set/get methods.
- * Use Y.all() to retrieve NodeList instances.
- *
- * @class NodeList
- * @constructor
- * @param nodes {String|element|Node|Array} A selector, DOM element, Node, list of DOM elements, or list of Nodes with which to populate this NodeList.
- */
-
-var NodeList = function(nodes) {
- var tmp = [];
-
- if (nodes) {
- if (typeof nodes === 'string') { // selector query
- this._query = nodes;
- nodes = Y.Selector.query(nodes);
- } else if (nodes.nodeType || Y_DOM.isWindow(nodes)) { // domNode || window
- nodes = [nodes];
- } else if (nodes._node) { // Y.Node
- nodes = [nodes._node];
- } else if (nodes[0] && nodes[0]._node) { // allow array of Y.Nodes
- Y.Array.each(nodes, function(node) {
- if (node._node) {
- tmp.push(node._node);
- }
- });
- nodes = tmp;
- } else { // array of domNodes or domNodeList (no mixed array of Y.Node/domNodes)
- nodes = Y.Array(nodes, 0, true);
- }
- }
-
- /**
- * The underlying array of DOM nodes bound to the Y.NodeList instance
- * @property _nodes
- * @private
- */
- this._nodes = nodes || [];
-};
-
-NodeList.NAME = 'NodeList';
-
-/**
- * Retrieves the DOM nodes bound to a NodeList instance
- * @method getDOMNodes
- * @static
- *
- * @param {NodeList} nodelist The NodeList instance
- * @return {Array} The array of DOM nodes bound to the NodeList
- */
-NodeList.getDOMNodes = function(nodelist) {
- return (nodelist && nodelist._nodes) ? nodelist._nodes : nodelist;
-};
-
-NodeList.each = function(instance, fn, context) {
- var nodes = instance._nodes;
- if (nodes && nodes.length) {
- Y.Array.each(nodes, fn, context || instance);
- } else {
- Y.log('no nodes bound to ' + this, 'warn', 'NodeList');
- }
-};
-
-NodeList.addMethod = function(name, fn, context) {
- if (name && fn) {
- NodeList.prototype[name] = function() {
- var ret = [],
- args = arguments;
-
- Y.Array.each(this._nodes, function(node) {
- var UID = (node.uniqueID && node.nodeType !== 9 ) ? 'uniqueID' : '_yuid',
- instance = Y.Node._instances[node[UID]],
- ctx,
- result;
-
- if (!instance) {
- instance = NodeList._getTempNode(node);
- }
- ctx = context || instance;
- result = fn.apply(ctx, args);
- if (result !== undefined && result !== instance) {
- ret[ret.length] = result;
- }
- });
-
- // TODO: remove tmp pointer
- return ret.length ? ret : this;
- };
- } else {
- Y.log('unable to add method: ' + name + ' to NodeList', 'warn', 'node');
- }
-};
-
-NodeList.importMethod = function(host, name, altName) {
- if (typeof name === 'string') {
- altName = altName || name;
- NodeList.addMethod(name, host[name]);
- } else {
- Y.Array.each(name, function(n) {
- NodeList.importMethod(host, n);
- });
- }
-};
-
-NodeList._getTempNode = function(node) {
- var tmp = NodeList._tempNode;
- if (!tmp) {
- tmp = Y.Node.create('');
- NodeList._tempNode = tmp;
- }
-
- tmp._node = node;
- tmp._stateProxy = node;
- return tmp;
-};
-
-Y.mix(NodeList.prototype, {
- _invoke: function(method, args, getter) {
- var ret = (getter) ? [] : this;
-
- this.each(function(node) {
- var val = node[method].apply(node, args);
- if (getter) {
- ret.push(val);
- }
- });
-
- return ret;
- },
-
- /**
- * Retrieves the Node instance at the given index.
- * @method item
- *
- * @param {Number} index The index of the target Node.
- * @return {Node} The Node instance at the given index.
- */
- item: function(index) {
- return Y.one((this._nodes || [])[index]);
- },
-
- /**
- * Applies the given function to each Node in the NodeList.
- * @method each
- * @param {Function} fn The function to apply. It receives 3 arguments:
- * the current node instance, the node's index, and the NodeList instance
- * @param {Object} context optional An optional context to apply the function with
- * Default context is the current Node instance
- * @chainable
- */
- each: function(fn, context) {
- var instance = this;
- Y.Array.each(this._nodes, function(node, index) {
- node = Y.one(node);
- return fn.call(context || node, node, index, instance);
- });
- return instance;
- },
-
- batch: function(fn, context) {
- var nodelist = this;
-
- Y.Array.each(this._nodes, function(node, index) {
- var instance = Y.Node._instances[node[UID]];
- if (!instance) {
- instance = NodeList._getTempNode(node);
- }
-
- return fn.call(context || instance, instance, index, nodelist);
- });
- return nodelist;
- },
-
- /**
- * Executes the function once for each node until a true value is returned.
- * @method some
- * @param {Function} fn The function to apply. It receives 3 arguments:
- * the current node instance, the node's index, and the NodeList instance
- * @param {Object} context optional An optional context to execute the function from.
- * Default context is the current Node instance
- * @return {Boolean} Whether or not the function returned true for any node.
- */
- some: function(fn, context) {
- var instance = this;
- return Y.Array.some(this._nodes, function(node, index) {
- node = Y.one(node);
- context = context || node;
- return fn.call(context, node, index, instance);
- });
- },
-
- /**
- * Creates a documenFragment from the nodes bound to the NodeList instance
- * @method toFrag
- * @return {Node} a Node instance bound to the documentFragment
- */
- toFrag: function() {
- return Y.one(Y.DOM._nl2frag(this._nodes));
- },
-
- /**
- * Returns the index of the node in the NodeList instance
- * or -1 if the node isn't found.
- * @method indexOf
- * @param {Node | DOMNode} node the node to search for
- * @return {Int} the index of the node value or -1 if not found
- */
- indexOf: function(node) {
- return Y.Array.indexOf(this._nodes, Y.Node.getDOMNode(node));
- },
-
- /**
- * Filters the NodeList instance down to only nodes matching the given selector.
- * @method filter
- * @param {String} selector The selector to filter against
- * @return {NodeList} NodeList containing the updated collection
- * @see Selector
- */
- filter: function(selector) {
- return Y.all(Y.Selector.filter(this._nodes, selector));
- },
-
-
- /**
- * Creates a new NodeList containing all nodes at every n indices, where
- * remainder n % index equals r.
- * (zero-based index).
- * @method modulus
- * @param {Int} n The offset to use (return every nth node)
- * @param {Int} r An optional remainder to use with the modulus operation (defaults to zero)
- * @return {NodeList} NodeList containing the updated collection
- */
- modulus: function(n, r) {
- r = r || 0;
- var nodes = [];
- NodeList.each(this, function(node, i) {
- if (i % n === r) {
- nodes.push(node);
- }
- });
-
- return Y.all(nodes);
- },
-
- /**
- * Creates a new NodeList containing all nodes at odd indices
- * (zero-based index).
- * @method odd
- * @return {NodeList} NodeList containing the updated collection
- */
- odd: function() {
- return this.modulus(2, 1);
- },
-
- /**
- * Creates a new NodeList containing all nodes at even indices
- * (zero-based index), including zero.
- * @method even
- * @return {NodeList} NodeList containing the updated collection
- */
- even: function() {
- return this.modulus(2);
- },
-
- destructor: function() {
- },
-
- /**
- * Reruns the initial query, when created using a selector query
- * @method refresh
- * @chainable
- */
- refresh: function() {
- var doc,
- nodes = this._nodes,
- query = this._query,
- root = this._queryRoot;
-
- if (query) {
- if (!root) {
- if (nodes && nodes[0] && nodes[0].ownerDocument) {
- root = nodes[0].ownerDocument;
- }
- }
-
- this._nodes = Y.Selector.query(query, root);
- }
-
- return this;
- },
-
- /**
- * Returns the current number of items in the NodeList.
- * @method size
- * @return {Int} The number of items in the NodeList.
- */
- size: function() {
- return this._nodes.length;
- },
-
- /**
- * Determines if the instance is bound to any nodes
- * @method isEmpty
- * @return {Boolean} Whether or not the NodeList is bound to any nodes
- */
- isEmpty: function() {
- return this._nodes.length < 1;
- },
-
- toString: function() {
- var str = '',
- errorMsg = this[UID] + ': not bound to any nodes',
- nodes = this._nodes,
- node;
-
- if (nodes && nodes[0]) {
- node = nodes[0];
- str += node[NODE_NAME];
- if (node.id) {
- str += '#' + node.id;
- }
-
- if (node.className) {
- str += '.' + node.className.replace(' ', '.');
- }
-
- if (nodes.length > 1) {
- str += '...[' + nodes.length + ' items]';
- }
- }
- return str || errorMsg;
- },
-
- /**
- * Returns the DOM node bound to the Node instance
- * @method getDOMNodes
- * @return {Array}
- */
- getDOMNodes: function() {
- return this._nodes;
- }
-}, true);
-
-NodeList.importMethod(Y.Node.prototype, [
- /**
- * Called on each Node instance. Nulls internal node references,
- * removes any plugins and event listeners
- * @method destroy
- * @param {Boolean} recursivePurge (optional) Whether or not to
- * remove listeners from the node's subtree (default is false)
- * @see Node.destroy
- */
- 'destroy',
-
- /**
- * Called on each Node instance. Removes and destroys all of the nodes
- * within the node
- * @method empty
- * @chainable
- * @see Node.empty
- */
- 'empty',
-
- /**
- * Called on each Node instance. Removes the node from its parent.
- * Shortcut for myNode.get('parentNode').removeChild(myNode);
- * @method remove
- * @param {Boolean} destroy whether or not to call destroy() on the node
- * after removal.
- * @chainable
- * @see Node.remove
- */
- 'remove',
-
- /**
- * Called on each Node instance. Sets an attribute on the Node instance.
- * Unless pre-configured (via Node.ATTRS), set hands
- * off to the underlying DOM node. Only valid
- * attributes/properties for the node will be set.
- * To set custom attributes use setAttribute.
- * @method set
- * @param {String} attr The attribute to be set.
- * @param {any} val The value to set the attribute to.
- * @chainable
- * @see Node.set
- */
- 'set'
-]);
-
-// one-off implementation to convert array of Nodes to NodeList
-// e.g. Y.all('input').get('parentNode');
-
-/** Called on each Node instance
- * @method get
- * @see Node
- */
-NodeList.prototype.get = function(attr) {
- var ret = [],
- nodes = this._nodes,
- isNodeList = false,
- getTemp = NodeList._getTempNode,
- instance,
- val;
-
- if (nodes[0]) {
- instance = Y.Node._instances[nodes[0]._yuid] || getTemp(nodes[0]);
- val = instance._get(attr);
- if (val && val.nodeType) {
- isNodeList = true;
- }
- }
-
- Y.Array.each(nodes, function(node) {
- instance = Y.Node._instances[node._yuid];
-
- if (!instance) {
- instance = getTemp(node);
- }
-
- val = instance._get(attr);
- if (!isNodeList) { // convert array of Nodes to NodeList
- val = Y.Node.scrubVal(val, instance);
- }
-
- ret.push(val);
- });
-
- return (isNodeList) ? Y.all(ret) : ret;
-};
-
-Y.NodeList = NodeList;
-
-Y.all = function(nodes) {
- return new NodeList(nodes);
-};
-
-Y.Node.all = Y.all;
-/**
- * @module node
- * @submodule node-core
- */
-
-var Y_NodeList = Y.NodeList,
- ArrayProto = Array.prototype,
- ArrayMethods = {
- /** Returns a new NodeList combining the given NodeList(s)
- * @for NodeList
- * @method concat
- * @param {NodeList | Array} valueN Arrays/NodeLists and/or values to
- * concatenate to the resulting NodeList
- * @return {NodeList} A new NodeList comprised of this NodeList joined with the input.
- */
- 'concat': 1,
- /** Removes the last from the NodeList and returns it.
- * @for NodeList
- * @method pop
- * @return {Node | null} The last item in the NodeList, or null if the list is empty.
- */
- 'pop': 0,
- /** Adds the given Node(s) to the end of the NodeList.
- * @for NodeList
- * @method push
- * @param {Node | DOMNode} nodes One or more nodes to add to the end of the NodeList.
- */
- 'push': 0,
- /** Removes the first item from the NodeList and returns it.
- * @for NodeList
- * @method shift
- * @return {Node | null} The first item in the NodeList, or null if the NodeList is empty.
- */
- 'shift': 0,
- /** Returns a new NodeList comprising the Nodes in the given range.
- * @for NodeList
- * @method slice
- * @param {Number} begin Zero-based index at which to begin extraction.
- As a negative index, start indicates an offset from the end of the sequence. slice(-2) extracts the second-to-last element and the last element in the sequence.
- * @param {Number} end Zero-based index at which to end extraction. slice extracts up to but not including end.
- slice(1,4) extracts the second element through the fourth element (elements indexed 1, 2, and 3).
- As a negative index, end indicates an offset from the end of the sequence. slice(2,-1) extracts the third element through the second-to-last element in the sequence.
- If end is omitted, slice extracts to the end of the sequence.
- * @return {NodeList} A new NodeList comprised of this NodeList joined with the input.
- */
- 'slice': 1,
- /** Changes the content of the NodeList, adding new elements while removing old elements.
- * @for NodeList
- * @method splice
- * @param {Number} index Index at which to start changing the array. If negative, will begin that many elements from the end.
- * @param {Number} howMany An integer indicating the number of old array elements to remove. If howMany is 0, no elements are removed. In this case, you should specify at least one new element. If no howMany parameter is specified (second syntax above, which is a SpiderMonkey extension), all elements after index are removed.
- * {Node | DOMNode| element1, ..., elementN
- The elements to add to the array. If you don't specify any elements, splice simply removes elements from the array.
- * @return {NodeList} The element(s) removed.
- */
- 'splice': 1,
- /** Adds the given Node(s) to the beginning of the NodeList.
- * @for NodeList
- * @method unshift
- * @param {Node | DOMNode} nodes One or more nodes to add to the NodeList.
- */
- 'unshift': 0
- };
-
-
-Y.Object.each(ArrayMethods, function(returnNodeList, name) {
- Y_NodeList.prototype[name] = function() {
- var args = [],
- i = 0,
- arg,
- ret;
-
- while (typeof (arg = arguments[i++]) != 'undefined') { // use DOM nodes/nodeLists
- args.push(arg._node || arg._nodes || arg);
- }
-
- ret = ArrayProto[name].apply(this._nodes, args);
-
- if (returnNodeList) {
- ret = Y.all(ret);
- } else {
- ret = Y.Node.scrubVal(ret);
- }
-
- return ret;
- };
-});
-/**
- * @module node
- * @submodule node-core
- */
-
-Y.Array.each([
- /**
- * Passes through to DOM method.
- * @for Node
- * @method removeChild
- * @param {HTMLElement | Node} node Node to be removed
- * @return {Node} The removed node
- */
- 'removeChild',
-
- /**
- * Passes through to DOM method.
- * @method hasChildNodes
- * @return {Boolean} Whether or not the node has any childNodes
- */
- 'hasChildNodes',
-
- /**
- * Passes through to DOM method.
- * @method cloneNode
- * @param {Boolean} deep Whether or not to perform a deep clone, which includes
- * subtree and attributes
- * @return {Node} The clone
- */
- 'cloneNode',
-
- /**
- * Passes through to DOM method.
- * @method hasAttribute
- * @param {String} attribute The attribute to test for
- * @return {Boolean} Whether or not the attribute is present
- */
- 'hasAttribute',
-
- /**
- * Passes through to DOM method.
- * @method scrollIntoView
- * @chainable
- */
- 'scrollIntoView',
-
- /**
- * Passes through to DOM method.
- * @method getElementsByTagName
- * @param {String} tagName The tagName to collect
- * @return {NodeList} A NodeList representing the HTMLCollection
- */
- 'getElementsByTagName',
-
- /**
- * Passes through to DOM method.
- * @method focus
- * @chainable
- */
- 'focus',
-
- /**
- * Passes through to DOM method.
- * @method blur
- * @chainable
- */
- 'blur',
-
- /**
- * Passes through to DOM method.
- * Only valid on FORM elements
- * @method submit
- * @chainable
- */
- 'submit',
-
- /**
- * Passes through to DOM method.
- * Only valid on FORM elements
- * @method reset
- * @chainable
- */
- 'reset',
-
- /**
- * Passes through to DOM method.
- * @method select
- * @chainable
- */
- 'select',
-
- /**
- * Passes through to DOM method.
- * Only valid on TABLE elements
- * @method createCaption
- * @chainable
- */
- 'createCaption'
-
-], function(method) {
- Y.log('adding: ' + method, 'info', 'node');
- Y.Node.prototype[method] = function(arg1, arg2, arg3) {
- var ret = this.invoke(method, arg1, arg2, arg3);
- return ret;
- };
-});
-
-/**
- * Passes through to DOM method.
- * @method removeAttribute
- * @param {String} attribute The attribute to be removed
- * @chainable
- */
- // one-off implementation due to IE returning boolean, breaking chaining
-Y.Node.prototype.removeAttribute = function(attr) {
- var node = this._node;
- if (node) {
- node.removeAttribute(attr, 0); // comma zero for IE < 8 to force case-insensitive
- }
-
- return this;
-};
-
-Y.Node.importMethod(Y.DOM, [
- /**
- * Determines whether the node is an ancestor of another HTML element in the DOM hierarchy.
- * @method contains
- * @param {Node | HTMLElement} needle The possible node or descendent
- * @return {Boolean} Whether or not this node is the needle its ancestor
- */
- 'contains',
- /**
- * Allows setting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method setAttribute
- * @for Node
- * @chainable
- * @param {string} name The attribute name
- * @param {string} value The value to set
- */
- 'setAttribute',
- /**
- * Allows getting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method getAttribute
- * @for Node
- * @param {string} name The attribute name
- * @return {string} The attribute value
- */
- 'getAttribute',
-
- /**
- * Wraps the given HTML around the node.
- * @method wrap
- * @param {String} html The markup to wrap around the node.
- * @chainable
- * @for Node
- */
- 'wrap',
-
- /**
- * Removes the node's parent node.
- * @method unwrap
- * @chainable
- */
- 'unwrap',
-
- /**
- * Applies a unique ID to the node if none exists
- * @method generateID
- * @return {String} The existing or generated ID
- */
- 'generateID'
-]);
-
-Y.NodeList.importMethod(Y.Node.prototype, [
-/**
- * Allows getting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method getAttribute
- * @see Node
- * @for NodeList
- * @param {string} name The attribute name
- * @return {string} The attribute value
- */
-
- 'getAttribute',
-/**
- * Allows setting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method setAttribute
- * @see Node
- * @for NodeList
- * @chainable
- * @param {string} name The attribute name
- * @param {string} value The value to set
- */
- 'setAttribute',
-
-/**
- * Allows for removing attributes on DOM nodes.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method removeAttribute
- * @see Node
- * @for NodeList
- * @param {string} name The attribute to remove
- */
- 'removeAttribute',
-/**
- * Removes the parent node from node in the list.
- * @method unwrap
- * @chainable
- */
- 'unwrap',
-/**
- * Wraps the given HTML around each node.
- * @method wrap
- * @param {String} html The markup to wrap around the node.
- * @chainable
- */
- 'wrap',
-
-/**
- * Applies a unique ID to each node if none exists
- * @method generateID
- * @return {String} The existing or generated ID
- */
- 'generateID'
-]);
-
-
-}, '3.12.0', {"requires": ["dom-core", "selector"]});
-YUI.add('node-base', function (Y, NAME) {
-
-/**
- * @module node
- * @submodule node-base
- */
-
-var methods = [
-/**
- * Determines whether each node has the given className.
- * @method hasClass
- * @for Node
- * @param {String} className the class name to search for
- * @return {Boolean} Whether or not the element has the specified class
- */
- 'hasClass',
-
-/**
- * Adds a class name to each node.
- * @method addClass
- * @param {String} className the class name to add to the node's class attribute
- * @chainable
- */
- 'addClass',
-
-/**
- * Removes a class name from each node.
- * @method removeClass
- * @param {String} className the class name to remove from the node's class attribute
- * @chainable
- */
- 'removeClass',
-
-/**
- * Replace a class with another class for each node.
- * If no oldClassName is present, the newClassName is simply added.
- * @method replaceClass
- * @param {String} oldClassName the class name to be replaced
- * @param {String} newClassName the class name that will be replacing the old class name
- * @chainable
- */
- 'replaceClass',
-
-/**
- * If the className exists on the node it is removed, if it doesn't exist it is added.
- * @method toggleClass
- * @param {String} className the class name to be toggled
- * @param {Boolean} force Option to force adding or removing the class.
- * @chainable
- */
- 'toggleClass'
-];
-
-Y.Node.importMethod(Y.DOM, methods);
-/**
- * Determines whether each node has the given className.
- * @method hasClass
- * @see Node.hasClass
- * @for NodeList
- * @param {String} className the class name to search for
- * @return {Array} An array of booleans for each node bound to the NodeList.
- */
-
-/**
- * Adds a class name to each node.
- * @method addClass
- * @see Node.addClass
- * @param {String} className the class name to add to the node's class attribute
- * @chainable
- */
-
-/**
- * Removes a class name from each node.
- * @method removeClass
- * @see Node.removeClass
- * @param {String} className the class name to remove from the node's class attribute
- * @chainable
- */
-
-/**
- * Replace a class with another class for each node.
- * If no oldClassName is present, the newClassName is simply added.
- * @method replaceClass
- * @see Node.replaceClass
- * @param {String} oldClassName the class name to be replaced
- * @param {String} newClassName the class name that will be replacing the old class name
- * @chainable
- */
-
-/**
- * If the className exists on the node it is removed, if it doesn't exist it is added.
- * @method toggleClass
- * @see Node.toggleClass
- * @param {String} className the class name to be toggled
- * @chainable
- */
-Y.NodeList.importMethod(Y.Node.prototype, methods);
-/**
- * @module node
- * @submodule node-base
- */
-
-var Y_Node = Y.Node,
- Y_DOM = Y.DOM;
-
-/**
- * Returns a new dom node using the provided markup string.
- * @method create
- * @static
- * @param {String} html The markup used to create the element
- * Use `Y.Escape.html()`
- * to escape html content.
- * @param {HTMLDocument} doc An optional document context
- * @return {Node} A Node instance bound to a DOM node or fragment
- * @for Node
- */
-Y_Node.create = function(html, doc) {
- if (doc && doc._node) {
- doc = doc._node;
- }
- return Y.one(Y_DOM.create(html, doc));
-};
-
-Y.mix(Y_Node.prototype, {
- /**
- * Creates a new Node using the provided markup string.
- * @method create
- * @param {String} html The markup used to create the element.
- * Use `Y.Escape.html()`
- * to escape html content.
- * @param {HTMLDocument} doc An optional document context
- * @return {Node} A Node instance bound to a DOM node or fragment
- */
- create: Y_Node.create,
-
- /**
- * Inserts the content before the reference node.
- * @method insert
- * @param {String | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert
- * Use `Y.Escape.html()`
- * to escape html content.
- * @param {Int | Node | HTMLElement | String} where The position to insert at.
- * Possible "where" arguments
- *
- *
Y.Node
- *
The Node to insert before
- *
HTMLElement
- *
The element to insert before
- *
Int
- *
The index of the child element to insert before
- *
"replace"
- *
Replaces the existing HTML
- *
"before"
- *
Inserts before the existing HTML
- *
"before"
- *
Inserts content before the node
- *
"after"
- *
Inserts content after the node
- *
- * @chainable
- */
- insert: function(content, where) {
- this._insert(content, where);
- return this;
- },
-
- _insert: function(content, where) {
- var node = this._node,
- ret = null;
-
- if (typeof where == 'number') { // allow index
- where = this._node.childNodes[where];
- } else if (where && where._node) { // Node
- where = where._node;
- }
-
- if (content && typeof content != 'string') { // allow Node or NodeList/Array instances
- content = content._node || content._nodes || content;
- }
- ret = Y_DOM.addHTML(node, content, where);
-
- return ret;
- },
-
- /**
- * Inserts the content as the firstChild of the node.
- * @method prepend
- * @param {String | Node | HTMLElement} content The content to insert
- * Use `Y.Escape.html()`
- * to escape html content.
- * @chainable
- */
- prepend: function(content) {
- return this.insert(content, 0);
- },
-
- /**
- * Inserts the content as the lastChild of the node.
- * @method append
- * @param {String | Node | HTMLElement} content The content to insert
- * Use `Y.Escape.html()`
- * to escape html content.
- * @chainable
- */
- append: function(content) {
- return this.insert(content, null);
- },
-
- /**
- * @method appendChild
- * @param {String | HTMLElement | Node} node Node to be appended
- * Use `Y.Escape.html()`
- * to escape html content.
- * @return {Node} The appended node
- */
- appendChild: function(node) {
- return Y_Node.scrubVal(this._insert(node));
- },
-
- /**
- * @method insertBefore
- * @param {String | HTMLElement | Node} newNode Node to be appended
- * @param {HTMLElement | Node} refNode Node to be inserted before
- * Use `Y.Escape.html()`
- * to escape html content.
- * @return {Node} The inserted node
- */
- insertBefore: function(newNode, refNode) {
- return Y.Node.scrubVal(this._insert(newNode, refNode));
- },
-
- /**
- * Appends the node to the given node.
- * @method appendTo
- * @param {Node | HTMLElement} node The node to append to
- * @chainable
- */
- appendTo: function(node) {
- Y.one(node).append(this);
- return this;
- },
-
- /**
- * Replaces the node's current content with the content.
- * Note that this passes to innerHTML and is not escaped.
- * Use `Y.Escape.html()`
- * to escape html content or `set('text')` to add as text.
- * @method setContent
- * @deprecated Use setHTML
- * @param {String | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert
- * @chainable
- */
- setContent: function(content) {
- this._insert(content, 'replace');
- return this;
- },
-
- /**
- * Returns the node's current content (e.g. innerHTML)
- * @method getContent
- * @deprecated Use getHTML
- * @return {String} The current content
- */
- getContent: function() {
- var node = this;
-
- if (node._node.nodeType === 11) { // 11 === Node.DOCUMENT_FRAGMENT_NODE
- // "this", when it is a document fragment, must be cloned because
- // the nodes contained in the fragment actually disappear once
- // the fragment is appended anywhere
- node = node.create("").append(node.cloneNode(true));
- }
-
- return node.get("innerHTML");
- }
-});
-
-/**
- * Replaces the node's current html content with the content provided.
- * Note that this passes to innerHTML and is not escaped.
- * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text.
- * @method setHTML
- * @param {String | HTML | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert
- * @chainable
- */
-Y.Node.prototype.setHTML = Y.Node.prototype.setContent;
-
-/**
- * Returns the node's current html content (e.g. innerHTML)
- * @method getHTML
- * @return {String} The html content
- */
-Y.Node.prototype.getHTML = Y.Node.prototype.getContent;
-
-Y.NodeList.importMethod(Y.Node.prototype, [
- /**
- * Called on each Node instance
- * @for NodeList
- * @method append
- * @see Node.append
- */
- 'append',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method insert
- * @see Node.insert
- */
- 'insert',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method appendChild
- * @see Node.appendChild
- */
- 'appendChild',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method insertBefore
- * @see Node.insertBefore
- */
- 'insertBefore',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method prepend
- * @see Node.prepend
- */
- 'prepend',
-
- /**
- * Called on each Node instance
- * Note that this passes to innerHTML and is not escaped.
- * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text.
- * @for NodeList
- * @method setContent
- * @deprecated Use setHTML
- */
- 'setContent',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method getContent
- * @deprecated Use getHTML
- */
- 'getContent',
-
- /**
- * Called on each Node instance
- * Note that this passes to innerHTML and is not escaped.
- * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text.
- * @for NodeList
- * @method setHTML
- * @see Node.setHTML
- */
- 'setHTML',
-
- /**
- * Called on each Node instance
- * @for NodeList
- * @method getHTML
- * @see Node.getHTML
- */
- 'getHTML'
-]);
-/**
- * @module node
- * @submodule node-base
- */
-
-var Y_Node = Y.Node,
- Y_DOM = Y.DOM;
-
-/**
- * Static collection of configuration attributes for special handling
- * @property ATTRS
- * @static
- * @type object
- */
-Y_Node.ATTRS = {
- /**
- * Allows for getting and setting the text of an element.
- * Formatting is preserved and special characters are treated literally.
- * @config text
- * @type String
- */
- text: {
- getter: function() {
- return Y_DOM.getText(this._node);
- },
-
- setter: function(content) {
- Y_DOM.setText(this._node, content);
- return content;
- }
- },
-
- /**
- * Allows for getting and setting the text of an element.
- * Formatting is preserved and special characters are treated literally.
- * @config for
- * @type String
- */
- 'for': {
- getter: function() {
- return Y_DOM.getAttribute(this._node, 'for');
- },
-
- setter: function(val) {
- Y_DOM.setAttribute(this._node, 'for', val);
- return val;
- }
- },
-
- 'options': {
- getter: function() {
- return this._node.getElementsByTagName('option');
- }
- },
-
- /**
- * Returns a NodeList instance of all HTMLElement children.
- * @readOnly
- * @config children
- * @type NodeList
- */
- 'children': {
- getter: function() {
- var node = this._node,
- children = node.children,
- childNodes, i, len;
-
- if (!children) {
- childNodes = node.childNodes;
- children = [];
-
- for (i = 0, len = childNodes.length; i < len; ++i) {
- if (childNodes[i].tagName) {
- children[children.length] = childNodes[i];
- }
- }
- }
- return Y.all(children);
- }
- },
-
- value: {
- getter: function() {
- return Y_DOM.getValue(this._node);
- },
-
- setter: function(val) {
- Y_DOM.setValue(this._node, val);
- return val;
- }
- }
-};
-
-Y.Node.importMethod(Y.DOM, [
- /**
- * Allows setting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method setAttribute
- * @for Node
- * @for NodeList
- * @chainable
- * @param {string} name The attribute name
- * @param {string} value The value to set
- */
- 'setAttribute',
- /**
- * Allows getting attributes on DOM nodes, normalizing in some cases.
- * This passes through to the DOM node, allowing for custom attributes.
- * @method getAttribute
- * @for Node
- * @for NodeList
- * @param {string} name The attribute name
- * @return {string} The attribute value
- */
- 'getAttribute'
-
-]);
-/**
- * @module node
- * @submodule node-base
- */
-
-var Y_Node = Y.Node;
-var Y_NodeList = Y.NodeList;
-/**
- * List of events that route to DOM events
- * @static
- * @property DOM_EVENTS
- * @for Node
- */
-
-Y_Node.DOM_EVENTS = {
- abort: 1,
- beforeunload: 1,
- blur: 1,
- change: 1,
- click: 1,
- close: 1,
- command: 1,
- contextmenu: 1,
- dblclick: 1,
- DOMMouseScroll: 1,
- drag: 1,
- dragstart: 1,
- dragenter: 1,
- dragover: 1,
- dragleave: 1,
- dragend: 1,
- drop: 1,
- error: 1,
- focus: 1,
- key: 1,
- keydown: 1,
- keypress: 1,
- keyup: 1,
- load: 1,
- message: 1,
- mousedown: 1,
- mouseenter: 1,
- mouseleave: 1,
- mousemove: 1,
- mousemultiwheel: 1,
- mouseout: 1,
- mouseover: 1,
- mouseup: 1,
- mousewheel: 1,
- orientationchange: 1,
- reset: 1,
- resize: 1,
- select: 1,
- selectstart: 1,
- submit: 1,
- scroll: 1,
- textInput: 1,
- unload: 1
-};
-
-// Add custom event adaptors to this list. This will make it so
-// that delegate, key, available, contentready, etc all will
-// be available through Node.on
-Y.mix(Y_Node.DOM_EVENTS, Y.Env.evt.plugins);
-
-Y.augment(Y_Node, Y.EventTarget);
-
-Y.mix(Y_Node.prototype, {
- /**
- * Removes event listeners from the node and (optionally) its subtree
- * @method purge
- * @param {Boolean} recurse (optional) Whether or not to remove listeners from the
- * node's subtree
- * @param {String} type (optional) Only remove listeners of the specified type
- * @chainable
- *
- */
- purge: function(recurse, type) {
- Y.Event.purgeElement(this._node, recurse, type);
- return this;
- }
-
-});
-
-Y.mix(Y.NodeList.prototype, {
- _prepEvtArgs: function(type, fn, context) {
- // map to Y.on/after signature (type, fn, nodes, context, arg1, arg2, etc)
- var args = Y.Array(arguments, 0, true);
-
- if (args.length < 2) { // type only (event hash) just add nodes
- args[2] = this._nodes;
- } else {
- args.splice(2, 0, this._nodes);
- }
-
- args[3] = context || this; // default to NodeList instance as context
-
- return args;
- },
-
- /**
- Subscribe a callback function for each `Node` in the collection to execute
- in response to a DOM event.
-
- NOTE: Generally, the `on()` method should be avoided on `NodeLists`, in
- favor of using event delegation from a parent Node. See the Event user
- guide for details.
-
- Most DOM events are associated with a preventable default behavior, such as
- link clicks navigating to a new page. Callbacks are passed a
- `DOMEventFacade` object as their first argument (usually called `e`) that
- can be used to prevent this default behavior with `e.preventDefault()`. See
- the `DOMEventFacade` API for all available properties and methods on the
- object.
-
- By default, the `this` object will be the `NodeList` that the subscription
- came from, not the `Node` that received the event. Use
- `e.currentTarget` to refer to the `Node`.
-
- Returning `false` from a callback is supported as an alternative to calling
- `e.preventDefault(); e.stopPropagation();`. However, it is recommended to
- use the event methods.
-
- @example
-
- Y.all(".sku").on("keydown", function (e) {
- if (e.keyCode === 13) {
- e.preventDefault();
-
- // Use e.currentTarget to refer to the individual Node
- var item = Y.MyApp.searchInventory( e.currentTarget.get('value') );
- // etc ...
- }
- });
-
- @method on
- @param {String} type The name of the event
- @param {Function} fn The callback to execute in response to the event
- @param {Object} [context] Override `this` object in callback
- @param {Any} [arg*] 0..n additional arguments to supply to the subscriber
- @return {EventHandle} A subscription handle capable of detaching that
- subscription
- @for NodeList
- **/
- on: function(type, fn, context) {
- return Y.on.apply(Y, this._prepEvtArgs.apply(this, arguments));
- },
-
- /**
- * Applies an one-time event listener to each Node bound to the NodeList.
- * @method once
- * @param {String} type The event being listened for
- * @param {Function} fn The handler to call when the event fires
- * @param {Object} context The context to call the handler with.
- * Default is the NodeList instance.
- * @return {EventHandle} A subscription handle capable of detaching that
- * subscription
- * @for NodeList
- */
- once: function(type, fn, context) {
- return Y.once.apply(Y, this._prepEvtArgs.apply(this, arguments));
- },
-
- /**
- * Applies an event listener to each Node bound to the NodeList.
- * The handler is called only after all on() handlers are called
- * and the event is not prevented.
- * @method after
- * @param {String} type The event being listened for
- * @param {Function} fn The handler to call when the event fires
- * @param {Object} context The context to call the handler with.
- * Default is the NodeList instance.
- * @return {EventHandle} A subscription handle capable of detaching that
- * subscription
- * @for NodeList
- */
- after: function(type, fn, context) {
- return Y.after.apply(Y, this._prepEvtArgs.apply(this, arguments));
- },
-
- /**
- * Applies an one-time event listener to each Node bound to the NodeList
- * that will be called only after all on() handlers are called and the
- * event is not prevented.
- *
- * @method onceAfter
- * @param {String} type The event being listened for
- * @param {Function} fn The handler to call when the event fires
- * @param {Object} context The context to call the handler with.
- * Default is the NodeList instance.
- * @return {EventHandle} A subscription handle capable of detaching that
- * subscription
- * @for NodeList
- */
- onceAfter: function(type, fn, context) {
- return Y.onceAfter.apply(Y, this._prepEvtArgs.apply(this, arguments));
- }
-});
-
-Y_NodeList.importMethod(Y.Node.prototype, [
- /**
- * Called on each Node instance
- * @method detach
- * @see Node.detach
- * @for NodeList
- */
- 'detach',
-
- /** Called on each Node instance
- * @method detachAll
- * @see Node.detachAll
- * @for NodeList
- */
- 'detachAll'
-]);
-
-/**
-Subscribe a callback function to execute in response to a DOM event or custom
-event.
-
-Most DOM events are associated with a preventable default behavior such as
-link clicks navigating to a new page. Callbacks are passed a `DOMEventFacade`
-object as their first argument (usually called `e`) that can be used to
-prevent this default behavior with `e.preventDefault()`. See the
-`DOMEventFacade` API for all available properties and methods on the object.
-
-If the event name passed as the first parameter is not a whitelisted DOM event,
-it will be treated as a custom event subscriptions, allowing
-`node.fire('customEventName')` later in the code. Refer to the Event user guide
-for the full DOM event whitelist.
-
-By default, the `this` object in the callback will refer to the subscribed
-`Node`.
-
-Returning `false` from a callback is supported as an alternative to calling
-`e.preventDefault(); e.stopPropagation();`. However, it is recommended to use
-the event methods.
-
-@example
-
- Y.one("#my-form").on("submit", function (e) {
- e.preventDefault();
-
- // proceed with ajax form submission instead...
- });
-
-@method on
-@param {String} type The name of the event
-@param {Function} fn The callback to execute in response to the event
-@param {Object} [context] Override `this` object in callback
-@param {Any} [arg*] 0..n additional arguments to supply to the subscriber
-@return {EventHandle} A subscription handle capable of detaching that
- subscription
-@for Node
-**/
-
-Y.mix(Y.Node.ATTRS, {
- offsetHeight: {
- setter: function(h) {
- Y.DOM.setHeight(this._node, h);
- return h;
- },
-
- getter: function() {
- return this._node.offsetHeight;
- }
- },
-
- offsetWidth: {
- setter: function(w) {
- Y.DOM.setWidth(this._node, w);
- return w;
- },
-
- getter: function() {
- return this._node.offsetWidth;
- }
- }
-});
-
-Y.mix(Y.Node.prototype, {
- sizeTo: function(w, h) {
- var node;
- if (arguments.length < 2) {
- node = Y.one(w);
- w = node.get('offsetWidth');
- h = node.get('offsetHeight');
- }
-
- this.setAttrs({
- offsetWidth: w,
- offsetHeight: h
- });
- }
-});
-/**
- * @module node
- * @submodule node-base
- */
-
-var Y_Node = Y.Node;
-
-Y.mix(Y_Node.prototype, {
- /**
- * Makes the node visible.
- * If the "transition" module is loaded, show optionally
- * animates the showing of the node using either the default
- * transition effect ('fadeIn'), or the given named effect.
- * @method show
- * @for Node
- * @param {String} name A named Transition effect to use as the show effect.
- * @param {Object} config Options to use with the transition.
- * @param {Function} callback An optional function to run after the transition completes.
- * @chainable
- */
- show: function(callback) {
- callback = arguments[arguments.length - 1];
- this.toggleView(true, callback);
- return this;
- },
-
- /**
- * The implementation for showing nodes.
- * Default is to remove the hidden attribute and reset the CSS style.display property.
- * @method _show
- * @protected
- * @chainable
- */
- _show: function() {
- this.removeAttribute('hidden');
-
- // For back-compat we need to leave this in for browsers that
- // do not visually hide a node via the hidden attribute
- // and for users that check visibility based on style display.
- this.setStyle('display', '');
-
- },
-
- _isHidden: function() {
- return this.hasAttribute('hidden') || Y.DOM.getComputedStyle(this._node, 'display') === 'none';
- },
-
- /**
- * Displays or hides the node.
- * If the "transition" module is loaded, toggleView optionally
- * animates the toggling of the node using given named effect.
- * @method toggleView
- * @for Node
- * @param {String} [name] An optional string value to use as transition effect.
- * @param {Boolean} [on] An optional boolean value to force the node to be shown or hidden
- * @param {Function} [callback] An optional function to run after the transition completes.
- * @chainable
- */
- toggleView: function(on, callback) {
- this._toggleView.apply(this, arguments);
- return this;
- },
-
- _toggleView: function(on, callback) {
- callback = arguments[arguments.length - 1];
-
- // base on current state if not forcing
- if (typeof on != 'boolean') {
- on = (this._isHidden()) ? 1 : 0;
- }
-
- if (on) {
- this._show();
- } else {
- this._hide();
- }
-
- if (typeof callback == 'function') {
- callback.call(this);
- }
-
- return this;
- },
-
- /**
- * Hides the node.
- * If the "transition" module is loaded, hide optionally
- * animates the hiding of the node using either the default
- * transition effect ('fadeOut'), or the given named effect.
- * @method hide
- * @param {String} name A named Transition effect to use as the show effect.
- * @param {Object} config Options to use with the transition.
- * @param {Function} callback An optional function to run after the transition completes.
- * @chainable
- */
- hide: function(callback) {
- callback = arguments[arguments.length - 1];
- this.toggleView(false, callback);
- return this;
- },
-
- /**
- * The implementation for hiding nodes.
- * Default is to set the hidden attribute to true and set the CSS style.display to 'none'.
- * @method _hide
- * @protected
- * @chainable
- */
- _hide: function() {
- this.setAttribute('hidden', '');
-
- // For back-compat we need to leave this in for browsers that
- // do not visually hide a node via the hidden attribute
- // and for users that check visibility based on style display.
- this.setStyle('display', 'none');
- }
-});
-
-Y.NodeList.importMethod(Y.Node.prototype, [
- /**
- * Makes each node visible.
- * If the "transition" module is loaded, show optionally
- * animates the showing of the node using either the default
- * transition effect ('fadeIn'), or the given named effect.
- * @method show
- * @param {String} name A named Transition effect to use as the show effect.
- * @param {Object} config Options to use with the transition.
- * @param {Function} callback An optional function to run after the transition completes.
- * @for NodeList
- * @chainable
- */
- 'show',
-
- /**
- * Hides each node.
- * If the "transition" module is loaded, hide optionally
- * animates the hiding of the node using either the default
- * transition effect ('fadeOut'), or the given named effect.
- * @method hide
- * @param {String} name A named Transition effect to use as the show effect.
- * @param {Object} config Options to use with the transition.
- * @param {Function} callback An optional function to run after the transition completes.
- * @chainable
- */
- 'hide',
-
- /**
- * Displays or hides each node.
- * If the "transition" module is loaded, toggleView optionally
- * animates the toggling of the nodes using given named effect.
- * @method toggleView
- * @param {String} [name] An optional string value to use as transition effect.
- * @param {Boolean} [on] An optional boolean value to force the nodes to be shown or hidden
- * @param {Function} [callback] An optional function to run after the transition completes.
- * @chainable
- */
- 'toggleView'
-]);
-
-if (!Y.config.doc.documentElement.hasAttribute) { // IE < 8
- Y.Node.prototype.hasAttribute = function(attr) {
- if (attr === 'value') {
- if (this.get('value') !== "") { // IE < 8 fails to populate specified when set in HTML
- return true;
- }
- }
- return !!(this._node.attributes[attr] &&
- this._node.attributes[attr].specified);
- };
-}
-
-// IE throws an error when calling focus() on an element that's invisible, not
-// displayed, or disabled.
-Y.Node.prototype.focus = function () {
- try {
- this._node.focus();
- } catch (e) {
- Y.log('error focusing node: ' + e.toString(), 'error', 'node');
- }
-
- return this;
-};
-
-// IE throws error when setting input.type = 'hidden',
-// input.setAttribute('type', 'hidden') and input.attributes.type.value = 'hidden'
-Y.Node.ATTRS.type = {
- setter: function(val) {
- if (val === 'hidden') {
- try {
- this._node.type = 'hidden';
- } catch(e) {
- this.setStyle('display', 'none');
- this._inputType = 'hidden';
- }
- } else {
- try { // IE errors when changing the type from "hidden'
- this._node.type = val;
- } catch (e) {
- Y.log('error setting type: ' + val, 'info', 'node');
- }
- }
- return val;
- },
-
- getter: function() {
- return this._inputType || this._node.type;
- },
-
- _bypassProxy: true // don't update DOM when using with Attribute
-};
-
-if (Y.config.doc.createElement('form').elements.nodeType) {
- // IE: elements collection is also FORM node which trips up scrubVal.
- Y.Node.ATTRS.elements = {
- getter: function() {
- return this.all('input, textarea, button, select');
- }
- };
-}
-
-/**
- * Provides methods for managing custom Node data.
- *
- * @module node
- * @main node
- * @submodule node-data
- */
-
-Y.mix(Y.Node.prototype, {
- _initData: function() {
- if (! ('_data' in this)) {
- this._data = {};
- }
- },
-
- /**
- * @method getData
- * @for Node
- * @description Retrieves arbitrary data stored on a Node instance.
- * If no data is associated with the Node, it will attempt to retrieve
- * a value from the corresponding HTML data attribute. (e.g. node.getData('foo')
- * will check node.getAttribute('data-foo')).
- * @param {string} name Optional name of the data field to retrieve.
- * If no name is given, all data is returned.
- * @return {any | Object} Whatever is stored at the given field,
- * or an object hash of all fields.
- */
- getData: function(name) {
- this._initData();
- var data = this._data,
- ret = data;
-
- if (arguments.length) { // single field
- if (name in data) {
- ret = data[name];
- } else { // initialize from HTML attribute
- ret = this._getDataAttribute(name);
- }
- } else if (typeof data == 'object' && data !== null) { // all fields
- ret = {};
- Y.Object.each(data, function(v, n) {
- ret[n] = v;
- });
-
- ret = this._getDataAttributes(ret);
- }
-
- return ret;
-
- },
-
- _getDataAttributes: function(ret) {
- ret = ret || {};
- var i = 0,
- attrs = this._node.attributes,
- len = attrs.length,
- prefix = this.DATA_PREFIX,
- prefixLength = prefix.length,
- name;
-
- while (i < len) {
- name = attrs[i].name;
- if (name.indexOf(prefix) === 0) {
- name = name.substr(prefixLength);
- if (!(name in ret)) { // only merge if not already stored
- ret[name] = this._getDataAttribute(name);
- }
- }
-
- i += 1;
- }
-
- return ret;
- },
-
- _getDataAttribute: function(name) {
- name = this.DATA_PREFIX + name;
-
- var node = this._node,
- attrs = node.attributes,
- data = attrs && attrs[name] && attrs[name].value;
-
- return data;
- },
-
- /**
- * @method setData
- * @for Node
- * @description Stores arbitrary data on a Node instance.
- * This is not stored with the DOM node.
- * @param {string} name The name of the field to set. If no val
- * is given, name is treated as the data and overrides any existing data.
- * @param {any} val The value to be assigned to the field.
- * @chainable
- */
- setData: function(name, val) {
- this._initData();
- if (arguments.length > 1) {
- this._data[name] = val;
- } else {
- this._data = name;
- }
-
- return this;
- },
-
- /**
- * @method clearData
- * @for Node
- * @description Clears internally stored data.
- * @param {string} name The name of the field to clear. If no name
- * is given, all data is cleared.
- * @chainable
- */
- clearData: function(name) {
- if ('_data' in this) {
- if (typeof name != 'undefined') {
- delete this._data[name];
- } else {
- delete this._data;
- }
- }
-
- return this;
- }
-});
-
-Y.mix(Y.NodeList.prototype, {
- /**
- * @method getData
- * @for NodeList
- * @description Retrieves arbitrary data stored on each Node instance
- * bound to the NodeList.
- * @see Node
- * @param {string} name Optional name of the data field to retrieve.
- * If no name is given, all data is returned.
- * @return {Array} An array containing all of the data for each Node instance.
- * or an object hash of all fields.
- */
- getData: function(name) {
- var args = (arguments.length) ? [name] : [];
- return this._invoke('getData', args, true);
- },
-
- /**
- * @method setData
- * @for NodeList
- * @description Stores arbitrary data on each Node instance bound to the
- * NodeList. This is not stored with the DOM node.
- * @param {string} name The name of the field to set. If no name
- * is given, name is treated as the data and overrides any existing data.
- * @param {any} val The value to be assigned to the field.
- * @chainable
- */
- setData: function(name, val) {
- var args = (arguments.length > 1) ? [name, val] : [name];
- return this._invoke('setData', args);
- },
-
- /**
- * @method clearData
- * @for NodeList
- * @description Clears data on all Node instances bound to the NodeList.
- * @param {string} name The name of the field to clear. If no name
- * is given, all data is cleared.
- * @chainable
- */
- clearData: function(name) {
- var args = (arguments.length) ? [name] : [];
- return this._invoke('clearData', [name]);
- }
-});
-
-
-}, '3.12.0', {"requires": ["event-base", "node-core", "dom-base", "dom-style"]});
-(function () {
-var GLOBAL_ENV = YUI.Env;
-
-if (!GLOBAL_ENV._ready) {
- GLOBAL_ENV._ready = function() {
- GLOBAL_ENV.DOMReady = true;
- GLOBAL_ENV.remove(YUI.config.doc, 'DOMContentLoaded', GLOBAL_ENV._ready);
- };
-
- GLOBAL_ENV.add(YUI.config.doc, 'DOMContentLoaded', GLOBAL_ENV._ready);
-}
-})();
-YUI.add('event-base', function (Y, NAME) {
-
-/*
- * DOM event listener abstraction layer
- * @module event
- * @submodule event-base
- */
-
-/**
- * The domready event fires at the moment the browser's DOM is
- * usable. In most cases, this is before images are fully
- * downloaded, allowing you to provide a more responsive user
- * interface.
- *
- * In YUI 3, domready subscribers will be notified immediately if
- * that moment has already passed when the subscription is created.
- *
- * One exception is if the yui.js file is dynamically injected into
- * the page. If this is done, you must tell the YUI instance that
- * you did this in order for DOMReady (and window load events) to
- * fire normally. That configuration option is 'injected' -- set
- * it to true if the yui.js script is not included inline.
- *
- * This method is part of the 'event-ready' module, which is a
- * submodule of 'event'.
- *
- * @event domready
- * @for YUI
- */
-Y.publish('domready', {
- fireOnce: true,
- async: true
-});
-
-if (YUI.Env.DOMReady) {
- Y.fire('domready');
-} else {
- Y.Do.before(function() { Y.fire('domready'); }, YUI.Env, '_ready');
-}
-
-/**
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event
- * @submodule event-base
- */
-
-/**
- * Wraps a DOM event, properties requiring browser abstraction are
- * fixed here. Provids a security layer when required.
- * @class DOMEventFacade
- * @param ev {Event} the DOM event
- * @param currentTarget {HTMLElement} the element the listener was attached to
- * @param wrapper {Event.Custom} the custom event wrapper for this DOM event
- */
-
- var ua = Y.UA,
-
- EMPTY = {},
-
- /**
- * webkit key remapping required for Safari < 3.1
- * @property webkitKeymap
- * @private
- */
- webkitKeymap = {
- 63232: 38, // up
- 63233: 40, // down
- 63234: 37, // left
- 63235: 39, // right
- 63276: 33, // page up
- 63277: 34, // page down
- 25: 9, // SHIFT-TAB (Safari provides a different key code in
- // this case, even though the shiftKey modifier is set)
- 63272: 46, // delete
- 63273: 36, // home
- 63275: 35 // end
- },
-
- /**
- * Returns a wrapped node. Intended to be used on event targets,
- * so it will return the node's parent if the target is a text
- * node.
- *
- * If accessing a property of the node throws an error, this is
- * probably the anonymous div wrapper Gecko adds inside text
- * nodes. This likely will only occur when attempting to access
- * the relatedTarget. In this case, we now return null because
- * the anonymous div is completely useless and we do not know
- * what the related target was because we can't even get to
- * the element's parent node.
- *
- * @method resolve
- * @private
- */
- resolve = function(n) {
- if (!n) {
- return n;
- }
- try {
- if (n && 3 == n.nodeType) {
- n = n.parentNode;
- }
- } catch(e) {
- return null;
- }
-
- return Y.one(n);
- },
-
- DOMEventFacade = function(ev, currentTarget, wrapper) {
- this._event = ev;
- this._currentTarget = currentTarget;
- this._wrapper = wrapper || EMPTY;
-
- // if not lazy init
- this.init();
- };
-
-Y.extend(DOMEventFacade, Object, {
-
- init: function() {
-
- var e = this._event,
- overrides = this._wrapper.overrides,
- x = e.pageX,
- y = e.pageY,
- c,
- currentTarget = this._currentTarget;
-
- this.altKey = e.altKey;
- this.ctrlKey = e.ctrlKey;
- this.metaKey = e.metaKey;
- this.shiftKey = e.shiftKey;
- this.type = (overrides && overrides.type) || e.type;
- this.clientX = e.clientX;
- this.clientY = e.clientY;
-
- this.pageX = x;
- this.pageY = y;
-
- // charCode is unknown in keyup, keydown. keyCode is unknown in keypress.
- // FF 3.6 - 8+? pass 0 for keyCode in keypress events.
- // Webkit, FF 3.6-8+?, and IE9+? pass 0 for charCode in keydown, keyup.
- // Webkit and IE9+? duplicate charCode in keyCode.
- // Opera never sets charCode, always keyCode (though with the charCode).
- // IE6-8 don't set charCode or which.
- // All browsers other than IE6-8 set which=keyCode in keydown, keyup, and
- // which=charCode in keypress.
- //
- // Moral of the story: (e.which || e.keyCode) will always return the
- // known code for that key event phase. e.keyCode is often different in
- // keypress from keydown and keyup.
- c = e.keyCode || e.charCode;
-
- if (ua.webkit && (c in webkitKeymap)) {
- c = webkitKeymap[c];
- }
-
- this.keyCode = c;
- this.charCode = c;
- // Fill in e.which for IE - implementers should always use this over
- // e.keyCode or e.charCode.
- this.which = e.which || e.charCode || c;
- // this.button = e.button;
- this.button = this.which;
-
- this.target = resolve(e.target);
- this.currentTarget = resolve(currentTarget);
- this.relatedTarget = resolve(e.relatedTarget);
-
- if (e.type == "mousewheel" || e.type == "DOMMouseScroll") {
- this.wheelDelta = (e.detail) ? (e.detail * -1) : Math.round(e.wheelDelta / 80) || ((e.wheelDelta < 0) ? -1 : 1);
- }
-
- if (this._touch) {
- this._touch(e, currentTarget, this._wrapper);
- }
- },
-
- stopPropagation: function() {
- this._event.stopPropagation();
- this._wrapper.stopped = 1;
- this.stopped = 1;
- },
-
- stopImmediatePropagation: function() {
- var e = this._event;
- if (e.stopImmediatePropagation) {
- e.stopImmediatePropagation();
- } else {
- this.stopPropagation();
- }
- this._wrapper.stopped = 2;
- this.stopped = 2;
- },
-
- preventDefault: function(returnValue) {
- var e = this._event;
- e.preventDefault();
- e.returnValue = returnValue || false;
- this._wrapper.prevented = 1;
- this.prevented = 1;
- },
-
- halt: function(immediate) {
- if (immediate) {
- this.stopImmediatePropagation();
- } else {
- this.stopPropagation();
- }
-
- this.preventDefault();
- }
-
-});
-
-DOMEventFacade.resolve = resolve;
-Y.DOM2EventFacade = DOMEventFacade;
-Y.DOMEventFacade = DOMEventFacade;
-
- /**
- * The native event
- * @property _event
- * @type {Native DOM Event}
- * @private
- */
-
- /**
- The name of the event (e.g. "click")
-
- @property type
- @type {String}
- **/
-
- /**
- `true` if the "alt" or "option" key is pressed.
-
- @property altKey
- @type {Boolean}
- **/
-
- /**
- `true` if the shift key is pressed.
-
- @property shiftKey
- @type {Boolean}
- **/
-
- /**
- `true` if the "Windows" key on a Windows keyboard, "command" key on an
- Apple keyboard, or "meta" key on other keyboards is pressed.
-
- @property metaKey
- @type {Boolean}
- **/
-
- /**
- `true` if the "Ctrl" or "control" key is pressed.
-
- @property ctrlKey
- @type {Boolean}
- **/
-
- /**
- * The X location of the event on the page (including scroll)
- * @property pageX
- * @type {Number}
- */
-
- /**
- * The Y location of the event on the page (including scroll)
- * @property pageY
- * @type {Number}
- */
-
- /**
- * The X location of the event in the viewport
- * @property clientX
- * @type {Number}
- */
-
- /**
- * The Y location of the event in the viewport
- * @property clientY
- * @type {Number}
- */
-
- /**
- * The keyCode for key events. Uses charCode if keyCode is not available
- * @property keyCode
- * @type {Number}
- */
-
- /**
- * The charCode for key events. Same as keyCode
- * @property charCode
- * @type {Number}
- */
-
- /**
- * The button that was pushed. 1 for left click, 2 for middle click, 3 for
- * right click. This is only reliably populated on `mouseup` events.
- * @property button
- * @type {Number}
- */
-
- /**
- * The button that was pushed. Same as button.
- * @property which
- * @type {Number}
- */
-
- /**
- * Node reference for the targeted element
- * @property target
- * @type {Node}
- */
-
- /**
- * Node reference for the element that the listener was attached to.
- * @property currentTarget
- * @type {Node}
- */
-
- /**
- * Node reference to the relatedTarget
- * @property relatedTarget
- * @type {Node}
- */
-
- /**
- * Number representing the direction and velocity of the movement of the mousewheel.
- * Negative is down, the higher the number, the faster. Applies to the mousewheel event.
- * @property wheelDelta
- * @type {Number}
- */
-
- /**
- * Stops the propagation to the next bubble target
- * @method stopPropagation
- */
-
- /**
- * Stops the propagation to the next bubble target and
- * prevents any additional listeners from being exectued
- * on the current target.
- * @method stopImmediatePropagation
- */
-
- /**
- * Prevents the event's default behavior
- * @method preventDefault
- * @param returnValue {string} sets the returnValue of the event to this value
- * (rather than the default false value). This can be used to add a customized
- * confirmation query to the beforeunload event).
- */
-
- /**
- * Stops the event propagation and prevents the default
- * event behavior.
- * @method halt
- * @param immediate {boolean} if true additional listeners
- * on the current target will not be executed
- */
-(function() {
-
-/**
- * The event utility provides functions to add and remove event listeners,
- * event cleansing. It also tries to automatically remove listeners it
- * registers during the unload event.
- * @module event
- * @main event
- * @submodule event-base
- */
-
-/**
- * The event utility provides functions to add and remove event listeners,
- * event cleansing. It also tries to automatically remove listeners it
- * registers during the unload event.
- *
- * @class Event
- * @static
- */
-
-Y.Env.evt.dom_wrappers = {};
-Y.Env.evt.dom_map = {};
-
-var _eventenv = Y.Env.evt,
- config = Y.config,
- win = config.win,
- add = YUI.Env.add,
- remove = YUI.Env.remove,
-
- onLoad = function() {
- YUI.Env.windowLoaded = true;
- Y.Event._load();
- remove(win, "load", onLoad);
- },
-
- onUnload = function() {
- Y.Event._unload();
- },
-
- EVENT_READY = 'domready',
-
- COMPAT_ARG = '~yui|2|compat~',
-
- shouldIterate = function(o) {
- try {
- // TODO: See if there's a more performant way to return true early on this, for the common case
- return (o && typeof o !== "string" && Y.Lang.isNumber(o.length) && !o.tagName && !Y.DOM.isWindow(o));
- } catch(ex) {
- Y.log("collection check failure", "warn", "event");
- return false;
- }
- },
-
- // aliases to support DOM event subscription clean up when the last
- // subscriber is detached. deleteAndClean overrides the DOM event's wrapper
- // CustomEvent _delete method.
- _ceProtoDelete = Y.CustomEvent.prototype._delete,
- _deleteAndClean = function(s) {
- var ret = _ceProtoDelete.apply(this, arguments);
-
- if (!this.hasSubs()) {
- Y.Event._clean(this);
- }
-
- return ret;
- },
-
-Event = function() {
-
- /**
- * True after the onload event has fired
- * @property _loadComplete
- * @type boolean
- * @static
- * @private
- */
- var _loadComplete = false,
-
- /**
- * The number of times to poll after window.onload. This number is
- * increased if additional late-bound handlers are requested after
- * the page load.
- * @property _retryCount
- * @static
- * @private
- */
- _retryCount = 0,
-
- /**
- * onAvailable listeners
- * @property _avail
- * @static
- * @private
- */
- _avail = [],
-
- /**
- * Custom event wrappers for DOM events. Key is
- * 'event:' + Element uid stamp + event type
- * @property _wrappers
- * @type Y.Event.Custom
- * @static
- * @private
- */
- _wrappers = _eventenv.dom_wrappers,
-
- _windowLoadKey = null,
-
- /**
- * Custom event wrapper map DOM events. Key is
- * Element uid stamp. Each item is a hash of custom event
- * wrappers as provided in the _wrappers collection. This
- * provides the infrastructure for getListeners.
- * @property _el_events
- * @static
- * @private
- */
- _el_events = _eventenv.dom_map;
-
- return {
-
- /**
- * The number of times we should look for elements that are not
- * in the DOM at the time the event is requested after the document
- * has been loaded. The default is 1000@amp;40 ms, so it will poll
- * for 40 seconds or until all outstanding handlers are bound
- * (whichever comes first).
- * @property POLL_RETRYS
- * @type int
- * @static
- * @final
- */
- POLL_RETRYS: 1000,
-
- /**
- * The poll interval in milliseconds
- * @property POLL_INTERVAL
- * @type int
- * @static
- * @final
- */
- POLL_INTERVAL: 40,
-
- /**
- * addListener/removeListener can throw errors in unexpected scenarios.
- * These errors are suppressed, the method returns false, and this property
- * is set
- * @property lastError
- * @static
- * @type Error
- */
- lastError: null,
-
-
- /**
- * poll handle
- * @property _interval
- * @static
- * @private
- */
- _interval: null,
-
- /**
- * document readystate poll handle
- * @property _dri
- * @static
- * @private
- */
- _dri: null,
-
- /**
- * True when the document is initially usable
- * @property DOMReady
- * @type boolean
- * @static
- */
- DOMReady: false,
-
- /**
- * @method startInterval
- * @static
- * @private
- */
- startInterval: function() {
- if (!Event._interval) {
-Event._interval = setInterval(Event._poll, Event.POLL_INTERVAL);
- }
- },
-
- /**
- * Executes the supplied callback when the item with the supplied
- * id is found. This is meant to be used to execute behavior as
- * soon as possible as the page loads. If you use this after the
- * initial page load it will poll for a fixed time for the element.
- * The number of times it will poll and the frequency are
- * configurable. By default it will poll for 10 seconds.
- *
- *
The callback is executed with a single parameter:
- * the custom object parameter, if provided.
- *
- * @method onAvailable
- *
- * @param {string||string[]} id the id of the element, or an array
- * of ids to look for.
- * @param {function} fn what to execute when the element is found.
- * @param {object} p_obj an optional object to be passed back as
- * a parameter to fn.
- * @param {boolean|object} p_override If set to true, fn will execute
- * in the context of p_obj, if set to an object it
- * will execute in the context of that object
- * @param checkContent {boolean} check child node readiness (onContentReady)
- * @static
- * @deprecated Use Y.on("available")
- */
- // @TODO fix arguments
- onAvailable: function(id, fn, p_obj, p_override, checkContent, compat) {
-
- var a = Y.Array(id), i, availHandle;
-
- // Y.log('onAvailable registered for: ' + id);
-
- for (i=0; iThe callback is executed with a single parameter:
- * the custom object parameter, if provided.
- *
- * @method onContentReady
- *
- * @param {string} id the id of the element to look for.
- * @param {function} fn what to execute when the element is ready.
- * @param {object} obj an optional object to be passed back as
- * a parameter to fn.
- * @param {boolean|object} override If set to true, fn will execute
- * in the context of p_obj. If an object, fn will
- * exectute in the context of that object
- *
- * @static
- * @deprecated Use Y.on("contentready")
- */
- // @TODO fix arguments
- onContentReady: function(id, fn, obj, override, compat) {
- return Event.onAvailable(id, fn, obj, override, true, compat);
- },
-
- /**
- * Adds an event listener
- *
- * @method attach
- *
- * @param {String} type The type of event to append
- * @param {Function} fn The method the event invokes
- * @param {String|HTMLElement|Array|NodeList} el An id, an element
- * reference, or a collection of ids and/or elements to assign the
- * listener to.
- * @param {Object} context optional context object
- * @param {Boolean|object} args 0..n arguments to pass to the callback
- * @return {EventHandle} an object to that can be used to detach the listener
- *
- * @static
- */
-
- attach: function(type, fn, el, context) {
- return Event._attach(Y.Array(arguments, 0, true));
- },
-
- _createWrapper: function (el, type, capture, compat, facade) {
-
- var cewrapper,
- ek = Y.stamp(el),
- key = 'event:' + ek + type;
-
- if (false === facade) {
- key += 'native';
- }
- if (capture) {
- key += 'capture';
- }
-
-
- cewrapper = _wrappers[key];
-
-
- if (!cewrapper) {
- // create CE wrapper
- cewrapper = Y.publish(key, {
- silent: true,
- bubbles: false,
- emitFacade:false,
- contextFn: function() {
- if (compat) {
- return cewrapper.el;
- } else {
- cewrapper.nodeRef = cewrapper.nodeRef || Y.one(cewrapper.el);
- return cewrapper.nodeRef;
- }
- }
- });
-
- cewrapper.overrides = {};
-
- // for later removeListener calls
- cewrapper.el = el;
- cewrapper.key = key;
- cewrapper.domkey = ek;
- cewrapper.type = type;
- cewrapper.fn = function(e) {
- cewrapper.fire(Event.getEvent(e, el, (compat || (false === facade))));
- };
- cewrapper.capture = capture;
-
- if (el == win && type == "load") {
- // window load happens once
- cewrapper.fireOnce = true;
- _windowLoadKey = key;
- }
- cewrapper._delete = _deleteAndClean;
-
- _wrappers[key] = cewrapper;
- _el_events[ek] = _el_events[ek] || {};
- _el_events[ek][key] = cewrapper;
-
- add(el, type, cewrapper.fn, capture);
- }
-
- return cewrapper;
-
- },
-
- _attach: function(args, conf) {
-
- var compat,
- handles, oEl, cewrapper, context,
- fireNow = false, ret,
- type = args[0],
- fn = args[1],
- el = args[2] || win,
- facade = conf && conf.facade,
- capture = conf && conf.capture,
- overrides = conf && conf.overrides;
-
- if (args[args.length-1] === COMPAT_ARG) {
- compat = true;
- }
-
- if (!fn || !fn.call) {
-// throw new TypeError(type + " attach call failed, callback undefined");
-Y.log(type + " attach call failed, invalid callback", "error", "event");
- return false;
- }
-
- // The el argument can be an array of elements or element ids.
- if (shouldIterate(el)) {
-
- handles=[];
-
- Y.each(el, function(v, k) {
- args[2] = v;
- handles.push(Event._attach(args.slice(), conf));
- });
-
- // return (handles.length === 1) ? handles[0] : handles;
- return new Y.EventHandle(handles);
-
- // If the el argument is a string, we assume it is
- // actually the id of the element. If the page is loaded
- // we convert el to the actual element, otherwise we
- // defer attaching the event until the element is
- // ready
- } else if (Y.Lang.isString(el)) {
-
- // oEl = (compat) ? Y.DOM.byId(el) : Y.Selector.query(el);
-
- if (compat) {
- oEl = Y.DOM.byId(el);
- } else {
-
- oEl = Y.Selector.query(el);
-
- switch (oEl.length) {
- case 0:
- oEl = null;
- break;
- case 1:
- oEl = oEl[0];
- break;
- default:
- args[2] = oEl;
- return Event._attach(args, conf);
- }
- }
-
- if (oEl) {
-
- el = oEl;
-
- // Not found = defer adding the event until the element is available
- } else {
-
- // Y.log(el + ' not found');
- ret = Event.onAvailable(el, function() {
- // Y.log('lazy attach: ' + args);
-
- ret.handle = Event._attach(args, conf);
-
- }, Event, true, false, compat);
-
- return ret;
-
- }
- }
-
- // Element should be an html element or node
- if (!el) {
- Y.log("unable to attach event " + type, "warn", "event");
- return false;
- }
-
- if (Y.Node && Y.instanceOf(el, Y.Node)) {
- el = Y.Node.getDOMNode(el);
- }
-
- cewrapper = Event._createWrapper(el, type, capture, compat, facade);
- if (overrides) {
- Y.mix(cewrapper.overrides, overrides);
- }
-
- if (el == win && type == "load") {
-
- // if the load is complete, fire immediately.
- // all subscribers, including the current one
- // will be notified.
- if (YUI.Env.windowLoaded) {
- fireNow = true;
- }
- }
-
- if (compat) {
- args.pop();
- }
-
- context = args[3];
-
- // set context to the Node if not specified
- // ret = cewrapper.on.apply(cewrapper, trimmedArgs);
- ret = cewrapper._on(fn, context, (args.length > 4) ? args.slice(4) : null);
-
- if (fireNow) {
- cewrapper.fire();
- }
-
- return ret;
-
- },
-
- /**
- * Removes an event listener. Supports the signature the event was bound
- * with, but the preferred way to remove listeners is using the handle
- * that is returned when using Y.on
- *
- * @method detach
- *
- * @param {String} type the type of event to remove.
- * @param {Function} fn the method the event invokes. If fn is
- * undefined, then all event handlers for the type of event are
- * removed.
- * @param {String|HTMLElement|Array|NodeList|EventHandle} el An
- * event handle, an id, an element reference, or a collection
- * of ids and/or elements to remove the listener from.
- * @return {boolean} true if the unbind was successful, false otherwise.
- * @static
- */
- detach: function(type, fn, el, obj) {
-
- var args=Y.Array(arguments, 0, true), compat, l, ok, i,
- id, ce;
-
- if (args[args.length-1] === COMPAT_ARG) {
- compat = true;
- // args.pop();
- }
-
- if (type && type.detach) {
- return type.detach();
- }
-
- // The el argument can be a string
- if (typeof el == "string") {
-
- // el = (compat) ? Y.DOM.byId(el) : Y.all(el);
- if (compat) {
- el = Y.DOM.byId(el);
- } else {
- el = Y.Selector.query(el);
- l = el.length;
- if (l < 1) {
- el = null;
- } else if (l == 1) {
- el = el[0];
- }
- }
- // return Event.detach.apply(Event, args);
- }
-
- if (!el) {
- return false;
- }
-
- if (el.detach) {
- args.splice(2, 1);
- return el.detach.apply(el, args);
- // The el argument can be an array of elements or element ids.
- } else if (shouldIterate(el)) {
- ok = true;
- for (i=0, l=el.length; i 0);
- }
-
- // onAvailable
- notAvail = [];
-
- executeItem = function (el, item) {
- var context, ov = item.override;
- try {
- if (item.compat) {
- if (item.override) {
- if (ov === true) {
- context = item.obj;
- } else {
- context = ov;
- }
- } else {
- context = el;
- }
- item.fn.call(context, item.obj);
- } else {
- context = item.obj || Y.one(el);
- item.fn.apply(context, (Y.Lang.isArray(ov)) ? ov : []);
- }
- } catch (e) {
- Y.log("Error in available or contentReady callback", 'error', 'event');
- }
- };
-
- // onAvailable
- for (i=0,len=_avail.length; i 4 ? Y.Array(arguments, 4, true) : null;
- return Y.Event.onAvailable.call(Y.Event, id, fn, o, a);
- }
-};
-
-/**
- * Executes the callback as soon as the specified element
- * is detected in the DOM with a nextSibling property
- * (indicating that the element's children are available).
- * This function expects a selector
- * string for the element(s) to detect. If you already have
- * an element reference, you don't need this event.
- * @event contentready
- * @param type {string} 'contentready'
- * @param fn {function} the callback function to execute.
- * @param el {string} an selector for the element(s) to attach.
- * @param context optional argument that specifies what 'this' refers to.
- * @param args* 0..n additional arguments to pass on to the callback function.
- * These arguments will be added after the event object.
- * @return {EventHandle} the detach handle
- * @for YUI
- */
-Y.Env.evt.plugins.contentready = {
- on: function(type, fn, id, o) {
- var a = arguments.length > 4 ? Y.Array(arguments, 4, true) : null;
- return Y.Event.onContentReady.call(Y.Event, id, fn, o, a);
- }
-};
-
-
-}, '3.12.0', {"requires": ["event-custom-base"]});
-(function() {
-
-var stateChangeListener,
- GLOBAL_ENV = YUI.Env,
- config = YUI.config,
- doc = config.doc,
- docElement = doc && doc.documentElement,
- EVENT_NAME = 'onreadystatechange',
- pollInterval = config.pollInterval || 40;
-
-if (docElement.doScroll && !GLOBAL_ENV._ieready) {
- GLOBAL_ENV._ieready = function() {
- GLOBAL_ENV._ready();
- };
-
-/*! DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
-// Internet Explorer: use the doScroll() method on the root element.
-// This isolates what appears to be a safe moment to manipulate the
-// DOM prior to when the document's readyState suggests it is safe to do so.
- if (self !== self.top) {
- stateChangeListener = function() {
- if (doc.readyState == 'complete') {
- GLOBAL_ENV.remove(doc, EVENT_NAME, stateChangeListener);
- GLOBAL_ENV.ieready();
- }
- };
- GLOBAL_ENV.add(doc, EVENT_NAME, stateChangeListener);
- } else {
- GLOBAL_ENV._dri = setInterval(function() {
- try {
- docElement.doScroll('left');
- clearInterval(GLOBAL_ENV._dri);
- GLOBAL_ENV._dri = null;
- GLOBAL_ENV._ieready();
- } catch (domNotReady) { }
- }, pollInterval);
- }
-}
-
-})();
-YUI.add('event-base-ie', function (Y, NAME) {
-
-/*
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event
- * @submodule event-base
- */
-
-function IEEventFacade() {
- // IEEventFacade.superclass.constructor.apply(this, arguments);
- Y.DOM2EventFacade.apply(this, arguments);
-}
-
-/*
- * (intentially left out of API docs)
- * Alternate Facade implementation that is based on Object.defineProperty, which
- * is partially supported in IE8. Properties that involve setup work are
- * deferred to temporary getters using the static _define method.
- */
-function IELazyFacade(e) {
- var proxy = Y.config.doc.createEventObject(e),
- proto = IELazyFacade.prototype;
-
- // TODO: necessary?
- proxy.hasOwnProperty = function () { return true; };
-
- proxy.init = proto.init;
- proxy.halt = proto.halt;
- proxy.preventDefault = proto.preventDefault;
- proxy.stopPropagation = proto.stopPropagation;
- proxy.stopImmediatePropagation = proto.stopImmediatePropagation;
-
- Y.DOM2EventFacade.apply(proxy, arguments);
-
- return proxy;
-}
-
-
-var imp = Y.config.doc && Y.config.doc.implementation,
- useLazyFacade = Y.config.lazyEventFacade,
-
- buttonMap = {
- 0: 1, // left click
- 4: 2, // middle click
- 2: 3 // right click
- },
- relatedTargetMap = {
- mouseout: 'toElement',
- mouseover: 'fromElement'
- },
-
- resolve = Y.DOM2EventFacade.resolve,
-
- proto = {
- init: function() {
-
- IEEventFacade.superclass.init.apply(this, arguments);
-
- var e = this._event,
- x, y, d, b, de, t;
-
- this.target = resolve(e.srcElement);
-
- if (('clientX' in e) && (!x) && (0 !== x)) {
- x = e.clientX;
- y = e.clientY;
-
- d = Y.config.doc;
- b = d.body;
- de = d.documentElement;
-
- x += (de.scrollLeft || (b && b.scrollLeft) || 0);
- y += (de.scrollTop || (b && b.scrollTop) || 0);
-
- this.pageX = x;
- this.pageY = y;
- }
-
- if (e.type == "mouseout") {
- t = e.toElement;
- } else if (e.type == "mouseover") {
- t = e.fromElement;
- }
-
- // fallback to t.relatedTarget to support simulated events.
- // IE doesn't support setting toElement or fromElement on generic
- // events, so Y.Event.simulate sets relatedTarget instead.
- this.relatedTarget = resolve(t || e.relatedTarget);
-
- // which should contain the unicode key code if this is a key event.
- // For click events, which is normalized for which mouse button was
- // clicked.
- this.which = // chained assignment
- this.button = e.keyCode || buttonMap[e.button] || e.button;
- },
-
- stopPropagation: function() {
- this._event.cancelBubble = true;
- this._wrapper.stopped = 1;
- this.stopped = 1;
- },
-
- stopImmediatePropagation: function() {
- this.stopPropagation();
- this._wrapper.stopped = 2;
- this.stopped = 2;
- },
-
- preventDefault: function(returnValue) {
- this._event.returnValue = returnValue || false;
- this._wrapper.prevented = 1;
- this.prevented = 1;
- }
- };
-
-Y.extend(IEEventFacade, Y.DOM2EventFacade, proto);
-
-Y.extend(IELazyFacade, Y.DOM2EventFacade, proto);
-IELazyFacade.prototype.init = function () {
- var e = this._event,
- overrides = this._wrapper.overrides,
- define = IELazyFacade._define,
- lazyProperties = IELazyFacade._lazyProperties,
- prop;
-
- this.altKey = e.altKey;
- this.ctrlKey = e.ctrlKey;
- this.metaKey = e.metaKey;
- this.shiftKey = e.shiftKey;
- this.type = (overrides && overrides.type) || e.type;
- this.clientX = e.clientX;
- this.clientY = e.clientY;
- this.keyCode = // chained assignment
- this.charCode = e.keyCode;
- this.which = // chained assignment
- this.button = e.keyCode || buttonMap[e.button] || e.button;
-
- for (prop in lazyProperties) {
- if (lazyProperties.hasOwnProperty(prop)) {
- define(this, prop, lazyProperties[prop]);
- }
- }
-
- if (this._touch) {
- this._touch(e, this._currentTarget, this._wrapper);
- }
-};
-
-IELazyFacade._lazyProperties = {
- target: function () {
- return resolve(this._event.srcElement);
- },
- relatedTarget: function () {
- var e = this._event,
- targetProp = relatedTargetMap[e.type] || 'relatedTarget';
-
- // fallback to t.relatedTarget to support simulated events.
- // IE doesn't support setting toElement or fromElement on generic
- // events, so Y.Event.simulate sets relatedTarget instead.
- return resolve(e[targetProp] || e.relatedTarget);
- },
- currentTarget: function () {
- return resolve(this._currentTarget);
- },
-
- wheelDelta: function () {
- var e = this._event;
-
- if (e.type === "mousewheel" || e.type === "DOMMouseScroll") {
- return (e.detail) ?
- (e.detail * -1) :
- // wheelDelta between -80 and 80 result in -1 or 1
- Math.round(e.wheelDelta / 80) || ((e.wheelDelta < 0) ? -1 : 1);
- }
- },
-
- pageX: function () {
- var e = this._event,
- val = e.pageX,
- doc, bodyScroll, docScroll;
-
- if (val === undefined) {
- doc = Y.config.doc;
- bodyScroll = doc.body && doc.body.scrollLeft;
- docScroll = doc.documentElement.scrollLeft;
-
- val = e.clientX + (docScroll || bodyScroll || 0);
- }
-
- return val;
- },
- pageY: function () {
- var e = this._event,
- val = e.pageY,
- doc, bodyScroll, docScroll;
-
- if (val === undefined) {
- doc = Y.config.doc;
- bodyScroll = doc.body && doc.body.scrollTop;
- docScroll = doc.documentElement.scrollTop;
-
- val = e.clientY + (docScroll || bodyScroll || 0);
- }
-
- return val;
- }
-};
-
-
-/**
- * Wrapper function for Object.defineProperty that creates a property whose
- * value will be calulated only when asked for. After calculating the value,
- * the getter wll be removed, so it will behave as a normal property beyond that
- * point. A setter is also assigned so assigning to the property will clear
- * the getter, so foo.prop = 'a'; foo.prop; won't trigger the getter,
- * overwriting value 'a'.
- *
- * Used only by the DOMEventFacades used by IE8 when the YUI configuration
- * lazyEventFacade is set to true.
- *
- * @method _define
- * @param o {DOMObject} A DOM object to add the property to
- * @param prop {String} The name of the new property
- * @param valueFn {Function} The function that will return the initial, default
- * value for the property.
- * @static
- * @private
- */
-IELazyFacade._define = function (o, prop, valueFn) {
- function val(v) {
- var ret = (arguments.length) ? v : valueFn.call(this);
-
- delete o[prop];
- Object.defineProperty(o, prop, {
- value: ret,
- configurable: true,
- writable: true
- });
- return ret;
- }
- Object.defineProperty(o, prop, {
- get: val,
- set: val,
- configurable: true
- });
-};
-
-if (imp && (!imp.hasFeature('Events', '2.0'))) {
- if (useLazyFacade) {
- // Make sure we can use the lazy facade logic
- try {
- Object.defineProperty(Y.config.doc.createEventObject(), 'z', {});
- } catch (e) {
- useLazyFacade = false;
- }
- }
-
- Y.DOMEventFacade = (useLazyFacade) ? IELazyFacade : IEEventFacade;
-}
-
-
-}, '3.12.0', {"requires": ["node-base"]});
-YUI.add('pluginhost-base', function (Y, NAME) {
-
- /**
- * Provides the augmentable PluginHost interface, which can be added to any class.
- * @module pluginhost
- */
-
- /**
- * Provides the augmentable PluginHost interface, which can be added to any class.
- * @module pluginhost-base
- */
-
- /**
- *
- * An augmentable class, which provides the augmented class with the ability to host plugins.
- * It adds plug and unplug methods to the augmented class, which can
- * be used to add or remove plugins from instances of the class.
- *
- *
- *
Plugins can also be added through the constructor configuration object passed to the host class' constructor using
- * the "plugins" property. Supported values for the "plugins" property are those defined by the plug method.
- *
- * For example the following code would add the AnimPlugin and IOPlugin to Overlay (the plugin host):
- *
- * var o = new Overlay({plugins: [ AnimPlugin, {fn:IOPlugin, cfg:{section:"header"}}]});
- *
- *
- *
- * Plug.Host's protected _initPlugins and _destroyPlugins
- * methods should be invoked by the host class at the appropriate point in the host's lifecyle.
- *
- *
- * @class Plugin.Host
- */
-
- var L = Y.Lang;
-
- function PluginHost() {
- this._plugins = {};
- }
-
- PluginHost.prototype = {
-
- /**
- * Adds a plugin to the host object. This will instantiate the
- * plugin and attach it to the configured namespace on the host object.
- *
- * @method plug
- * @chainable
- * @param P {Function | Object |Array} Accepts the plugin class, or an
- * object with a "fn" property specifying the plugin class and
- * a "cfg" property specifying the configuration for the Plugin.
- *
- * Additionally an Array can also be passed in, with the above function or
- * object values, allowing the user to add multiple plugins in a single call.
- *
- * @param config (Optional) If the first argument is the plugin class, the second argument
- * can be the configuration for the plugin.
- * @return {Base} A reference to the host object
- */
- plug: function(Plugin, config) {
- var i, ln, ns;
-
- if (L.isArray(Plugin)) {
- for (i = 0, ln = Plugin.length; i < ln; i++) {
- this.plug(Plugin[i]);
- }
- } else {
- if (Plugin && !L.isFunction(Plugin)) {
- config = Plugin.cfg;
- Plugin = Plugin.fn;
- }
-
- // Plugin should be fn by now
- if (Plugin && Plugin.NS) {
- ns = Plugin.NS;
-
- config = config || {};
- config.host = this;
-
- if (this.hasPlugin(ns)) {
- // Update config
- if (this[ns].setAttrs) {
- this[ns].setAttrs(config);
- }
- else { Y.log("Attempt to replug an already attached plugin, and we can't setAttrs, because it's not Attribute based: " + ns); }
- } else {
- // Create new instance
- this[ns] = new Plugin(config);
- this._plugins[ns] = Plugin;
- }
- }
- else { Y.log("Attempt to plug in an invalid plugin. Host:" + this + ", Plugin:" + Plugin); }
- }
- return this;
- },
-
- /**
- * Removes a plugin from the host object. This will destroy the
- * plugin instance and delete the namespace from the host object.
- *
- * @method unplug
- * @param {String | Function} plugin The namespace of the plugin, or the plugin class with the static NS namespace property defined. If not provided,
- * all registered plugins are unplugged.
- * @return {Base} A reference to the host object
- * @chainable
- */
- unplug: function(plugin) {
- var ns = plugin,
- plugins = this._plugins;
-
- if (plugin) {
- if (L.isFunction(plugin)) {
- ns = plugin.NS;
- if (ns && (!plugins[ns] || plugins[ns] !== plugin)) {
- ns = null;
- }
- }
-
- if (ns) {
- if (this[ns]) {
- if (this[ns].destroy) {
- this[ns].destroy();
- }
- delete this[ns];
- }
- if (plugins[ns]) {
- delete plugins[ns];
- }
- }
- } else {
- for (ns in this._plugins) {
- if (this._plugins.hasOwnProperty(ns)) {
- this.unplug(ns);
- }
- }
- }
- return this;
- },
-
- /**
- * Determines if a plugin has plugged into this host.
- *
- * @method hasPlugin
- * @param {String} ns The plugin's namespace
- * @return {Plugin} Returns a truthy value (the plugin instance) if present, or undefined if not.
- */
- hasPlugin : function(ns) {
- return (this._plugins[ns] && this[ns]);
- },
-
- /**
- * Initializes static plugins registered on the host (using the
- * Base.plug static method) and any plugins passed to the
- * instance through the "plugins" configuration property.
- *
- * @method _initPlugins
- * @param {Config} config The configuration object with property name/value pairs.
- * @private
- */
-
- _initPlugins: function(config) {
- this._plugins = this._plugins || {};
-
- if (this._initConfigPlugins) {
- this._initConfigPlugins(config);
- }
- },
-
- /**
- * Unplugs and destroys all plugins on the host
- * @method _destroyPlugins
- * @private
- */
- _destroyPlugins: function() {
- this.unplug();
- }
- };
-
- Y.namespace("Plugin").Host = PluginHost;
-
-
-}, '3.12.0', {"requires": ["yui-base"]});
-YUI.add('pluginhost-config', function (Y, NAME) {
-
- /**
- * Adds pluginhost constructor configuration and static configuration support
- * @submodule pluginhost-config
- */
-
- var PluginHost = Y.Plugin.Host,
- L = Y.Lang;
-
- /**
- * A protected initialization method, used by the host class to initialize
- * plugin configurations passed the constructor, through the config object.
- *
- * Host objects should invoke this method at the appropriate time in their
- * construction lifecycle.
- *
- * @method _initConfigPlugins
- * @param {Object} config The configuration object passed to the constructor
- * @protected
- * @for Plugin.Host
- */
- PluginHost.prototype._initConfigPlugins = function(config) {
-
- // Class Configuration
- var classes = (this._getClasses) ? this._getClasses() : [this.constructor],
- plug = [],
- unplug = {},
- constructor, i, classPlug, classUnplug, pluginClassName;
-
- // TODO: Room for optimization. Can we apply statically/unplug in same pass?
- for (i = classes.length - 1; i >= 0; i--) {
- constructor = classes[i];
-
- classUnplug = constructor._UNPLUG;
- if (classUnplug) {
- // subclasses over-write
- Y.mix(unplug, classUnplug, true);
- }
-
- classPlug = constructor._PLUG;
- if (classPlug) {
- // subclasses over-write
- Y.mix(plug, classPlug, true);
- }
- }
-
- for (pluginClassName in plug) {
- if (plug.hasOwnProperty(pluginClassName)) {
- if (!unplug[pluginClassName]) {
- this.plug(plug[pluginClassName]);
- }
- }
- }
-
- // User Configuration
- if (config && config.plugins) {
- this.plug(config.plugins);
- }
- };
-
- /**
- * Registers plugins to be instantiated at the class level (plugins
- * which should be plugged into every instance of the class by default).
- *
- * @method plug
- * @static
- *
- * @param {Function} hostClass The host class on which to register the plugins
- * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined)
- * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin
- * @for Plugin.Host
- */
- PluginHost.plug = function(hostClass, plugin, config) {
- // Cannot plug into Base, since Plugins derive from Base [ will cause infinite recurrsion ]
- var p, i, l, name;
-
- if (hostClass !== Y.Base) {
- hostClass._PLUG = hostClass._PLUG || {};
-
- if (!L.isArray(plugin)) {
- if (config) {
- plugin = {fn:plugin, cfg:config};
- }
- plugin = [plugin];
- }
-
- for (i = 0, l = plugin.length; i < l;i++) {
- p = plugin[i];
- name = p.NAME || p.fn.NAME;
- hostClass._PLUG[name] = p;
- }
- }
- };
-
- /**
- * Unregisters any class level plugins which have been registered by the host class, or any
- * other class in the hierarchy.
- *
- * @method unplug
- * @static
- *
- * @param {Function} hostClass The host class from which to unregister the plugins
- * @param {Function | Array} plugin The plugin class, or an array of plugin classes
- * @for Plugin.Host
- */
- PluginHost.unplug = function(hostClass, plugin) {
- var p, i, l, name;
-
- if (hostClass !== Y.Base) {
- hostClass._UNPLUG = hostClass._UNPLUG || {};
-
- if (!L.isArray(plugin)) {
- plugin = [plugin];
- }
-
- for (i = 0, l = plugin.length; i < l; i++) {
- p = plugin[i];
- name = p.NAME;
- if (!hostClass._PLUG[name]) {
- hostClass._UNPLUG[name] = p;
- } else {
- delete hostClass._PLUG[name];
- }
- }
- }
- };
-
-
-}, '3.12.0', {"requires": ["pluginhost-base"]});
-YUI.add('event-delegate', function (Y, NAME) {
-
-/**
- * Adds event delegation support to the library.
- *
- * @module event
- * @submodule event-delegate
- */
-
-var toArray = Y.Array,
- YLang = Y.Lang,
- isString = YLang.isString,
- isObject = YLang.isObject,
- isArray = YLang.isArray,
- selectorTest = Y.Selector.test,
- detachCategories = Y.Env.evt.handles;
-
-/**
- *
Sets up event delegation on a container element. The delegated event
- * will use a supplied selector or filtering function to test if the event
- * references at least one node that should trigger the subscription
- * callback.
- *
- *
Selector string filters will trigger the callback if the event originated
- * from a node that matches it or is contained in a node that matches it.
- * Function filters are called for each Node up the parent axis to the
- * subscribing container node, and receive at each level the Node and the event
- * object. The function should return true (or a truthy value) if that Node
- * should trigger the subscription callback. Note, it is possible for filters
- * to match multiple Nodes for a single event. In this case, the delegate
- * callback will be executed for each matching Node.
';
- YUI.Env.cssStampEl = el.firstChild;
- if (doc.body) {
- doc.body.appendChild(YUI.Env.cssStampEl);
- } else {
- docEl.insertBefore(YUI.Env.cssStampEl, docEl.firstChild);
- }
- } else if (doc && doc.getElementById(CSS_STAMP_EL) && !YUI.Env.cssStampEl) {
- YUI.Env.cssStampEl = doc.getElementById(CSS_STAMP_EL);
- }
-
- Y.config.lang = Y.config.lang || 'en-US';
-
- Y.config.base = YUI.config.base || Y.Env.getBase(Y.Env._BASE_RE);
-
- if (!filter || (!('mindebug').indexOf(filter))) {
- filter = 'min';
- }
- filter = (filter) ? '-' + filter : filter;
- Y.config.loaderPath = YUI.config.loaderPath || 'loader/loader' + filter + '.js';
-
- },
-
- /**
- Finishes the instance setup. Attaches whatever YUI modules were defined
- at the time that this instance was created.
-
- @method _setup
- @private
- **/
- _setup: function() {
- var i, Y = this,
- core = [],
- mods = YUI.Env.mods,
- extras = Y.config.core || [].concat(YUI.Env.core); //Clone it..
-
- for (i = 0; i < extras.length; i++) {
- if (mods[extras[i]]) {
- core.push(extras[i]);
- }
- }
-
- Y._attach(['yui-base']);
- Y._attach(core);
-
- if (Y.Loader) {
- getLoader(Y);
- }
-
- },
-
- /**
- Executes the named method on the specified YUI instance if that method is
- whitelisted.
-
- @method applyTo
- @param {String} id YUI instance id.
- @param {String} method Name of the method to execute. For example:
- 'Object.keys'.
- @param {Array} args Arguments to apply to the method.
- @return {Mixed} Return value from the applied method, or `null` if the
- specified instance was not found or the method was not whitelisted.
- **/
- applyTo: function(id, method, args) {
- if (!(method in APPLY_TO_AUTH)) {
- this.log(method + ': applyTo not allowed', 'warn', 'yui');
- return null;
- }
-
- var instance = instances[id], nest, m, i;
- if (instance) {
- nest = method.split('.');
- m = instance;
- for (i = 0; i < nest.length; i = i + 1) {
- m = m[nest[i]];
- if (!m) {
- this.log('applyTo not found: ' + method, 'warn', 'yui');
- }
- }
- return m && m.apply(instance, args);
- }
-
- return null;
- },
-
-/**
-Registers a YUI module and makes it available for use in a `YUI().use()` call or
-as a dependency for other modules.
-
-The easiest way to create a first-class YUI module is to use
-Shifter, the YUI component build
-tool.
-
-Shifter will automatically wrap your module code in a `YUI.add()` call along
-with any configuration info required for the module.
-
-@example
-
- YUI.add('davglass', function (Y) {
- Y.davglass = function () {
- };
- }, '3.4.0', {
- requires: ['harley-davidson', 'mt-dew']
- });
-
-@method add
-@param {String} name Module name.
-@param {Function} fn Function containing module code. This function will be
- executed whenever the module is attached to a specific YUI instance.
-
- @param {YUI} fn.Y The YUI instance to which this module is attached.
- @param {String} fn.name Name of the module
-
-@param {String} version Module version number. This is currently used only for
- informational purposes, and is not used internally by YUI.
-
-@param {Object} [config] Module config.
- @param {Array} [config.requires] Array of other module names that must be
- attached before this module can be attached.
- @param {Array} [config.optional] Array of optional module names that should
- be attached before this module is attached if they've already been
- loaded. If the `loadOptional` YUI option is `true`, optional modules
- that have not yet been loaded will be loaded just as if they were hard
- requirements.
- @param {Array} [config.use] Array of module names that are included within
- or otherwise provided by this module, and which should be attached
- automatically when this module is attached. This makes it possible to
- create "virtual rollup" modules that simply attach a collection of other
- modules or submodules.
-
-@return {YUI} This YUI instance.
-**/
- add: function(name, fn, version, details) {
- details = details || {};
- var env = YUI.Env,
- mod = {
- name: name,
- fn: fn,
- version: version,
- details: details
- },
- //Instance hash so we don't apply it to the same instance twice
- applied = {},
- loader, inst,
- i, versions = env.versions;
-
- env.mods[name] = mod;
- versions[version] = versions[version] || {};
- versions[version][name] = mod;
-
- for (i in instances) {
- if (instances.hasOwnProperty(i)) {
- inst = instances[i];
- if (!applied[inst.id]) {
- applied[inst.id] = true;
- loader = inst.Env._loader;
- if (loader) {
- if (!loader.moduleInfo[name] || loader.moduleInfo[name].temp) {
- loader.addModule(details, name);
- }
- }
- }
- }
- }
-
- return this;
- },
-
- /**
- Executes the callback function associated with each required module,
- attaching the module to this YUI instance.
-
- @method _attach
- @param {Array} r The array of modules to attach
- @param {Boolean} [moot=false] If `true`, don't throw a warning if the module
- is not attached.
- @private
- **/
- _attach: function(r, moot) {
- var i, name, mod, details, req, use, after,
- mods = YUI.Env.mods,
- aliases = YUI.Env.aliases,
- Y = this, j,
- cache = YUI.Env._renderedMods,
- loader = Y.Env._loader,
- done = Y.Env._attached,
- len = r.length, loader, def, go,
- c = [];
-
- //Check for conditional modules (in a second+ instance) and add their requirements
- //TODO I hate this entire method, it needs to be fixed ASAP (3.5.0) ^davglass
- for (i = 0; i < len; i++) {
- name = r[i];
- mod = mods[name];
- c.push(name);
- if (loader && loader.conditions[name]) {
- for (j in loader.conditions[name]) {
- if (loader.conditions[name].hasOwnProperty(j)) {
- def = loader.conditions[name][j];
- go = def && ((def.ua && Y.UA[def.ua]) || (def.test && def.test(Y)));
- if (go) {
- c.push(def.name);
- }
- }
- }
- }
- }
- r = c;
- len = r.length;
-
- for (i = 0; i < len; i++) {
- if (!done[r[i]]) {
- name = r[i];
- mod = mods[name];
-
- if (aliases && aliases[name] && !mod) {
- Y._attach(aliases[name]);
- continue;
- }
- if (!mod) {
- if (loader && loader.moduleInfo[name]) {
- mod = loader.moduleInfo[name];
- moot = true;
- }
-
-
- //if (!loader || !loader.moduleInfo[name]) {
- //if ((!loader || !loader.moduleInfo[name]) && !moot) {
- if (!moot && name) {
- if ((name.indexOf('skin-') === -1) && (name.indexOf('css') === -1)) {
- Y.Env._missed.push(name);
- Y.Env._missed = Y.Array.dedupe(Y.Env._missed);
- Y.message('NOT loaded: ' + name, 'warn', 'yui');
- }
- }
- } else {
- done[name] = true;
- //Don't like this, but in case a mod was asked for once, then we fetch it
- //We need to remove it from the missed list ^davglass
- for (j = 0; j < Y.Env._missed.length; j++) {
- if (Y.Env._missed[j] === name) {
- Y.message('Found: ' + name + ' (was reported as missing earlier)', 'warn', 'yui');
- Y.Env._missed.splice(j, 1);
- }
- }
- /*
- If it's a temp module, we need to redo it's requirements if it's already loaded
- since it may have been loaded by another instance and it's dependencies might
- have been redefined inside the fetched file.
- */
- if (loader && cache && cache[name] && cache[name].temp) {
- loader.getRequires(cache[name]);
- req = [];
- for (j in loader.moduleInfo[name].expanded_map) {
- if (loader.moduleInfo[name].expanded_map.hasOwnProperty(j)) {
- req.push(j);
- }
- }
- Y._attach(req);
- }
-
- details = mod.details;
- req = details.requires;
- use = details.use;
- after = details.after;
- //Force Intl load if there is a language (Loader logic) @todo fix this shit
- if (details.lang) {
- req = req || [];
- req.unshift('intl');
- }
-
- if (req) {
- for (j = 0; j < req.length; j++) {
- if (!done[req[j]]) {
- if (!Y._attach(req)) {
- return false;
- }
- break;
- }
- }
- }
-
- if (after) {
- for (j = 0; j < after.length; j++) {
- if (!done[after[j]]) {
- if (!Y._attach(after, true)) {
- return false;
- }
- break;
- }
- }
- }
-
- if (mod.fn) {
- if (Y.config.throwFail) {
- mod.fn(Y, name);
- } else {
- try {
- mod.fn(Y, name);
- } catch (e) {
- Y.error('Attach error: ' + name, e, name);
- return false;
- }
- }
- }
-
- if (use) {
- for (j = 0; j < use.length; j++) {
- if (!done[use[j]]) {
- if (!Y._attach(use)) {
- return false;
- }
- break;
- }
- }
- }
-
-
-
- }
- }
- }
-
- return true;
- },
-
- /**
- Delays the `use` callback until another event has taken place such as
- `window.onload`, `domready`, `contentready`, or `available`.
-
- @private
- @method _delayCallback
- @param {Function} cb The original `use` callback.
- @param {String|Object} until Either an event name ('load', 'domready', etc.)
- or an object containing event/args keys for contentready/available.
- @return {Function}
- **/
- _delayCallback: function(cb, until) {
-
- var Y = this,
- mod = ['event-base'];
-
- until = (Y.Lang.isObject(until) ? until : { event: until });
-
- if (until.event === 'load') {
- mod.push('event-synthetic');
- }
-
- return function() {
- var args = arguments;
- Y._use(mod, function() {
- Y.on(until.event, function() {
- args[1].delayUntil = until.event;
- cb.apply(Y, args);
- }, until.args);
- });
- };
- },
-
- /**
- Attaches one or more modules to this YUI instance. When this is executed,
- the requirements of the desired modules are analyzed, and one of several
- things can happen:
-
-
- * All required modules have already been loaded, and just need to be
- attached to this YUI instance. In this case, the `use()` callback will
- be executed synchronously after the modules are attached.
-
- * One or more modules have not yet been loaded, or the Get utility is not
- available, or the `bootstrap` config option is `false`. In this case,
- a warning is issued indicating that modules are missing, but all
- available modules will still be attached and the `use()` callback will
- be executed synchronously.
-
- * One or more modules are missing and the Loader is not available but the
- Get utility is, and `bootstrap` is not `false`. In this case, the Get
- utility will be used to load the Loader, and we will then proceed to
- the following state:
-
- * One or more modules are missing and the Loader is available. In this
- case, the Loader will be used to resolve the dependency tree for the
- missing modules and load them and their dependencies. When the Loader is
- finished loading modules, the `use()` callback will be executed
- asynchronously.
-
- @example
-
- // Loads and attaches dd and its dependencies.
- YUI().use('dd', function (Y) {
- // ...
- });
-
- // Loads and attaches dd and node as well as all of their dependencies.
- YUI().use(['dd', 'node'], function (Y) {
- // ...
- });
-
- // Attaches all modules that have already been loaded.
- YUI().use('*', function (Y) {
- // ...
- });
-
- // Attaches a gallery module.
- YUI().use('gallery-yql', function (Y) {
- // ...
- });
-
- // Attaches a YUI 2in3 module.
- YUI().use('yui2-datatable', function (Y) {
- // ...
- });
-
- @method use
- @param {String|Array} modules* One or more module names to attach.
- @param {Function} [callback] Callback function to be executed once all
- specified modules and their dependencies have been attached.
- @param {YUI} callback.Y The YUI instance created for this sandbox.
- @param {Object} callback.status Object containing `success`, `msg` and
- `data` properties.
- @chainable
- **/
- use: function() {
- var args = SLICE.call(arguments, 0),
- callback = args[args.length - 1],
- Y = this,
- i = 0,
- name,
- Env = Y.Env,
- provisioned = true;
-
- // The last argument supplied to use can be a load complete callback
- if (Y.Lang.isFunction(callback)) {
- args.pop();
- if (Y.config.delayUntil) {
- callback = Y._delayCallback(callback, Y.config.delayUntil);
- }
- } else {
- callback = null;
- }
- if (Y.Lang.isArray(args[0])) {
- args = args[0];
- }
-
- if (Y.config.cacheUse) {
- while ((name = args[i++])) {
- if (!Env._attached[name]) {
- provisioned = false;
- break;
- }
- }
-
- if (provisioned) {
- if (args.length) {
- }
- Y._notify(callback, ALREADY_DONE, args);
- return Y;
- }
- }
-
- if (Y._loading) {
- Y._useQueue = Y._useQueue || new Y.Queue();
- Y._useQueue.add([args, callback]);
- } else {
- Y._use(args, function(Y, response) {
- Y._notify(callback, response, args);
- });
- }
-
- return Y;
- },
-
- /**
- Handles Loader notifications about attachment/load errors.
-
- @method _notify
- @param {Function} callback Callback to pass to `Y.config.loadErrorFn`.
- @param {Object} response Response returned from Loader.
- @param {Array} args Arguments passed from Loader.
- @private
- **/
- _notify: function(callback, response, args) {
- if (!response.success && this.config.loadErrorFn) {
- this.config.loadErrorFn.call(this, this, callback, response, args);
- } else if (callback) {
- if (this.Env._missed && this.Env._missed.length) {
- response.msg = 'Missing modules: ' + this.Env._missed.join();
- response.success = false;
- }
- if (this.config.throwFail) {
- callback(this, response);
- } else {
- try {
- callback(this, response);
- } catch (e) {
- this.error('use callback error', e, args);
- }
- }
- }
- },
-
- /**
- Called from the `use` method queue to ensure that only one set of loading
- logic is performed at a time.
-
- @method _use
- @param {String} args* One or more modules to attach.
- @param {Function} [callback] Function to call once all required modules have
- been attached.
- @private
- **/
- _use: function(args, callback) {
-
- if (!this.Array) {
- this._attach(['yui-base']);
- }
-
- var len, loader, handleBoot,
- Y = this,
- G_ENV = YUI.Env,
- mods = G_ENV.mods,
- Env = Y.Env,
- used = Env._used,
- aliases = G_ENV.aliases,
- queue = G_ENV._loaderQueue,
- firstArg = args[0],
- YArray = Y.Array,
- config = Y.config,
- boot = config.bootstrap,
- missing = [],
- i,
- r = [],
- ret = true,
- fetchCSS = config.fetchCSS,
- process = function(names, skip) {
-
- var i = 0, a = [], name, len, m, req, use;
-
- if (!names.length) {
- return;
- }
-
- if (aliases) {
- len = names.length;
- for (i = 0; i < len; i++) {
- if (aliases[names[i]] && !mods[names[i]]) {
- a = [].concat(a, aliases[names[i]]);
- } else {
- a.push(names[i]);
- }
- }
- names = a;
- }
-
- len = names.length;
-
- for (i = 0; i < len; i++) {
- name = names[i];
- if (!skip) {
- r.push(name);
- }
-
- // only attach a module once
- if (used[name]) {
- continue;
- }
-
- m = mods[name];
- req = null;
- use = null;
-
- if (m) {
- used[name] = true;
- req = m.details.requires;
- use = m.details.use;
- } else {
- // CSS files don't register themselves, see if it has
- // been loaded
- if (!G_ENV._loaded[VERSION][name]) {
- missing.push(name);
- } else {
- used[name] = true; // probably css
- }
- }
-
- // make sure requirements are attached
- if (req && req.length) {
- process(req);
- }
-
- // make sure we grab the submodule dependencies too
- if (use && use.length) {
- process(use, 1);
- }
- }
-
- },
-
- handleLoader = function(fromLoader) {
- var response = fromLoader || {
- success: true,
- msg: 'not dynamic'
- },
- redo, origMissing,
- ret = true,
- data = response.data;
-
- Y._loading = false;
-
- if (data) {
- origMissing = missing;
- missing = [];
- r = [];
- process(data);
- redo = missing.length;
- if (redo) {
- if ([].concat(missing).sort().join() ==
- origMissing.sort().join()) {
- redo = false;
- }
- }
- }
-
- if (redo && data) {
- Y._loading = true;
- Y._use(missing, function() {
- if (Y._attach(data)) {
- Y._notify(callback, response, data);
- }
- });
- } else {
- if (data) {
- ret = Y._attach(data);
- }
- if (ret) {
- Y._notify(callback, response, args);
- }
- }
-
- if (Y._useQueue && Y._useQueue.size() && !Y._loading) {
- Y._use.apply(Y, Y._useQueue.next());
- }
-
- };
-
-
- // YUI().use('*'); // bind everything available
- if (firstArg === '*') {
- args = [];
- for (i in mods) {
- if (mods.hasOwnProperty(i)) {
- args.push(i);
- }
- }
- ret = Y._attach(args);
- if (ret) {
- handleLoader();
- }
- return Y;
- }
-
- if ((mods.loader || mods['loader-base']) && !Y.Loader) {
- Y._attach(['loader' + ((!mods.loader) ? '-base' : '')]);
- }
-
-
- // use loader to expand dependencies and sort the
- // requirements if it is available.
- if (boot && Y.Loader && args.length) {
- loader = getLoader(Y);
- loader.require(args);
- loader.ignoreRegistered = true;
- loader._boot = true;
- loader.calculate(null, (fetchCSS) ? null : 'js');
- args = loader.sorted;
- loader._boot = false;
- }
-
- process(args);
-
- len = missing.length;
-
-
- if (len) {
- missing = YArray.dedupe(missing);
- len = missing.length;
- }
-
-
- // dynamic load
- if (boot && len && Y.Loader) {
- Y._loading = true;
- loader = getLoader(Y);
- loader.onEnd = handleLoader;
- loader.context = Y;
- loader.data = args;
- loader.ignoreRegistered = false;
- loader.require(missing);
- loader.insert(null, (fetchCSS) ? null : 'js');
-
- } else if (boot && len && Y.Get && !Env.bootstrapped) {
-
- Y._loading = true;
-
- handleBoot = function() {
- Y._loading = false;
- queue.running = false;
- Env.bootstrapped = true;
- G_ENV._bootstrapping = false;
- if (Y._attach(['loader'])) {
- Y._use(args, callback);
- }
- };
-
- if (G_ENV._bootstrapping) {
- queue.add(handleBoot);
- } else {
- G_ENV._bootstrapping = true;
- Y.Get.script(config.base + config.loaderPath, {
- onEnd: handleBoot
- });
- }
-
- } else {
- ret = Y._attach(args);
- if (ret) {
- handleLoader();
- }
- }
-
- return Y;
- },
-
-
- /**
- Utility method for safely creating namespaces if they don't already exist.
- May be called statically on the YUI global object or as a method on a YUI
- instance.
-
- When called statically, a namespace will be created on the YUI global
- object:
-
- // Create `YUI.your.namespace.here` as nested objects, preserving any
- // objects that already exist instead of overwriting them.
- YUI.namespace('your.namespace.here');
-
- When called as a method on a YUI instance, a namespace will be created on
- that instance:
-
- // Creates `Y.property.package`.
- Y.namespace('property.package');
-
- Dots in the input string cause `namespace` to create nested objects for each
- token. If any part of the requested namespace already exists, the current
- object will be left in place and will not be overwritten. This allows
- multiple calls to `namespace` to preserve existing namespaced properties.
-
- If the first token in the namespace string is "YAHOO", that token is
- discarded. This is legacy behavior for backwards compatibility with YUI 2.
-
- Be careful with namespace tokens. Reserved words may work in some browsers
- and not others. For instance, the following will fail in some browsers
- because the supported version of JavaScript reserves the word "long":
-
- Y.namespace('really.long.nested.namespace');
-
- Note: If you pass multiple arguments to create multiple namespaces, only the
- last one created is returned from this function.
-
- @method namespace
- @param {String} namespace* One or more namespaces to create.
- @return {Object} Reference to the last namespace object created.
- **/
- namespace: function() {
- var a = arguments, o, i = 0, j, d, arg;
-
- for (; i < a.length; i++) {
- o = this; //Reset base object per argument or it will get reused from the last
- arg = a[i];
- if (arg.indexOf(PERIOD) > -1) { //Skip this if no "." is present
- d = arg.split(PERIOD);
- for (j = (d[0] == 'YAHOO') ? 1 : 0; j < d.length; j++) {
- o[d[j]] = o[d[j]] || {};
- o = o[d[j]];
- }
- } else {
- o[arg] = o[arg] || {};
- o = o[arg]; //Reset base object to the new object so it's returned
- }
- }
- return o;
- },
-
- // this is replaced if the log module is included
- log: NOOP,
- message: NOOP,
- // this is replaced if the dump module is included
- dump: function (o) { return ''+o; },
-
- /**
- Reports an error.
-
- The reporting mechanism is controlled by the `throwFail` configuration
- attribute. If `throwFail` is falsy, the message is logged. If `throwFail` is
- truthy, a JS exception is thrown.
-
- If an `errorFn` is specified in the config it must return `true` to indicate
- that the exception was handled and keep it from being thrown.
-
- @method error
- @param {String} msg Error message.
- @param {Error|String} [e] JavaScript error object or an error string.
- @param {String} [src] Source of the error (such as the name of the module in
- which the error occurred).
- @chainable
- **/
- error: function(msg, e, src) {
- //TODO Add check for window.onerror here
-
- var Y = this, ret;
-
- if (Y.config.errorFn) {
- ret = Y.config.errorFn.apply(Y, arguments);
- }
-
- if (!ret) {
- throw (e || new Error(msg));
- } else {
- Y.message(msg, 'error', ''+src); // don't scrub this one
- }
-
- return Y;
- },
-
- /**
- Generates an id string that is unique among all YUI instances in this
- execution context.
-
- @method guid
- @param {String} [pre] Prefix.
- @return {String} Unique id.
- **/
- guid: function(pre) {
- var id = this.Env._guidp + '_' + (++this.Env._uidx);
- return (pre) ? (pre + id) : id;
- },
-
- /**
- Returns a unique id associated with the given object and (if *readOnly* is
- falsy) stamps the object with that id so it can be identified in the future.
-
- Stamping an object involves adding a `_yuid` property to it that contains
- the object's id. One exception to this is that in Internet Explorer, DOM
- nodes have a `uniqueID` property that contains a browser-generated unique
- id, which will be used instead of a YUI-generated id when available.
-
- @method stamp
- @param {Object} o Object to stamp.
- @param {Boolean} readOnly If truthy and the given object has not already
- been stamped, the object will not be modified and `null` will be
- returned.
- @return {String} Object's unique id, or `null` if *readOnly* was truthy and
- the given object was not already stamped.
- **/
- stamp: function(o, readOnly) {
- var uid;
- if (!o) {
- return o;
- }
-
- // IE generates its own unique ID for dom nodes
- // The uniqueID property of a document node returns a new ID
- if (o.uniqueID && o.nodeType && o.nodeType !== 9) {
- uid = o.uniqueID;
- } else {
- uid = (typeof o === 'string') ? o : o._yuid;
- }
-
- if (!uid) {
- uid = this.guid();
- if (!readOnly) {
- try {
- o._yuid = uid;
- } catch (e) {
- uid = null;
- }
- }
- }
- return uid;
- },
-
- /**
- Destroys this YUI instance.
-
- @method destroy
- @since 3.3.0
- **/
- destroy: function() {
- var Y = this;
- if (Y.Event) {
- Y.Event._unload();
- }
- delete instances[Y.id];
- delete Y.Env;
- delete Y.config;
- }
-
- /**
- Safe `instanceof` wrapper that works around a memory leak in IE when the
- object being tested is `window` or `document`.
-
- Unless you are testing objects that may be `window` or `document`, you
- should use the native `instanceof` operator instead of this method.
-
- @method instanceOf
- @param {Object} o Object to check.
- @param {Object} type Class to check against.
- @since 3.3.0
- **/
-};
-
- YUI.prototype = proto;
-
- // inheritance utilities are not available yet
- for (prop in proto) {
- if (proto.hasOwnProperty(prop)) {
- YUI[prop] = proto[prop];
- }
- }
-
- /**
- Applies a configuration to all YUI instances in this execution context.
-
- The main use case for this method is in "mashups" where several third-party
- scripts need to write to a global YUI config, but cannot share a single
- centrally-managed config object. This way they can all call
- `YUI.applyConfig({})` instead of overwriting the single global config.
-
- @example
-
- YUI.applyConfig({
- modules: {
- davglass: {
- fullpath: './davglass.js'
- }
- }
- });
-
- YUI.applyConfig({
- modules: {
- foo: {
- fullpath: './foo.js'
- }
- }
- });
-
- YUI().use('davglass', function (Y) {
- // Module davglass will be available here.
- });
-
- @method applyConfig
- @param {Object} o Configuration object to apply.
- @static
- @since 3.5.0
- **/
- YUI.applyConfig = function(o) {
- if (!o) {
- return;
- }
- //If there is a GlobalConfig, apply it first to set the defaults
- if (YUI.GlobalConfig) {
- this.prototype.applyConfig.call(this, YUI.GlobalConfig);
- }
- //Apply this config to it
- this.prototype.applyConfig.call(this, o);
- //Reset GlobalConfig to the combined config
- YUI.GlobalConfig = this.config;
- };
-
- // set up the environment
- YUI._init();
-
- if (hasWin) {
- // add a window load event at load time so we can capture
- // the case where it fires before dynamic loading is
- // complete.
- add(window, 'load', handleLoad);
- } else {
- handleLoad();
- }
-
- YUI.Env.add = add;
- YUI.Env.remove = remove;
-
- /*global exports*/
- // Support the CommonJS method for exporting our single global
- if (typeof exports == 'object') {
- exports.YUI = YUI;
- /**
- * Set a method to be called when `Get.script` is called in Node.js
- * `Get` will open the file, then pass it's content and it's path
- * to this method before attaching it. Commonly used for code coverage
- * instrumentation. Calling this multiple times will only
- * attach the last hook method. This method is only
- * available in Node.js.
- * @method setLoadHook
- * @static
- * @param {Function} fn The function to set
- * @param {String} fn.data The content of the file
- * @param {String} fn.path The file path of the file
- */
- YUI.setLoadHook = function(fn) {
- YUI._getLoadHook = fn;
- };
- /**
- * Load hook for `Y.Get.script` in Node.js, see `YUI.setLoadHook`
- * @method _getLoadHook
- * @private
- * @param {String} data The content of the file
- * @param {String} path The file path of the file
- */
- YUI._getLoadHook = null;
- }
-
- YUI.Env[VERSION] = {};
-}());
-
-
-/**
-Config object that contains all of the configuration options for
-this `YUI` instance.
-
-This object is supplied by the implementer when instantiating YUI. Some
-properties have default values if they are not supplied by the implementer.
-
-This object should not be updated directly because some values are cached. Use
-`applyConfig()` to update the config object on a YUI instance that has already
-been configured.
-
-@class config
-@static
-**/
-
-/**
-If `true` (the default), YUI will "bootstrap" the YUI Loader and module metadata
-if they're needed to load additional dependencies and aren't already available.
-
-Setting this to `false` will prevent YUI from automatically loading the Loader
-and module metadata, so you will need to manually ensure that they're available
-or handle dependency resolution yourself.
-
-@property {Boolean} bootstrap
-@default true
-**/
-
-/**
-
-@property {Object} aliases
-**/
-
-/**
-A hash of module group definitions.
-
-For each group you can specify a list of modules and the base path and
-combo spec to use when dynamically loading the modules.
-
-@example
-
- groups: {
- yui2: {
- // specify whether or not this group has a combo service
- combine: true,
-
- // The comboSeperator to use with this group's combo handler
- comboSep: ';',
-
- // The maxURLLength for this server
- maxURLLength: 500,
-
- // the base path for non-combo paths
- base: 'http://yui.yahooapis.com/2.8.0r4/build/',
-
- // the path to the combo service
- comboBase: 'http://yui.yahooapis.com/combo?',
-
- // a fragment to prepend to the path attribute when
- // when building combo urls
- root: '2.8.0r4/build/',
-
- // the module definitions
- modules: {
- yui2_yde: {
- path: "yahoo-dom-event/yahoo-dom-event.js"
- },
- yui2_anim: {
- path: "animation/animation.js",
- requires: ['yui2_yde']
- }
- }
- }
- }
-
-@property {Object} groups
-**/
-
-/**
-Path to the Loader JS file, relative to the `base` path.
-
-This is used to dynamically bootstrap the Loader when it's needed and isn't yet
-available.
-
-@property {String} loaderPath
-@default "loader/loader-min.js"
-**/
-
-/**
-If `true`, YUI will attempt to load CSS dependencies and skins. Set this to
-`false` to prevent YUI from loading any CSS, or set it to the string `"force"`
-to force CSS dependencies to be loaded even if their associated JS modules are
-already loaded.
-
-@property {Boolean|String} fetchCSS
-@default true
-**/
-
-/**
-Default gallery version used to build gallery module urls.
-
-@property {String} gallery
-@since 3.1.0
-**/
-
-/**
-Default YUI 2 version used to build YUI 2 module urls.
-
-This is used for intrinsic YUI 2 support via the 2in3 project. Also see the
-`2in3` config for pulling different revisions of the wrapped YUI 2 modules.
-
-@property {String} yui2
-@default "2.9.0"
-@since 3.1.0
-**/
-
-/**
-Revision number of YUI 2in3 modules that should be used when loading YUI 2in3.
-
-@property {String} 2in3
-@default "4"
-@since 3.1.0
-**/
-
-/**
-Alternate console log function that should be used in environments without a
-supported native console. This function is executed with the YUI instance as its
-`this` object.
-
-@property {Function} logFn
-@since 3.1.0
-**/
-
-/**
-The minimum log level to log messages for. Log levels are defined
-incrementally. Messages greater than or equal to the level specified will
-be shown. All others will be discarded. The order of log levels in
-increasing priority is:
-
- debug
- info
- warn
- error
-
-@property {String} logLevel
-@default 'debug'
-@since 3.10.0
-**/
-
-/**
-Callback to execute when `Y.error()` is called. It receives the error message
-and a JavaScript error object if one was provided.
-
-This function is executed with the YUI instance as its `this` object.
-
-Returning `true` from this function will prevent an exception from being thrown.
-
-@property {Function} errorFn
-@param {String} errorFn.msg Error message
-@param {Object} [errorFn.err] Error object (if one was provided).
-@since 3.2.0
-**/
-
-/**
-A callback to execute when Loader fails to load one or more resources.
-
-This could be because of a script load failure. It could also be because a
-module fails to register itself when the `requireRegistration` config is `true`.
-
-If this function is defined, the `use()` callback will only be called when the
-loader succeeds. Otherwise, `use()` will always executes unless there was a
-JavaScript error when attaching a module.
-
-@property {Function} loadErrorFn
-@since 3.3.0
-**/
-
-/**
-If `true`, Loader will expect all loaded scripts to be first-class YUI modules
-that register themselves with the YUI global, and will trigger a failure if a
-loaded script does not register a YUI module.
-
-@property {Boolean} requireRegistration
-@default false
-@since 3.3.0
-**/
-
-/**
-Cache serviced use() requests.
-
-@property {Boolean} cacheUse
-@default true
-@since 3.3.0
-@deprecated No longer used.
-**/
-
-/**
-Whether or not YUI should use native ES5 functionality when available for
-features like `Y.Array.each()`, `Y.Object()`, etc.
-
-When `false`, YUI will always use its own fallback implementations instead of
-relying on ES5 functionality, even when ES5 functionality is available.
-
-@property {Boolean} useNativeES5
-@default true
-@since 3.5.0
-**/
-
-/**
- * Leverage native JSON stringify if the browser has a native
- * implementation. In general, this is a good idea. See the Known Issues
- * section in the JSON user guide for caveats. The default value is true
- * for browsers with native JSON support.
- *
- * @property useNativeJSONStringify
- * @type Boolean
- * @default true
- * @since 3.8.0
- */
-
- /**
- * Leverage native JSON parse if the browser has a native implementation.
- * In general, this is a good idea. See the Known Issues section in the
- * JSON user guide for caveats. The default value is true for browsers with
- * native JSON support.
- *
- * @property useNativeJSONParse
- * @type Boolean
- * @default true
- * @since 3.8.0
- */
-
-/**
-Delay the `use` callback until a specific event has passed (`load`, `domready`, `contentready` or `available`)
-
-@property {Object|String} delayUntil
-@since 3.6.0
-@example
-
-You can use `load` or `domready` strings by default:
-
- YUI({
- delayUntil: 'domready'
- }, function (Y) {
- // This will not execute until 'domeready' occurs.
- });
-
-Or you can delay until a node is available (with `available` or `contentready`):
-
- YUI({
- delayUntil: {
- event: 'available',
- args : '#foo'
- }
- }, function (Y) {
- // This will not execute until a node matching the selector "#foo" is
- // available in the DOM.
- });
-
-**/
-YUI.add('yui-base', function (Y, NAME) {
-
-/*
- * YUI stub
- * @module yui
- * @submodule yui-base
- */
-/**
- * The YUI module contains the components required for building the YUI
- * seed file. This includes the script loading mechanism, a simple queue,
- * and the core utilities for the library.
- * @module yui
- * @submodule yui-base
- */
-
-/**
- * Provides core language utilites and extensions used throughout YUI.
- *
- * @class Lang
- * @static
- */
-
-var L = Y.Lang || (Y.Lang = {}),
-
-STRING_PROTO = String.prototype,
-TOSTRING = Object.prototype.toString,
-
-TYPES = {
- 'undefined' : 'undefined',
- 'number' : 'number',
- 'boolean' : 'boolean',
- 'string' : 'string',
- '[object Function]': 'function',
- '[object RegExp]' : 'regexp',
- '[object Array]' : 'array',
- '[object Date]' : 'date',
- '[object Error]' : 'error'
-},
-
-SUBREGEX = /\{\s*([^|}]+?)\s*(?:\|([^}]*))?\s*\}/g,
-
-WHITESPACE = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF",
-WHITESPACE_CLASS = "[\x09-\x0D\x20\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+",
-TRIM_LEFT_REGEX = new RegExp("^" + WHITESPACE_CLASS),
-TRIM_RIGHT_REGEX = new RegExp(WHITESPACE_CLASS + "$"),
-TRIMREGEX = new RegExp(TRIM_LEFT_REGEX.source + "|" + TRIM_RIGHT_REGEX.source, "g"),
-
-NATIVE_FN_REGEX = /\{\s*\[(?:native code|function)\]\s*\}/i;
-
-// -- Protected Methods --------------------------------------------------------
-
-/**
-Returns `true` if the given function appears to be implemented in native code,
-`false` otherwise. Will always return `false` -- even in ES5-capable browsers --
-if the `useNativeES5` YUI config option is set to `false`.
-
-This isn't guaranteed to be 100% accurate and won't work for anything other than
-functions, but it can be useful for determining whether a function like
-`Array.prototype.forEach` is native or a JS shim provided by another library.
-
-There's a great article by @kangax discussing certain flaws with this technique:
-
-
-While his points are valid, it's still possible to benefit from this function
-as long as it's used carefully and sparingly, and in such a way that false
-negatives have minimal consequences. It's used internally to avoid using
-potentially broken non-native ES5 shims that have been added to the page by
-other libraries.
-
-@method _isNative
-@param {Function} fn Function to test.
-@return {Boolean} `true` if _fn_ appears to be native, `false` otherwise.
-@static
-@protected
-@since 3.5.0
-**/
-L._isNative = function (fn) {
- return !!(Y.config.useNativeES5 && fn && NATIVE_FN_REGEX.test(fn));
-};
-
-// -- Public Methods -----------------------------------------------------------
-
-/**
- * Determines whether or not the provided item is an array.
- *
- * Returns `false` for array-like collections such as the function `arguments`
- * collection or `HTMLElement` collections. Use `Y.Array.test()` if you want to
- * test for an array-like collection.
- *
- * @method isArray
- * @param o The object to test.
- * @return {boolean} true if o is an array.
- * @static
- */
-L.isArray = L._isNative(Array.isArray) ? Array.isArray : function (o) {
- return L.type(o) === 'array';
-};
-
-/**
- * Determines whether or not the provided item is a boolean.
- * @method isBoolean
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is a boolean.
- */
-L.isBoolean = function(o) {
- return typeof o === 'boolean';
-};
-
-/**
- * Determines whether or not the supplied item is a date instance.
- * @method isDate
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is a date.
- */
-L.isDate = function(o) {
- return L.type(o) === 'date' && o.toString() !== 'Invalid Date' && !isNaN(o);
-};
-
-/**
- *
- * Determines whether or not the provided item is a function.
- * Note: Internet Explorer thinks certain functions are objects:
- *
- *
- *
- * var obj = document.createElement("object");
- * Y.Lang.isFunction(obj.getAttribute) // reports false in IE
- *
- * var input = document.createElement("input"); // append to body
- * Y.Lang.isFunction(input.focus) // reports false in IE
- *
- *
- *
- * You will have to implement additional tests if these functions
- * matter to you.
- *
- *
- * @method isFunction
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is a function.
- */
-L.isFunction = function(o) {
- return L.type(o) === 'function';
-};
-
-/**
- * Determines whether or not the provided item is null.
- * @method isNull
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is null.
- */
-L.isNull = function(o) {
- return o === null;
-};
-
-/**
- * Determines whether or not the provided item is a legal number.
- * @method isNumber
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is a number.
- */
-L.isNumber = function(o) {
- return typeof o === 'number' && isFinite(o);
-};
-
-/**
- * Determines whether or not the provided item is of type object
- * or function. Note that arrays are also objects, so
- * Y.Lang.isObject([]) === true.
- * @method isObject
- * @static
- * @param o The object to test.
- * @param failfn {boolean} fail if the input is a function.
- * @return {boolean} true if o is an object.
- * @see isPlainObject
- */
-L.isObject = function(o, failfn) {
- var t = typeof o;
- return (o && (t === 'object' ||
- (!failfn && (t === 'function' || L.isFunction(o))))) || false;
-};
-
-/**
- * Determines whether or not the provided item is a string.
- * @method isString
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is a string.
- */
-L.isString = function(o) {
- return typeof o === 'string';
-};
-
-/**
- * Determines whether or not the provided item is undefined.
- * @method isUndefined
- * @static
- * @param o The object to test.
- * @return {boolean} true if o is undefined.
- */
-L.isUndefined = function(o) {
- return typeof o === 'undefined';
-};
-
-/**
- * A convenience method for detecting a legitimate non-null value.
- * Returns false for null/undefined/NaN, true for other values,
- * including 0/false/''
- * @method isValue
- * @static
- * @param o The item to test.
- * @return {boolean} true if it is not null/undefined/NaN || false.
- */
-L.isValue = function(o) {
- var t = L.type(o);
-
- switch (t) {
- case 'number':
- return isFinite(o);
-
- case 'null': // fallthru
- case 'undefined':
- return false;
-
- default:
- return !!t;
- }
-};
-
-/**
- * Returns the current time in milliseconds.
- *
- * @method now
- * @return {Number} Current time in milliseconds.
- * @static
- * @since 3.3.0
- */
-L.now = Date.now || function () {
- return new Date().getTime();
-};
-
-/**
- * Lightweight version of Y.substitute. Uses the same template
- * structure as Y.substitute, but doesn't support recursion,
- * auto-object coersion, or formats.
- * @method sub
- * @param {string} s String to be modified.
- * @param {object} o Object containing replacement values.
- * @return {string} the substitute result.
- * @static
- * @since 3.2.0
- */
-L.sub = function(s, o) {
- return s.replace ? s.replace(SUBREGEX, function (match, key) {
- return L.isUndefined(o[key]) ? match : o[key];
- }) : s;
-};
-
-/**
- * Returns a string without any leading or trailing whitespace. If
- * the input is not a string, the input will be returned untouched.
- * @method trim
- * @static
- * @param s {string} the string to trim.
- * @return {string} the trimmed string.
- */
-L.trim = L._isNative(STRING_PROTO.trim) && !WHITESPACE.trim() ? function(s) {
- return s && s.trim ? s.trim() : s;
-} : function (s) {
- try {
- return s.replace(TRIMREGEX, '');
- } catch (e) {
- return s;
- }
-};
-
-/**
- * Returns a string without any leading whitespace.
- * @method trimLeft
- * @static
- * @param s {string} the string to trim.
- * @return {string} the trimmed string.
- */
-L.trimLeft = L._isNative(STRING_PROTO.trimLeft) && !WHITESPACE.trimLeft() ? function (s) {
- return s.trimLeft();
-} : function (s) {
- return s.replace(TRIM_LEFT_REGEX, '');
-};
-
-/**
- * Returns a string without any trailing whitespace.
- * @method trimRight
- * @static
- * @param s {string} the string to trim.
- * @return {string} the trimmed string.
- */
-L.trimRight = L._isNative(STRING_PROTO.trimRight) && !WHITESPACE.trimRight() ? function (s) {
- return s.trimRight();
-} : function (s) {
- return s.replace(TRIM_RIGHT_REGEX, '');
-};
-
-/**
-Returns one of the following strings, representing the type of the item passed
-in:
-
- * "array"
- * "boolean"
- * "date"
- * "error"
- * "function"
- * "null"
- * "number"
- * "object"
- * "regexp"
- * "string"
- * "undefined"
-
-Known issues:
-
- * `typeof HTMLElementCollection` returns function in Safari, but
- `Y.Lang.type()` reports "object", which could be a good thing --
- but it actually caused the logic in Y.Lang.isObject to fail.
-
-@method type
-@param o the item to test.
-@return {string} the detected type.
-@static
-**/
-L.type = function(o) {
- return TYPES[typeof o] || TYPES[TOSTRING.call(o)] || (o ? 'object' : 'null');
-};
-/**
-@module yui
-@submodule yui-base
-*/
-
-var Lang = Y.Lang,
- Native = Array.prototype,
-
- hasOwn = Object.prototype.hasOwnProperty;
-
-/**
-Provides utility methods for working with arrays. Additional array helpers can
-be found in the `collection` and `array-extras` modules.
-
-`Y.Array(thing)` returns a native array created from _thing_. Depending on
-_thing_'s type, one of the following will happen:
-
- * Arrays are returned unmodified unless a non-zero _startIndex_ is
- specified.
- * Array-like collections (see `Array.test()`) are converted to arrays.
- * For everything else, a new array is created with _thing_ as the sole
- item.
-
-Note: elements that are also collections, such as `
- *
- * @method onContentReady
- *
- * @param {string} id the id of the element to look for.
- * @param {function} fn what to execute when the element is ready.
- * @param {object} obj an optional object to be passed back as
- * a parameter to fn.
- * @param {boolean|object} override If set to true, fn will execute
- * in the context of p_obj. If an object, fn will
- * exectute in the context of that object
- *
- * @static
- * @deprecated Use Y.on("contentready")
- */
- // @TODO fix arguments
- onContentReady: function(id, fn, obj, override, compat) {
- return Event.onAvailable(id, fn, obj, override, true, compat);
- },
-
- /**
- * Adds an event listener
- *
- * @method attach
- *
- * @param {String} type The type of event to append
- * @param {Function} fn The method the event invokes
- * @param {String|HTMLElement|Array|NodeList} el An id, an element
- * reference, or a collection of ids and/or elements to assign the
- * listener to.
- * @param {Object} context optional context object
- * @param {Boolean|object} args 0..n arguments to pass to the callback
- * @return {EventHandle} an object to that can be used to detach the listener
- *
- * @static
- */
-
- attach: function(type, fn, el, context) {
- return Event._attach(Y.Array(arguments, 0, true));
- },
-
- _createWrapper: function (el, type, capture, compat, facade) {
-
- var cewrapper,
- ek = Y.stamp(el),
- key = 'event:' + ek + type;
-
- if (false === facade) {
- key += 'native';
- }
- if (capture) {
- key += 'capture';
- }
-
-
- cewrapper = _wrappers[key];
-
-
- if (!cewrapper) {
- // create CE wrapper
- cewrapper = Y.publish(key, {
- silent: true,
- bubbles: false,
- emitFacade:false,
- contextFn: function() {
- if (compat) {
- return cewrapper.el;
- } else {
- cewrapper.nodeRef = cewrapper.nodeRef || Y.one(cewrapper.el);
- return cewrapper.nodeRef;
- }
- }
- });
-
- cewrapper.overrides = {};
-
- // for later removeListener calls
- cewrapper.el = el;
- cewrapper.key = key;
- cewrapper.domkey = ek;
- cewrapper.type = type;
- cewrapper.fn = function(e) {
- cewrapper.fire(Event.getEvent(e, el, (compat || (false === facade))));
- };
- cewrapper.capture = capture;
-
- if (el == win && type == "load") {
- // window load happens once
- cewrapper.fireOnce = true;
- _windowLoadKey = key;
- }
- cewrapper._delete = _deleteAndClean;
-
- _wrappers[key] = cewrapper;
- _el_events[ek] = _el_events[ek] || {};
- _el_events[ek][key] = cewrapper;
-
- add(el, type, cewrapper.fn, capture);
- }
-
- return cewrapper;
-
- },
-
- _attach: function(args, conf) {
-
- var compat,
- handles, oEl, cewrapper, context,
- fireNow = false, ret,
- type = args[0],
- fn = args[1],
- el = args[2] || win,
- facade = conf && conf.facade,
- capture = conf && conf.capture,
- overrides = conf && conf.overrides;
-
- if (args[args.length-1] === COMPAT_ARG) {
- compat = true;
- }
-
- if (!fn || !fn.call) {
-// throw new TypeError(type + " attach call failed, callback undefined");
- return false;
- }
-
- // The el argument can be an array of elements or element ids.
- if (shouldIterate(el)) {
-
- handles=[];
-
- Y.each(el, function(v, k) {
- args[2] = v;
- handles.push(Event._attach(args.slice(), conf));
- });
-
- // return (handles.length === 1) ? handles[0] : handles;
- return new Y.EventHandle(handles);
-
- // If the el argument is a string, we assume it is
- // actually the id of the element. If the page is loaded
- // we convert el to the actual element, otherwise we
- // defer attaching the event until the element is
- // ready
- } else if (Y.Lang.isString(el)) {
-
- // oEl = (compat) ? Y.DOM.byId(el) : Y.Selector.query(el);
-
- if (compat) {
- oEl = Y.DOM.byId(el);
- } else {
-
- oEl = Y.Selector.query(el);
-
- switch (oEl.length) {
- case 0:
- oEl = null;
- break;
- case 1:
- oEl = oEl[0];
- break;
- default:
- args[2] = oEl;
- return Event._attach(args, conf);
- }
- }
-
- if (oEl) {
-
- el = oEl;
-
- // Not found = defer adding the event until the element is available
- } else {
-
- ret = Event.onAvailable(el, function() {
-
- ret.handle = Event._attach(args, conf);
-
- }, Event, true, false, compat);
-
- return ret;
-
- }
- }
-
- // Element should be an html element or node
- if (!el) {
- return false;
- }
-
- if (Y.Node && Y.instanceOf(el, Y.Node)) {
- el = Y.Node.getDOMNode(el);
- }
-
- cewrapper = Event._createWrapper(el, type, capture, compat, facade);
- if (overrides) {
- Y.mix(cewrapper.overrides, overrides);
- }
-
- if (el == win && type == "load") {
-
- // if the load is complete, fire immediately.
- // all subscribers, including the current one
- // will be notified.
- if (YUI.Env.windowLoaded) {
- fireNow = true;
- }
- }
-
- if (compat) {
- args.pop();
- }
-
- context = args[3];
-
- // set context to the Node if not specified
- // ret = cewrapper.on.apply(cewrapper, trimmedArgs);
- ret = cewrapper._on(fn, context, (args.length > 4) ? args.slice(4) : null);
-
- if (fireNow) {
- cewrapper.fire();
- }
-
- return ret;
-
- },
-
- /**
- * Removes an event listener. Supports the signature the event was bound
- * with, but the preferred way to remove listeners is using the handle
- * that is returned when using Y.on
- *
- * @method detach
- *
- * @param {String} type the type of event to remove.
- * @param {Function} fn the method the event invokes. If fn is
- * undefined, then all event handlers for the type of event are
- * removed.
- * @param {String|HTMLElement|Array|NodeList|EventHandle} el An
- * event handle, an id, an element reference, or a collection
- * of ids and/or elements to remove the listener from.
- * @return {boolean} true if the unbind was successful, false otherwise.
- * @static
- */
- detach: function(type, fn, el, obj) {
-
- var args=Y.Array(arguments, 0, true), compat, l, ok, i,
- id, ce;
-
- if (args[args.length-1] === COMPAT_ARG) {
- compat = true;
- // args.pop();
- }
-
- if (type && type.detach) {
- return type.detach();
- }
-
- // The el argument can be a string
- if (typeof el == "string") {
-
- // el = (compat) ? Y.DOM.byId(el) : Y.all(el);
- if (compat) {
- el = Y.DOM.byId(el);
- } else {
- el = Y.Selector.query(el);
- l = el.length;
- if (l < 1) {
- el = null;
- } else if (l == 1) {
- el = el[0];
- }
- }
- // return Event.detach.apply(Event, args);
- }
-
- if (!el) {
- return false;
- }
-
- if (el.detach) {
- args.splice(2, 1);
- return el.detach.apply(el, args);
- // The el argument can be an array of elements or element ids.
- } else if (shouldIterate(el)) {
- ok = true;
- for (i=0, l=el.length; i 0);
- }
-
- // onAvailable
- notAvail = [];
-
- executeItem = function (el, item) {
- var context, ov = item.override;
- try {
- if (item.compat) {
- if (item.override) {
- if (ov === true) {
- context = item.obj;
- } else {
- context = ov;
- }
- } else {
- context = el;
- }
- item.fn.call(context, item.obj);
- } else {
- context = item.obj || Y.one(el);
- item.fn.apply(context, (Y.Lang.isArray(ov)) ? ov : []);
- }
- } catch (e) {
- }
- };
-
- // onAvailable
- for (i=0,len=_avail.length; i 4 ? Y.Array(arguments, 4, true) : null;
- return Y.Event.onAvailable.call(Y.Event, id, fn, o, a);
- }
-};
-
-/**
- * Executes the callback as soon as the specified element
- * is detected in the DOM with a nextSibling property
- * (indicating that the element's children are available).
- * This function expects a selector
- * string for the element(s) to detect. If you already have
- * an element reference, you don't need this event.
- * @event contentready
- * @param type {string} 'contentready'
- * @param fn {function} the callback function to execute.
- * @param el {string} an selector for the element(s) to attach.
- * @param context optional argument that specifies what 'this' refers to.
- * @param args* 0..n additional arguments to pass on to the callback function.
- * These arguments will be added after the event object.
- * @return {EventHandle} the detach handle
- * @for YUI
- */
-Y.Env.evt.plugins.contentready = {
- on: function(type, fn, id, o) {
- var a = arguments.length > 4 ? Y.Array(arguments, 4, true) : null;
- return Y.Event.onContentReady.call(Y.Event, id, fn, o, a);
- }
-};
-
-
-}, '3.12.0', {"requires": ["event-custom-base"]});
-(function() {
-
-var stateChangeListener,
- GLOBAL_ENV = YUI.Env,
- config = YUI.config,
- doc = config.doc,
- docElement = doc && doc.documentElement,
- EVENT_NAME = 'onreadystatechange',
- pollInterval = config.pollInterval || 40;
-
-if (docElement.doScroll && !GLOBAL_ENV._ieready) {
- GLOBAL_ENV._ieready = function() {
- GLOBAL_ENV._ready();
- };
-
-/*! DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
-// Internet Explorer: use the doScroll() method on the root element.
-// This isolates what appears to be a safe moment to manipulate the
-// DOM prior to when the document's readyState suggests it is safe to do so.
- if (self !== self.top) {
- stateChangeListener = function() {
- if (doc.readyState == 'complete') {
- GLOBAL_ENV.remove(doc, EVENT_NAME, stateChangeListener);
- GLOBAL_ENV.ieready();
- }
- };
- GLOBAL_ENV.add(doc, EVENT_NAME, stateChangeListener);
- } else {
- GLOBAL_ENV._dri = setInterval(function() {
- try {
- docElement.doScroll('left');
- clearInterval(GLOBAL_ENV._dri);
- GLOBAL_ENV._dri = null;
- GLOBAL_ENV._ieready();
- } catch (domNotReady) { }
- }, pollInterval);
- }
-}
-
-})();
-YUI.add('event-base-ie', function (Y, NAME) {
-
-/*
- * Custom event engine, DOM event listener abstraction layer, synthetic DOM
- * events.
- * @module event
- * @submodule event-base
- */
-
-function IEEventFacade() {
- // IEEventFacade.superclass.constructor.apply(this, arguments);
- Y.DOM2EventFacade.apply(this, arguments);
-}
-
-/*
- * (intentially left out of API docs)
- * Alternate Facade implementation that is based on Object.defineProperty, which
- * is partially supported in IE8. Properties that involve setup work are
- * deferred to temporary getters using the static _define method.
- */
-function IELazyFacade(e) {
- var proxy = Y.config.doc.createEventObject(e),
- proto = IELazyFacade.prototype;
-
- // TODO: necessary?
- proxy.hasOwnProperty = function () { return true; };
-
- proxy.init = proto.init;
- proxy.halt = proto.halt;
- proxy.preventDefault = proto.preventDefault;
- proxy.stopPropagation = proto.stopPropagation;
- proxy.stopImmediatePropagation = proto.stopImmediatePropagation;
-
- Y.DOM2EventFacade.apply(proxy, arguments);
-
- return proxy;
-}
-
-
-var imp = Y.config.doc && Y.config.doc.implementation,
- useLazyFacade = Y.config.lazyEventFacade,
-
- buttonMap = {
- 0: 1, // left click
- 4: 2, // middle click
- 2: 3 // right click
- },
- relatedTargetMap = {
- mouseout: 'toElement',
- mouseover: 'fromElement'
- },
-
- resolve = Y.DOM2EventFacade.resolve,
-
- proto = {
- init: function() {
-
- IEEventFacade.superclass.init.apply(this, arguments);
-
- var e = this._event,
- x, y, d, b, de, t;
-
- this.target = resolve(e.srcElement);
-
- if (('clientX' in e) && (!x) && (0 !== x)) {
- x = e.clientX;
- y = e.clientY;
-
- d = Y.config.doc;
- b = d.body;
- de = d.documentElement;
-
- x += (de.scrollLeft || (b && b.scrollLeft) || 0);
- y += (de.scrollTop || (b && b.scrollTop) || 0);
-
- this.pageX = x;
- this.pageY = y;
- }
-
- if (e.type == "mouseout") {
- t = e.toElement;
- } else if (e.type == "mouseover") {
- t = e.fromElement;
- }
-
- // fallback to t.relatedTarget to support simulated events.
- // IE doesn't support setting toElement or fromElement on generic
- // events, so Y.Event.simulate sets relatedTarget instead.
- this.relatedTarget = resolve(t || e.relatedTarget);
-
- // which should contain the unicode key code if this is a key event.
- // For click events, which is normalized for which mouse button was
- // clicked.
- this.which = // chained assignment
- this.button = e.keyCode || buttonMap[e.button] || e.button;
- },
-
- stopPropagation: function() {
- this._event.cancelBubble = true;
- this._wrapper.stopped = 1;
- this.stopped = 1;
- },
-
- stopImmediatePropagation: function() {
- this.stopPropagation();
- this._wrapper.stopped = 2;
- this.stopped = 2;
- },
-
- preventDefault: function(returnValue) {
- this._event.returnValue = returnValue || false;
- this._wrapper.prevented = 1;
- this.prevented = 1;
- }
- };
-
-Y.extend(IEEventFacade, Y.DOM2EventFacade, proto);
-
-Y.extend(IELazyFacade, Y.DOM2EventFacade, proto);
-IELazyFacade.prototype.init = function () {
- var e = this._event,
- overrides = this._wrapper.overrides,
- define = IELazyFacade._define,
- lazyProperties = IELazyFacade._lazyProperties,
- prop;
-
- this.altKey = e.altKey;
- this.ctrlKey = e.ctrlKey;
- this.metaKey = e.metaKey;
- this.shiftKey = e.shiftKey;
- this.type = (overrides && overrides.type) || e.type;
- this.clientX = e.clientX;
- this.clientY = e.clientY;
- this.keyCode = // chained assignment
- this.charCode = e.keyCode;
- this.which = // chained assignment
- this.button = e.keyCode || buttonMap[e.button] || e.button;
-
- for (prop in lazyProperties) {
- if (lazyProperties.hasOwnProperty(prop)) {
- define(this, prop, lazyProperties[prop]);
- }
- }
-
- if (this._touch) {
- this._touch(e, this._currentTarget, this._wrapper);
- }
-};
-
-IELazyFacade._lazyProperties = {
- target: function () {
- return resolve(this._event.srcElement);
- },
- relatedTarget: function () {
- var e = this._event,
- targetProp = relatedTargetMap[e.type] || 'relatedTarget';
-
- // fallback to t.relatedTarget to support simulated events.
- // IE doesn't support setting toElement or fromElement on generic
- // events, so Y.Event.simulate sets relatedTarget instead.
- return resolve(e[targetProp] || e.relatedTarget);
- },
- currentTarget: function () {
- return resolve(this._currentTarget);
- },
-
- wheelDelta: function () {
- var e = this._event;
-
- if (e.type === "mousewheel" || e.type === "DOMMouseScroll") {
- return (e.detail) ?
- (e.detail * -1) :
- // wheelDelta between -80 and 80 result in -1 or 1
- Math.round(e.wheelDelta / 80) || ((e.wheelDelta < 0) ? -1 : 1);
- }
- },
-
- pageX: function () {
- var e = this._event,
- val = e.pageX,
- doc, bodyScroll, docScroll;
-
- if (val === undefined) {
- doc = Y.config.doc;
- bodyScroll = doc.body && doc.body.scrollLeft;
- docScroll = doc.documentElement.scrollLeft;
-
- val = e.clientX + (docScroll || bodyScroll || 0);
- }
-
- return val;
- },
- pageY: function () {
- var e = this._event,
- val = e.pageY,
- doc, bodyScroll, docScroll;
-
- if (val === undefined) {
- doc = Y.config.doc;
- bodyScroll = doc.body && doc.body.scrollTop;
- docScroll = doc.documentElement.scrollTop;
-
- val = e.clientY + (docScroll || bodyScroll || 0);
- }
-
- return val;
- }
-};
-
-
-/**
- * Wrapper function for Object.defineProperty that creates a property whose
- * value will be calulated only when asked for. After calculating the value,
- * the getter wll be removed, so it will behave as a normal property beyond that
- * point. A setter is also assigned so assigning to the property will clear
- * the getter, so foo.prop = 'a'; foo.prop; won't trigger the getter,
- * overwriting value 'a'.
- *
- * Used only by the DOMEventFacades used by IE8 when the YUI configuration
- * lazyEventFacade is set to true.
- *
- * @method _define
- * @param o {DOMObject} A DOM object to add the property to
- * @param prop {String} The name of the new property
- * @param valueFn {Function} The function that will return the initial, default
- * value for the property.
- * @static
- * @private
- */
-IELazyFacade._define = function (o, prop, valueFn) {
- function val(v) {
- var ret = (arguments.length) ? v : valueFn.call(this);
-
- delete o[prop];
- Object.defineProperty(o, prop, {
- value: ret,
- configurable: true,
- writable: true
- });
- return ret;
- }
- Object.defineProperty(o, prop, {
- get: val,
- set: val,
- configurable: true
- });
-};
-
-if (imp && (!imp.hasFeature('Events', '2.0'))) {
- if (useLazyFacade) {
- // Make sure we can use the lazy facade logic
- try {
- Object.defineProperty(Y.config.doc.createEventObject(), 'z', {});
- } catch (e) {
- useLazyFacade = false;
- }
- }
-
- Y.DOMEventFacade = (useLazyFacade) ? IELazyFacade : IEEventFacade;
-}
-
-
-}, '3.12.0', {"requires": ["node-base"]});
-YUI.add('pluginhost-base', function (Y, NAME) {
-
- /**
- * Provides the augmentable PluginHost interface, which can be added to any class.
- * @module pluginhost
- */
-
- /**
- * Provides the augmentable PluginHost interface, which can be added to any class.
- * @module pluginhost-base
- */
-
- /**
- *
- * An augmentable class, which provides the augmented class with the ability to host plugins.
- * It adds plug and unplug methods to the augmented class, which can
- * be used to add or remove plugins from instances of the class.
- *
- *
- *
Plugins can also be added through the constructor configuration object passed to the host class' constructor using
- * the "plugins" property. Supported values for the "plugins" property are those defined by the plug method.
- *
- * For example the following code would add the AnimPlugin and IOPlugin to Overlay (the plugin host):
- *
- * var o = new Overlay({plugins: [ AnimPlugin, {fn:IOPlugin, cfg:{section:"header"}}]});
- *
- *
- *
- * Plug.Host's protected _initPlugins and _destroyPlugins
- * methods should be invoked by the host class at the appropriate point in the host's lifecyle.
- *
- *
- * @class Plugin.Host
- */
-
- var L = Y.Lang;
-
- function PluginHost() {
- this._plugins = {};
- }
-
- PluginHost.prototype = {
-
- /**
- * Adds a plugin to the host object. This will instantiate the
- * plugin and attach it to the configured namespace on the host object.
- *
- * @method plug
- * @chainable
- * @param P {Function | Object |Array} Accepts the plugin class, or an
- * object with a "fn" property specifying the plugin class and
- * a "cfg" property specifying the configuration for the Plugin.
- *
- * Additionally an Array can also be passed in, with the above function or
- * object values, allowing the user to add multiple plugins in a single call.
- *
- * @param config (Optional) If the first argument is the plugin class, the second argument
- * can be the configuration for the plugin.
- * @return {Base} A reference to the host object
- */
- plug: function(Plugin, config) {
- var i, ln, ns;
-
- if (L.isArray(Plugin)) {
- for (i = 0, ln = Plugin.length; i < ln; i++) {
- this.plug(Plugin[i]);
- }
- } else {
- if (Plugin && !L.isFunction(Plugin)) {
- config = Plugin.cfg;
- Plugin = Plugin.fn;
- }
-
- // Plugin should be fn by now
- if (Plugin && Plugin.NS) {
- ns = Plugin.NS;
-
- config = config || {};
- config.host = this;
-
- if (this.hasPlugin(ns)) {
- // Update config
- if (this[ns].setAttrs) {
- this[ns].setAttrs(config);
- }
- } else {
- // Create new instance
- this[ns] = new Plugin(config);
- this._plugins[ns] = Plugin;
- }
- }
- }
- return this;
- },
-
- /**
- * Removes a plugin from the host object. This will destroy the
- * plugin instance and delete the namespace from the host object.
- *
- * @method unplug
- * @param {String | Function} plugin The namespace of the plugin, or the plugin class with the static NS namespace property defined. If not provided,
- * all registered plugins are unplugged.
- * @return {Base} A reference to the host object
- * @chainable
- */
- unplug: function(plugin) {
- var ns = plugin,
- plugins = this._plugins;
-
- if (plugin) {
- if (L.isFunction(plugin)) {
- ns = plugin.NS;
- if (ns && (!plugins[ns] || plugins[ns] !== plugin)) {
- ns = null;
- }
- }
-
- if (ns) {
- if (this[ns]) {
- if (this[ns].destroy) {
- this[ns].destroy();
- }
- delete this[ns];
- }
- if (plugins[ns]) {
- delete plugins[ns];
- }
- }
- } else {
- for (ns in this._plugins) {
- if (this._plugins.hasOwnProperty(ns)) {
- this.unplug(ns);
- }
- }
- }
- return this;
- },
-
- /**
- * Determines if a plugin has plugged into this host.
- *
- * @method hasPlugin
- * @param {String} ns The plugin's namespace
- * @return {Plugin} Returns a truthy value (the plugin instance) if present, or undefined if not.
- */
- hasPlugin : function(ns) {
- return (this._plugins[ns] && this[ns]);
- },
-
- /**
- * Initializes static plugins registered on the host (using the
- * Base.plug static method) and any plugins passed to the
- * instance through the "plugins" configuration property.
- *
- * @method _initPlugins
- * @param {Config} config The configuration object with property name/value pairs.
- * @private
- */
-
- _initPlugins: function(config) {
- this._plugins = this._plugins || {};
-
- if (this._initConfigPlugins) {
- this._initConfigPlugins(config);
- }
- },
-
- /**
- * Unplugs and destroys all plugins on the host
- * @method _destroyPlugins
- * @private
- */
- _destroyPlugins: function() {
- this.unplug();
- }
- };
-
- Y.namespace("Plugin").Host = PluginHost;
-
-
-}, '3.12.0', {"requires": ["yui-base"]});
-YUI.add('pluginhost-config', function (Y, NAME) {
-
- /**
- * Adds pluginhost constructor configuration and static configuration support
- * @submodule pluginhost-config
- */
-
- var PluginHost = Y.Plugin.Host,
- L = Y.Lang;
-
- /**
- * A protected initialization method, used by the host class to initialize
- * plugin configurations passed the constructor, through the config object.
- *
- * Host objects should invoke this method at the appropriate time in their
- * construction lifecycle.
- *
- * @method _initConfigPlugins
- * @param {Object} config The configuration object passed to the constructor
- * @protected
- * @for Plugin.Host
- */
- PluginHost.prototype._initConfigPlugins = function(config) {
-
- // Class Configuration
- var classes = (this._getClasses) ? this._getClasses() : [this.constructor],
- plug = [],
- unplug = {},
- constructor, i, classPlug, classUnplug, pluginClassName;
-
- // TODO: Room for optimization. Can we apply statically/unplug in same pass?
- for (i = classes.length - 1; i >= 0; i--) {
- constructor = classes[i];
-
- classUnplug = constructor._UNPLUG;
- if (classUnplug) {
- // subclasses over-write
- Y.mix(unplug, classUnplug, true);
- }
-
- classPlug = constructor._PLUG;
- if (classPlug) {
- // subclasses over-write
- Y.mix(plug, classPlug, true);
- }
- }
-
- for (pluginClassName in plug) {
- if (plug.hasOwnProperty(pluginClassName)) {
- if (!unplug[pluginClassName]) {
- this.plug(plug[pluginClassName]);
- }
- }
- }
-
- // User Configuration
- if (config && config.plugins) {
- this.plug(config.plugins);
- }
- };
-
- /**
- * Registers plugins to be instantiated at the class level (plugins
- * which should be plugged into every instance of the class by default).
- *
- * @method plug
- * @static
- *
- * @param {Function} hostClass The host class on which to register the plugins
- * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined)
- * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin
- * @for Plugin.Host
- */
- PluginHost.plug = function(hostClass, plugin, config) {
- // Cannot plug into Base, since Plugins derive from Base [ will cause infinite recurrsion ]
- var p, i, l, name;
-
- if (hostClass !== Y.Base) {
- hostClass._PLUG = hostClass._PLUG || {};
-
- if (!L.isArray(plugin)) {
- if (config) {
- plugin = {fn:plugin, cfg:config};
- }
- plugin = [plugin];
- }
-
- for (i = 0, l = plugin.length; i < l;i++) {
- p = plugin[i];
- name = p.NAME || p.fn.NAME;
- hostClass._PLUG[name] = p;
- }
- }
- };
-
- /**
- * Unregisters any class level plugins which have been registered by the host class, or any
- * other class in the hierarchy.
- *
- * @method unplug
- * @static
- *
- * @param {Function} hostClass The host class from which to unregister the plugins
- * @param {Function | Array} plugin The plugin class, or an array of plugin classes
- * @for Plugin.Host
- */
- PluginHost.unplug = function(hostClass, plugin) {
- var p, i, l, name;
-
- if (hostClass !== Y.Base) {
- hostClass._UNPLUG = hostClass._UNPLUG || {};
-
- if (!L.isArray(plugin)) {
- plugin = [plugin];
- }
-
- for (i = 0, l = plugin.length; i < l; i++) {
- p = plugin[i];
- name = p.NAME;
- if (!hostClass._PLUG[name]) {
- hostClass._UNPLUG[name] = p;
- } else {
- delete hostClass._PLUG[name];
- }
- }
- }
- };
-
-
-}, '3.12.0', {"requires": ["pluginhost-base"]});
-YUI.add('event-delegate', function (Y, NAME) {
-
-/**
- * Adds event delegation support to the library.
- *
- * @module event
- * @submodule event-delegate
- */
-
-var toArray = Y.Array,
- YLang = Y.Lang,
- isString = YLang.isString,
- isObject = YLang.isObject,
- isArray = YLang.isArray,
- selectorTest = Y.Selector.test,
- detachCategories = Y.Env.evt.handles;
-
-/**
- *
Sets up event delegation on a container element. The delegated event
- * will use a supplied selector or filtering function to test if the event
- * references at least one node that should trigger the subscription
- * callback.
- *
- *
Selector string filters will trigger the callback if the event originated
- * from a node that matches it or is contained in a node that matches it.
- * Function filters are called for each Node up the parent axis to the
- * subscribing container node, and receive at each level the Node and the event
- * object. The function should return true (or a truthy value) if that Node
- * should trigger the subscription callback. Note, it is possible for filters
- * to match multiple Nodes for a single event. In this case, the delegate
- * callback will be executed for each matching Node.
',SELECT_FILES_BUTTON:"",TYPE:"flash",NAME:"uploader",ATTRS:{appendNewFiles:{value:!0},buttonClassNames:{value:{hover:"yui3-button-hover",active:"yui3-button-active",disabled:"yui3-button-disabled",focus:"yui3-button-selected"}},enabled:{value:!0},errorAction:{value:"continue",validator:function(e){return e===r.CONTINUE||e===r.STOP||e===r.RESTART_ASAP||e===r.RESTART_AFTER}},fileFilters:{value:[]},fileFilterFunction:{value:null},fileFieldName:{value:"Filedata"},fileList:{value:[],getter:"_getFileList",setter:"_setFileList"},multipleFiles:{value:!1},postVarsPerFile:{value:{}},selectButtonLabel:{value:"Select Files"},selectFilesButton:{valueFn:function(){return e.Node.create(n(e.UploaderFlash.SELECT_FILES_BUTTON,{selectButtonLabel:this.get("selectButtonLabel")}))}},simLimit:{value:2,validator:function(e){return e>=2&&e<=5}},swfURL:{valueFn:function(){var t=e.Env.cdn+"uploader/assets/flashuploader.swf";return e.UA.ie>0?t+"?t="+e.guid("uploader"):t}},tabElements:{value:null},uploadURL:{value:""},retryCount:{value:3}}}),e.UploaderFlash.Queue=r},"3.12.0",{requires:["swf","widget","base","cssbutton","node","event-custom","file-flash","uploader-queue"]});
diff --git a/lib/yuilib/3.12.0/uploader/assets/flashuploader.swf b/lib/yuilib/3.12.0/uploader/assets/flashuploader.swf
deleted file mode 100644
index 0387c3a561b..00000000000
Binary files a/lib/yuilib/3.12.0/uploader/assets/flashuploader.swf and /dev/null differ
diff --git a/lib/yuilib/3.12.0/widget-base/widget-base-min.js b/lib/yuilib/3.12.0/widget-base/widget-base-min.js
deleted file mode 100644
index 140ee66abc3..00000000000
--- a/lib/yuilib/3.12.0/widget-base/widget-base-min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-YUI 3.12.0 (build 8655935)
-Copyright 2013 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-http://yuilibrary.com/license/
-*/
-
-YUI.add("widget-base",function(e,t){function R(e){var t=this,n,r,i=t.constructor;t._strs={},t._cssPrefix=i.CSS_PREFIX||s(i.NAME.toLowerCase()),e=e||{},R.superclass.constructor.call(t,e),r=t.get(T),r&&(r!==P&&(n=r),t.render(n))}var n=e.Lang,r=e.Node,i=e.ClassNameManager,s=i.getClassName,o,u=e.cached(function(e){return e.substring(0,1).toUpperCase()+e.substring(1)}),a="content",f="visible",l="hidden",c="disabled",h="focused",p="width",d="height",v="boundingBox",m="contentBox",g="parentNode",y="ownerDocument",b="auto",w="srcNode",E="body",S="tabIndex",x="id",T="render",N="rendered",C="destroyed",k="strings",L="",A="Change",O="loading",M="_uiSet",_="",D=function(){},P=!0,H=!1,B,j={},F=[f,c,d,p,h,S],I=e.UA.webkit,q={};R.NAME="widget",B=R.UI_SRC="ui",R.ATTRS=j,j[x]={valueFn:"_guid",writeOnce:P},j[N]={value:H,readOnly:P},j[v]={value:null,setter:"_setBB",writeOnce:P},j[m]={valueFn:"_defaultCB",setter:"_setCB",writeOnce:P},j[S]={value:null,validator:"_validTabIndex"},j[h]={value:H,readOnly:P},j[c]={value:H},j[f]={value:P},j[d]={value:_},j[p]={value:_},j[k]={value:{},setter:"_strSetter",getter:"_strGetter"},j[T]={value:H,writeOnce:P},R.CSS_PREFIX=s(R.NAME.toLowerCase()),R.getClassName=function(){return s.apply(i,[R.CSS_PREFIX].concat(e.Array(arguments),!0))},o=R.getClassName,R.getByNode=function(t){var n,i=o();return t=r.one(t),t&&(t=t.ancestor("."+i,!0),t&&(n=q[e.stamp(t,!0)])),n||null},e.extend(R,e.Base,{getClassName:function(){return s.apply(i,[this._cssPrefix].concat(e.Array(arguments),!0))},initializer:function(t){var n=this.get(v);n instanceof r&&this._mapInstance(e.stamp(n))},_mapInstance:function(e){q[e]=this},destructor:function(){var t=this.get(v),n;t instanceof r&&(n=e.stamp(t,!0),n in q&&delete q[n],this._destroyBox())},destroy:function(e){return this._destroyAllNodes=e,R.superclass.destroy.apply(this)},_destroyBox:function(){var e=this.get(v),t=this.get(m),n=this._destroyAllNodes,r;r=e&&e.compareTo(t),this.UI_EVENTS&&this._destroyUIEvents(),this._unbindUI(e),t&&(n&&t.empty(),t.remove(P)),r||(n&&e.empty(),e.remove(P))},render:function(e){return!this.get(C)&&!this.get(N)&&(this.publish(T,{queuable:H,fireOnce:P,defaultTargetOnly:P,defaultFn:this._defRenderFn}),this.fire(T,{parentNode:e?r.one(e):null})),this},_defRenderFn:function(e){this._parentNode=e.parentNode,this.renderer(),this._set(N,P),this._removeLoadingClassNames()},renderer:function(){var e=this;e._renderUI(),e.renderUI(),e._bindUI(),e.bindUI(),e._syncUI(),e.syncUI()},bindUI:D,renderUI:D,syncUI:D,hide:function(){return this.set(f,H)},show:function(){return this.set(f,P)},focus:function(){return this._set(h,P)},blur:function(){return this._set(h,H)},enable:function(){return this.set(c,H)},disable:function(){return this.set(c,P)},_uiSizeCB:function(e){this.get(m).toggleClass(o(a,"expanded"),e)},_renderBox:function(e){var t=this,n=t.get(m),i=t.get(v),s=t.get(w),o=t.DEF_PARENT_NODE,u=s&&s.get(y)||i.get(y)||n.get(y);s&&!s.compareTo(n)&&!n.inDoc(u)&&s.replace(n),!i.compareTo(n.get(g))&&!i.compareTo(n)&&(n.inDoc(u)&&n.replace(i),i.appendChild(n)),e=e||o&&r.one(o),e?e.appendChild(i):i.inDoc(u)||r.one(E).insert(i,0)},_setBB:function(e){return this._setBox(this.get(x),e,this.BOUNDING_TEMPLATE,!0)},_setCB:function(e){return this.CONTENT_TEMPLATE===null?this.get(v):this._setBox(null,e,this.CONTENT_TEMPLATE,!1)},_defaultCB:function(e){return this.get(w)||null},_setBox:function(t,n,i,s){return n=r.one(n),n||(n=r.create(i),s?this._bbFromTemplate=!0:this._cbFromTemplate=!0),n.get(x)||n.set(x,t||e.guid()),n},_renderUI:function(){this._renderBoxClassNames(),this._renderBox(this._parentNode)},_renderBoxClassNames:function(){var e=this._getClasses(),t,n=this.get(v),r;n.addClass(o());for(r=e.length-3;r>=0;r--)t=e[r],n.addClass(t.CSS_PREFIX||s(t.NAME.toLowerCase()));this.get(m).addClass(this.getClassName(a))},_removeLoadingClassNames:function(){var e=this.get(v),t=this.get(m),n=this.getClassName(O),r=o(O);e.removeClass(r).removeClass(n),t.removeClass(r).removeClass(n)},_bindUI:function(){this._bindAttrUI(this._UI_ATTRS.BIND),this._bindDOM()},_unbindUI:function(e){this._unbindDOM(e)},_bindDOM:function(){var t=this.get(v).get(y),n=R._hDocFocus;n||(n=R._hDocFocus=t.on("focus",this._onDocFocus,this),n.listeners={count:0}),n.listeners[e.stamp(this,!0)]=!0,n.listeners.count++,I&&(this._hDocMouseDown=t.on("mousedown",this._onDocMouseDown,this))},_unbindDOM:function(t){var n=R._hDocFocus,r=e.stamp(this,!0),i,s=this._hDocMouseDown;n&&(i=n.listeners,i[r]&&(delete i[r],i.count--),i.count===0&&(n.detach(),R._hDocFocus=null)),I&&s&&s.detach()},_syncUI:function(){this._syncAttrUI(this._UI_ATTRS.SYNC)},_uiSetHeight:function(e){this._uiSetDim(d,e),this._uiSizeCB(e!==_&&e!==b)},_uiSetWidth:function(e){this._uiSetDim(p,e)},_uiSetDim:function(e,t){this.get(v).setStyle(e,n.isNumber(t)?t+this.DEF_UNIT:t)},_uiSetVisible:function(e){this.get(v).toggleClass(this.getClassName(l),!e)},_uiSetDisabled:function(e){this.get(v).toggleClass(this.getClassName(c),e)},_uiSetFocused:function(e,t){var n=this.get(v);n.toggleClass(this.getClassName(h),e),t!==B&&(e?n.focus():n.blur())},_uiSetTabIndex:function(e){var t=this.get(v);n.isNumber(e)?t.set(S,e):t.removeAttribute(S)},_onDocMouseDown:function(e){this._domFocus&&this._onDocFocus(e)},_onDocFocus:function(e){var t=R.getByNode(e.target),n=R._active;n&&n!==t&&(n._domFocus=!1,n._set(h,!1,{src:B}),R._active=null),t&&(t._domFocus=!0,t._set(h,!0,{src:B}),R._active=t)},toString:function(){return this.name+"["+this.get(x)+"]"},DEF_UNIT:"px",DEF_PARENT_NODE:null,CONTENT_TEMPLATE:L,BOUNDING_TEMPLATE:L,_guid:function(){return e.guid()},_validTabIndex:function(e){return n.isNumber(e)||n.isNull(e)},_bindAttrUI:function(e){var t,n=e.length;for(t=0;t
- * If no values of the key are defined for a particular locale the value for the
- * default locale (in initial locale set for the class) is returned.
- *
- * @method getStrings
- * @param {String} locale (optional) The locale for which the string value is required. Defaults to the current locale, if not provided.
- */
- // TODO: Optimize/Cache. Clear cache on _setStrings call.
- getStrings : function(locale) {
-
- locale = (locale || this.get(LOCALE)).toLowerCase();
-
- Y.log("getStrings: For " + locale, "info", "widget");
-
- var defLocale = this.getDefaultLocale().toLowerCase(),
- defStrs = this._getStrings(defLocale),
- strs = (defStrs) ? Y.merge(defStrs) : {},
- localeSegments = locale.split(HYPHEN),
- localeStrs,
- i, l,
- lookup;
-
- // If locale is different than the default, or needs lookup support
- if (locale !== defLocale || localeSegments.length > 1) {
- lookup = EMPTY_STR;
- for (i = 0, l = localeSegments.length; i < l; ++i) {
- lookup += localeSegments[i];
-
- Y.log("getStrings: Merging in strings from: " + lookup, "info", "widget");
-
- localeStrs = this._getStrings(lookup);
- if (localeStrs) {
- Y.aggregate(strs, localeStrs, TRUE);
- }
- lookup += HYPHEN;
- }
- }
-
- return strs;
- },
-
- /**
- * Gets the string for a particular key, for a particular locale, performing locale lookup.
- *
- * If no values if defined for the key, for the given locale, the value for the
- * default locale (in initial locale set for the class) is returned.
- *
- * @method getString
- * @param {String} key The key.
- * @param {String} locale (optional) The locale for which the string value is required. Defaults to the current locale, if not provided.
- */
- getString : function(key, locale) {
-
- locale = (locale || this.get(LOCALE)).toLowerCase();
-
- Y.log("getString: For " + locale, "info", "widget");
-
- var defLocale = (this.getDefaultLocale()).toLowerCase(),
- strs = this._getStrings(defLocale) || {},
- str = strs[key],
- idx = locale.lastIndexOf(HYPHEN);
-
- // If locale is different than the default, or needs lookup support
- if (locale !== defLocale || idx != -1) {
- do {
- Y.log("getString: Performing lookup for: " + locale, "info", "widget");
-
- strs = this._getStrings(locale);
- if (strs && key in strs) {
- str = strs[key];
- break;
- }
- idx = locale.lastIndexOf(HYPHEN);
- // Chop of last locale segment
- if (idx != -1) {
- locale = locale.substring(0, idx);
- }
-
- } while (idx != -1);
- }
-
- return str;
- },
-
- /**
- * Returns the default locale for the widget (the locale value defined by the
- * widget class, or provided by the user during construction).
- *
- * @method getDefaultLocale
- * @return {String} The default locale for the widget
- */
- getDefaultLocale : function() {
- return this._state.get(LOCALE, INIT_VALUE);
- },
-
- _strSetter : function(val) {
- return this._setStrings(val, this.get(LOCALE));
- },
-
- _strGetter : function(val) {
- return this._getStrings(this.get(LOCALE));
- }
-}, true);
-
-
-}, '3.12.0', {"requires": ["widget-base"]});
diff --git a/lib/yuilib/3.12.0/widget-locale/widget-locale-min.js b/lib/yuilib/3.12.0/widget-locale/widget-locale-min.js
deleted file mode 100644
index 9ccb3d9c46e..00000000000
--- a/lib/yuilib/3.12.0/widget-locale/widget-locale-min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-YUI 3.12.0 (build 8655935)
-Copyright 2013 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-http://yuilibrary.com/license/
-*/
-
-YUI.add("widget-locale",function(e,t){var n=!0,r="locale",i="initValue",s="-",o="",u=e.Widget;u.ATTRS[r]={value:"en"},u.ATTRS.strings.lazyAdd=!1,e.mix(u.prototype,{_setStrings:function(t,r){var i=this._strs;return r=r.toLowerCase(),i[r]||(i[r]={}),e.aggregate(i[r],t,n),i[r]},_getStrings:function(e){return this._strs[e.toLowerCase()]},getStrings:function(t){t=(t||this.get(r)).toLowerCase();var i=this.getDefaultLocale().toLowerCase(),u=this._getStrings(i),a=u?e.merge(u):{},f=t.split(s),l,c,h,p;if(t!==i||f.length>1){p=o;for(c=0,h=f.length;c
- * If no values of the key are defined for a particular locale the value for the
- * default locale (in initial locale set for the class) is returned.
- *
- * @method getStrings
- * @param {String} locale (optional) The locale for which the string value is required. Defaults to the current locale, if not provided.
- */
- // TODO: Optimize/Cache. Clear cache on _setStrings call.
- getStrings : function(locale) {
-
- locale = (locale || this.get(LOCALE)).toLowerCase();
-
-
- var defLocale = this.getDefaultLocale().toLowerCase(),
- defStrs = this._getStrings(defLocale),
- strs = (defStrs) ? Y.merge(defStrs) : {},
- localeSegments = locale.split(HYPHEN),
- localeStrs,
- i, l,
- lookup;
-
- // If locale is different than the default, or needs lookup support
- if (locale !== defLocale || localeSegments.length > 1) {
- lookup = EMPTY_STR;
- for (i = 0, l = localeSegments.length; i < l; ++i) {
- lookup += localeSegments[i];
-
-
- localeStrs = this._getStrings(lookup);
- if (localeStrs) {
- Y.aggregate(strs, localeStrs, TRUE);
- }
- lookup += HYPHEN;
- }
- }
-
- return strs;
- },
-
- /**
- * Gets the string for a particular key, for a particular locale, performing locale lookup.
- *
- * If no values if defined for the key, for the given locale, the value for the
- * default locale (in initial locale set for the class) is returned.
- *
With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
"," *
With a validator function, to validate values before they are stored.
"," *
"," *"," *
See the addAttr method, for the complete set of configuration"," * options available for attributes.
"," *"," *
NOTE: Most implementations will be better off extending the Base class,"," * instead of augmenting Attribute directly. Base augments Attribute and will handle the initial configuration"," * of attributes for derived classes, accounting for values passed into the constructor.
"," *"," * @class Attribute"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @uses AttributeCore"," * @uses AttributeObservable"," * @uses EventTarget"," * @uses AttributeExtras"," */"," function Attribute() {"," Y.AttributeCore.apply(this, arguments);"," Y.AttributeObservable.apply(this, arguments);"," Y.AttributeExtras.apply(this, arguments);"," }",""," Y.mix(Attribute, Y.AttributeCore, false, null, 1);"," Y.mix(Attribute, Y.AttributeExtras, false, null, 1);",""," // Needs to be `true`, to overwrite methods from AttributeCore"," Y.mix(Attribute, Y.AttributeObservable, true, null, 1);",""," /**"," *
The value to return from an attribute setter in order to prevent the set from going through.
"," *"," *
You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.
"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," Attribute.INVALID_VALUE = Y.AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," Attribute._ATTR_CFG = Y.AttributeCore._ATTR_CFG.concat(Y.AttributeObservable._ATTR_CFG);",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," Attribute.protectAttrs = Y.AttributeCore.protectAttrs;",""," Y.Attribute = Attribute;","","","}, '3.13.0', {\"requires\": [\"attribute-core\", \"attribute-observable\", \"attribute-extras\"]});","","}());"]};
+}
+var __cov_TuK8t1Q8XNmzTnaQZscKQQ = __coverage__['build/attribute-base/attribute-base.js'];
+__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['1']++;YUI.add('attribute-base',function(Y,NAME){__cov_TuK8t1Q8XNmzTnaQZscKQQ.f['1']++;__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['2']++;function Attribute(){__cov_TuK8t1Q8XNmzTnaQZscKQQ.f['2']++;__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['3']++;Y.AttributeCore.apply(this,arguments);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['4']++;Y.AttributeObservable.apply(this,arguments);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['5']++;Y.AttributeExtras.apply(this,arguments);}__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['6']++;Y.mix(Attribute,Y.AttributeCore,false,null,1);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['7']++;Y.mix(Attribute,Y.AttributeExtras,false,null,1);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['8']++;Y.mix(Attribute,Y.AttributeObservable,true,null,1);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['9']++;Attribute.INVALID_VALUE=Y.AttributeCore.INVALID_VALUE;__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['10']++;Attribute._ATTR_CFG=Y.AttributeCore._ATTR_CFG.concat(Y.AttributeObservable._ATTR_CFG);__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['11']++;Attribute.protectAttrs=Y.AttributeCore.protectAttrs;__cov_TuK8t1Q8XNmzTnaQZscKQQ.s['12']++;Y.Attribute=Attribute;},'3.13.0',{'requires':['attribute-core','attribute-observable','attribute-extras']});
diff --git a/lib/yuilib/3.12.0/attribute-base/attribute-base-debug.js b/lib/yuilib/3.13.0/attribute-base/attribute-base-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/attribute-base/attribute-base-debug.js
rename to lib/yuilib/3.13.0/attribute-base/attribute-base-debug.js
index f3012594524..54f2dd7e89a
--- a/lib/yuilib/3.12.0/attribute-base/attribute-base-debug.js
+++ b/lib/yuilib/3.13.0/attribute-base/attribute-base-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -114,4 +114,4 @@ YUI.add('attribute-base', function (Y, NAME) {
Y.Attribute = Attribute;
-}, '3.12.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]});
+}, '3.13.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]});
diff --git a/lib/yuilib/3.12.0/attribute-base/attribute-base-min.js b/lib/yuilib/3.13.0/attribute-base/attribute-base-min.js
old mode 100644
new mode 100755
similarity index 86%
rename from lib/yuilib/3.12.0/attribute-base/attribute-base-min.js
rename to lib/yuilib/3.13.0/attribute-base/attribute-base-min.js
index 2028c2925fe..dfaffebe160
--- a/lib/yuilib/3.12.0/attribute-base/attribute-base-min.js
+++ b/lib/yuilib/3.13.0/attribute-base/attribute-base-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("attribute-base",function(e,t){function n(){e.AttributeCore.apply(this,arguments),e.AttributeObservable.apply(this,arguments),e.AttributeExtras.apply(this,arguments)}e.mix(n,e.AttributeCore,!1,null,1),e.mix(n,e.AttributeExtras,!1,null,1),e.mix(n,e.AttributeObservable,!0,null,1),n.INVALID_VALUE=e.AttributeCore.INVALID_VALUE,n._ATTR_CFG=e.AttributeCore._ATTR_CFG.concat(e.AttributeObservable._ATTR_CFG),n.protectAttrs=e.AttributeCore.protectAttrs,e.Attribute=n},"3.12.0",{requires:["attribute-core","attribute-observable","attribute-extras"]});
+YUI.add("attribute-base",function(e,t){function n(){e.AttributeCore.apply(this,arguments),e.AttributeObservable.apply(this,arguments),e.AttributeExtras.apply(this,arguments)}e.mix(n,e.AttributeCore,!1,null,1),e.mix(n,e.AttributeExtras,!1,null,1),e.mix(n,e.AttributeObservable,!0,null,1),n.INVALID_VALUE=e.AttributeCore.INVALID_VALUE,n._ATTR_CFG=e.AttributeCore._ATTR_CFG.concat(e.AttributeObservable._ATTR_CFG),n.protectAttrs=e.AttributeCore.protectAttrs,e.Attribute=n},"3.13.0",{requires:["attribute-core","attribute-observable","attribute-extras"]});
diff --git a/lib/yuilib/3.12.0/attribute-base/attribute-base.js b/lib/yuilib/3.13.0/attribute-base/attribute-base.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/attribute-base/attribute-base.js
rename to lib/yuilib/3.13.0/attribute-base/attribute-base.js
index f3012594524..54f2dd7e89a
--- a/lib/yuilib/3.12.0/attribute-base/attribute-base.js
+++ b/lib/yuilib/3.13.0/attribute-base/attribute-base.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -114,4 +114,4 @@ YUI.add('attribute-base', function (Y, NAME) {
Y.Attribute = Attribute;
-}, '3.12.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]});
+}, '3.13.0', {"requires": ["attribute-core", "attribute-observable", "attribute-extras"]});
diff --git a/lib/yuilib/3.13.0/attribute-complex/attribute-complex-coverage.js b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-coverage.js
new file mode 100755
index 00000000000..4dbcf1e8812
--- /dev/null
+++ b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/attribute-complex/attribute-complex.js']) {
+ __coverage__['build/attribute-complex/attribute-complex.js'] = {"path":"build/attribute-complex/attribute-complex.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0},"b":{},"f":{"1":0,"2":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"(anonymous_2)","line":14,"loc":{"start":{"line":14,"column":24},"end":{"line":14,"column":35}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":56,"column":47}},"2":{"start":{"line":12,"column":4},"end":{"line":12,"column":32}},"3":{"start":{"line":14,"column":4},"end":{"line":14,"column":38}},"4":{"start":{"line":15,"column":4},"end":{"line":50,"column":6}},"5":{"start":{"line":53,"column":4},"end":{"line":53,"column":43}}},"branchMap":{},"code":["(function () { YUI.add('attribute-complex', function (Y, NAME) {",""," /**"," * Adds support for attribute providers to handle complex attributes in the constructor"," *"," * @module attribute"," * @submodule attribute-complex"," * @for Attribute"," * @deprecated AttributeComplex's overrides are now part of AttributeCore."," */",""," var Attribute = Y.Attribute;",""," Attribute.Complex = function() {};"," Attribute.Complex.prototype = {",""," /**"," * Utility method to split out simple attribute name/value pairs (\"x\")"," * from complex attribute name/value pairs (\"x.y.z\"), so that complex"," * attributes can be keyed by the top level attribute name."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : Attribute.prototype._normAttrVals,",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : Attribute.prototype._getAttrInitVal",""," };",""," // Consistency with the rest of the Attribute addons for now."," Y.AttributeComplex = Attribute.Complex;","","","}, '3.13.0', {\"requires\": [\"attribute-base\"]});","","}());"]};
+}
+var __cov_CggkyoCmV_99zCFiws4$GA = __coverage__['build/attribute-complex/attribute-complex.js'];
+__cov_CggkyoCmV_99zCFiws4$GA.s['1']++;YUI.add('attribute-complex',function(Y,NAME){__cov_CggkyoCmV_99zCFiws4$GA.f['1']++;__cov_CggkyoCmV_99zCFiws4$GA.s['2']++;var Attribute=Y.Attribute;__cov_CggkyoCmV_99zCFiws4$GA.s['3']++;Attribute.Complex=function(){__cov_CggkyoCmV_99zCFiws4$GA.f['2']++;};__cov_CggkyoCmV_99zCFiws4$GA.s['4']++;Attribute.Complex.prototype={_normAttrVals:Attribute.prototype._normAttrVals,_getAttrInitVal:Attribute.prototype._getAttrInitVal};__cov_CggkyoCmV_99zCFiws4$GA.s['5']++;Y.AttributeComplex=Attribute.Complex;},'3.13.0',{'requires':['attribute-base']});
diff --git a/lib/yuilib/3.12.0/attribute-complex/attribute-complex-debug.js b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-debug.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/attribute-complex/attribute-complex-debug.js
rename to lib/yuilib/3.13.0/attribute-complex/attribute-complex-debug.js
index cdebc6de94a..8a174747b4c
--- a/lib/yuilib/3.12.0/attribute-complex/attribute-complex-debug.js
+++ b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -60,4 +60,4 @@ YUI.add('attribute-complex', function (Y, NAME) {
Y.AttributeComplex = Attribute.Complex;
-}, '3.12.0', {"requires": ["attribute-base"]});
+}, '3.13.0', {"requires": ["attribute-base"]});
diff --git a/lib/yuilib/3.12.0/attribute-complex/attribute-complex-min.js b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-min.js
old mode 100644
new mode 100755
similarity index 77%
rename from lib/yuilib/3.12.0/attribute-complex/attribute-complex-min.js
rename to lib/yuilib/3.13.0/attribute-complex/attribute-complex-min.js
index 4185f056faa..3f0973a6d00
--- a/lib/yuilib/3.12.0/attribute-complex/attribute-complex-min.js
+++ b/lib/yuilib/3.13.0/attribute-complex/attribute-complex-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("attribute-complex",function(e,t){var n=e.Attribute;n.Complex=function(){},n.Complex.prototype={_normAttrVals:n.prototype._normAttrVals,_getAttrInitVal:n.prototype._getAttrInitVal},e.AttributeComplex=n.Complex},"3.12.0",{requires:["attribute-base"]});
+YUI.add("attribute-complex",function(e,t){var n=e.Attribute;n.Complex=function(){},n.Complex.prototype={_normAttrVals:n.prototype._normAttrVals,_getAttrInitVal:n.prototype._getAttrInitVal},e.AttributeComplex=n.Complex},"3.13.0",{requires:["attribute-base"]});
diff --git a/lib/yuilib/3.12.0/attribute-complex/attribute-complex.js b/lib/yuilib/3.13.0/attribute-complex/attribute-complex.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/attribute-complex/attribute-complex.js
rename to lib/yuilib/3.13.0/attribute-complex/attribute-complex.js
index cdebc6de94a..8a174747b4c
--- a/lib/yuilib/3.12.0/attribute-complex/attribute-complex.js
+++ b/lib/yuilib/3.13.0/attribute-complex/attribute-complex.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -60,4 +60,4 @@ YUI.add('attribute-complex', function (Y, NAME) {
Y.AttributeComplex = Attribute.Complex;
-}, '3.12.0', {"requires": ["attribute-base"]});
+}, '3.13.0', {"requires": ["attribute-base"]});
diff --git a/lib/yuilib/3.13.0/attribute-core/attribute-core-coverage.js b/lib/yuilib/3.13.0/attribute-core/attribute-core-coverage.js
new file mode 100755
index 00000000000..e4660b3943d
--- /dev/null
+++ b/lib/yuilib/3.13.0/attribute-core/attribute-core-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/attribute-core/attribute-core.js']) {
+ __coverage__['build/attribute-core/attribute-core.js'] = {"path":"build/attribute-core/attribute-core.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0],"57":[0,0],"58":[0,0,0],"59":[0,0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0,0,0],"105":[0,0],"106":[0,0],"107":[0,0,0],"108":[0,0],"109":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"(anonymous_2)","line":14,"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":25}}},"3":{"name":"(anonymous_3)","line":32,"loc":{"start":{"line":32,"column":13},"end":{"line":32,"column":38}}},"4":{"name":"(anonymous_4)","line":49,"loc":{"start":{"line":49,"column":16},"end":{"line":49,"column":36}}},"5":{"name":"(anonymous_5)","line":71,"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":36}}},"6":{"name":"(anonymous_6)","line":86,"loc":{"start":{"line":86,"column":19},"end":{"line":86,"column":39}}},"7":{"name":"(anonymous_7)","line":96,"loc":{"start":{"line":96,"column":28},"end":{"line":96,"column":49}}},"8":{"name":"(anonymous_8)","line":110,"loc":{"start":{"line":110,"column":13},"end":{"line":110,"column":33}}},"9":{"name":"(anonymous_9)","line":131,"loc":{"start":{"line":131,"column":17},"end":{"line":131,"column":43}}},"10":{"name":"AttributeCore","line":226,"loc":{"start":{"line":226,"column":4},"end":{"line":226,"column":48}}},"11":{"name":"(anonymous_11)","line":274,"loc":{"start":{"line":274,"column":33},"end":{"line":274,"column":50}}},"12":{"name":"(anonymous_12)","line":301,"loc":{"start":{"line":301,"column":24},"end":{"line":301,"column":54}}},"13":{"name":"(anonymous_13)","line":404,"loc":{"start":{"line":404,"column":18},"end":{"line":404,"column":47}}},"14":{"name":"(anonymous_14)","line":473,"loc":{"start":{"line":473,"column":19},"end":{"line":473,"column":34}}},"15":{"name":"(anonymous_15)","line":489,"loc":{"start":{"line":489,"column":14},"end":{"line":489,"column":29}}},"16":{"name":"(anonymous_16)","line":502,"loc":{"start":{"line":502,"column":21},"end":{"line":502,"column":36}}},"17":{"name":"(anonymous_17)","line":515,"loc":{"start":{"line":515,"column":22},"end":{"line":515,"column":46}}},"18":{"name":"(anonymous_18)","line":547,"loc":{"start":{"line":547,"column":14},"end":{"line":547,"column":40}}},"19":{"name":"(anonymous_19)","line":563,"loc":{"start":{"line":563,"column":15},"end":{"line":563,"column":41}}},"20":{"name":"(anonymous_20)","line":584,"loc":{"start":{"line":584,"column":19},"end":{"line":584,"column":53}}},"21":{"name":"(anonymous_21)","line":692,"loc":{"start":{"line":692,"column":25},"end":{"line":692,"column":45}}},"22":{"name":"(anonymous_22)","line":719,"loc":{"start":{"line":719,"column":19},"end":{"line":719,"column":34}}},"23":{"name":"(anonymous_23)","line":772,"loc":{"start":{"line":772,"column":23},"end":{"line":772,"column":43}}},"24":{"name":"(anonymous_24)","line":791,"loc":{"start":{"line":791,"column":23},"end":{"line":791,"column":45}}},"25":{"name":"(anonymous_25)","line":816,"loc":{"start":{"line":816,"column":22},"end":{"line":816,"column":86}}},"26":{"name":"(anonymous_26)","line":893,"loc":{"start":{"line":893,"column":19},"end":{"line":893,"column":41}}},"27":{"name":"(anonymous_27)","line":907,"loc":{"start":{"line":907,"column":20},"end":{"line":907,"column":42}}},"28":{"name":"(anonymous_28)","line":925,"loc":{"start":{"line":925,"column":19},"end":{"line":925,"column":35}}},"29":{"name":"(anonymous_29)","line":938,"loc":{"start":{"line":938,"column":20},"end":{"line":938,"column":36}}},"30":{"name":"(anonymous_30)","line":980,"loc":{"start":{"line":980,"column":19},"end":{"line":980,"column":48}}},"31":{"name":"(anonymous_31)","line":1008,"loc":{"start":{"line":1008,"column":20},"end":{"line":1008,"column":49}}},"32":{"name":"(anonymous_32)","line":1065,"loc":{"start":{"line":1065,"column":24},"end":{"line":1065,"column":44}}},"33":{"name":"(anonymous_33)","line":1115,"loc":{"start":{"line":1115,"column":26},"end":{"line":1115,"column":58}}},"34":{"name":"(anonymous_34)","line":1178,"loc":{"start":{"line":1178,"column":21},"end":{"line":1178,"column":51}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1196,"column":36}},"2":{"start":{"line":14,"column":4},"end":{"line":20,"column":6}},"3":{"start":{"line":19,"column":8},"end":{"line":19,"column":23}},"4":{"start":{"line":22,"column":4},"end":{"line":149,"column":6}},"5":{"start":{"line":33,"column":12},"end":{"line":33,"column":39}},"6":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"7":{"start":{"line":36,"column":16},"end":{"line":36,"column":44}},"8":{"start":{"line":39,"column":12},"end":{"line":39,"column":28}},"9":{"start":{"line":50,"column":12},"end":{"line":51,"column":20}},"10":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"11":{"start":{"line":54,"column":16},"end":{"line":54,"column":44}},"12":{"start":{"line":57,"column":12},"end":{"line":61,"column":13}},"13":{"start":{"line":58,"column":16},"end":{"line":60,"column":17}},"14":{"start":{"line":59,"column":20},"end":{"line":59,"column":41}},"15":{"start":{"line":72,"column":12},"end":{"line":72,"column":39}},"16":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"17":{"start":{"line":75,"column":16},"end":{"line":75,"column":33}},"18":{"start":{"line":87,"column":12},"end":{"line":87,"column":21}},"19":{"start":{"line":89,"column":12},"end":{"line":99,"column":13}},"20":{"start":{"line":90,"column":16},"end":{"line":90,"column":33}},"21":{"start":{"line":92,"column":16},"end":{"line":94,"column":17}},"22":{"start":{"line":93,"column":20},"end":{"line":93,"column":38}},"23":{"start":{"line":96,"column":16},"end":{"line":98,"column":25}},"24":{"start":{"line":97,"column":20},"end":{"line":97,"column":77}},"25":{"start":{"line":111,"column":12},"end":{"line":111,"column":39}},"26":{"start":{"line":113,"column":12},"end":{"line":115,"column":13}},"27":{"start":{"line":114,"column":16},"end":{"line":114,"column":33}},"28":{"start":{"line":132,"column":12},"end":{"line":133,"column":25}},"29":{"start":{"line":135,"column":12},"end":{"line":145,"column":13}},"30":{"start":{"line":136,"column":16},"end":{"line":136,"column":27}},"31":{"start":{"line":137,"column":19},"end":{"line":145,"column":13}},"32":{"start":{"line":138,"column":16},"end":{"line":138,"column":25}},"33":{"start":{"line":140,"column":16},"end":{"line":144,"column":17}},"34":{"start":{"line":141,"column":20},"end":{"line":143,"column":21}},"35":{"start":{"line":142,"column":24},"end":{"line":142,"column":45}},"36":{"start":{"line":147,"column":12},"end":{"line":147,"column":23}},"37":{"start":{"line":171,"column":4},"end":{"line":193,"column":22}},"38":{"start":{"line":226,"column":4},"end":{"line":234,"column":5}},"39":{"start":{"line":231,"column":8},"end":{"line":231,"column":28}},"40":{"start":{"line":233,"column":8},"end":{"line":233,"column":48}},"41":{"start":{"line":248,"column":4},"end":{"line":248,"column":37}},"42":{"start":{"line":249,"column":4},"end":{"line":249,"column":48}},"43":{"start":{"line":263,"column":4},"end":{"line":263,"column":122}},"44":{"start":{"line":274,"column":4},"end":{"line":285,"column":6}},"45":{"start":{"line":275,"column":8},"end":{"line":282,"column":9}},"46":{"start":{"line":276,"column":12},"end":{"line":276,"column":35}},"47":{"start":{"line":277,"column":12},"end":{"line":281,"column":13}},"48":{"start":{"line":278,"column":16},"end":{"line":280,"column":17}},"49":{"start":{"line":279,"column":20},"end":{"line":279,"column":55}},"50":{"start":{"line":284,"column":8},"end":{"line":284,"column":21}},"51":{"start":{"line":287,"column":4},"end":{"line":1191,"column":6}},"52":{"start":{"line":302,"column":12},"end":{"line":302,"column":40}},"53":{"start":{"line":303,"column":12},"end":{"line":303,"column":49}},"54":{"start":{"line":407,"column":12},"end":{"line":412,"column":25}},"55":{"start":{"line":414,"column":12},"end":{"line":414,"column":34}},"56":{"start":{"line":416,"column":12},"end":{"line":418,"column":13}},"57":{"start":{"line":417,"column":16},"end":{"line":417,"column":40}},"58":{"start":{"line":420,"column":12},"end":{"line":420,"column":43}},"59":{"start":{"line":422,"column":12},"end":{"line":460,"column":13}},"60":{"start":{"line":423,"column":16},"end":{"line":426,"column":18}},"61":{"start":{"line":430,"column":16},"end":{"line":459,"column":17}},"62":{"start":{"line":432,"column":20},"end":{"line":432,"column":49}},"63":{"start":{"line":435,"column":20},"end":{"line":446,"column":21}},"64":{"start":{"line":444,"column":24},"end":{"line":444,"column":45}},"65":{"start":{"line":445,"column":24},"end":{"line":445,"column":49}},"66":{"start":{"line":448,"column":20},"end":{"line":448,"column":40}},"67":{"start":{"line":449,"column":20},"end":{"line":449,"column":47}},"68":{"start":{"line":451,"column":20},"end":{"line":451,"column":40}},"69":{"start":{"line":453,"column":20},"end":{"line":456,"column":21}},"70":{"start":{"line":455,"column":24},"end":{"line":455,"column":46}},"71":{"start":{"line":458,"column":20},"end":{"line":458,"column":48}},"72":{"start":{"line":462,"column":12},"end":{"line":462,"column":24}},"73":{"start":{"line":474,"column":12},"end":{"line":474,"column":52}},"74":{"start":{"line":490,"column":12},"end":{"line":490,"column":39}},"75":{"start":{"line":503,"column":12},"end":{"line":503,"column":47}},"76":{"start":{"line":516,"column":12},"end":{"line":516,"column":36}},"77":{"start":{"line":518,"column":12},"end":{"line":518,"column":55}},"78":{"start":{"line":520,"column":12},"end":{"line":531,"column":13}},"79":{"start":{"line":526,"column":16},"end":{"line":526,"column":50}},"80":{"start":{"line":528,"column":16},"end":{"line":528,"column":41}},"81":{"start":{"line":530,"column":16},"end":{"line":530,"column":44}},"82":{"start":{"line":548,"column":12},"end":{"line":548,"column":50}},"83":{"start":{"line":564,"column":12},"end":{"line":564,"column":56}},"84":{"start":{"line":585,"column":12},"end":{"line":595,"column":29}},"85":{"start":{"line":597,"column":12},"end":{"line":602,"column":13}},"86":{"start":{"line":598,"column":16},"end":{"line":598,"column":31}},"87":{"start":{"line":600,"column":16},"end":{"line":600,"column":39}},"88":{"start":{"line":601,"column":16},"end":{"line":601,"column":36}},"89":{"start":{"line":605,"column":12},"end":{"line":607,"column":13}},"90":{"start":{"line":606,"column":16},"end":{"line":606,"column":55}},"91":{"start":{"line":609,"column":12},"end":{"line":609,"column":41}},"92":{"start":{"line":611,"column":12},"end":{"line":614,"column":13}},"93":{"start":{"line":612,"column":16},"end":{"line":612,"column":31}},"94":{"start":{"line":613,"column":16},"end":{"line":613,"column":45}},"95":{"start":{"line":616,"column":12},"end":{"line":616,"column":51}},"96":{"start":{"line":618,"column":12},"end":{"line":621,"column":13}},"97":{"start":{"line":620,"column":16},"end":{"line":620,"column":35}},"98":{"start":{"line":623,"column":12},"end":{"line":623,"column":38}},"99":{"start":{"line":624,"column":12},"end":{"line":624,"column":44}},"100":{"start":{"line":626,"column":12},"end":{"line":635,"column":13}},"101":{"start":{"line":628,"column":16},"end":{"line":630,"column":17}},"102":{"start":{"line":629,"column":20},"end":{"line":629,"column":37}},"103":{"start":{"line":632,"column":16},"end":{"line":634,"column":17}},"104":{"start":{"line":633,"column":20},"end":{"line":633,"column":37}},"105":{"start":{"line":637,"column":12},"end":{"line":639,"column":13}},"106":{"start":{"line":638,"column":16},"end":{"line":638,"column":33}},"107":{"start":{"line":641,"column":12},"end":{"line":664,"column":13}},"108":{"start":{"line":643,"column":16},"end":{"line":645,"column":17}},"109":{"start":{"line":644,"column":20},"end":{"line":644,"column":46}},"110":{"start":{"line":647,"column":16},"end":{"line":653,"column":17}},"111":{"start":{"line":648,"column":19},"end":{"line":648,"column":65}},"112":{"start":{"line":650,"column":19},"end":{"line":652,"column":20}},"113":{"start":{"line":651,"column":23},"end":{"line":651,"column":40}},"114":{"start":{"line":655,"column":16},"end":{"line":663,"column":17}},"115":{"start":{"line":656,"column":20},"end":{"line":662,"column":21}},"116":{"start":{"line":657,"column":24},"end":{"line":657,"column":81}},"117":{"start":{"line":661,"column":24},"end":{"line":661,"column":85}},"118":{"start":{"line":666,"column":12},"end":{"line":666,"column":24}},"119":{"start":{"line":694,"column":12},"end":{"line":694,"column":27}},"120":{"start":{"line":695,"column":12},"end":{"line":695,"column":30}},"121":{"start":{"line":697,"column":12},"end":{"line":697,"column":37}},"122":{"start":{"line":703,"column":12},"end":{"line":703,"column":47}},"123":{"start":{"line":720,"column":12},"end":{"line":725,"column":24}},"124":{"start":{"line":727,"column":12},"end":{"line":730,"column":13}},"125":{"start":{"line":728,"column":16},"end":{"line":728,"column":39}},"126":{"start":{"line":729,"column":16},"end":{"line":729,"column":36}},"127":{"start":{"line":734,"column":12},"end":{"line":736,"column":13}},"128":{"start":{"line":735,"column":16},"end":{"line":735,"column":55}},"129":{"start":{"line":738,"column":12},"end":{"line":738,"column":51}},"130":{"start":{"line":741,"column":12},"end":{"line":744,"column":13}},"131":{"start":{"line":742,"column":16},"end":{"line":742,"column":39}},"132":{"start":{"line":743,"column":16},"end":{"line":743,"column":49}},"133":{"start":{"line":746,"column":12},"end":{"line":746,"column":51}},"134":{"start":{"line":748,"column":12},"end":{"line":748,"column":36}},"135":{"start":{"line":750,"column":12},"end":{"line":752,"column":13}},"136":{"start":{"line":751,"column":16},"end":{"line":751,"column":38}},"137":{"start":{"line":754,"column":12},"end":{"line":754,"column":68}},"138":{"start":{"line":755,"column":12},"end":{"line":755,"column":55}},"139":{"start":{"line":757,"column":12},"end":{"line":757,"column":23}},"140":{"start":{"line":773,"column":12},"end":{"line":773,"column":46}},"141":{"start":{"line":775,"column":12},"end":{"line":777,"column":13}},"142":{"start":{"line":776,"column":16},"end":{"line":776,"column":53}},"143":{"start":{"line":779,"column":12},"end":{"line":779,"column":110}},"144":{"start":{"line":792,"column":12},"end":{"line":792,"column":46}},"145":{"start":{"line":793,"column":12},"end":{"line":797,"column":13}},"146":{"start":{"line":794,"column":16},"end":{"line":794,"column":41}},"147":{"start":{"line":796,"column":16},"end":{"line":796,"column":52}},"148":{"start":{"line":818,"column":12},"end":{"line":827,"column":22}},"149":{"start":{"line":829,"column":12},"end":{"line":842,"column":13}},"150":{"start":{"line":830,"column":16},"end":{"line":833,"column":17}},"151":{"start":{"line":832,"column":20},"end":{"line":832,"column":48}},"152":{"start":{"line":834,"column":16},"end":{"line":841,"column":17}},"153":{"start":{"line":835,"column":20},"end":{"line":835,"column":69}},"154":{"start":{"line":837,"column":20},"end":{"line":840,"column":21}},"155":{"start":{"line":838,"column":24},"end":{"line":838,"column":50}},"156":{"start":{"line":839,"column":24},"end":{"line":839,"column":37}},"157":{"start":{"line":844,"column":12},"end":{"line":879,"column":13}},"158":{"start":{"line":845,"column":16},"end":{"line":863,"column":17}},"159":{"start":{"line":846,"column":20},"end":{"line":849,"column":21}},"160":{"start":{"line":848,"column":24},"end":{"line":848,"column":46}},"161":{"start":{"line":850,"column":20},"end":{"line":862,"column":21}},"162":{"start":{"line":851,"column":24},"end":{"line":851,"column":71}},"163":{"start":{"line":853,"column":24},"end":{"line":861,"column":25}},"164":{"start":{"line":854,"column":28},"end":{"line":858,"column":29}},"165":{"start":{"line":855,"column":32},"end":{"line":855,"column":58}},"166":{"start":{"line":857,"column":32},"end":{"line":857,"column":49}},"167":{"start":{"line":859,"column":31},"end":{"line":861,"column":25}},"168":{"start":{"line":860,"column":28},"end":{"line":860,"column":44}},"169":{"start":{"line":865,"column":16},"end":{"line":875,"column":17}},"170":{"start":{"line":866,"column":20},"end":{"line":874,"column":21}},"171":{"start":{"line":867,"column":24},"end":{"line":867,"column":41}},"172":{"start":{"line":870,"column":24},"end":{"line":872,"column":25}},"173":{"start":{"line":871,"column":28},"end":{"line":871,"column":51}},"174":{"start":{"line":873,"column":24},"end":{"line":873,"column":60}},"175":{"start":{"line":878,"column":16},"end":{"line":878,"column":33}},"176":{"start":{"line":881,"column":12},"end":{"line":881,"column":28}},"177":{"start":{"line":894,"column":12},"end":{"line":894,"column":47}},"178":{"start":{"line":908,"column":12},"end":{"line":908,"column":21}},"179":{"start":{"line":909,"column":12},"end":{"line":913,"column":13}},"180":{"start":{"line":910,"column":16},"end":{"line":912,"column":17}},"181":{"start":{"line":911,"column":20},"end":{"line":911,"column":54}},"182":{"start":{"line":914,"column":12},"end":{"line":914,"column":24}},"183":{"start":{"line":926,"column":12},"end":{"line":926,"column":41}},"184":{"start":{"line":939,"column":12},"end":{"line":941,"column":48}},"185":{"start":{"line":944,"column":12},"end":{"line":946,"column":13}},"186":{"start":{"line":945,"column":16},"end":{"line":945,"column":49}},"187":{"start":{"line":948,"column":12},"end":{"line":955,"column":13}},"188":{"start":{"line":949,"column":16},"end":{"line":949,"column":32}},"189":{"start":{"line":951,"column":16},"end":{"line":954,"column":17}},"190":{"start":{"line":953,"column":20},"end":{"line":953,"column":47}},"191":{"start":{"line":957,"column":12},"end":{"line":957,"column":23}},"192":{"start":{"line":981,"column":12},"end":{"line":986,"column":13}},"193":{"start":{"line":982,"column":16},"end":{"line":982,"column":35}},"194":{"start":{"line":983,"column":16},"end":{"line":983,"column":75}},"195":{"start":{"line":984,"column":16},"end":{"line":984,"column":56}},"196":{"start":{"line":985,"column":16},"end":{"line":985,"column":49}},"197":{"start":{"line":988,"column":12},"end":{"line":988,"column":24}},"198":{"start":{"line":1009,"column":12},"end":{"line":1013,"column":22}},"199":{"start":{"line":1015,"column":12},"end":{"line":1035,"column":13}},"200":{"start":{"line":1016,"column":16},"end":{"line":1034,"column":17}},"201":{"start":{"line":1019,"column":20},"end":{"line":1019,"column":41}},"202":{"start":{"line":1020,"column":20},"end":{"line":1020,"column":57}},"203":{"start":{"line":1023,"column":20},"end":{"line":1023,"column":71}},"204":{"start":{"line":1025,"column":20},"end":{"line":1027,"column":21}},"205":{"start":{"line":1026,"column":24},"end":{"line":1026,"column":46}},"206":{"start":{"line":1029,"column":20},"end":{"line":1031,"column":21}},"207":{"start":{"line":1030,"column":24},"end":{"line":1030,"column":48}},"208":{"start":{"line":1033,"column":20},"end":{"line":1033,"column":54}},"209":{"start":{"line":1066,"column":12},"end":{"line":1070,"column":21}},"210":{"start":{"line":1072,"column":12},"end":{"line":1074,"column":13}},"211":{"start":{"line":1073,"column":16},"end":{"line":1073,"column":28}},"212":{"start":{"line":1076,"column":12},"end":{"line":1076,"column":22}},"213":{"start":{"line":1078,"column":12},"end":{"line":1095,"column":13}},"214":{"start":{"line":1079,"column":16},"end":{"line":1094,"column":17}},"215":{"start":{"line":1080,"column":20},"end":{"line":1093,"column":21}},"216":{"start":{"line":1081,"column":24},"end":{"line":1081,"column":44}},"217":{"start":{"line":1082,"column":24},"end":{"line":1082,"column":44}},"218":{"start":{"line":1084,"column":24},"end":{"line":1084,"column":48}},"219":{"start":{"line":1086,"column":24},"end":{"line":1086,"column":64}},"220":{"start":{"line":1087,"column":24},"end":{"line":1090,"column":26}},"221":{"start":{"line":1092,"column":24},"end":{"line":1092,"column":47}},"222":{"start":{"line":1097,"column":12},"end":{"line":1097,"column":52}},"223":{"start":{"line":1116,"column":12},"end":{"line":1127,"column":24}},"224":{"start":{"line":1129,"column":12},"end":{"line":1136,"column":13}},"225":{"start":{"line":1131,"column":16},"end":{"line":1131,"column":43}},"226":{"start":{"line":1132,"column":16},"end":{"line":1135,"column":17}},"227":{"start":{"line":1133,"column":20},"end":{"line":1133,"column":39}},"228":{"start":{"line":1134,"column":20},"end":{"line":1134,"column":38}},"229":{"start":{"line":1138,"column":12},"end":{"line":1146,"column":13}},"230":{"start":{"line":1139,"column":16},"end":{"line":1141,"column":17}},"231":{"start":{"line":1140,"column":20},"end":{"line":1140,"column":40}},"232":{"start":{"line":1142,"column":16},"end":{"line":1145,"column":17}},"233":{"start":{"line":1143,"column":20},"end":{"line":1143,"column":52}},"234":{"start":{"line":1144,"column":20},"end":{"line":1144,"column":33}},"235":{"start":{"line":1148,"column":12},"end":{"line":1161,"column":13}},"236":{"start":{"line":1151,"column":16},"end":{"line":1151,"column":45}},"237":{"start":{"line":1153,"column":16},"end":{"line":1160,"column":17}},"238":{"start":{"line":1154,"column":20},"end":{"line":1154,"column":44}},"239":{"start":{"line":1155,"column":20},"end":{"line":1159,"column":21}},"240":{"start":{"line":1156,"column":24},"end":{"line":1156,"column":47}},"241":{"start":{"line":1157,"column":24},"end":{"line":1157,"column":50}},"242":{"start":{"line":1158,"column":24},"end":{"line":1158,"column":54}},"243":{"start":{"line":1163,"column":12},"end":{"line":1163,"column":23}},"244":{"start":{"line":1180,"column":12},"end":{"line":1180,"column":52}},"245":{"start":{"line":1182,"column":12},"end":{"line":1185,"column":87}},"246":{"start":{"line":1187,"column":12},"end":{"line":1189,"column":13}},"247":{"start":{"line":1188,"column":16},"end":{"line":1188,"column":81}},"248":{"start":{"line":1193,"column":4},"end":{"line":1193,"column":36}}},"branchMap":{"1":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"2":{"line":53,"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":12}},{"start":{"line":53,"column":12},"end":{"line":53,"column":12}}]},"3":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":16},"end":{"line":58,"column":16}},{"start":{"line":58,"column":16},"end":{"line":58,"column":16}}]},"4":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"5":{"line":89,"type":"if","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":12}},{"start":{"line":89,"column":12},"end":{"line":89,"column":12}}]},"6":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":16}},{"start":{"line":92,"column":16},"end":{"line":92,"column":16}}]},"7":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":64},"end":{"line":97,"column":67}},{"start":{"line":97,"column":70},"end":{"line":97,"column":75}}]},"8":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":12}},{"start":{"line":113,"column":12},"end":{"line":113,"column":12}}]},"9":{"line":135,"type":"if","locations":[{"start":{"line":135,"column":12},"end":{"line":135,"column":12}},{"start":{"line":135,"column":12},"end":{"line":135,"column":12}}]},"10":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":19},"end":{"line":137,"column":19}},{"start":{"line":137,"column":19},"end":{"line":137,"column":19}}]},"11":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":20},"end":{"line":141,"column":20}},{"start":{"line":141,"column":20},"end":{"line":141,"column":20}}]},"12":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":8},"end":{"line":275,"column":8}},{"start":{"line":275,"column":8},"end":{"line":275,"column":8}}]},"13":{"line":278,"type":"if","locations":[{"start":{"line":278,"column":16},"end":{"line":278,"column":16}},{"start":{"line":278,"column":16},"end":{"line":278,"column":16}}]},"14":{"line":414,"type":"binary-expr","locations":[{"start":{"line":414,"column":21},"end":{"line":414,"column":27}},{"start":{"line":414,"column":31},"end":{"line":414,"column":33}}]},"15":{"line":416,"type":"if","locations":[{"start":{"line":416,"column":12},"end":{"line":416,"column":12}},{"start":{"line":416,"column":12},"end":{"line":416,"column":12}}]},"16":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"17":{"line":422,"type":"binary-expr","locations":[{"start":{"line":422,"column":16},"end":{"line":422,"column":20}},{"start":{"line":422,"column":24},"end":{"line":422,"column":30}}]},"18":{"line":430,"type":"if","locations":[{"start":{"line":430,"column":16},"end":{"line":430,"column":16}},{"start":{"line":430,"column":16},"end":{"line":430,"column":16}}]},"19":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":20},"end":{"line":430,"column":26}},{"start":{"line":430,"column":30},"end":{"line":430,"column":46}}]},"20":{"line":435,"type":"if","locations":[{"start":{"line":435,"column":20},"end":{"line":435,"column":20}},{"start":{"line":435,"column":20},"end":{"line":435,"column":20}}]},"21":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":20},"end":{"line":453,"column":20}},{"start":{"line":453,"column":20},"end":{"line":453,"column":20}}]},"22":{"line":518,"type":"binary-expr","locations":[{"start":{"line":518,"column":22},"end":{"line":518,"column":29}},{"start":{"line":518,"column":33},"end":{"line":518,"column":54}}]},"23":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"24":{"line":597,"type":"if","locations":[{"start":{"line":597,"column":12},"end":{"line":597,"column":12}},{"start":{"line":597,"column":12},"end":{"line":597,"column":12}}]},"25":{"line":605,"type":"if","locations":[{"start":{"line":605,"column":12},"end":{"line":605,"column":12}},{"start":{"line":605,"column":12},"end":{"line":605,"column":12}}]},"26":{"line":605,"type":"binary-expr","locations":[{"start":{"line":605,"column":16},"end":{"line":605,"column":21}},{"start":{"line":605,"column":25},"end":{"line":605,"column":36}}]},"27":{"line":609,"type":"binary-expr","locations":[{"start":{"line":609,"column":18},"end":{"line":609,"column":34}},{"start":{"line":609,"column":38},"end":{"line":609,"column":40}}]},"28":{"line":611,"type":"if","locations":[{"start":{"line":611,"column":12},"end":{"line":611,"column":12}},{"start":{"line":611,"column":12},"end":{"line":611,"column":12}}]},"29":{"line":618,"type":"if","locations":[{"start":{"line":618,"column":12},"end":{"line":618,"column":12}},{"start":{"line":618,"column":12},"end":{"line":618,"column":12}}]},"30":{"line":618,"type":"binary-expr","locations":[{"start":{"line":618,"column":16},"end":{"line":618,"column":26}},{"start":{"line":618,"column":30},"end":{"line":618,"column":48}},{"start":{"line":618,"column":52},"end":{"line":618,"column":69}}]},"31":{"line":626,"type":"if","locations":[{"start":{"line":626,"column":12},"end":{"line":626,"column":12}},{"start":{"line":626,"column":12},"end":{"line":626,"column":12}}]},"32":{"line":626,"type":"binary-expr","locations":[{"start":{"line":626,"column":16},"end":{"line":626,"column":27}},{"start":{"line":626,"column":31},"end":{"line":626,"column":37}}]},"33":{"line":628,"type":"if","locations":[{"start":{"line":628,"column":16},"end":{"line":628,"column":16}},{"start":{"line":628,"column":16},"end":{"line":628,"column":16}}]},"34":{"line":632,"type":"if","locations":[{"start":{"line":632,"column":16},"end":{"line":632,"column":16}},{"start":{"line":632,"column":16},"end":{"line":632,"column":16}}]},"35":{"line":637,"type":"if","locations":[{"start":{"line":637,"column":12},"end":{"line":637,"column":12}},{"start":{"line":637,"column":12},"end":{"line":637,"column":12}}]},"36":{"line":637,"type":"binary-expr","locations":[{"start":{"line":637,"column":16},"end":{"line":637,"column":29}},{"start":{"line":637,"column":33},"end":{"line":637,"column":39}},{"start":{"line":637,"column":43},"end":{"line":637,"column":66}}]},"37":{"line":641,"type":"if","locations":[{"start":{"line":641,"column":12},"end":{"line":641,"column":12}},{"start":{"line":641,"column":12},"end":{"line":641,"column":12}}]},"38":{"line":643,"type":"if","locations":[{"start":{"line":643,"column":16},"end":{"line":643,"column":16}},{"start":{"line":643,"column":16},"end":{"line":643,"column":16}}]},"39":{"line":647,"type":"if","locations":[{"start":{"line":647,"column":16},"end":{"line":647,"column":16}},{"start":{"line":647,"column":16},"end":{"line":647,"column":16}}]},"40":{"line":650,"type":"if","locations":[{"start":{"line":650,"column":19},"end":{"line":650,"column":19}},{"start":{"line":650,"column":19},"end":{"line":650,"column":19}}]},"41":{"line":655,"type":"if","locations":[{"start":{"line":655,"column":16},"end":{"line":655,"column":16}},{"start":{"line":655,"column":16},"end":{"line":655,"column":16}}]},"42":{"line":656,"type":"if","locations":[{"start":{"line":656,"column":20},"end":{"line":656,"column":20}},{"start":{"line":656,"column":20},"end":{"line":656,"column":20}}]},"43":{"line":656,"type":"binary-expr","locations":[{"start":{"line":656,"column":24},"end":{"line":656,"column":45}},{"start":{"line":656,"column":49},"end":{"line":656,"column":61}}]},"44":{"line":727,"type":"if","locations":[{"start":{"line":727,"column":12},"end":{"line":727,"column":12}},{"start":{"line":727,"column":12},"end":{"line":727,"column":12}}]},"45":{"line":734,"type":"if","locations":[{"start":{"line":734,"column":12},"end":{"line":734,"column":12}},{"start":{"line":734,"column":12},"end":{"line":734,"column":12}}]},"46":{"line":734,"type":"binary-expr","locations":[{"start":{"line":734,"column":16},"end":{"line":734,"column":21}},{"start":{"line":734,"column":25},"end":{"line":734,"column":36}}]},"47":{"line":738,"type":"binary-expr","locations":[{"start":{"line":738,"column":22},"end":{"line":738,"column":44}},{"start":{"line":738,"column":48},"end":{"line":738,"column":50}}]},"48":{"line":741,"type":"if","locations":[{"start":{"line":741,"column":12},"end":{"line":741,"column":12}},{"start":{"line":741,"column":12},"end":{"line":741,"column":12}}]},"49":{"line":750,"type":"if","locations":[{"start":{"line":750,"column":12},"end":{"line":750,"column":12}},{"start":{"line":750,"column":12},"end":{"line":750,"column":12}}]},"50":{"line":750,"type":"binary-expr","locations":[{"start":{"line":750,"column":16},"end":{"line":750,"column":22}},{"start":{"line":750,"column":26},"end":{"line":750,"column":38}}]},"51":{"line":754,"type":"cond-expr","locations":[{"start":{"line":754,"column":29},"end":{"line":754,"column":61}},{"start":{"line":754,"column":64},"end":{"line":754,"column":67}}]},"52":{"line":755,"type":"cond-expr","locations":[{"start":{"line":755,"column":27},"end":{"line":755,"column":48}},{"start":{"line":755,"column":51},"end":{"line":755,"column":54}}]},"53":{"line":775,"type":"if","locations":[{"start":{"line":775,"column":12},"end":{"line":775,"column":12}},{"start":{"line":775,"column":12},"end":{"line":775,"column":12}}]},"54":{"line":776,"type":"binary-expr","locations":[{"start":{"line":776,"column":22},"end":{"line":776,"column":46}},{"start":{"line":776,"column":50},"end":{"line":776,"column":52}}]},"55":{"line":779,"type":"cond-expr","locations":[{"start":{"line":779,"column":81},"end":{"line":779,"column":97}},{"start":{"line":779,"column":100},"end":{"line":779,"column":109}}]},"56":{"line":779,"type":"binary-expr","locations":[{"start":{"line":779,"column":20},"end":{"line":779,"column":30}},{"start":{"line":779,"column":35},"end":{"line":779,"column":53}},{"start":{"line":779,"column":58},"end":{"line":779,"column":77}}]},"57":{"line":793,"type":"if","locations":[{"start":{"line":793,"column":12},"end":{"line":793,"column":12}},{"start":{"line":793,"column":12},"end":{"line":793,"column":12}}]},"58":{"line":793,"type":"binary-expr","locations":[{"start":{"line":793,"column":16},"end":{"line":793,"column":26}},{"start":{"line":793,"column":31},"end":{"line":793,"column":49}},{"start":{"line":793,"column":54},"end":{"line":793,"column":90}}]},"59":{"line":820,"type":"binary-expr","locations":[{"start":{"line":820,"column":22},"end":{"line":820,"column":29}},{"start":{"line":820,"column":33},"end":{"line":820,"column":59}},{"start":{"line":820,"column":63},"end":{"line":820,"column":65}}]},"60":{"line":825,"type":"binary-expr","locations":[{"start":{"line":825,"column":23},"end":{"line":825,"column":34}},{"start":{"line":825,"column":38},"end":{"line":825,"column":46}}]},"61":{"line":829,"type":"if","locations":[{"start":{"line":829,"column":12},"end":{"line":829,"column":12}},{"start":{"line":829,"column":12},"end":{"line":829,"column":12}}]},"62":{"line":830,"type":"if","locations":[{"start":{"line":830,"column":16},"end":{"line":830,"column":16}},{"start":{"line":830,"column":16},"end":{"line":830,"column":16}}]},"63":{"line":834,"type":"if","locations":[{"start":{"line":834,"column":16},"end":{"line":834,"column":16}},{"start":{"line":834,"column":16},"end":{"line":834,"column":16}}]},"64":{"line":837,"type":"if","locations":[{"start":{"line":837,"column":20},"end":{"line":837,"column":20}},{"start":{"line":837,"column":20},"end":{"line":837,"column":20}}]},"65":{"line":837,"type":"binary-expr","locations":[{"start":{"line":837,"column":24},"end":{"line":837,"column":30}},{"start":{"line":837,"column":34},"end":{"line":837,"column":46}}]},"66":{"line":844,"type":"if","locations":[{"start":{"line":844,"column":12},"end":{"line":844,"column":12}},{"start":{"line":844,"column":12},"end":{"line":844,"column":12}}]},"67":{"line":844,"type":"binary-expr","locations":[{"start":{"line":844,"column":16},"end":{"line":844,"column":26}},{"start":{"line":844,"column":30},"end":{"line":844,"column":35}}]},"68":{"line":845,"type":"if","locations":[{"start":{"line":845,"column":16},"end":{"line":845,"column":16}},{"start":{"line":845,"column":16},"end":{"line":845,"column":16}}]},"69":{"line":846,"type":"if","locations":[{"start":{"line":846,"column":20},"end":{"line":846,"column":20}},{"start":{"line":846,"column":20},"end":{"line":846,"column":20}}]},"70":{"line":850,"type":"if","locations":[{"start":{"line":850,"column":20},"end":{"line":850,"column":20}},{"start":{"line":850,"column":20},"end":{"line":850,"column":20}}]},"71":{"line":853,"type":"if","locations":[{"start":{"line":853,"column":24},"end":{"line":853,"column":24}},{"start":{"line":853,"column":24},"end":{"line":853,"column":24}}]},"72":{"line":854,"type":"if","locations":[{"start":{"line":854,"column":28},"end":{"line":854,"column":28}},{"start":{"line":854,"column":28},"end":{"line":854,"column":28}}]},"73":{"line":859,"type":"if","locations":[{"start":{"line":859,"column":31},"end":{"line":859,"column":31}},{"start":{"line":859,"column":31},"end":{"line":859,"column":31}}]},"74":{"line":865,"type":"if","locations":[{"start":{"line":865,"column":16},"end":{"line":865,"column":16}},{"start":{"line":865,"column":16},"end":{"line":865,"column":16}}]},"75":{"line":866,"type":"if","locations":[{"start":{"line":866,"column":20},"end":{"line":866,"column":20}},{"start":{"line":866,"column":20},"end":{"line":866,"column":20}}]},"76":{"line":866,"type":"binary-expr","locations":[{"start":{"line":866,"column":23},"end":{"line":866,"column":35}},{"start":{"line":866,"column":40},"end":{"line":866,"column":61}},{"start":{"line":866,"column":66},"end":{"line":866,"column":88}}]},"77":{"line":870,"type":"if","locations":[{"start":{"line":870,"column":24},"end":{"line":870,"column":24}},{"start":{"line":870,"column":24},"end":{"line":870,"column":24}}]},"78":{"line":910,"type":"if","locations":[{"start":{"line":910,"column":16},"end":{"line":910,"column":16}},{"start":{"line":910,"column":16},"end":{"line":910,"column":16}}]},"79":{"line":944,"type":"if","locations":[{"start":{"line":944,"column":12},"end":{"line":944,"column":12}},{"start":{"line":944,"column":12},"end":{"line":944,"column":12}}]},"80":{"line":944,"type":"binary-expr","locations":[{"start":{"line":944,"column":16},"end":{"line":944,"column":22}},{"start":{"line":944,"column":26},"end":{"line":944,"column":38}}]},"81":{"line":951,"type":"if","locations":[{"start":{"line":951,"column":16},"end":{"line":951,"column":16}},{"start":{"line":951,"column":16},"end":{"line":951,"column":16}}]},"82":{"line":951,"type":"binary-expr","locations":[{"start":{"line":951,"column":20},"end":{"line":951,"column":33}},{"start":{"line":951,"column":37},"end":{"line":951,"column":97}}]},"83":{"line":981,"type":"if","locations":[{"start":{"line":981,"column":12},"end":{"line":981,"column":12}},{"start":{"line":981,"column":12},"end":{"line":981,"column":12}}]},"84":{"line":983,"type":"cond-expr","locations":[{"start":{"line":983,"column":41},"end":{"line":983,"column":67}},{"start":{"line":983,"column":70},"end":{"line":983,"column":74}}]},"85":{"line":1016,"type":"if","locations":[{"start":{"line":1016,"column":16},"end":{"line":1016,"column":16}},{"start":{"line":1016,"column":16},"end":{"line":1016,"column":16}}]},"86":{"line":1025,"type":"if","locations":[{"start":{"line":1025,"column":20},"end":{"line":1025,"column":20}},{"start":{"line":1025,"column":20},"end":{"line":1025,"column":20}}]},"87":{"line":1029,"type":"if","locations":[{"start":{"line":1029,"column":20},"end":{"line":1029,"column":20}},{"start":{"line":1029,"column":20},"end":{"line":1029,"column":20}}]},"88":{"line":1072,"type":"if","locations":[{"start":{"line":1072,"column":12},"end":{"line":1072,"column":12}},{"start":{"line":1072,"column":12},"end":{"line":1072,"column":12}}]},"89":{"line":1079,"type":"if","locations":[{"start":{"line":1079,"column":16},"end":{"line":1079,"column":16}},{"start":{"line":1079,"column":16},"end":{"line":1079,"column":16}}]},"90":{"line":1080,"type":"if","locations":[{"start":{"line":1080,"column":20},"end":{"line":1080,"column":20}},{"start":{"line":1080,"column":20},"end":{"line":1080,"column":20}}]},"91":{"line":1084,"type":"binary-expr","locations":[{"start":{"line":1084,"column":34},"end":{"line":1084,"column":41}},{"start":{"line":1084,"column":45},"end":{"line":1084,"column":47}}]},"92":{"line":1086,"type":"binary-expr","locations":[{"start":{"line":1086,"column":44},"end":{"line":1086,"column":57}},{"start":{"line":1086,"column":61},"end":{"line":1086,"column":63}}]},"93":{"line":1129,"type":"if","locations":[{"start":{"line":1129,"column":12},"end":{"line":1129,"column":12}},{"start":{"line":1129,"column":12},"end":{"line":1129,"column":12}}]},"94":{"line":1129,"type":"binary-expr","locations":[{"start":{"line":1129,"column":16},"end":{"line":1129,"column":25}},{"start":{"line":1129,"column":29},"end":{"line":1129,"column":39}}]},"95":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":16},"end":{"line":1132,"column":16}},{"start":{"line":1132,"column":16},"end":{"line":1132,"column":16}}]},"96":{"line":1132,"type":"binary-expr","locations":[{"start":{"line":1132,"column":20},"end":{"line":1132,"column":26}},{"start":{"line":1132,"column":30},"end":{"line":1132,"column":57}}]},"97":{"line":1138,"type":"if","locations":[{"start":{"line":1138,"column":12},"end":{"line":1138,"column":12}},{"start":{"line":1138,"column":12},"end":{"line":1138,"column":12}}]},"98":{"line":1138,"type":"binary-expr","locations":[{"start":{"line":1138,"column":16},"end":{"line":1138,"column":21}},{"start":{"line":1138,"column":25},"end":{"line":1138,"column":36}}]},"99":{"line":1139,"type":"if","locations":[{"start":{"line":1139,"column":16},"end":{"line":1139,"column":16}},{"start":{"line":1139,"column":16},"end":{"line":1139,"column":16}}]},"100":{"line":1142,"type":"if","locations":[{"start":{"line":1142,"column":16},"end":{"line":1142,"column":16}},{"start":{"line":1142,"column":16},"end":{"line":1142,"column":16}}]},"101":{"line":1148,"type":"if","locations":[{"start":{"line":1148,"column":12},"end":{"line":1148,"column":12}},{"start":{"line":1148,"column":12},"end":{"line":1148,"column":12}}]},"102":{"line":1148,"type":"binary-expr","locations":[{"start":{"line":1148,"column":16},"end":{"line":1148,"column":25}},{"start":{"line":1148,"column":29},"end":{"line":1148,"column":39}}]},"103":{"line":1153,"type":"if","locations":[{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}},{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}}]},"104":{"line":1153,"type":"binary-expr","locations":[{"start":{"line":1153,"column":20},"end":{"line":1153,"column":27}},{"start":{"line":1153,"column":31},"end":{"line":1153,"column":59}},{"start":{"line":1153,"column":64},"end":{"line":1153,"column":81}},{"start":{"line":1153,"column":87},"end":{"line":1153,"column":99}}]},"105":{"line":1180,"type":"binary-expr","locations":[{"start":{"line":1180,"column":20},"end":{"line":1180,"column":25}},{"start":{"line":1180,"column":29},"end":{"line":1180,"column":51}}]},"106":{"line":1184,"type":"binary-expr","locations":[{"start":{"line":1184,"column":28},"end":{"line":1184,"column":32}},{"start":{"line":1184,"column":36},"end":{"line":1184,"column":60}}]},"107":{"line":1185,"type":"binary-expr","locations":[{"start":{"line":1185,"column":32},"end":{"line":1185,"column":41}},{"start":{"line":1185,"column":45},"end":{"line":1185,"column":53}},{"start":{"line":1185,"column":57},"end":{"line":1185,"column":85}}]},"108":{"line":1187,"type":"if","locations":[{"start":{"line":1187,"column":12},"end":{"line":1187,"column":12}},{"start":{"line":1187,"column":12},"end":{"line":1187,"column":12}}]},"109":{"line":1187,"type":"binary-expr","locations":[{"start":{"line":1187,"column":16},"end":{"line":1187,"column":21}},{"start":{"line":1187,"column":25},"end":{"line":1187,"column":34}},{"start":{"line":1187,"column":38},"end":{"line":1187,"column":51}}]}},"code":["(function () { YUI.add('attribute-core', function (Y, NAME) {",""," /**"," * The State class maintains state for a collection of named items, with"," * a varying number of properties defined."," *"," * It avoids the need to create a separate class for the item, and separate instances"," * of these classes for each item, by storing the state in a 2 level hash table,"," * improving performance when the number of items is likely to be large."," *"," * @constructor"," * @class State"," */"," Y.State = function() {"," /**"," * Hash of attributes"," * @property data"," */"," this.data = {};"," };",""," Y.State.prototype = {",""," /**"," * Adds a property to an item."," *"," * @method add"," * @param name {String} The name of the item."," * @param key {String} The name of the property."," * @param val {Any} The value of the property."," */"," add: function(name, key, val) {"," var item = this.data[name];",""," if (!item) {"," item = this.data[name] = {};"," }",""," item[key] = val;"," },",""," /**"," * Adds multiple properties to an item."," *"," * @method addAll"," * @param name {String} The name of the item."," * @param obj {Object} A hash of property/value pairs."," */"," addAll: function(name, obj) {"," var item = this.data[name],"," key;",""," if (!item) {"," item = this.data[name] = {};"," }",""," for (key in obj) {"," if (obj.hasOwnProperty(key)) {"," item[key] = obj[key];"," }"," }"," },",""," /**"," * Removes a property from an item."," *"," * @method remove"," * @param name {String} The name of the item."," * @param key {String} The property to remove."," */"," remove: function(name, key) {"," var item = this.data[name];",""," if (item) {"," delete item[key];"," }"," },",""," /**"," * Removes multiple properties from an item, or removes the item completely."," *"," * @method removeAll"," * @param name {String} The name of the item."," * @param obj {Object|Array} Collection of properties to delete. If not provided, the entire item is removed."," */"," removeAll: function(name, obj) {"," var data;",""," if (!obj) {"," data = this.data;",""," if (name in data) {"," delete data[name];"," }"," } else {"," Y.each(obj, function(value, key) {"," this.remove(name, typeof key === 'string' ? key : value);"," }, this);"," }"," },",""," /**"," * For a given item, returns the value of the property requested, or undefined if not found."," *"," * @method get"," * @param name {String} The name of the item"," * @param key {String} Optional. The property value to retrieve."," * @return {Any} The value of the supplied property."," */"," get: function(name, key) {"," var item = this.data[name];",""," if (item) {"," return item[key];"," }"," },",""," /**"," * For the given item, returns an object with all of the"," * item's property/value pairs. By default the object returned"," * is a shallow copy of the stored data, but passing in true"," * as the second parameter will return a reference to the stored"," * data."," *"," * @method getAll"," * @param name {String} The name of the item"," * @param reference {boolean} true, if you want a reference to the stored"," * object"," * @return {Object} An object with property/value pairs for the item."," */"," getAll : function(name, reference) {"," var item = this.data[name],"," key, obj;",""," if (reference) {"," obj = item;"," } else if (item) {"," obj = {};",""," for (key in item) {"," if (item.hasOwnProperty(key)) {"," obj[key] = item[key];"," }"," }"," }",""," return obj;"," }"," };"," /*For log lines*/"," /*jshint maxlen:200*/",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The attribute-core submodule provides the lightest level of attribute handling support"," * without Attribute change events, or lesser used methods such as reset(), modifyAttrs(),"," * and removeAttr()."," *"," * @module attribute"," * @submodule attribute-core"," */"," var O = Y.Object,"," Lang = Y.Lang,",""," DOT = \".\",",""," // Externally configurable props"," GETTER = \"getter\","," SETTER = \"setter\","," READ_ONLY = \"readOnly\","," WRITE_ONCE = \"writeOnce\","," INIT_ONLY = \"initOnly\","," VALIDATOR = \"validator\","," VALUE = \"value\","," VALUE_FN = \"valueFn\","," LAZY_ADD = \"lazyAdd\",",""," // Used for internal state management"," ADDED = \"added\","," BYPASS_PROXY = \"_bypassProxy\","," INIT_VALUE = \"initValue\","," LAZY = \"lazy\",",""," INVALID_VALUE;",""," /**"," *
"," * AttributeCore provides the lightest level of configurable attribute support. It is designed to be"," * augmented on to a host class, and provides the host with the ability to configure"," * attributes to store and retrieve state, but without support for attribute change events."," *
"," *
For example, attributes added to the host can be configured:
"," *
"," *
As read only.
"," *
As write once.
"," *
With a setter function, which can be used to manipulate"," * values passed to Attribute's set method, before they are stored.
"," *
With a getter function, which can be used to manipulate stored values,"," * before they are returned by Attribute's get method.
"," *
With a validator function, to validate values before they are stored.
"," *
"," *"," *
See the addAttr method, for the complete set of configuration"," * options available for attributes.
"," *"," *
Object/Classes based on AttributeCore can augment AttributeObservable"," * (with true for overwrite) and AttributeExtras to add attribute event and"," * additional, less commonly used attribute methods, such as `modifyAttr`, `removeAttr` and `reset`.
"," *"," * @class AttributeCore"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," function AttributeCore(attrs, values, lazy) {"," // HACK: Fix #2531929"," // Complete hack, to make sure the first clone of a node value in IE doesn't doesn't hurt state - maintains 3.4.1 behavior."," // Too late in the release cycle to do anything about the core problem."," // The root issue is that cloning a Y.Node instance results in an object which barfs in IE, when you access it's properties (since 3.3.0)."," this._yuievt = null;",""," this._initAttrHost(attrs, values, lazy);"," }",""," /**"," *
The value to return from an attribute setter in order to prevent the set from going through.
"," *"," *
You can return this value from your setter if you wish to combine validator and setter"," * functionality into a single setter function, which either returns the massaged value to be stored or"," * AttributeCore.INVALID_VALUE to prevent invalid values from being stored.
"," *"," * @property INVALID_VALUE"," * @type Object"," * @static"," * @final"," */"," AttributeCore.INVALID_VALUE = {};"," INVALID_VALUE = AttributeCore.INVALID_VALUE;",""," /**"," * The list of properties which can be configured for"," * each attribute (e.g. setter, getter, writeOnce etc.)."," *"," * This property is used internally as a whitelist for faster"," * Y.mix operations."," *"," * @property _ATTR_CFG"," * @type Array"," * @static"," * @protected"," */"," AttributeCore._ATTR_CFG = [SETTER, GETTER, VALIDATOR, VALUE, VALUE_FN, WRITE_ONCE, READ_ONLY, LAZY_ADD, BYPASS_PROXY];",""," /**"," * Utility method to protect an attribute configuration hash, by merging the"," * entire object and the individual attr config objects."," *"," * @method protectAttrs"," * @static"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the `attrs` argument."," */"," AttributeCore.protectAttrs = function (attrs) {"," if (attrs) {"," attrs = Y.merge(attrs);"," for (var attr in attrs) {"," if (attrs.hasOwnProperty(attr)) {"," attrs[attr] = Y.merge(attrs[attr]);"," }"," }"," }",""," return attrs;"," };",""," AttributeCore.prototype = {",""," /**"," * Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the"," * constructor."," *"," * @method _initAttrHost"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," * @private"," */"," _initAttrHost : function(attrs, values, lazy) {"," this._state = new Y.State();"," this._initAttrs(attrs, values, lazy);"," },",""," /**"," *
"," * Adds an attribute with the provided configuration to the host object."," *
"," *
"," * The config argument object supports the following properties:"," *
"," *"," *
"," *
value <Any>
"," *
The initial value to set on the attribute
"," *"," *
valueFn <Function | String>
"," *
"," *
A function, which will return the initial value to set on the attribute. This is useful"," * for cases where the attribute configuration is defined statically, but needs to"," * reference the host instance (\"this\") to obtain an initial value. If both the value and valueFn properties are defined,"," * the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which"," * case the value property is used.
"," *"," *
valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.
"," *
"," *"," *
readOnly <boolean>
"," *
Whether or not the attribute is read only. Attributes having readOnly set to true"," * cannot be modified by invoking the set method.
"," *"," *
writeOnce <boolean> or <string>
"," *
"," * Whether or not the attribute is \"write once\". Attributes having writeOnce set to true,"," * can only have their values set once, be it through the default configuration,"," * constructor configuration arguments, or by invoking set."," *
The writeOnce attribute can also be set to the string \"initOnly\","," * in which case the attribute can only be set during initialization"," * (when used with Base, this means it can only be set during construction)
"," *
"," *"," *
setter <Function | String>
"," *
"," *
The setter function used to massage or normalize the value passed to the set method for the attribute."," * The value returned by the setter will be the final stored value. Returning"," * Attribute.INVALID_VALUE, from the setter will prevent"," * the value from being stored."," *
"," *"," *
setter can also be set to a string, representing the name of the instance method to be used as the setter function.
"," *
"," *"," *
getter <Function | String>
"," *
"," *
"," * The getter function used to massage or normalize the value returned by the get method for the attribute."," * The value returned by the getter function is the value which will be returned to the user when they"," * invoke get."," *
"," *"," *
getter can also be set to a string, representing the name of the instance method to be used as the getter function.
"," *
"," *"," *
validator <Function | String>
"," *
"," *
"," * The validator function invoked prior to setting the stored value. Returning"," * false from the validator function will prevent the value from being stored."," *
"," *"," *
validator can also be set to a string, representing the name of the instance method to be used as the validator function.
"," *
"," *"," *
lazyAdd <boolean>
"," *
Whether or not to delay initialization of the attribute until the first call to get/set it."," * This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through"," * the addAttrs method.
"," *"," *
"," *"," *
The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with"," * the context (\"this\") set to the host object.
"," *"," *
Configuration properties outside of the list mentioned above are considered private properties used internally by attribute,"," * and are not intended for public use.
"," *"," * @method addAttr"," *"," * @param {String} name The name of the attribute."," * @param {Object} config An object with attribute configuration property/value pairs, specifying the configuration for the attribute."," *"," *
"," * NOTE: The configuration object is modified when adding an attribute, so if you need"," * to protect the original values, you will need to merge the object."," *
"," *"," * @param {boolean} lazy (optional) Whether or not to add this attribute lazily (on the first call to get/set)."," *"," * @return {Object} A reference to the host object."," *"," * @chainable"," */"," addAttr : function(name, config, lazy) {","",""," var host = this, // help compression"," state = host._state,"," data = state.data,"," value,"," added,"," hasValue;",""," config = config || {};",""," if (LAZY_ADD in config) {"," lazy = config[LAZY_ADD];"," }",""," added = state.get(name, ADDED);",""," if (lazy && !added) {"," state.data[name] = {"," lazy : config,"," added : true"," };"," } else {","",""," if (!added || config.isLazyAdd) {",""," hasValue = (VALUE in config);","",""," if (hasValue) {",""," // We'll go through set, don't want to set value in config directly",""," // PERF TODO: VALIDATE: See if setting this to undefined is sufficient. We use to delete before."," // In certain code paths/use cases, undefined may not be the same as not present."," // If not, we can set it to some known fixed value (like INVALID_VALUE, say INITIALIZING_VALUE) for performance,"," // to avoid a delete which seems to help a lot.",""," value = config.value;"," config.value = undefined;"," }",""," config.added = true;"," config.initializing = true;",""," data[name] = config;",""," if (hasValue) {"," // Go through set, so that raw values get normalized/validated"," host.set(name, value);"," }",""," config.initializing = false;"," }"," }",""," return host;"," },",""," /**"," * Checks if the given attribute has been added to the host"," *"," * @method attrAdded"," * @param {String} name The name of the attribute to check."," * @return {boolean} true if an attribute with the given name has been added, false if it hasn't."," * This method will return true for lazily added attributes."," */"," attrAdded: function(name) {"," return !!(this._state.get(name, ADDED));"," },",""," /**"," * Returns the current value of the attribute. If the attribute"," * has been configured with a 'getter' function, this method will delegate"," * to the 'getter' to obtain the value of the attribute."," *"," * @method get"," *"," * @param {String} name The name of the attribute. If the value of the attribute is an Object,"," * dot notation can be used to obtain the value of a property of the object (e.g. get(\"x.y.z\"))"," *"," * @return {Any} The value of the attribute"," */"," get : function(name) {"," return this._getAttr(name);"," },",""," /**"," * Checks whether or not the attribute is one which has been"," * added lazily and still requires initialization."," *"," * @method _isLazyAttr"," * @private"," * @param {String} name The name of the attribute"," * @return {boolean} true if it's a lazily added attribute, false otherwise."," */"," _isLazyAttr: function(name) {"," return this._state.get(name, LAZY);"," },",""," /**"," * Finishes initializing an attribute which has been lazily added."," *"," * @method _addLazyAttr"," * @private"," * @param {Object} name The name of the attribute"," * @param {Object} [lazyCfg] Optional config hash for the attribute. This is added for performance"," * along the critical path, where the calling method has already obtained lazy config from state."," */"," _addLazyAttr: function(name, lazyCfg) {"," var state = this._state;",""," lazyCfg = lazyCfg || state.get(name, LAZY);",""," if (lazyCfg) {",""," // PERF TODO: For App's id override, otherwise wouldn't be"," // needed. It expects to find it in the cfg for it's"," // addAttr override. Would like to remove, once App override is"," // removed."," state.data[name].lazy = undefined;",""," lazyCfg.isLazyAdd = true;",""," this.addAttr(name, lazyCfg);"," }"," },",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Provides the common implementation for the public set and protected _set methods."," *"," * See set for argument details."," *"," * @method _setAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} value The value to set the attribute to."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @param {boolean} force If true, allows the caller to set values for"," * readOnly or writeOnce attributes which have already been set."," *"," * @return {Object} A reference to the host object."," */"," _setAttr : function(name, val, opts, force) {"," var allowSet = true,"," state = this._state,"," stateProxy = this._stateProxy,"," tCfgs = this._tCfgs,"," cfg,"," initialSet,"," strPath,"," path,"," currVal,"," writeOnce,"," initializing;",""," if (name.indexOf(DOT) !== -1) {"," strPath = name;",""," path = name.split(DOT);"," name = path.shift();"," }",""," // On Demand - Should be rare - handles out of order valueFn, setter, getter references"," if (tCfgs && tCfgs[name]) {"," this._addOutOfOrder(name, tCfgs[name]);"," }",""," cfg = state.data[name] || {};",""," if (cfg.lazy) {"," cfg = cfg.lazy;"," this._addLazyAttr(name, cfg);"," }",""," initialSet = (cfg.value === undefined);",""," if (stateProxy && name in stateProxy && !cfg._bypassProxy) {"," // TODO: Value is always set for proxy. Can we do any better? Maybe take a snapshot as the initial value for the first call to set?"," initialSet = false;"," }",""," writeOnce = cfg.writeOnce;"," initializing = cfg.initializing;",""," if (!initialSet && !force) {",""," if (writeOnce) {"," allowSet = false;"," }",""," if (cfg.readOnly) {"," allowSet = false;"," }"," }",""," if (!initializing && !force && writeOnce === INIT_ONLY) {"," allowSet = false;"," }",""," if (allowSet) {"," // Don't need currVal if initialSet (might fail in custom getter if it always expects a non-undefined/non-null value)"," if (!initialSet) {"," currVal = this.get(name);"," }",""," if (path) {"," val = O.setValue(Y.clone(currVal), path, val);",""," if (val === undefined) {"," allowSet = false;"," }"," }",""," if (allowSet) {"," if (!this._fireAttrChange || initializing) {"," this._setAttrVal(name, strPath, currVal, val, opts, cfg);"," } else {"," // HACK - no real reason core needs to know about _fireAttrChange, but"," // it adds fn hops if we want to break it out. Not sure it's worth it for this critical path"," this._fireAttrChange(name, strPath, currVal, val, opts, cfg);"," }"," }"," }",""," return this;"," },",""," /**"," * Utility method used by get/set to add attributes"," * encountered out of order when calling addAttrs()."," *"," * For example, if:"," *"," * this.addAttrs({"," * foo: {"," * setter: function() {"," * // make sure this bar is available when foo is added"," * this.get(\"bar\");"," * }"," * },"," * bar: {"," * value: ..."," * }"," * });"," *"," * @method _addOutOfOrder"," * @private"," * @param name {String} attribute name"," * @param cfg {Object} attribute configuration"," */"," _addOutOfOrder : function(name, cfg) {",""," var attrs = {};"," attrs[name] = cfg;",""," delete this._tCfgs[name];",""," // TODO: The original code went through addAttrs, so"," // sticking with it for this pass. Seems like we could"," // just jump straight to _addAttr() and get some perf"," // improvement."," this._addAttrs(attrs, this._tVals);"," },",""," /**"," * Provides the common implementation for the public get method,"," * allowing Attribute hosts to over-ride either method."," *"," * See get for argument details."," *"," * @method _getAttr"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @return {Any} The value of the attribute."," */"," _getAttr : function(name) {"," var fullName = name,"," tCfgs = this._tCfgs,"," path,"," getter,"," val,"," attrCfg;",""," if (name.indexOf(DOT) !== -1) {"," path = name.split(DOT);"," name = path.shift();"," }",""," // On Demand - Should be rare - handles out of"," // order valueFn, setter, getter references"," if (tCfgs && tCfgs[name]) {"," this._addOutOfOrder(name, tCfgs[name]);"," }",""," attrCfg = this._state.data[name] || {};",""," // Lazy Init"," if (attrCfg.lazy) {"," attrCfg = attrCfg.lazy;"," this._addLazyAttr(name, attrCfg);"," }",""," val = this._getStateVal(name, attrCfg);",""," getter = attrCfg.getter;",""," if (getter && !getter.call) {"," getter = this[getter];"," }",""," val = (getter) ? getter.call(this, val, fullName) : val;"," val = (path) ? O.getValue(val, path) : val;",""," return val;"," },",""," /**"," * Gets the stored value for the attribute, from either the"," * internal state object, or the state proxy if it exits"," *"," * @method _getStateVal"," * @private"," * @param {String} name The name of the attribute"," * @param {Object} [cfg] Optional config hash for the attribute. This is added for performance along the critical path,"," * where the calling method has already obtained the config from state."," *"," * @return {Any} The stored value of the attribute"," */"," _getStateVal : function(name, cfg) {"," var stateProxy = this._stateProxy;",""," if (!cfg) {"," cfg = this._state.getAll(name) || {};"," }",""," return (stateProxy && (name in stateProxy) && !(cfg._bypassProxy)) ? stateProxy[name] : cfg.value;"," },",""," /**"," * Sets the stored value for the attribute, in either the"," * internal state object, or the state proxy if it exits"," *"," * @method _setStateVal"," * @private"," * @param {String} name The name of the attribute"," * @param {Any} value The value of the attribute"," */"," _setStateVal : function(name, value) {"," var stateProxy = this._stateProxy;"," if (stateProxy && (name in stateProxy) && !this._state.get(name, BYPASS_PROXY)) {"," stateProxy[name] = value;"," } else {"," this._state.add(name, VALUE, value);"," }"," },",""," /**"," * Updates the stored value of the attribute in the privately held State object,"," * if validation and setter passes."," *"," * @method _setAttrVal"," * @private"," * @param {String} attrName The attribute name."," * @param {String} subAttrName The sub-attribute name, if setting a sub-attribute property (\"x.y.z\")."," * @param {Any} prevVal The currently stored value of the attribute."," * @param {Any} newVal The value which is going to be stored."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @param {Object} [attrCfg] Optional config hash for the attribute. This is added for performance along the critical path,"," * where the calling method has already obtained the config from state."," *"," * @return {booolean} true if the new attribute value was stored, false if not."," */"," _setAttrVal : function(attrName, subAttrName, prevVal, newVal, opts, attrCfg) {",""," var host = this,"," allowSet = true,"," cfg = attrCfg || this._state.data[attrName] || {},"," validator = cfg.validator,"," setter = cfg.setter,"," initializing = cfg.initializing,"," prevRawVal = this._getStateVal(attrName, cfg),"," name = subAttrName || attrName,"," retVal,"," valid;",""," if (validator) {"," if (!validator.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," validator = this[validator];"," }"," if (validator) {"," valid = validator.call(host, newVal, name, opts);",""," if (!valid && initializing) {"," newVal = cfg.defaultValue;"," valid = true; // Assume it's valid, for perf."," }"," }"," }",""," if (!validator || valid) {"," if (setter) {"," if (!setter.call) {"," // Assume string - trying to keep critical path tight, so avoiding Lang check"," setter = this[setter];"," }"," if (setter) {"," retVal = setter.call(host, newVal, name, opts);",""," if (retVal === INVALID_VALUE) {"," if (initializing) {"," newVal = cfg.defaultValue;"," } else {"," allowSet = false;"," }"," } else if (retVal !== undefined){"," newVal = retVal;"," }"," }"," }",""," if (allowSet) {"," if(!subAttrName && (newVal === prevRawVal) && !Lang.isObject(newVal)) {"," allowSet = false;"," } else {"," // Store value"," if (!(INIT_VALUE in cfg)) {"," cfg.initValue = newVal;"," }"," host._setStateVal(attrName, newVal);"," }"," }",""," } else {"," allowSet = false;"," }",""," return allowSet;"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change."," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} [opts] Optional data providing the circumstances for the change"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Gets multiple attribute values."," *"," * @method getAttrs"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," getAttrs : function(attrs) {"," return this._getAttrs(attrs);"," },",""," /**"," * Implementation behind the public getAttrs method, to get multiple attribute values."," *"," * @method _getAttrs"," * @protected"," * @param {Array | boolean} attrs Optional. An array of attribute names. If omitted, all attribute values are"," * returned. If set to true, all attributes modified from their initial values are returned."," * @return {Object} An object with attribute name/value pairs."," */"," _getAttrs : function(attrs) {"," var obj = {},"," attr, i, len,"," modifiedOnly = (attrs === true);",""," // TODO - figure out how to get all \"added\""," if (!attrs || modifiedOnly) {"," attrs = O.keys(this._state.data);"," }",""," for (i = 0, len = attrs.length; i < len; i++) {"," attr = attrs[i];",""," if (!modifiedOnly || this._getStateVal(attr) != this._state.get(attr, INIT_VALUE)) {"," // Go through get, to honor cloning/normalization"," obj[attr] = this.get(attr);"," }"," }",""," return obj;"," },",""," /**"," * Configures a group of attributes, and sets initial values."," *"," *
"," * NOTE: This method does not isolate the configuration object by merging/cloning."," * The caller is responsible for merging/cloning the configuration object if required."," *
"," *"," * @method addAttrs"," * @chainable"," *"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," *"," * @return {Object} A reference to the host object."," */"," addAttrs : function(cfgs, values, lazy) {"," if (cfgs) {"," this._tCfgs = cfgs;"," this._tVals = (values) ? this._normAttrVals(values) : null;"," this._addAttrs(cfgs, this._tVals, lazy);"," this._tCfgs = this._tVals = null;"," }",""," return this;"," },",""," /**"," * Implementation behind the public addAttrs method."," *"," * This method is invoked directly by get if it encounters a scenario"," * in which an attribute's valueFn attempts to obtain the"," * value an attribute in the same group of attributes, which has not yet"," * been added (on demand initialization)."," *"," * @method _addAttrs"," * @private"," * @param {Object} cfgs An object with attribute name/configuration pairs."," * @param {Object} values An object with attribute name/value pairs, defining the initial values to apply."," * Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only."," * @param {boolean} lazy Whether or not to delay the intialization of these attributes until the first call to get/set."," * Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration."," * See addAttr."," */"," _addAttrs : function(cfgs, values, lazy) {"," var tCfgs = this._tCfgs,"," tVals = this._tVals,"," attr,"," attrCfg,"," value;",""," for (attr in cfgs) {"," if (cfgs.hasOwnProperty(attr)) {",""," // Not Merging. Caller is responsible for isolating configs"," attrCfg = cfgs[attr];"," attrCfg.defaultValue = attrCfg.value;",""," // Handle simple, complex and user values, accounting for read-only"," value = this._getAttrInitVal(attr, attrCfg, tVals);",""," if (value !== undefined) {"," attrCfg.value = value;"," }",""," if (tCfgs[attr]) {"," tCfgs[attr] = undefined;"," }",""," this.addAttr(attr, attrCfg, lazy);"," }"," }"," },",""," /**"," * Utility method to protect an attribute configuration"," * hash, by merging the entire object and the individual"," * attr config objects."," *"," * @method _protectAttrs"," * @protected"," * @param {Object} attrs A hash of attribute to configuration object pairs."," * @return {Object} A protected version of the attrs argument."," * @deprecated Use `AttributeCore.protectAttrs()` or"," * `Attribute.protectAttrs()` which are the same static utility method."," */"," _protectAttrs : AttributeCore.protectAttrs,",""," /**"," * Utility method to normalize attribute values. The base implementation"," * simply merges the hash to protect the original."," *"," * @method _normAttrVals"," * @param {Object} valueHash An object with attribute name/value pairs"," *"," * @return {Object} An object literal with 2 properties - \"simple\" and \"complex\","," * containing simple and complex attribute values respectively keyed"," * by the top level attribute name, or null, if valueHash is falsey."," *"," * @private"," */"," _normAttrVals : function(valueHash) {"," var vals,"," subvals,"," path,"," attr,"," v, k;",""," if (!valueHash) {"," return null;"," }",""," vals = {};",""," for (k in valueHash) {"," if (valueHash.hasOwnProperty(k)) {"," if (k.indexOf(DOT) !== -1) {"," path = k.split(DOT);"," attr = path.shift();",""," subvals = subvals || {};",""," v = subvals[attr] = subvals[attr] || [];"," v[v.length] = {"," path : path,"," value: valueHash[k]"," };"," } else {"," vals[k] = valueHash[k];"," }"," }"," }",""," return { simple:vals, complex:subvals };"," },",""," /**"," * Returns the initial value of the given attribute from"," * either the default configuration provided, or the"," * over-ridden value if it exists in the set of initValues"," * provided and the attribute is not read-only."," *"," * @param {String} attr The name of the attribute"," * @param {Object} cfg The attribute configuration object"," * @param {Object} initValues The object with simple and complex attribute name/value pairs returned from _normAttrVals"," *"," * @return {Any} The initial value of the attribute."," *"," * @method _getAttrInitVal"," * @private"," */"," _getAttrInitVal : function(attr, cfg, initValues) {"," var val = cfg.value,"," valFn = cfg.valueFn,"," tmpVal,"," initValSet = false,"," readOnly = cfg.readOnly,"," simple,"," complex,"," i,"," l,"," path,"," subval,"," subvals;",""," if (!readOnly && initValues) {"," // Simple Attributes"," simple = initValues.simple;"," if (simple && simple.hasOwnProperty(attr)) {"," val = simple[attr];"," initValSet = true;"," }"," }",""," if (valFn && !initValSet) {"," if (!valFn.call) {"," valFn = this[valFn];"," }"," if (valFn) {"," tmpVal = valFn.call(this, attr);"," val = tmpVal;"," }"," }",""," if (!readOnly && initValues) {",""," // Complex Attributes (complex values applied, after simple, in case both are set)"," complex = initValues.complex;",""," if (complex && complex.hasOwnProperty(attr) && (val !== undefined) && (val !== null)) {"," subvals = complex[attr];"," for (i = 0, l = subvals.length; i < l; ++i) {"," path = subvals[i].path;"," subval = subvals[i].value;"," O.setValue(val, path, subval);"," }"," }"," }",""," return val;"," },",""," /**"," * Utility method to set up initial attributes defined during construction,"," * either through the constructor.ATTRS property, or explicitly passed in."," *"," * @method _initAttrs"," * @protected"," * @param attrs {Object} The attributes to add during construction (passed through to addAttrs)."," * These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor."," * @param values {Object} The initial attribute values to apply (passed through to addAttrs)."," * These are not merged/cloned. The caller is responsible for isolating user provided values if required."," * @param lazy {boolean} Whether or not to add attributes lazily (passed through to addAttrs)."," */"," _initAttrs : function(attrs, values, lazy) {"," // ATTRS support for Node, which is not Base based"," attrs = attrs || this.constructor.ATTRS;",""," var Base = Y.Base,"," BaseCore = Y.BaseCore,"," baseInst = (Base && Y.instanceOf(this, Base)),"," baseCoreInst = (!baseInst && BaseCore && Y.instanceOf(this, BaseCore));",""," if (attrs && !baseInst && !baseCoreInst) {"," this.addAttrs(Y.AttributeCore.protectAttrs(attrs), values, lazy);"," }"," }"," };",""," Y.AttributeCore = AttributeCore;","","","}, '3.13.0', {\"requires\": [\"oop\"]});","","}());"]};
+}
+var __cov_jW$Ub3ixQRFlmKpbe0igYQ = __coverage__['build/attribute-core/attribute-core.js'];
+__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['1']++;YUI.add('attribute-core',function(Y,NAME){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['1']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['2']++;Y.State=function(){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['2']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['3']++;this.data={};};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['4']++;Y.State.prototype={add:function(name,key,val){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['3']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['5']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['6']++;if(!item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['1'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['7']++;item=this.data[name]={};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['1'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['8']++;item[key]=val;},addAll:function(name,obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['4']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['9']++;var item=this.data[name],key;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['10']++;if(!item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['2'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['11']++;item=this.data[name]={};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['2'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['12']++;for(key in obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['13']++;if(obj.hasOwnProperty(key)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['3'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['14']++;item[key]=obj[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['3'][1]++;}}},remove:function(name,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['5']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['15']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['16']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['4'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['17']++;delete item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['4'][1]++;}},removeAll:function(name,obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['6']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['18']++;var data;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['19']++;if(!obj){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['5'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['20']++;data=this.data;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['21']++;if(name in data){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['6'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['22']++;delete data[name];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['6'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['5'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['23']++;Y.each(obj,function(value,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['7']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['24']++;this.remove(name,typeof key==='string'?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['7'][0]++,key):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['7'][1]++,value));},this);}},get:function(name,key){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['8']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['25']++;var item=this.data[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['26']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['8'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['27']++;return item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['8'][1]++;}},getAll:function(name,reference){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['9']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['28']++;var item=this.data[name],key,obj;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['29']++;if(reference){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['9'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['30']++;obj=item;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['9'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['31']++;if(item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['10'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['32']++;obj={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['33']++;for(key in item){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['34']++;if(item.hasOwnProperty(key)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['11'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['35']++;obj[key]=item[key];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['11'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['10'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['36']++;return obj;}};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['37']++;var O=Y.Object,Lang=Y.Lang,DOT='.',GETTER='getter',SETTER='setter',READ_ONLY='readOnly',WRITE_ONCE='writeOnce',INIT_ONLY='initOnly',VALIDATOR='validator',VALUE='value',VALUE_FN='valueFn',LAZY_ADD='lazyAdd',ADDED='added',BYPASS_PROXY='_bypassProxy',INIT_VALUE='initValue',LAZY='lazy',INVALID_VALUE;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['38']++;function AttributeCore(attrs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['10']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['39']++;this._yuievt=null;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['40']++;this._initAttrHost(attrs,values,lazy);}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['41']++;AttributeCore.INVALID_VALUE={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['42']++;INVALID_VALUE=AttributeCore.INVALID_VALUE;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['43']++;AttributeCore._ATTR_CFG=[SETTER,GETTER,VALIDATOR,VALUE,VALUE_FN,WRITE_ONCE,READ_ONLY,LAZY_ADD,BYPASS_PROXY];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['44']++;AttributeCore.protectAttrs=function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['11']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['45']++;if(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['12'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['46']++;attrs=Y.merge(attrs);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['47']++;for(var attr in attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['48']++;if(attrs.hasOwnProperty(attr)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['13'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['49']++;attrs[attr]=Y.merge(attrs[attr]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['13'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['12'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['50']++;return attrs;};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['51']++;AttributeCore.prototype={_initAttrHost:function(attrs,values,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['12']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['52']++;this._state=new Y.State();__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['53']++;this._initAttrs(attrs,values,lazy);},addAttr:function(name,config,lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['13']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['54']++;var host=this,state=host._state,data=state.data,value,added,hasValue;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['55']++;config=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['14'][0]++,config)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['14'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['56']++;if(LAZY_ADD in config){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['15'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['57']++;lazy=config[LAZY_ADD];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['15'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['58']++;added=state.get(name,ADDED);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['59']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['17'][0]++,lazy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['17'][1]++,!added)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['16'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['60']++;state.data[name]={lazy:config,added:true};}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['16'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['61']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['19'][0]++,!added)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['19'][1]++,config.isLazyAdd)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['18'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['62']++;hasValue=VALUE in config;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['63']++;if(hasValue){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['20'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['64']++;value=config.value;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['65']++;config.value=undefined;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['20'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['66']++;config.added=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['67']++;config.initializing=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['68']++;data[name]=config;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['69']++;if(hasValue){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['21'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['70']++;host.set(name,value);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['21'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['71']++;config.initializing=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['18'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['72']++;return host;},attrAdded:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['14']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['73']++;return!!this._state.get(name,ADDED);},get:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['15']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['74']++;return this._getAttr(name);},_isLazyAttr:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['16']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['75']++;return this._state.get(name,LAZY);},_addLazyAttr:function(name,lazyCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['17']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['76']++;var state=this._state;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['77']++;lazyCfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['22'][0]++,lazyCfg)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['22'][1]++,state.get(name,LAZY));__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['78']++;if(lazyCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['23'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['79']++;state.data[name].lazy=undefined;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['80']++;lazyCfg.isLazyAdd=true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['81']++;this.addAttr(name,lazyCfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['23'][1]++;}},set:function(name,val,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['18']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['82']++;return this._setAttr(name,val,opts);},_set:function(name,val,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['19']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['83']++;return this._setAttr(name,val,opts,true);},_setAttr:function(name,val,opts,force){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['20']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['84']++;var allowSet=true,state=this._state,stateProxy=this._stateProxy,tCfgs=this._tCfgs,cfg,initialSet,strPath,path,currVal,writeOnce,initializing;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['85']++;if(name.indexOf(DOT)!==-1){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['24'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['86']++;strPath=name;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['87']++;path=name.split(DOT);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['88']++;name=path.shift();}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['24'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['89']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['26'][0]++,tCfgs)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['26'][1]++,tCfgs[name])){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['25'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['90']++;this._addOutOfOrder(name,tCfgs[name]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['25'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['91']++;cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['27'][0]++,state.data[name])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['27'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['92']++;if(cfg.lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['28'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['93']++;cfg=cfg.lazy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['94']++;this._addLazyAttr(name,cfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['28'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['95']++;initialSet=cfg.value===undefined;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['96']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['30'][2]++,!cfg._bypassProxy)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['29'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['97']++;initialSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['29'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['98']++;writeOnce=cfg.writeOnce;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['99']++;initializing=cfg.initializing;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['100']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['32'][0]++,!initialSet)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['32'][1]++,!force)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['31'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['101']++;if(writeOnce){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['33'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['102']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['33'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['103']++;if(cfg.readOnly){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['34'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['104']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['34'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['31'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['105']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][0]++,!initializing)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][1]++,!force)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['36'][2]++,writeOnce===INIT_ONLY)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['35'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['106']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['35'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['107']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['37'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['108']++;if(!initialSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['38'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['109']++;currVal=this.get(name);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['38'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['110']++;if(path){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['39'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['111']++;val=O.setValue(Y.clone(currVal),path,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['112']++;if(val===undefined){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['40'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['113']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['40'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['39'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['114']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['41'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['115']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['43'][0]++,!this._fireAttrChange)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['43'][1]++,initializing)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['42'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['116']++;this._setAttrVal(name,strPath,currVal,val,opts,cfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['42'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['117']++;this._fireAttrChange(name,strPath,currVal,val,opts,cfg);}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['41'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['37'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['118']++;return this;},_addOutOfOrder:function(name,cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['21']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['119']++;var attrs={};__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['120']++;attrs[name]=cfg;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['121']++;delete this._tCfgs[name];__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['122']++;this._addAttrs(attrs,this._tVals);},_getAttr:function(name){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['22']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['123']++;var fullName=name,tCfgs=this._tCfgs,path,getter,val,attrCfg;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['124']++;if(name.indexOf(DOT)!==-1){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['44'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['125']++;path=name.split(DOT);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['126']++;name=path.shift();}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['44'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['127']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['46'][0]++,tCfgs)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['46'][1]++,tCfgs[name])){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['45'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['128']++;this._addOutOfOrder(name,tCfgs[name]);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['45'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['129']++;attrCfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['47'][0]++,this._state.data[name])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['47'][1]++,{});__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['130']++;if(attrCfg.lazy){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['48'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['131']++;attrCfg=attrCfg.lazy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['132']++;this._addLazyAttr(name,attrCfg);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['48'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['133']++;val=this._getStateVal(name,attrCfg);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['134']++;getter=attrCfg.getter;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['135']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['50'][0]++,getter)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['50'][1]++,!getter.call)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['49'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['136']++;getter=this[getter];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['49'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['137']++;val=getter?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['51'][0]++,getter.call(this,val,fullName)):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['51'][1]++,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['138']++;val=path?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['52'][0]++,O.getValue(val,path)):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['52'][1]++,val);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['139']++;return val;},_getStateVal:function(name,cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['23']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['140']++;var stateProxy=this._stateProxy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['141']++;if(!cfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['53'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['142']++;cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['54'][0]++,this._state.getAll(name))||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['54'][1]++,{});}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['53'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['143']++;return(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['56'][2]++,!cfg._bypassProxy)?(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['55'][0]++,stateProxy[name]):(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['55'][1]++,cfg.value);},_setStateVal:function(name,value){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['24']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['144']++;var stateProxy=this._stateProxy;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['145']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][0]++,stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][1]++,name in stateProxy)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['58'][2]++,!this._state.get(name,BYPASS_PROXY))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['57'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['146']++;stateProxy[name]=value;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['57'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['147']++;this._state.add(name,VALUE,value);}},_setAttrVal:function(attrName,subAttrName,prevVal,newVal,opts,attrCfg){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['25']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['148']++;var host=this,allowSet=true,cfg=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][0]++,attrCfg)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][1]++,this._state.data[attrName])||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['59'][2]++,{}),validator=cfg.validator,setter=cfg.setter,initializing=cfg.initializing,prevRawVal=this._getStateVal(attrName,cfg),name=(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['60'][0]++,subAttrName)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['60'][1]++,attrName),retVal,valid;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['149']++;if(validator){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['61'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['150']++;if(!validator.call){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['62'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['151']++;validator=this[validator];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['62'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['152']++;if(validator){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['63'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['153']++;valid=validator.call(host,newVal,name,opts);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['154']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['65'][0]++,!valid)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['65'][1]++,initializing)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['64'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['155']++;newVal=cfg.defaultValue;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['156']++;valid=true;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['64'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['63'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['61'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['157']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['67'][0]++,!validator)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['67'][1]++,valid)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['66'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['158']++;if(setter){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['68'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['159']++;if(!setter.call){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['69'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['160']++;setter=this[setter];}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['69'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['161']++;if(setter){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['70'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['162']++;retVal=setter.call(host,newVal,name,opts);__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['163']++;if(retVal===INVALID_VALUE){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['71'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['164']++;if(initializing){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['72'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['165']++;newVal=cfg.defaultValue;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['72'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['166']++;allowSet=false;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['71'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['167']++;if(retVal!==undefined){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['73'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['168']++;newVal=retVal;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['73'][1]++;}}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['70'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['68'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['169']++;if(allowSet){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['74'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['170']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][0]++,!subAttrName)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][1]++,newVal===prevRawVal)&&(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['76'][2]++,!Lang.isObject(newVal))){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['75'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['171']++;allowSet=false;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['75'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['172']++;if(!(INIT_VALUE in cfg)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['77'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['173']++;cfg.initValue=newVal;}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['77'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['174']++;host._setStateVal(attrName,newVal);}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['74'][1]++;}}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['66'][1]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['175']++;allowSet=false;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['176']++;return allowSet;},setAttrs:function(attrs,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['26']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['177']++;return this._setAttrs(attrs,opts);},_setAttrs:function(attrs,opts){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['27']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['178']++;var attr;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['179']++;for(attr in attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['180']++;if(attrs.hasOwnProperty(attr)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['78'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['181']++;this.set(attr,attrs[attr],opts);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['78'][1]++;}}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['182']++;return this;},getAttrs:function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['28']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['183']++;return this._getAttrs(attrs);},_getAttrs:function(attrs){__cov_jW$Ub3ixQRFlmKpbe0igYQ.f['29']++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['184']++;var obj={},attr,i,len,modifiedOnly=attrs===true;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['185']++;if((__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['80'][0]++,!attrs)||(__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['80'][1]++,modifiedOnly)){__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['79'][0]++;__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['186']++;attrs=O.keys(this._state.data);}else{__cov_jW$Ub3ixQRFlmKpbe0igYQ.b['79'][1]++;}__cov_jW$Ub3ixQRFlmKpbe0igYQ.s['187']++;for(i=0,len=attrs.length;i"," * The properties which can be modified through this interface are limited"," * to the following subset of attributes, which can be safely modified"," * after a value has already been set on the attribute: readOnly, writeOnce,"," * broadcast and getter."," *
"," * @method modifyAttr"," * @param {String} name The name of the attribute whose configuration is to be updated."," * @param {Object} config An object with configuration property/value pairs, specifying the configuration properties to modify."," */"," modifyAttr: function(name, config) {"," var host = this, // help compression"," prop, state;",""," if (host.attrAdded(name)) {",""," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }",""," state = host._state;"," for (prop in config) {"," if (MODIFIABLE[prop] && config.hasOwnProperty(prop)) {"," state.add(name, prop, config[prop]);",""," // If we reconfigured broadcast, need to republish"," if (prop === BROADCAST) {"," state.remove(name, PUBLISHED);"," }"," }"," }"," }"," /*jshint maxlen:200*/"," /*jshint maxlen:150 */"," },",""," /**"," * Removes an attribute from the host object"," *"," * @method removeAttr"," * @param {String} name The name of the attribute to be removed."," */"," removeAttr: function(name) {"," this._state.removeAll(name);"," },",""," /**"," * Resets the attribute (or all attributes) to its initial value, as long as"," * the attribute is not readOnly, or writeOnce."," *"," * @method reset"," * @param {String} name Optional. The name of the attribute to reset. If omitted, all attributes are reset."," * @return {Object} A reference to the host object."," * @chainable"," */"," reset : function(name) {"," var host = this; // help compression",""," if (name) {"," if (host._isLazyAttr(name)) {"," host._addLazyAttr(name);"," }"," host.set(name, host._state.get(name, INIT_VALUE));"," } else {"," Y.each(host._state.data, function(v, n) {"," host.reset(n);"," });"," }"," return host;"," },",""," /**"," * Returns an object with the configuration properties (and value)"," * for the given attribute. If attrName is not provided, returns the"," * configuration properties for all attributes."," *"," * @method _getAttrCfg"," * @protected"," * @param {String} name Optional. The attribute name. If not provided, the method will return the configuration for all attributes."," * @return {Object} The configuration properties for the given attribute, or all attributes."," */"," _getAttrCfg : function(name) {"," var o,"," state = this._state;",""," if (name) {"," o = state.getAll(name) || {};"," } else {"," o = {};"," Y.each(state.data, function(v, n) {"," o[n] = state.getAll(n);"," });"," }",""," return o;"," }"," };",""," Y.AttributeExtras = AttributeExtras;","","","}, '3.13.0', {\"requires\": [\"oop\"]});","","}());"]};
+}
+var __cov_cQW7zljOhw00PGaOS2Wxww = __coverage__['build/attribute-extras/attribute-extras.js'];
+__cov_cQW7zljOhw00PGaOS2Wxww.s['1']++;YUI.add('attribute-extras',function(Y,NAME){__cov_cQW7zljOhw00PGaOS2Wxww.f['1']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['2']++;var BROADCAST='broadcast',PUBLISHED='published',INIT_VALUE='initValue',MODIFIABLE={readOnly:1,writeOnce:1,getter:1,broadcast:1};__cov_cQW7zljOhw00PGaOS2Wxww.s['3']++;function AttributeExtras(){__cov_cQW7zljOhw00PGaOS2Wxww.f['2']++;}__cov_cQW7zljOhw00PGaOS2Wxww.s['4']++;AttributeExtras.prototype={modifyAttr:function(name,config){__cov_cQW7zljOhw00PGaOS2Wxww.f['3']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['5']++;var host=this,prop,state;__cov_cQW7zljOhw00PGaOS2Wxww.s['6']++;if(host.attrAdded(name)){__cov_cQW7zljOhw00PGaOS2Wxww.b['1'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['7']++;if(host._isLazyAttr(name)){__cov_cQW7zljOhw00PGaOS2Wxww.b['2'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['8']++;host._addLazyAttr(name);}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['2'][1]++;}__cov_cQW7zljOhw00PGaOS2Wxww.s['9']++;state=host._state;__cov_cQW7zljOhw00PGaOS2Wxww.s['10']++;for(prop in config){__cov_cQW7zljOhw00PGaOS2Wxww.s['11']++;if((__cov_cQW7zljOhw00PGaOS2Wxww.b['4'][0]++,MODIFIABLE[prop])&&(__cov_cQW7zljOhw00PGaOS2Wxww.b['4'][1]++,config.hasOwnProperty(prop))){__cov_cQW7zljOhw00PGaOS2Wxww.b['3'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['12']++;state.add(name,prop,config[prop]);__cov_cQW7zljOhw00PGaOS2Wxww.s['13']++;if(prop===BROADCAST){__cov_cQW7zljOhw00PGaOS2Wxww.b['5'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['14']++;state.remove(name,PUBLISHED);}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['5'][1]++;}}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['3'][1]++;}}}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['1'][1]++;}},removeAttr:function(name){__cov_cQW7zljOhw00PGaOS2Wxww.f['4']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['15']++;this._state.removeAll(name);},reset:function(name){__cov_cQW7zljOhw00PGaOS2Wxww.f['5']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['16']++;var host=this;__cov_cQW7zljOhw00PGaOS2Wxww.s['17']++;if(name){__cov_cQW7zljOhw00PGaOS2Wxww.b['6'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['18']++;if(host._isLazyAttr(name)){__cov_cQW7zljOhw00PGaOS2Wxww.b['7'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['19']++;host._addLazyAttr(name);}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['7'][1]++;}__cov_cQW7zljOhw00PGaOS2Wxww.s['20']++;host.set(name,host._state.get(name,INIT_VALUE));}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['6'][1]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['21']++;Y.each(host._state.data,function(v,n){__cov_cQW7zljOhw00PGaOS2Wxww.f['6']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['22']++;host.reset(n);});}__cov_cQW7zljOhw00PGaOS2Wxww.s['23']++;return host;},_getAttrCfg:function(name){__cov_cQW7zljOhw00PGaOS2Wxww.f['7']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['24']++;var o,state=this._state;__cov_cQW7zljOhw00PGaOS2Wxww.s['25']++;if(name){__cov_cQW7zljOhw00PGaOS2Wxww.b['8'][0]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['26']++;o=(__cov_cQW7zljOhw00PGaOS2Wxww.b['9'][0]++,state.getAll(name))||(__cov_cQW7zljOhw00PGaOS2Wxww.b['9'][1]++,{});}else{__cov_cQW7zljOhw00PGaOS2Wxww.b['8'][1]++;__cov_cQW7zljOhw00PGaOS2Wxww.s['27']++;o={};__cov_cQW7zljOhw00PGaOS2Wxww.s['28']++;Y.each(state.data,function(v,n){__cov_cQW7zljOhw00PGaOS2Wxww.f['8']++;__cov_cQW7zljOhw00PGaOS2Wxww.s['29']++;o[n]=state.getAll(n);});}__cov_cQW7zljOhw00PGaOS2Wxww.s['30']++;return o;}};__cov_cQW7zljOhw00PGaOS2Wxww.s['31']++;Y.AttributeExtras=AttributeExtras;},'3.13.0',{'requires':['oop']});
diff --git a/lib/yuilib/3.12.0/attribute-extras/attribute-extras-debug.js b/lib/yuilib/3.13.0/attribute-extras/attribute-extras-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/attribute-extras/attribute-extras-debug.js
rename to lib/yuilib/3.13.0/attribute-extras/attribute-extras-debug.js
index c1ee430cc2f..76f18120e5a
--- a/lib/yuilib/3.12.0/attribute-extras/attribute-extras-debug.js
+++ b/lib/yuilib/3.13.0/attribute-extras/attribute-extras-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -150,4 +150,4 @@ YUI.add('attribute-extras', function (Y, NAME) {
Y.AttributeExtras = AttributeExtras;
-}, '3.12.0', {"requires": ["oop"]});
+}, '3.13.0', {"requires": ["oop"]});
diff --git a/lib/yuilib/3.12.0/attribute-extras/attribute-extras-min.js b/lib/yuilib/3.13.0/attribute-extras/attribute-extras-min.js
old mode 100644
new mode 100755
similarity index 93%
rename from lib/yuilib/3.12.0/attribute-extras/attribute-extras-min.js
rename to lib/yuilib/3.13.0/attribute-extras/attribute-extras-min.js
index a86552bbc3a..e247973d378
--- a/lib/yuilib/3.12.0/attribute-extras/attribute-extras-min.js
+++ b/lib/yuilib/3.13.0/attribute-extras/attribute-extras-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("attribute-extras",function(e,t){function o(){}var n="broadcast",r="published",i="initValue",s={readOnly:1,writeOnce:1,getter:1,broadcast:1};o.prototype={modifyAttr:function(e,t){var i=this,o,u;if(i.attrAdded(e)){i._isLazyAttr(e)&&i._addLazyAttr(e),u=i._state;for(o in t)s[o]&&t.hasOwnProperty(o)&&(u.add(e,o,t[o]),o===n&&u.remove(e,r))}},removeAttr:function(e){this._state.removeAll(e)},reset:function(t){var n=this;return t?(n._isLazyAttr(t)&&n._addLazyAttr(t),n.set(t,n._state.get(t,i))):e.each(n._state.data,function(e,t){n.reset(t)}),n},_getAttrCfg:function(t){var n,r=this._state;return t?n=r.getAll(t)||{}:(n={},e.each(r.data,function(e,t){n[t]=r.getAll(t)})),n}},e.AttributeExtras=o},"3.12.0",{requires:["oop"]});
+YUI.add("attribute-extras",function(e,t){function o(){}var n="broadcast",r="published",i="initValue",s={readOnly:1,writeOnce:1,getter:1,broadcast:1};o.prototype={modifyAttr:function(e,t){var i=this,o,u;if(i.attrAdded(e)){i._isLazyAttr(e)&&i._addLazyAttr(e),u=i._state;for(o in t)s[o]&&t.hasOwnProperty(o)&&(u.add(e,o,t[o]),o===n&&u.remove(e,r))}},removeAttr:function(e){this._state.removeAll(e)},reset:function(t){var n=this;return t?(n._isLazyAttr(t)&&n._addLazyAttr(t),n.set(t,n._state.get(t,i))):e.each(n._state.data,function(e,t){n.reset(t)}),n},_getAttrCfg:function(t){var n,r=this._state;return t?n=r.getAll(t)||{}:(n={},e.each(r.data,function(e,t){n[t]=r.getAll(t)})),n}},e.AttributeExtras=o},"3.13.0",{requires:["oop"]});
diff --git a/lib/yuilib/3.12.0/attribute-extras/attribute-extras.js b/lib/yuilib/3.13.0/attribute-extras/attribute-extras.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/attribute-extras/attribute-extras.js
rename to lib/yuilib/3.13.0/attribute-extras/attribute-extras.js
index 81d89bb80b4..d9c18bd977f
--- a/lib/yuilib/3.12.0/attribute-extras/attribute-extras.js
+++ b/lib/yuilib/3.13.0/attribute-extras/attribute-extras.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -149,4 +149,4 @@ YUI.add('attribute-extras', function (Y, NAME) {
Y.AttributeExtras = AttributeExtras;
-}, '3.12.0', {"requires": ["oop"]});
+}, '3.13.0', {"requires": ["oop"]});
diff --git a/lib/yuilib/3.13.0/attribute-observable/attribute-observable-coverage.js b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-coverage.js
new file mode 100755
index 00000000000..d3b16b8c7f4
--- /dev/null
+++ b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/attribute-observable/attribute-observable.js']) {
+ __coverage__['build/attribute-observable/attribute-observable.js'] = {"path":"build/attribute-observable/attribute-observable.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":32},"end":{"line":1,"column":51}}},"2":{"name":"AttributeObservable","line":37,"loc":{"start":{"line":37,"column":4},"end":{"line":37,"column":35}}},"3":{"name":"(anonymous_3)","line":68,"loc":{"start":{"line":68,"column":14},"end":{"line":68,"column":40}}},"4":{"name":"(anonymous_4)","line":85,"loc":{"start":{"line":85,"column":15},"end":{"line":85,"column":41}}},"5":{"name":"(anonymous_5)","line":98,"loc":{"start":{"line":98,"column":19},"end":{"line":98,"column":41}}},"6":{"name":"(anonymous_6)","line":112,"loc":{"start":{"line":112,"column":20},"end":{"line":112,"column":42}}},"7":{"name":"(anonymous_7)","line":135,"loc":{"start":{"line":135,"column":26},"end":{"line":135,"column":86}}},"8":{"name":"(anonymous_8)","line":195,"loc":{"start":{"line":195,"column":27},"end":{"line":195,"column":54}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":236,"column":45}},"2":{"start":{"line":24,"column":4},"end":{"line":27,"column":32}},"3":{"start":{"line":37,"column":4},"end":{"line":42,"column":5}},"4":{"start":{"line":39,"column":8},"end":{"line":39,"column":33}},"5":{"start":{"line":41,"column":8},"end":{"line":41,"column":50}},"6":{"start":{"line":44,"column":4},"end":{"line":44,"column":48}},"7":{"start":{"line":46,"column":4},"end":{"line":216,"column":6}},"8":{"start":{"line":69,"column":12},"end":{"line":69,"column":50}},"9":{"start":{"line":86,"column":12},"end":{"line":86,"column":56}},"10":{"start":{"line":99,"column":12},"end":{"line":99,"column":47}},"11":{"start":{"line":113,"column":12},"end":{"line":113,"column":21}},"12":{"start":{"line":114,"column":12},"end":{"line":118,"column":13}},"13":{"start":{"line":115,"column":16},"end":{"line":117,"column":17}},"14":{"start":{"line":116,"column":20},"end":{"line":116,"column":54}},"15":{"start":{"line":119,"column":12},"end":{"line":119,"column":24}},"16":{"start":{"line":136,"column":12},"end":{"line":141,"column":18}},"17":{"start":{"line":143,"column":12},"end":{"line":145,"column":13}},"18":{"start":{"line":144,"column":16},"end":{"line":144,"column":49}},"19":{"start":{"line":147,"column":12},"end":{"line":163,"column":13}},"20":{"start":{"line":151,"column":16},"end":{"line":151,"column":45}},"21":{"start":{"line":153,"column":16},"end":{"line":153,"column":36}},"22":{"start":{"line":154,"column":16},"end":{"line":154,"column":43}},"23":{"start":{"line":155,"column":16},"end":{"line":155,"column":52}},"24":{"start":{"line":157,"column":16},"end":{"line":157,"column":42}},"25":{"start":{"line":158,"column":16},"end":{"line":160,"column":17}},"26":{"start":{"line":159,"column":20},"end":{"line":159,"column":44}},"27":{"start":{"line":162,"column":16},"end":{"line":162,"column":37}},"28":{"start":{"line":165,"column":12},"end":{"line":170,"column":13}},"29":{"start":{"line":166,"column":16},"end":{"line":166,"column":39}},"30":{"start":{"line":167,"column":16},"end":{"line":167,"column":40}},"31":{"start":{"line":169,"column":16},"end":{"line":169,"column":45}},"32":{"start":{"line":175,"column":12},"end":{"line":175,"column":39}},"33":{"start":{"line":176,"column":12},"end":{"line":176,"column":45}},"34":{"start":{"line":177,"column":12},"end":{"line":177,"column":37}},"35":{"start":{"line":178,"column":12},"end":{"line":178,"column":35}},"36":{"start":{"line":180,"column":12},"end":{"line":184,"column":13}},"37":{"start":{"line":181,"column":16},"end":{"line":181,"column":45}},"38":{"start":{"line":183,"column":16},"end":{"line":183,"column":84}},"39":{"start":{"line":197,"column":12},"end":{"line":197,"column":35}},"40":{"start":{"line":198,"column":12},"end":{"line":200,"column":13}},"41":{"start":{"line":199,"column":16},"end":{"line":199,"column":35}},"42":{"start":{"line":202,"column":12},"end":{"line":214,"column":13}},"43":{"start":{"line":205,"column":16},"end":{"line":208,"column":17}},"44":{"start":{"line":207,"column":20},"end":{"line":207,"column":49}},"45":{"start":{"line":211,"column":16},"end":{"line":213,"column":17}},"46":{"start":{"line":212,"column":20},"end":{"line":212,"column":52}},"47":{"start":{"line":219,"column":4},"end":{"line":219,"column":60}},"48":{"start":{"line":221,"column":4},"end":{"line":221,"column":48}},"49":{"start":{"line":233,"column":4},"end":{"line":233,"column":44}}},"branchMap":{"1":{"line":115,"type":"if","locations":[{"start":{"line":115,"column":16},"end":{"line":115,"column":16}},{"start":{"line":115,"column":16},"end":{"line":115,"column":16}}]},"2":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":12}},{"start":{"line":143,"column":12},"end":{"line":143,"column":12}}]},"3":{"line":144,"type":"binary-expr","locations":[{"start":{"line":144,"column":22},"end":{"line":144,"column":42}},{"start":{"line":144,"column":46},"end":{"line":144,"column":48}}]},"4":{"line":147,"type":"if","locations":[{"start":{"line":147,"column":12},"end":{"line":147,"column":12}},{"start":{"line":147,"column":12},"end":{"line":147,"column":12}}]},"5":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":16},"end":{"line":158,"column":16}},{"start":{"line":158,"column":16},"end":{"line":158,"column":16}}]},"6":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":165,"column":12}},{"start":{"line":165,"column":12},"end":{"line":165,"column":12}}]},"7":{"line":180,"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":180,"column":12}},{"start":{"line":180,"column":12},"end":{"line":180,"column":12}}]},"8":{"line":198,"type":"if","locations":[{"start":{"line":198,"column":12},"end":{"line":198,"column":12}},{"start":{"line":198,"column":12},"end":{"line":198,"column":12}}]},"9":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"10":{"line":205,"type":"if","locations":[{"start":{"line":205,"column":16},"end":{"line":205,"column":16}},{"start":{"line":205,"column":16},"end":{"line":205,"column":16}}]},"11":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":16},"end":{"line":211,"column":16}},{"start":{"line":211,"column":16},"end":{"line":211,"column":16}}]}},"code":["(function () { YUI.add('attribute-observable', function (Y, NAME) {",""," /*For log lines*/"," /*jshint maxlen:200*/","",""," /**"," * The attribute module provides an augmentable Attribute implementation, which"," * adds configurable attributes and attribute change events to the class being"," * augmented. It also provides a State class, which is used internally by Attribute,"," * but can also be used independently to provide a name/property/value data structure to"," * store state."," *"," * @module attribute"," */",""," /**"," * The `attribute-observable` submodule provides augmentable attribute change event support"," * for AttributeCore based implementations."," *"," * @module attribute"," * @submodule attribute-observable"," */"," var EventTarget = Y.EventTarget,",""," CHANGE = \"Change\","," BROADCAST = \"broadcast\";",""," /**"," * Provides an augmentable implementation of attribute change events for"," * AttributeCore."," *"," * @class AttributeObservable"," * @extensionfor AttributeCore"," * @uses EventTarget"," */"," function AttributeObservable() {"," // Perf tweak - avoid creating event literals if not required."," this._ATTR_E_FACADE = {};",""," EventTarget.call(this, {emitFacade:true});"," }",""," AttributeObservable._ATTR_CFG = [BROADCAST];",""," AttributeObservable.prototype = {",""," /**"," * Sets the value of an attribute."," *"," * @method set"," * @chainable"," *"," * @param {String} name The name of the attribute. If the"," * current value of the attribute is an Object, dot notation can be used"," * to set the value of a property within the object (e.g. set(\"x.y.z\", 5))."," *"," * @param {Any} value The value to set the attribute to."," *"," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event. This"," * can be used as a flexible way to identify the source of a call to set, allowing"," * the developer to distinguish between set called internally by the host, vs."," * set called externally by the application developer."," *"," * @return {Object} A reference to the host object."," */"," set : function(name, val, opts) {"," return this._setAttr(name, val, opts);"," },",""," /**"," * Allows setting of readOnly/writeOnce attributes. See set for argument details."," *"," * @method _set"," * @protected"," * @chainable"," *"," * @param {String} name The name of the attribute."," * @param {Any} val The value to set the attribute to."," * @param {Object} opts (Optional) Optional event data to be mixed into"," * the event facade passed to subscribers of the attribute's change event."," * @return {Object} A reference to the host object."," */"," _set : function(name, val, opts) {"," return this._setAttr(name, val, opts, true);"," },",""," /**"," * Sets multiple attribute values."," *"," * @method setAttrs"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," setAttrs : function(attrs, opts) {"," return this._setAttrs(attrs, opts);"," },",""," /**"," * Implementation behind the public setAttrs method, to set multiple attribute values."," *"," * @method _setAttrs"," * @protected"," * @param {Object} attrs An object with attributes name/value pairs."," * @param {Object} opts Properties to mix into the event payload. These are shared and mixed into each set"," * @return {Object} A reference to the host object."," * @chainable"," */"," _setAttrs : function(attrs, opts) {"," var attr;"," for (attr in attrs) {"," if ( attrs.hasOwnProperty(attr) ) {"," this.set(attr, attrs[attr], opts);"," }"," }"," return this;"," },",""," /**"," * Utility method to help setup the event payload and fire the attribute change event."," *"," * @method _fireAttrChange"," * @private"," * @param {String} attrName The name of the attribute"," * @param {String} subAttrName The full path of the property being changed,"," * if this is a sub-attribute value being change. Otherwise null."," * @param {Any} currVal The current value of the attribute"," * @param {Any} newVal The new value of the attribute"," * @param {Object} opts Any additional event data to mix into the attribute change event's event facade."," * @param {Object} [cfg] The attribute config stored in State, if already available."," */"," _fireAttrChange : function(attrName, subAttrName, currVal, newVal, opts, cfg) {"," var host = this,"," eventName = this._getFullType(attrName + CHANGE),"," state = host._state,"," facade,"," broadcast,"," e;",""," if (!cfg) {"," cfg = state.data[attrName] || {};"," }",""," if (!cfg.published) {",""," // PERF: Using lower level _publish() for"," // critical path performance"," e = host._publish(eventName);",""," e.emitFacade = true;"," e.defaultTargetOnly = true;"," e.defaultFn = host._defAttrChangeFn;",""," broadcast = cfg.broadcast;"," if (broadcast !== undefined) {"," e.broadcast = broadcast;"," }",""," cfg.published = true;"," }",""," if (opts) {"," facade = Y.merge(opts);"," facade._attrOpts = opts;"," } else {"," facade = host._ATTR_E_FACADE;"," }",""," // Not using the single object signature for fire({type:..., newVal:...}), since"," // we don't want to override type. Changed to the fire(type, {newVal:...}) signature.",""," facade.attrName = attrName;"," facade.subAttrName = subAttrName;"," facade.prevVal = currVal;"," facade.newVal = newVal;",""," if (host._hasPotentialSubscribers(eventName)) {"," host.fire(eventName, facade);"," } else {"," this._setAttrVal(attrName, subAttrName, currVal, newVal, opts, cfg);"," }"," },",""," /**"," * Default function for attribute change events."," *"," * @private"," * @method _defAttrChangeFn"," * @param {EventFacade} e The event object for attribute change events."," * @param {boolean} eventFastPath Whether or not we're using this as a fast path in the case of no listeners or not"," */"," _defAttrChangeFn : function(e, eventFastPath) {",""," var opts = e._attrOpts;"," if (opts) {"," delete e._attrOpts;"," }",""," if (!this._setAttrVal(e.attrName, e.subAttrName, e.prevVal, e.newVal, opts)) {","",""," if (!eventFastPath) {"," // Prevent \"after\" listeners from being invoked since nothing changed."," e.stopImmediatePropagation();"," }",""," } else {"," if (!eventFastPath) {"," e.newVal = this.get(e.attrName);"," }"," }"," }"," };",""," // Basic prototype augment - no lazy constructor invocation."," Y.mix(AttributeObservable, EventTarget, false, null, 1);",""," Y.AttributeObservable = AttributeObservable;",""," /**"," The `AttributeEvents` class extension was deprecated in YUI 3.8.0 and is now"," an alias for the `AttributeObservable` class extension. Use that class"," extnesion instead. This alias will be removed in a future version of YUI.",""," @class AttributeEvents"," @uses EventTarget"," @deprecated Use `AttributeObservable` instead."," @see AttributeObservable"," **/"," Y.AttributeEvents = AttributeObservable;","","","}, '3.13.0', {\"requires\": [\"event-custom\"]});","","}());"]};
+}
+var __cov_9K73gzfZHiMKML8YmNpq_A = __coverage__['build/attribute-observable/attribute-observable.js'];
+__cov_9K73gzfZHiMKML8YmNpq_A.s['1']++;YUI.add('attribute-observable',function(Y,NAME){__cov_9K73gzfZHiMKML8YmNpq_A.f['1']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['2']++;var EventTarget=Y.EventTarget,CHANGE='Change',BROADCAST='broadcast';__cov_9K73gzfZHiMKML8YmNpq_A.s['3']++;function AttributeObservable(){__cov_9K73gzfZHiMKML8YmNpq_A.f['2']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['4']++;this._ATTR_E_FACADE={};__cov_9K73gzfZHiMKML8YmNpq_A.s['5']++;EventTarget.call(this,{emitFacade:true});}__cov_9K73gzfZHiMKML8YmNpq_A.s['6']++;AttributeObservable._ATTR_CFG=[BROADCAST];__cov_9K73gzfZHiMKML8YmNpq_A.s['7']++;AttributeObservable.prototype={set:function(name,val,opts){__cov_9K73gzfZHiMKML8YmNpq_A.f['3']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['8']++;return this._setAttr(name,val,opts);},_set:function(name,val,opts){__cov_9K73gzfZHiMKML8YmNpq_A.f['4']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['9']++;return this._setAttr(name,val,opts,true);},setAttrs:function(attrs,opts){__cov_9K73gzfZHiMKML8YmNpq_A.f['5']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['10']++;return this._setAttrs(attrs,opts);},_setAttrs:function(attrs,opts){__cov_9K73gzfZHiMKML8YmNpq_A.f['6']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['11']++;var attr;__cov_9K73gzfZHiMKML8YmNpq_A.s['12']++;for(attr in attrs){__cov_9K73gzfZHiMKML8YmNpq_A.s['13']++;if(attrs.hasOwnProperty(attr)){__cov_9K73gzfZHiMKML8YmNpq_A.b['1'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['14']++;this.set(attr,attrs[attr],opts);}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['1'][1]++;}}__cov_9K73gzfZHiMKML8YmNpq_A.s['15']++;return this;},_fireAttrChange:function(attrName,subAttrName,currVal,newVal,opts,cfg){__cov_9K73gzfZHiMKML8YmNpq_A.f['7']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['16']++;var host=this,eventName=this._getFullType(attrName+CHANGE),state=host._state,facade,broadcast,e;__cov_9K73gzfZHiMKML8YmNpq_A.s['17']++;if(!cfg){__cov_9K73gzfZHiMKML8YmNpq_A.b['2'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['18']++;cfg=(__cov_9K73gzfZHiMKML8YmNpq_A.b['3'][0]++,state.data[attrName])||(__cov_9K73gzfZHiMKML8YmNpq_A.b['3'][1]++,{});}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['2'][1]++;}__cov_9K73gzfZHiMKML8YmNpq_A.s['19']++;if(!cfg.published){__cov_9K73gzfZHiMKML8YmNpq_A.b['4'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['20']++;e=host._publish(eventName);__cov_9K73gzfZHiMKML8YmNpq_A.s['21']++;e.emitFacade=true;__cov_9K73gzfZHiMKML8YmNpq_A.s['22']++;e.defaultTargetOnly=true;__cov_9K73gzfZHiMKML8YmNpq_A.s['23']++;e.defaultFn=host._defAttrChangeFn;__cov_9K73gzfZHiMKML8YmNpq_A.s['24']++;broadcast=cfg.broadcast;__cov_9K73gzfZHiMKML8YmNpq_A.s['25']++;if(broadcast!==undefined){__cov_9K73gzfZHiMKML8YmNpq_A.b['5'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['26']++;e.broadcast=broadcast;}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['5'][1]++;}__cov_9K73gzfZHiMKML8YmNpq_A.s['27']++;cfg.published=true;}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['4'][1]++;}__cov_9K73gzfZHiMKML8YmNpq_A.s['28']++;if(opts){__cov_9K73gzfZHiMKML8YmNpq_A.b['6'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['29']++;facade=Y.merge(opts);__cov_9K73gzfZHiMKML8YmNpq_A.s['30']++;facade._attrOpts=opts;}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['6'][1]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['31']++;facade=host._ATTR_E_FACADE;}__cov_9K73gzfZHiMKML8YmNpq_A.s['32']++;facade.attrName=attrName;__cov_9K73gzfZHiMKML8YmNpq_A.s['33']++;facade.subAttrName=subAttrName;__cov_9K73gzfZHiMKML8YmNpq_A.s['34']++;facade.prevVal=currVal;__cov_9K73gzfZHiMKML8YmNpq_A.s['35']++;facade.newVal=newVal;__cov_9K73gzfZHiMKML8YmNpq_A.s['36']++;if(host._hasPotentialSubscribers(eventName)){__cov_9K73gzfZHiMKML8YmNpq_A.b['7'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['37']++;host.fire(eventName,facade);}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['7'][1]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['38']++;this._setAttrVal(attrName,subAttrName,currVal,newVal,opts,cfg);}},_defAttrChangeFn:function(e,eventFastPath){__cov_9K73gzfZHiMKML8YmNpq_A.f['8']++;__cov_9K73gzfZHiMKML8YmNpq_A.s['39']++;var opts=e._attrOpts;__cov_9K73gzfZHiMKML8YmNpq_A.s['40']++;if(opts){__cov_9K73gzfZHiMKML8YmNpq_A.b['8'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['41']++;delete e._attrOpts;}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['8'][1]++;}__cov_9K73gzfZHiMKML8YmNpq_A.s['42']++;if(!this._setAttrVal(e.attrName,e.subAttrName,e.prevVal,e.newVal,opts)){__cov_9K73gzfZHiMKML8YmNpq_A.b['9'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['43']++;if(!eventFastPath){__cov_9K73gzfZHiMKML8YmNpq_A.b['10'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['44']++;e.stopImmediatePropagation();}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['10'][1]++;}}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['9'][1]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['45']++;if(!eventFastPath){__cov_9K73gzfZHiMKML8YmNpq_A.b['11'][0]++;__cov_9K73gzfZHiMKML8YmNpq_A.s['46']++;e.newVal=this.get(e.attrName);}else{__cov_9K73gzfZHiMKML8YmNpq_A.b['11'][1]++;}}}};__cov_9K73gzfZHiMKML8YmNpq_A.s['47']++;Y.mix(AttributeObservable,EventTarget,false,null,1);__cov_9K73gzfZHiMKML8YmNpq_A.s['48']++;Y.AttributeObservable=AttributeObservable;__cov_9K73gzfZHiMKML8YmNpq_A.s['49']++;Y.AttributeEvents=AttributeObservable;},'3.13.0',{'requires':['event-custom']});
diff --git a/lib/yuilib/3.12.0/attribute-observable/attribute-observable-debug.js b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/attribute-observable/attribute-observable-debug.js
rename to lib/yuilib/3.13.0/attribute-observable/attribute-observable-debug.js
index 62582d70a41..e757a1e51c8
--- a/lib/yuilib/3.12.0/attribute-observable/attribute-observable-debug.js
+++ b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -241,4 +241,4 @@ YUI.add('attribute-observable', function (Y, NAME) {
Y.AttributeEvents = AttributeObservable;
-}, '3.12.0', {"requires": ["event-custom"]});
+}, '3.13.0', {"requires": ["event-custom"]});
diff --git a/lib/yuilib/3.12.0/attribute-observable/attribute-observable-min.js b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-min.js
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/attribute-observable/attribute-observable-min.js
rename to lib/yuilib/3.13.0/attribute-observable/attribute-observable-min.js
index e826191d8cd..0c155e28985
--- a/lib/yuilib/3.12.0/attribute-observable/attribute-observable-min.js
+++ b/lib/yuilib/3.13.0/attribute-observable/attribute-observable-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("attribute-observable",function(e,t){function s(){this._ATTR_E_FACADE={},n.call(this,{emitFacade:!0})}var n=e.EventTarget,r="Change",i="broadcast";s._ATTR_CFG=[i],s.prototype={set:function(e,t,n){return this._setAttr(e,t,n)},_set:function(e,t,n){return this._setAttr(e,t,n,!0)},setAttrs:function(e,t){return this._setAttrs(e,t)},_setAttrs:function(e,t){var n;for(n in e)e.hasOwnProperty(n)&&this.set(n,e[n],t);return this},_fireAttrChange:function(t,n,i,s,o,u){var a=this,f=this._getFullType(t+r),l=a._state,c,h,p;u||(u=l.data[t]||{}),u.published||(p=a._publish(f),p.emitFacade=!0,p.defaultTargetOnly=!0,p.defaultFn=a._defAttrChangeFn,h=u.broadcast,h!==undefined&&(p.broadcast=h),u.published=!0),o?(c=e.merge(o),c._attrOpts=o):c=a._ATTR_E_FACADE,c.attrName=t,c.subAttrName=n,c.prevVal=i,c.newVal=s,a._hasPotentialSubscribers(f)?a.fire(f,c):this._setAttrVal(t,n,i,s,o,u)},_defAttrChangeFn:function(e,t){var n=e._attrOpts;n&&delete e._attrOpts,this._setAttrVal(e.attrName,e.subAttrName,e.prevVal,e.newVal,n)?t||(e.newVal=this.get(e.attrName)):t||e.stopImmediatePropagation()}},e.mix(s,n,!1,null,1),e.AttributeObservable=s,e.AttributeEvents=s},"3.12.0",{requires:["event-custom"]});
+YUI.add("attribute-observable",function(e,t){function s(){this._ATTR_E_FACADE={},n.call(this,{emitFacade:!0})}var n=e.EventTarget,r="Change",i="broadcast";s._ATTR_CFG=[i],s.prototype={set:function(e,t,n){return this._setAttr(e,t,n)},_set:function(e,t,n){return this._setAttr(e,t,n,!0)},setAttrs:function(e,t){return this._setAttrs(e,t)},_setAttrs:function(e,t){var n;for(n in e)e.hasOwnProperty(n)&&this.set(n,e[n],t);return this},_fireAttrChange:function(t,n,i,s,o,u){var a=this,f=this._getFullType(t+r),l=a._state,c,h,p;u||(u=l.data[t]||{}),u.published||(p=a._publish(f),p.emitFacade=!0,p.defaultTargetOnly=!0,p.defaultFn=a._defAttrChangeFn,h=u.broadcast,h!==undefined&&(p.broadcast=h),u.published=!0),o?(c=e.merge(o),c._attrOpts=o):c=a._ATTR_E_FACADE,c.attrName=t,c.subAttrName=n,c.prevVal=i,c.newVal=s,a._hasPotentialSubscribers(f)?a.fire(f,c):this._setAttrVal(t,n,i,s,o,u)},_defAttrChangeFn:function(e,t){var n=e._attrOpts;n&&delete e._attrOpts,this._setAttrVal(e.attrName,e.subAttrName,e.prevVal,e.newVal,n)?t||(e.newVal=this.get(e.attrName)):t||e.stopImmediatePropagation()}},e.mix(s,n,!1,null,1),e.AttributeObservable=s,e.AttributeEvents=s},"3.13.0",{requires:["event-custom"]});
diff --git a/lib/yuilib/3.12.0/attribute-observable/attribute-observable.js b/lib/yuilib/3.13.0/attribute-observable/attribute-observable.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/attribute-observable/attribute-observable.js
rename to lib/yuilib/3.13.0/attribute-observable/attribute-observable.js
index 0b3aea88c50..b5288dd2b73
--- a/lib/yuilib/3.12.0/attribute-observable/attribute-observable.js
+++ b/lib/yuilib/3.13.0/attribute-observable/attribute-observable.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -240,4 +240,4 @@ YUI.add('attribute-observable', function (Y, NAME) {
Y.AttributeEvents = AttributeObservable;
-}, '3.12.0', {"requires": ["event-custom"]});
+}, '3.13.0', {"requires": ["event-custom"]});
diff --git a/lib/yuilib/3.13.0/autocomplete-base/autocomplete-base-coverage.js b/lib/yuilib/3.13.0/autocomplete-base/autocomplete-base-coverage.js
new file mode 100755
index 00000000000..90d961a052c
--- /dev/null
+++ b/lib/yuilib/3.13.0/autocomplete-base/autocomplete-base-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/autocomplete-base/autocomplete-base.js']) {
+ __coverage__['build/autocomplete-base/autocomplete-base.js'] = {"path":"build/autocomplete-base/autocomplete-base.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0,0],"48":[0,0],"49":[0,0],"50":[0,0,0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"AutoCompleteBase","line":94,"loc":{"start":{"line":94,"column":0},"end":{"line":94,"column":28}}},"3":{"name":"(anonymous_3)","line":98,"loc":{"start":{"line":98,"column":17},"end":{"line":98,"column":29}}},"4":{"name":"(anonymous_4)","line":168,"loc":{"start":{"line":168,"column":16},"end":{"line":168,"column":28}}},"5":{"name":"(anonymous_5)","line":186,"loc":{"start":{"line":186,"column":16},"end":{"line":186,"column":28}}},"6":{"name":"(anonymous_6)","line":209,"loc":{"start":{"line":209,"column":17},"end":{"line":209,"column":51}}},"7":{"name":"(anonymous_7)","line":249,"loc":{"start":{"line":249,"column":19},"end":{"line":249,"column":31}}},"8":{"name":"(anonymous_8)","line":285,"loc":{"start":{"line":285,"column":19},"end":{"line":285,"column":31}}},"9":{"name":"(anonymous_9)","line":301,"loc":{"start":{"line":301,"column":24},"end":{"line":301,"column":42}}},"10":{"name":"(anonymous_10)","line":306,"loc":{"start":{"line":306,"column":25},"end":{"line":306,"column":44}}},"11":{"name":"(anonymous_11)","line":323,"loc":{"start":{"line":323,"column":27},"end":{"line":323,"column":45}}},"12":{"name":"(anonymous_12)","line":328,"loc":{"start":{"line":328,"column":25},"end":{"line":328,"column":44}}},"13":{"name":"afterResults","line":331,"loc":{"start":{"line":331,"column":16},"end":{"line":331,"column":47}}},"14":{"name":"(anonymous_14)","line":354,"loc":{"start":{"line":354,"column":25},"end":{"line":354,"column":43}}},"15":{"name":"(anonymous_15)","line":359,"loc":{"start":{"line":359,"column":25},"end":{"line":359,"column":44}}},"16":{"name":"(anonymous_16)","line":377,"loc":{"start":{"line":377,"column":24},"end":{"line":377,"column":41}}},"17":{"name":"(anonymous_17)","line":394,"loc":{"start":{"line":394,"column":21},"end":{"line":394,"column":42}}},"18":{"name":"(anonymous_18)","line":416,"loc":{"start":{"line":416,"column":20},"end":{"line":416,"column":53}}},"19":{"name":"(anonymous_19)","line":546,"loc":{"start":{"line":546,"column":17},"end":{"line":546,"column":34}}},"20":{"name":"(anonymous_20)","line":565,"loc":{"start":{"line":565,"column":21},"end":{"line":565,"column":38}}},"21":{"name":"(anonymous_21)","line":581,"loc":{"start":{"line":581,"column":17},"end":{"line":581,"column":36}}},"22":{"name":"(anonymous_22)","line":590,"loc":{"start":{"line":590,"column":15},"end":{"line":590,"column":33}}},"23":{"name":"(anonymous_23)","line":603,"loc":{"start":{"line":603,"column":25},"end":{"line":603,"column":45}}},"24":{"name":"(anonymous_24)","line":610,"loc":{"start":{"line":610,"column":15},"end":{"line":610,"column":32}}},"25":{"name":"(anonymous_25)","line":626,"loc":{"start":{"line":626,"column":23},"end":{"line":626,"column":42}}},"26":{"name":"(anonymous_26)","line":635,"loc":{"start":{"line":635,"column":28},"end":{"line":635,"column":46}}},"27":{"name":"(anonymous_27)","line":650,"loc":{"start":{"line":650,"column":41},"end":{"line":650,"column":54}}},"28":{"name":"(anonymous_28)","line":668,"loc":{"start":{"line":668,"column":27},"end":{"line":668,"column":50}}},"29":{"name":"(anonymous_29)","line":696,"loc":{"start":{"line":696,"column":16},"end":{"line":696,"column":34}}},"30":{"name":"(anonymous_30)","line":728,"loc":{"start":{"line":728,"column":20},"end":{"line":728,"column":45}}},"31":{"name":"(anonymous_31)","line":741,"loc":{"start":{"line":741,"column":30},"end":{"line":741,"column":42}}},"32":{"name":"(anonymous_32)","line":760,"loc":{"start":{"line":760,"column":18},"end":{"line":760,"column":36}}},"33":{"name":"(anonymous_33)","line":794,"loc":{"start":{"line":794,"column":28},"end":{"line":794,"column":41}}},"34":{"name":"(anonymous_34)","line":807,"loc":{"start":{"line":807,"column":23},"end":{"line":807,"column":36}}},"35":{"name":"(anonymous_35)","line":827,"loc":{"start":{"line":827,"column":23},"end":{"line":827,"column":35}}},"36":{"name":"(anonymous_36)","line":863,"loc":{"start":{"line":863,"column":18},"end":{"line":863,"column":31}}},"37":{"name":"(anonymous_37)","line":902,"loc":{"start":{"line":902,"column":25},"end":{"line":902,"column":38}}},"38":{"name":"(anonymous_38)","line":919,"loc":{"start":{"line":919,"column":17},"end":{"line":919,"column":37}}},"39":{"name":"(anonymous_39)","line":935,"loc":{"start":{"line":935,"column":17},"end":{"line":935,"column":29}}},"40":{"name":"(anonymous_40)","line":948,"loc":{"start":{"line":948,"column":17},"end":{"line":948,"column":30}}},"41":{"name":"(anonymous_41)","line":960,"loc":{"start":{"line":960,"column":19},"end":{"line":960,"column":32}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1549,"column":3}},"2":{"start":{"line":66,"column":0},"end":{"line":92,"column":26}},"3":{"start":{"line":94,"column":0},"end":{"line":94,"column":30}},"4":{"start":{"line":96,"column":0},"end":{"line":963,"column":2}},"5":{"start":{"line":100,"column":8},"end":{"line":100,"column":53}},"6":{"start":{"line":101,"column":8},"end":{"line":101,"column":53}},"7":{"start":{"line":114,"column":8},"end":{"line":116,"column":11}},"8":{"start":{"line":131,"column":8},"end":{"line":133,"column":11}},"9":{"start":{"line":163,"column":8},"end":{"line":165,"column":11}},"10":{"start":{"line":169,"column":8},"end":{"line":169,"column":58}},"11":{"start":{"line":171,"column":8},"end":{"line":171,"column":34}},"12":{"start":{"line":172,"column":8},"end":{"line":172,"column":27}},"13":{"start":{"line":173,"column":8},"end":{"line":173,"column":31}},"14":{"start":{"line":174,"column":8},"end":{"line":174,"column":31}},"15":{"start":{"line":187,"column":8},"end":{"line":187,"column":42}},"16":{"start":{"line":188,"column":8},"end":{"line":188,"column":20}},"17":{"start":{"line":210,"column":8},"end":{"line":211,"column":40}},"18":{"start":{"line":213,"column":8},"end":{"line":217,"column":9}},"19":{"start":{"line":214,"column":12},"end":{"line":214,"column":36}},"20":{"start":{"line":216,"column":12},"end":{"line":216,"column":42}},"21":{"start":{"line":219,"column":8},"end":{"line":236,"column":9}},"22":{"start":{"line":220,"column":12},"end":{"line":222,"column":13}},"23":{"start":{"line":221,"column":16},"end":{"line":221,"column":61}},"24":{"start":{"line":224,"column":12},"end":{"line":225,"column":58}},"25":{"start":{"line":228,"column":12},"end":{"line":235,"column":15}},"26":{"start":{"line":238,"column":8},"end":{"line":238,"column":20}},"27":{"start":{"line":250,"column":8},"end":{"line":251,"column":59}},"28":{"start":{"line":255,"column":8},"end":{"line":258,"column":9}},"29":{"start":{"line":256,"column":12},"end":{"line":256,"column":51}},"30":{"start":{"line":257,"column":12},"end":{"line":257,"column":48}},"31":{"start":{"line":260,"column":8},"end":{"line":263,"column":9}},"32":{"start":{"line":261,"column":12},"end":{"line":261,"column":47}},"33":{"start":{"line":262,"column":12},"end":{"line":262,"column":19}},"34":{"start":{"line":265,"column":8},"end":{"line":265,"column":36}},"35":{"start":{"line":267,"column":8},"end":{"line":276,"column":11}},"36":{"start":{"line":286,"column":8},"end":{"line":286,"column":40}},"37":{"start":{"line":287,"column":8},"end":{"line":287,"column":57}},"38":{"start":{"line":302,"column":8},"end":{"line":302,"column":24}},"39":{"start":{"line":304,"column":8},"end":{"line":309,"column":10}},"40":{"start":{"line":307,"column":16},"end":{"line":307,"column":64}},"41":{"start":{"line":324,"column":8},"end":{"line":324,"column":24}},"42":{"start":{"line":326,"column":8},"end":{"line":341,"column":10}},"43":{"start":{"line":329,"column":16},"end":{"line":329,"column":26}},"44":{"start":{"line":331,"column":16},"end":{"line":333,"column":17}},"45":{"start":{"line":332,"column":20},"end":{"line":332,"column":66}},"46":{"start":{"line":337,"column":16},"end":{"line":339,"column":17}},"47":{"start":{"line":338,"column":20},"end":{"line":338,"column":40}},"48":{"start":{"line":355,"column":8},"end":{"line":355,"column":24}},"49":{"start":{"line":357,"column":8},"end":{"line":367,"column":10}},"50":{"start":{"line":360,"column":16},"end":{"line":360,"column":42}},"51":{"start":{"line":362,"column":16},"end":{"line":365,"column":18}},"52":{"start":{"line":378,"column":8},"end":{"line":378,"column":51}},"53":{"start":{"line":395,"column":8},"end":{"line":397,"column":9}},"54":{"start":{"line":396,"column":12},"end":{"line":396,"column":19}},"55":{"start":{"line":399,"column":8},"end":{"line":401,"column":9}},"56":{"start":{"line":400,"column":12},"end":{"line":400,"column":31}},"57":{"start":{"line":403,"column":8},"end":{"line":403,"column":19}},"58":{"start":{"line":417,"column":8},"end":{"line":437,"column":24}},"59":{"start":{"line":439,"column":8},"end":{"line":441,"column":9}},"60":{"start":{"line":440,"column":12},"end":{"line":440,"column":60}},"61":{"start":{"line":443,"column":8},"end":{"line":528,"column":9}},"62":{"start":{"line":444,"column":12},"end":{"line":444,"column":52}},"63":{"start":{"line":445,"column":12},"end":{"line":445,"column":56}},"64":{"start":{"line":451,"column":12},"end":{"line":463,"column":13}},"65":{"start":{"line":452,"column":16},"end":{"line":452,"column":39}},"66":{"start":{"line":454,"column":16},"end":{"line":456,"column":42}},"67":{"start":{"line":458,"column":16},"end":{"line":462,"column":19}},"68":{"start":{"line":468,"column":12},"end":{"line":478,"column":13}},"69":{"start":{"line":469,"column":16},"end":{"line":469,"column":73}},"70":{"start":{"line":471,"column":16},"end":{"line":473,"column":17}},"71":{"start":{"line":472,"column":20},"end":{"line":472,"column":27}},"72":{"start":{"line":475,"column":16},"end":{"line":477,"column":17}},"73":{"start":{"line":476,"column":20},"end":{"line":476,"column":26}},"74":{"start":{"line":480,"column":12},"end":{"line":527,"column":13}},"75":{"start":{"line":481,"column":16},"end":{"line":481,"column":58}},"76":{"start":{"line":482,"column":16},"end":{"line":482,"column":60}},"77":{"start":{"line":483,"column":16},"end":{"line":483,"column":53}},"78":{"start":{"line":487,"column":16},"end":{"line":490,"column":17}},"79":{"start":{"line":489,"column":20},"end":{"line":489,"column":48}},"80":{"start":{"line":496,"column":16},"end":{"line":509,"column":17}},"81":{"start":{"line":497,"column":20},"end":{"line":498,"column":46}},"82":{"start":{"line":500,"column":20},"end":{"line":502,"column":21}},"83":{"start":{"line":501,"column":24},"end":{"line":501,"column":31}},"84":{"start":{"line":504,"column":20},"end":{"line":508,"column":21}},"85":{"start":{"line":505,"column":24},"end":{"line":505,"column":44}},"86":{"start":{"line":506,"column":24},"end":{"line":506,"column":60}},"87":{"start":{"line":507,"column":24},"end":{"line":507,"column":64}},"88":{"start":{"line":516,"column":16},"end":{"line":526,"column":17}},"89":{"start":{"line":517,"column":20},"end":{"line":517,"column":78}},"90":{"start":{"line":519,"column":20},"end":{"line":521,"column":21}},"91":{"start":{"line":520,"column":24},"end":{"line":520,"column":31}},"92":{"start":{"line":523,"column":20},"end":{"line":525,"column":21}},"93":{"start":{"line":524,"column":24},"end":{"line":524,"column":58}},"94":{"start":{"line":530,"column":8},"end":{"line":530,"column":33}},"95":{"start":{"line":531,"column":8},"end":{"line":531,"column":39}},"96":{"start":{"line":547,"column":8},"end":{"line":547,"column":46}},"97":{"start":{"line":549,"column":8},"end":{"line":552,"column":9}},"98":{"start":{"line":550,"column":12},"end":{"line":550,"column":39}},"99":{"start":{"line":551,"column":12},"end":{"line":551,"column":44}},"100":{"start":{"line":554,"column":8},"end":{"line":554,"column":36}},"101":{"start":{"line":570,"column":8},"end":{"line":570,"column":40}},"102":{"start":{"line":582,"column":8},"end":{"line":584,"column":9}},"103":{"start":{"line":583,"column":12},"end":{"line":583,"column":27}},"104":{"start":{"line":586,"column":8},"end":{"line":586,"column":24}},"105":{"start":{"line":588,"column":8},"end":{"line":588,"column":48}},"106":{"start":{"line":590,"column":8},"end":{"line":592,"column":10}},"107":{"start":{"line":591,"column":12},"end":{"line":591,"column":67}},"108":{"start":{"line":604,"column":8},"end":{"line":606,"column":9}},"109":{"start":{"line":605,"column":12},"end":{"line":605,"column":28}},"110":{"start":{"line":608,"column":8},"end":{"line":608,"column":39}},"111":{"start":{"line":610,"column":8},"end":{"line":612,"column":10}},"112":{"start":{"line":611,"column":12},"end":{"line":611,"column":74}},"113":{"start":{"line":627,"column":8},"end":{"line":627,"column":41}},"114":{"start":{"line":629,"column":8},"end":{"line":631,"column":9}},"115":{"start":{"line":630,"column":12},"end":{"line":630,"column":22}},"116":{"start":{"line":633,"column":8},"end":{"line":633,"column":42}},"117":{"start":{"line":635,"column":8},"end":{"line":646,"column":10}},"118":{"start":{"line":636,"column":12},"end":{"line":638,"column":13}},"119":{"start":{"line":637,"column":16},"end":{"line":637,"column":30}},"120":{"start":{"line":640,"column":12},"end":{"line":643,"column":13}},"121":{"start":{"line":642,"column":16},"end":{"line":642,"column":41}},"122":{"start":{"line":645,"column":12},"end":{"line":645,"column":25}},"123":{"start":{"line":648,"column":8},"end":{"line":655,"column":9}},"124":{"start":{"line":649,"column":12},"end":{"line":649,"column":61}},"125":{"start":{"line":650,"column":12},"end":{"line":651,"column":44}},"126":{"start":{"line":650,"column":56},"end":{"line":650,"column":67}},"127":{"start":{"line":653,"column":12},"end":{"line":653,"column":49}},"128":{"start":{"line":654,"column":12},"end":{"line":654,"column":55}},"129":{"start":{"line":669,"column":8},"end":{"line":669,"column":27}},"130":{"start":{"line":671,"column":8},"end":{"line":673,"column":9}},"131":{"start":{"line":672,"column":12},"end":{"line":672,"column":31}},"132":{"start":{"line":675,"column":8},"end":{"line":675,"column":52}},"133":{"start":{"line":677,"column":8},"end":{"line":680,"column":9}},"134":{"start":{"line":679,"column":12},"end":{"line":679,"column":47}},"135":{"start":{"line":682,"column":8},"end":{"line":682,"column":29}},"136":{"start":{"line":697,"column":8},"end":{"line":698,"column":25}},"137":{"start":{"line":700,"column":8},"end":{"line":707,"column":9}},"138":{"start":{"line":705,"column":12},"end":{"line":705,"column":37}},"139":{"start":{"line":706,"column":12},"end":{"line":706,"column":26}},"140":{"start":{"line":710,"column":8},"end":{"line":714,"column":9}},"141":{"start":{"line":711,"column":12},"end":{"line":711,"column":37}},"142":{"start":{"line":712,"column":12},"end":{"line":713,"column":70}},"143":{"start":{"line":716,"column":8},"end":{"line":716,"column":106}},"144":{"start":{"line":717,"column":8},"end":{"line":717,"column":29}},"145":{"start":{"line":729,"column":8},"end":{"line":732,"column":11}},"146":{"start":{"line":742,"column":8},"end":{"line":742,"column":45}},"147":{"start":{"line":744,"column":8},"end":{"line":747,"column":9}},"148":{"start":{"line":745,"column":12},"end":{"line":746,"column":63}},"149":{"start":{"line":761,"column":8},"end":{"line":764,"column":20}},"150":{"start":{"line":766,"column":8},"end":{"line":766,"column":39}},"151":{"start":{"line":768,"column":8},"end":{"line":779,"column":9}},"152":{"start":{"line":769,"column":12},"end":{"line":769,"column":38}},"153":{"start":{"line":770,"column":12},"end":{"line":770,"column":79}},"154":{"start":{"line":771,"column":12},"end":{"line":771,"column":41}},"155":{"start":{"line":773,"column":12},"end":{"line":776,"column":13}},"156":{"start":{"line":774,"column":16},"end":{"line":774,"column":42}},"157":{"start":{"line":775,"column":16},"end":{"line":775,"column":57}},"158":{"start":{"line":778,"column":12},"end":{"line":778,"column":48}},"159":{"start":{"line":781,"column":8},"end":{"line":781,"column":32}},"160":{"start":{"line":795,"column":8},"end":{"line":797,"column":9}},"161":{"start":{"line":796,"column":12},"end":{"line":796,"column":48}},"162":{"start":{"line":808,"column":8},"end":{"line":811,"column":47}},"163":{"start":{"line":814,"column":8},"end":{"line":816,"column":9}},"164":{"start":{"line":815,"column":12},"end":{"line":815,"column":47}},"165":{"start":{"line":819,"column":8},"end":{"line":819,"column":52}},"166":{"start":{"line":820,"column":8},"end":{"line":820,"column":56}},"167":{"start":{"line":822,"column":8},"end":{"line":853,"column":9}},"168":{"start":{"line":824,"column":12},"end":{"line":845,"column":13}},"169":{"start":{"line":825,"column":16},"end":{"line":825,"column":47}},"170":{"start":{"line":827,"column":16},"end":{"line":833,"column":18}},"171":{"start":{"line":828,"column":20},"end":{"line":832,"column":23}},"172":{"start":{"line":835,"column":16},"end":{"line":840,"column":17}},"173":{"start":{"line":836,"column":20},"end":{"line":836,"column":46}},"174":{"start":{"line":837,"column":20},"end":{"line":837,"column":58}},"175":{"start":{"line":839,"column":20},"end":{"line":839,"column":27}},"176":{"start":{"line":844,"column":16},"end":{"line":844,"column":40}},"177":{"start":{"line":847,"column":12},"end":{"line":847,"column":38}},"178":{"start":{"line":849,"column":12},"end":{"line":852,"column":15}},"179":{"start":{"line":864,"column":8},"end":{"line":867,"column":18}},"180":{"start":{"line":871,"column":8},"end":{"line":891,"column":9}},"181":{"start":{"line":872,"column":12},"end":{"line":872,"column":42}},"182":{"start":{"line":873,"column":12},"end":{"line":873,"column":56}},"183":{"start":{"line":875,"column":12},"end":{"line":886,"column":13}},"184":{"start":{"line":876,"column":16},"end":{"line":881,"column":17}},"185":{"start":{"line":880,"column":20},"end":{"line":880,"column":59}},"186":{"start":{"line":885,"column":16},"end":{"line":885,"column":48}},"187":{"start":{"line":888,"column":12},"end":{"line":890,"column":13}},"188":{"start":{"line":889,"column":16},"end":{"line":889,"column":40}},"189":{"start":{"line":903,"column":8},"end":{"line":903,"column":30}},"190":{"start":{"line":907,"column":8},"end":{"line":909,"column":9}},"191":{"start":{"line":908,"column":12},"end":{"line":908,"column":68}},"192":{"start":{"line":921,"column":8},"end":{"line":923,"column":9}},"193":{"start":{"line":922,"column":12},"end":{"line":922,"column":65}},"194":{"start":{"line":936,"column":8},"end":{"line":936,"column":31}},"195":{"start":{"line":937,"column":8},"end":{"line":937,"column":31}},"196":{"start":{"line":949,"column":8},"end":{"line":949,"column":34}},"197":{"start":{"line":961,"column":8},"end":{"line":961,"column":39}},"198":{"start":{"line":965,"column":0},"end":{"line":1510,"column":2}},"199":{"start":{"line":1514,"column":0},"end":{"line":1517,"column":2}},"200":{"start":{"line":1527,"column":0},"end":{"line":1531,"column":2}},"201":{"start":{"line":1533,"column":0},"end":{"line":1533,"column":64}},"202":{"start":{"line":1535,"column":0},"end":{"line":1535,"column":38}}},"branchMap":{"1":{"line":169,"type":"binary-expr","locations":[{"start":{"line":169,"column":8},"end":{"line":169,"column":26}},{"start":{"line":169,"column":30},"end":{"line":169,"column":57}}]},"2":{"line":187,"type":"binary-expr","locations":[{"start":{"line":187,"column":8},"end":{"line":187,"column":19}},{"start":{"line":187,"column":24},"end":{"line":187,"column":40}}]},"3":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":8},"end":{"line":213,"column":8}},{"start":{"line":213,"column":8},"end":{"line":213,"column":8}}]},"4":{"line":213,"type":"binary-expr","locations":[{"start":{"line":213,"column":12},"end":{"line":213,"column":17}},{"start":{"line":213,"column":21},"end":{"line":213,"column":33}}]},"5":{"line":216,"type":"binary-expr","locations":[{"start":{"line":216,"column":20},"end":{"line":216,"column":35}},{"start":{"line":216,"column":39},"end":{"line":216,"column":41}}]},"6":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":8},"end":{"line":219,"column":8}},{"start":{"line":219,"column":8},"end":{"line":219,"column":8}}]},"7":{"line":220,"type":"if","locations":[{"start":{"line":220,"column":12},"end":{"line":220,"column":12}},{"start":{"line":220,"column":12},"end":{"line":220,"column":12}}]},"8":{"line":224,"type":"cond-expr","locations":[{"start":{"line":225,"column":16},"end":{"line":225,"column":49}},{"start":{"line":225,"column":52},"end":{"line":225,"column":57}}]},"9":{"line":251,"type":"binary-expr","locations":[{"start":{"line":251,"column":25},"end":{"line":251,"column":34}},{"start":{"line":251,"column":38},"end":{"line":251,"column":58}}]},"10":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":8},"end":{"line":255,"column":8}},{"start":{"line":255,"column":8},"end":{"line":255,"column":8}}]},"11":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":8},"end":{"line":260,"column":8}},{"start":{"line":260,"column":8},"end":{"line":260,"column":8}}]},"12":{"line":332,"type":"binary-expr","locations":[{"start":{"line":332,"column":42},"end":{"line":332,"column":49}},{"start":{"line":332,"column":53},"end":{"line":332,"column":55}}]},"13":{"line":337,"type":"if","locations":[{"start":{"line":337,"column":16},"end":{"line":337,"column":16}},{"start":{"line":337,"column":16},"end":{"line":337,"column":16}}]},"14":{"line":363,"type":"cond-expr","locations":[{"start":{"line":363,"column":50},"end":{"line":363,"column":63}},{"start":{"line":363,"column":66},"end":{"line":363,"column":68}}]},"15":{"line":378,"type":"binary-expr","locations":[{"start":{"line":378,"column":15},"end":{"line":378,"column":29}},{"start":{"line":378,"column":33},"end":{"line":378,"column":50}}]},"16":{"line":395,"type":"if","locations":[{"start":{"line":395,"column":8},"end":{"line":395,"column":8}},{"start":{"line":395,"column":8},"end":{"line":395,"column":8}}]},"17":{"line":399,"type":"binary-expr","locations":[{"start":{"line":399,"column":43},"end":{"line":399,"column":46}},{"start":{"line":399,"column":50},"end":{"line":399,"column":57}}]},"18":{"line":425,"type":"binary-expr","locations":[{"start":{"line":425,"column":26},"end":{"line":425,"column":34}},{"start":{"line":425,"column":38},"end":{"line":425,"column":54}}]},"19":{"line":439,"type":"if","locations":[{"start":{"line":439,"column":8},"end":{"line":439,"column":8}},{"start":{"line":439,"column":8},"end":{"line":439,"column":8}}]},"20":{"line":439,"type":"binary-expr","locations":[{"start":{"line":439,"column":12},"end":{"line":439,"column":22}},{"start":{"line":439,"column":26},"end":{"line":439,"column":37}}]},"21":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":8},"end":{"line":443,"column":8}},{"start":{"line":443,"column":8},"end":{"line":443,"column":8}}]},"22":{"line":443,"type":"binary-expr","locations":[{"start":{"line":443,"column":12},"end":{"line":443,"column":22}},{"start":{"line":443,"column":26},"end":{"line":443,"column":43}}]},"23":{"line":454,"type":"cond-expr","locations":[{"start":{"line":455,"column":24},"end":{"line":455,"column":54}},{"start":{"line":456,"column":24},"end":{"line":456,"column":41}}]},"24":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":16},"end":{"line":471,"column":16}},{"start":{"line":471,"column":16},"end":{"line":471,"column":16}}]},"25":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":16},"end":{"line":475,"column":16}},{"start":{"line":475,"column":16},"end":{"line":475,"column":16}}]},"26":{"line":480,"type":"if","locations":[{"start":{"line":480,"column":12},"end":{"line":480,"column":12}},{"start":{"line":480,"column":12},"end":{"line":480,"column":12}}]},"27":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":16},"end":{"line":487,"column":16}},{"start":{"line":487,"column":16},"end":{"line":487,"column":16}}]},"28":{"line":487,"type":"binary-expr","locations":[{"start":{"line":487,"column":20},"end":{"line":487,"column":30}},{"start":{"line":487,"column":34},"end":{"line":487,"column":48}},{"start":{"line":488,"column":24},"end":{"line":488,"column":51}}]},"29":{"line":496,"type":"if","locations":[{"start":{"line":496,"column":16},"end":{"line":496,"column":16}},{"start":{"line":496,"column":16},"end":{"line":496,"column":16}}]},"30":{"line":500,"type":"if","locations":[{"start":{"line":500,"column":20},"end":{"line":500,"column":20}},{"start":{"line":500,"column":20},"end":{"line":500,"column":20}}]},"31":{"line":516,"type":"if","locations":[{"start":{"line":516,"column":16},"end":{"line":516,"column":16}},{"start":{"line":516,"column":16},"end":{"line":516,"column":16}}]},"32":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":20},"end":{"line":519,"column":20}},{"start":{"line":519,"column":20},"end":{"line":519,"column":20}}]},"33":{"line":549,"type":"if","locations":[{"start":{"line":549,"column":8},"end":{"line":549,"column":8}},{"start":{"line":549,"column":8},"end":{"line":549,"column":8}}]},"34":{"line":570,"type":"cond-expr","locations":[{"start":{"line":570,"column":30},"end":{"line":570,"column":32}},{"start":{"line":570,"column":35},"end":{"line":570,"column":39}}]},"35":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":8},"end":{"line":582,"column":8}},{"start":{"line":582,"column":8},"end":{"line":582,"column":8}}]},"36":{"line":591,"type":"binary-expr","locations":[{"start":{"line":591,"column":19},"end":{"line":591,"column":25}},{"start":{"line":591,"column":29},"end":{"line":591,"column":66}}]},"37":{"line":604,"type":"if","locations":[{"start":{"line":604,"column":8},"end":{"line":604,"column":8}},{"start":{"line":604,"column":8},"end":{"line":604,"column":8}}]},"38":{"line":629,"type":"if","locations":[{"start":{"line":629,"column":8},"end":{"line":629,"column":8}},{"start":{"line":629,"column":8},"end":{"line":629,"column":8}}]},"39":{"line":636,"type":"if","locations":[{"start":{"line":636,"column":12},"end":{"line":636,"column":12}},{"start":{"line":636,"column":12},"end":{"line":636,"column":12}}]},"40":{"line":640,"type":"if","locations":[{"start":{"line":640,"column":12},"end":{"line":640,"column":12}},{"start":{"line":640,"column":12},"end":{"line":640,"column":12}}]},"41":{"line":640,"type":"binary-expr","locations":[{"start":{"line":640,"column":16},"end":{"line":640,"column":32}},{"start":{"line":640,"column":36},"end":{"line":640,"column":45}},{"start":{"line":641,"column":20},"end":{"line":641,"column":49}}]},"42":{"line":648,"type":"if","locations":[{"start":{"line":648,"column":8},"end":{"line":648,"column":8}},{"start":{"line":648,"column":8},"end":{"line":648,"column":8}}]},"43":{"line":650,"type":"cond-expr","locations":[{"start":{"line":651,"column":20},"end":{"line":651,"column":27}},{"start":{"line":651,"column":30},"end":{"line":651,"column":43}}]},"44":{"line":654,"type":"cond-expr","locations":[{"start":{"line":654,"column":29},"end":{"line":654,"column":38}},{"start":{"line":654,"column":41},"end":{"line":654,"column":54}}]},"45":{"line":671,"type":"if","locations":[{"start":{"line":671,"column":8},"end":{"line":671,"column":8}},{"start":{"line":671,"column":8},"end":{"line":671,"column":8}}]},"46":{"line":677,"type":"if","locations":[{"start":{"line":677,"column":8},"end":{"line":677,"column":8}},{"start":{"line":677,"column":8},"end":{"line":677,"column":8}}]},"47":{"line":677,"type":"binary-expr","locations":[{"start":{"line":677,"column":12},"end":{"line":677,"column":33}},{"start":{"line":677,"column":37},"end":{"line":677,"column":51}},{"start":{"line":678,"column":16},"end":{"line":678,"column":55}}]},"48":{"line":697,"type":"binary-expr","locations":[{"start":{"line":697,"column":25},"end":{"line":697,"column":47}},{"start":{"line":697,"column":51},"end":{"line":697,"column":68}}]},"49":{"line":700,"type":"if","locations":[{"start":{"line":700,"column":8},"end":{"line":700,"column":8}},{"start":{"line":700,"column":8},"end":{"line":700,"column":8}}]},"50":{"line":700,"type":"binary-expr","locations":[{"start":{"line":700,"column":13},"end":{"line":700,"column":19}},{"start":{"line":700,"column":23},"end":{"line":700,"column":53}},{"start":{"line":701,"column":19},"end":{"line":701,"column":34}},{"start":{"line":702,"column":19},"end":{"line":702,"column":46}}]},"51":{"line":710,"type":"if","locations":[{"start":{"line":710,"column":8},"end":{"line":710,"column":8}},{"start":{"line":710,"column":8},"end":{"line":710,"column":8}}]},"52":{"line":712,"type":"cond-expr","locations":[{"start":{"line":713,"column":20},"end":{"line":713,"column":46}},{"start":{"line":713,"column":49},"end":{"line":713,"column":69}}]},"53":{"line":744,"type":"if","locations":[{"start":{"line":744,"column":8},"end":{"line":744,"column":8}},{"start":{"line":744,"column":8},"end":{"line":744,"column":8}}]},"54":{"line":746,"type":"cond-expr","locations":[{"start":{"line":746,"column":49},"end":{"line":746,"column":53}},{"start":{"line":746,"column":56},"end":{"line":746,"column":61}}]},"55":{"line":768,"type":"if","locations":[{"start":{"line":768,"column":8},"end":{"line":768,"column":8}},{"start":{"line":768,"column":8},"end":{"line":768,"column":8}}]},"56":{"line":773,"type":"if","locations":[{"start":{"line":773,"column":12},"end":{"line":773,"column":12}},{"start":{"line":773,"column":12},"end":{"line":773,"column":12}}]},"57":{"line":795,"type":"if","locations":[{"start":{"line":795,"column":8},"end":{"line":795,"column":8}},{"start":{"line":795,"column":8},"end":{"line":795,"column":8}}]},"58":{"line":814,"type":"if","locations":[{"start":{"line":814,"column":8},"end":{"line":814,"column":8}},{"start":{"line":814,"column":8},"end":{"line":814,"column":8}}]},"59":{"line":820,"type":"binary-expr","locations":[{"start":{"line":820,"column":25},"end":{"line":820,"column":49}},{"start":{"line":820,"column":53},"end":{"line":820,"column":55}}]},"60":{"line":822,"type":"if","locations":[{"start":{"line":822,"column":8},"end":{"line":822,"column":8}},{"start":{"line":822,"column":8},"end":{"line":822,"column":8}}]},"61":{"line":822,"type":"binary-expr","locations":[{"start":{"line":822,"column":12},"end":{"line":822,"column":31}},{"start":{"line":822,"column":35},"end":{"line":822,"column":65}}]},"62":{"line":824,"type":"if","locations":[{"start":{"line":824,"column":12},"end":{"line":824,"column":12}},{"start":{"line":824,"column":12},"end":{"line":824,"column":12}}]},"63":{"line":835,"type":"if","locations":[{"start":{"line":835,"column":16},"end":{"line":835,"column":16}},{"start":{"line":835,"column":16},"end":{"line":835,"column":16}}]},"64":{"line":850,"type":"cond-expr","locations":[{"start":{"line":850,"column":37},"end":{"line":850,"column":64}},{"start":{"line":850,"column":67},"end":{"line":850,"column":71}}]},"65":{"line":871,"type":"if","locations":[{"start":{"line":871,"column":8},"end":{"line":871,"column":8}},{"start":{"line":871,"column":8},"end":{"line":871,"column":8}}]},"66":{"line":871,"type":"binary-expr","locations":[{"start":{"line":871,"column":12},"end":{"line":871,"column":17}},{"start":{"line":871,"column":21},"end":{"line":871,"column":56}}]},"67":{"line":875,"type":"if","locations":[{"start":{"line":875,"column":12},"end":{"line":875,"column":12}},{"start":{"line":875,"column":12},"end":{"line":875,"column":12}}]},"68":{"line":876,"type":"binary-expr","locations":[{"start":{"line":876,"column":24},"end":{"line":876,"column":55}},{"start":{"line":877,"column":25},"end":{"line":877,"column":64}},{"start":{"line":878,"column":24},"end":{"line":878,"column":62}}]},"69":{"line":888,"type":"if","locations":[{"start":{"line":888,"column":12},"end":{"line":888,"column":12}},{"start":{"line":888,"column":12},"end":{"line":888,"column":12}}]},"70":{"line":907,"type":"if","locations":[{"start":{"line":907,"column":8},"end":{"line":907,"column":8}},{"start":{"line":907,"column":8},"end":{"line":907,"column":8}}]},"71":{"line":921,"type":"if","locations":[{"start":{"line":921,"column":8},"end":{"line":921,"column":8}},{"start":{"line":921,"column":8},"end":{"line":921,"column":8}}]},"72":{"line":921,"type":"binary-expr","locations":[{"start":{"line":921,"column":23},"end":{"line":921,"column":38}},{"start":{"line":921,"column":42},"end":{"line":921,"column":44}}]},"73":{"line":922,"type":"binary-expr","locations":[{"start":{"line":922,"column":32},"end":{"line":922,"column":37}},{"start":{"line":922,"column":41},"end":{"line":922,"column":43}}]},"74":{"line":1533,"type":"binary-expr","locations":[{"start":{"line":1533,"column":27},"end":{"line":1533,"column":35}},{"start":{"line":1533,"column":39},"end":{"line":1533,"column":54}},{"start":{"line":1533,"column":59},"end":{"line":1533,"column":63}}]}},"code":["(function () { YUI.add('autocomplete-base', function (Y, NAME) {","","/**","Provides automatic input completion or suggestions for text input fields and","textareas.","","@module autocomplete","@main autocomplete","@since 3.3.0","**/","","/**","`Y.Base` extension that provides core autocomplete logic (but no UI","implementation) for a text input field or textarea. Must be mixed into a","`Y.Base`-derived class to be useful.","","@module autocomplete","@submodule autocomplete-base","**/","","/**","Extension that provides core autocomplete logic (but no UI implementation) for a","text input field or textarea.","","The `AutoCompleteBase` class provides events and attributes that abstract away","core autocomplete logic and configuration, but does not provide a widget","implementation or suggestion UI. For a prepackaged autocomplete widget, see","`AutoCompleteList`.","","This extension cannot be instantiated directly, since it doesn't provide an","actual implementation. It's intended to be mixed into a `Y.Base`-based class or","widget.","","`Y.Widget`-based example:",""," YUI().use('autocomplete-base', 'widget', function (Y) {"," var MyAC = Y.Base.create('myAC', Y.Widget, [Y.AutoCompleteBase], {"," // Custom prototype methods and properties."," }, {"," // Custom static methods and properties."," });",""," // Custom implementation code."," });","","`Y.Base`-based example:",""," YUI().use('autocomplete-base', function (Y) {"," var MyAC = Y.Base.create('myAC', Y.Base, [Y.AutoCompleteBase], {"," initializer: function () {"," this._bindUIACBase();"," this._syncUIACBase();"," },",""," // Custom prototype methods and properties."," }, {"," // Custom static methods and properties."," });",""," // Custom implementation code."," });","","@class AutoCompleteBase","**/","","var Escape = Y.Escape,"," Lang = Y.Lang,"," YArray = Y.Array,"," YObject = Y.Object,",""," isFunction = Lang.isFunction,"," isString = Lang.isString,"," trim = Lang.trim,",""," INVALID_VALUE = Y.Attribute.INVALID_VALUE,",""," _FUNCTION_VALIDATOR = '_functionValidator',"," _SOURCE_SUCCESS = '_sourceSuccess',",""," ALLOW_BROWSER_AC = 'allowBrowserAutocomplete',"," INPUT_NODE = 'inputNode',"," QUERY = 'query',"," QUERY_DELIMITER = 'queryDelimiter',"," REQUEST_TEMPLATE = 'requestTemplate',"," RESULTS = 'results',"," RESULT_LIST_LOCATOR = 'resultListLocator',"," VALUE = 'value',"," VALUE_CHANGE = 'valueChange',",""," EVT_CLEAR = 'clear',"," EVT_QUERY = QUERY,"," EVT_RESULTS = RESULTS;","","function AutoCompleteBase() {}","","AutoCompleteBase.prototype = {"," // -- Lifecycle Methods ----------------------------------------------------"," initializer: function () {"," // AOP bindings."," Y.before(this._bindUIACBase, this, 'bindUI');"," Y.before(this._syncUIACBase, this, 'syncUI');",""," // -- Public Events ----------------------------------------------------",""," /**"," Fires after the query has been completely cleared or no longer meets the"," minimum query length requirement.",""," @event clear"," @param {String} prevVal Value of the query before it was cleared."," @param {String} src Source of the event."," @preventable _defClearFn"," **/"," this.publish(EVT_CLEAR, {"," defaultFn: this._defClearFn"," });",""," /**"," Fires when the contents of the input field have changed and the input"," value meets the criteria necessary to generate an autocomplete query.",""," @event query"," @param {String} inputValue Full contents of the text input field or"," textarea that generated the query."," @param {String} query AutoComplete query. This is the string that will"," be used to request completion results. It may or may not be the same"," as `inputValue`."," @param {String} src Source of the event."," @preventable _defQueryFn"," **/"," this.publish(EVT_QUERY, {"," defaultFn: this._defQueryFn"," });",""," /**"," Fires after query results are received from the source. If no source has"," been set, this event will not fire.",""," @event results"," @param {Array|Object} data Raw, unfiltered result data (if available)."," @param {String} query Query that generated these results."," @param {Object[]} results Array of filtered, formatted, and highlighted"," results. Each item in the array is an object with the following"," properties:",""," @param {Node|HTMLElement|String} results.display Formatted result"," HTML suitable for display to the user. If no custom formatter is"," set, this will be an HTML-escaped version of the string in the"," `text` property."," @param {String} [results.highlighted] Highlighted (but not"," formatted) result text. This property will only be set if a"," highlighter is in use."," @param {Any} results.raw Raw, unformatted result in whatever form it"," was provided by the source."," @param {String} results.text Plain text version of the result,"," suitable for being inserted into the value of a text input field"," or textarea when the result is selected by a user. This value is"," not HTML-escaped and should not be inserted into the page using"," `innerHTML` or `Node#setContent()`.",""," @preventable _defResultsFn"," **/"," this.publish(EVT_RESULTS, {"," defaultFn: this._defResultsFn"," });"," },",""," destructor: function () {"," this._acBaseEvents && this._acBaseEvents.detach();",""," delete this._acBaseEvents;"," delete this._cache;"," delete this._inputNode;"," delete this._rawSource;"," },",""," // -- Public Prototype Methods ---------------------------------------------",""," /**"," Clears the result cache.",""," @method clearCache"," @chainable"," @since 3.5.0"," **/"," clearCache: function () {"," this._cache && (this._cache = {});"," return this;"," },",""," /**"," Sends a request to the configured source. If no source is configured, this"," method won't do anything.",""," Usually there's no reason to call this method manually; it will be called"," automatically when user input causes a `query` event to be fired. The only"," time you'll need to call this method manually is if you want to force a"," request to be sent when no user input has occurred.",""," @method sendRequest"," @param {String} [query] Query to send. If specified, the `query` attribute"," will be set to this query. If not specified, the current value of the"," `query` attribute will be used."," @param {Function} [requestTemplate] Request template function. If not"," specified, the current value of the `requestTemplate` attribute will be"," used."," @chainable"," **/"," sendRequest: function (query, requestTemplate) {"," var request,"," source = this.get('source');",""," if (query || query === '') {"," this._set(QUERY, query);"," } else {"," query = this.get(QUERY) || '';"," }",""," if (source) {"," if (!requestTemplate) {"," requestTemplate = this.get(REQUEST_TEMPLATE);"," }",""," request = requestTemplate ?"," requestTemplate.call(this, query) : query;","",""," source.sendRequest({"," query : query,"," request: request,",""," callback: {"," success: Y.bind(this._onResponse, this, query)"," }"," });"," }",""," return this;"," },",""," // -- Protected Lifecycle Methods ------------------------------------------",""," /**"," Attaches event listeners and behaviors.",""," @method _bindUIACBase"," @protected"," **/"," _bindUIACBase: function () {"," var inputNode = this.get(INPUT_NODE),"," tokenInput = inputNode && inputNode.tokenInput;",""," // If the inputNode has a node-tokeninput plugin attached, bind to the"," // plugin's inputNode instead."," if (tokenInput) {"," inputNode = tokenInput.get(INPUT_NODE);"," this._set('tokenInput', tokenInput);"," }",""," if (!inputNode) {"," Y.error('No inputNode specified.');"," return;"," }",""," this._inputNode = inputNode;",""," this._acBaseEvents = new Y.EventHandle(["," // This is the valueChange event on the inputNode, provided by the"," // event-valuechange module, not our own valueChange."," inputNode.on(VALUE_CHANGE, this._onInputValueChange, this),"," inputNode.on('blur', this._onInputBlur, this),",""," this.after(ALLOW_BROWSER_AC + 'Change', this._syncBrowserAutocomplete),"," this.after('sourceTypeChange', this._afterSourceTypeChange),"," this.after(VALUE_CHANGE, this._afterValueChange)"," ]);"," },",""," /**"," Synchronizes the UI state of the `inputNode`.",""," @method _syncUIACBase"," @protected"," **/"," _syncUIACBase: function () {"," this._syncBrowserAutocomplete();"," this.set(VALUE, this.get(INPUT_NODE).get(VALUE));"," },",""," // -- Protected Prototype Methods ------------------------------------------",""," /**"," Creates a DataSource-like object that simply returns the specified array as"," a response. See the `source` attribute for more details.",""," @method _createArraySource"," @param {Array} source"," @return {Object} DataSource-like object."," @protected"," **/"," _createArraySource: function (source) {"," var that = this;",""," return {"," type: 'array',"," sendRequest: function (request) {"," that[_SOURCE_SUCCESS](source.concat(), request);"," }"," };"," },",""," /**"," Creates a DataSource-like object that passes the query to a custom-defined"," function, which is expected to call the provided callback with an array of"," results. See the `source` attribute for more details.",""," @method _createFunctionSource"," @param {Function} source Function that accepts a query and a callback as"," parameters, and calls the callback with an array of results."," @return {Object} DataSource-like object."," @protected"," **/"," _createFunctionSource: function (source) {"," var that = this;",""," return {"," type: 'function',"," sendRequest: function (request) {"," var value;",""," function afterResults(results) {"," that[_SOURCE_SUCCESS](results || [], request);"," }",""," // Allow both synchronous and asynchronous functions. If we get"," // a truthy return value, assume the function is synchronous."," if ((value = source(request.query, afterResults))) {"," afterResults(value);"," }"," }"," };"," },",""," /**"," Creates a DataSource-like object that looks up queries as properties on the"," specified object, and returns the found value (if any) as a response. See"," the `source` attribute for more details.",""," @method _createObjectSource"," @param {Object} source"," @return {Object} DataSource-like object."," @protected"," **/"," _createObjectSource: function (source) {"," var that = this;",""," return {"," type: 'object',"," sendRequest: function (request) {"," var query = request.query;",""," that[_SOURCE_SUCCESS]("," YObject.owns(source, query) ? source[query] : [],"," request"," );"," }"," };"," },",""," /**"," Returns `true` if _value_ is either a function or `null`.",""," @method _functionValidator"," @param {Function|null} value Value to validate."," @protected"," **/"," _functionValidator: function (value) {"," return value === null || isFunction(value);"," },",""," /**"," Faster and safer alternative to `Y.Object.getValue()`. Doesn't bother"," casting the path to an array (since we already know it's an array) and"," doesn't throw an error if a value in the middle of the object hierarchy is"," neither `undefined` nor an object.",""," @method _getObjectValue"," @param {Object} obj"," @param {Array} path"," @return {Any} Located value, or `undefined` if the value was"," not found at the specified path."," @protected"," **/"," _getObjectValue: function (obj, path) {"," if (!obj) {"," return;"," }",""," for (var i = 0, len = path.length; obj && i < len; i++) {"," obj = obj[path[i]];"," }",""," return obj;"," },",""," /**"," Parses result responses, performs filtering and highlighting, and fires the"," `results` event.",""," @method _parseResponse"," @param {String} query Query that generated these results."," @param {Object} response Response containing results."," @param {Object} data Raw response data."," @protected"," **/"," _parseResponse: function (query, response, data) {"," var facade = {"," data : data,"," query : query,"," results: []"," },",""," listLocator = this.get(RESULT_LIST_LOCATOR),"," results = [],"," unfiltered = response && response.results,",""," filters,"," formatted,"," formatter,"," highlighted,"," highlighter,"," i,"," len,"," maxResults,"," result,"," text,"," textLocator;",""," if (unfiltered && listLocator) {"," unfiltered = listLocator.call(this, unfiltered);"," }",""," if (unfiltered && unfiltered.length) {"," filters = this.get('resultFilters');"," textLocator = this.get('resultTextLocator');",""," // Create a lightweight result object for each result to make them"," // easier to work with. The various properties on the object"," // represent different formats of the result, and will be populated"," // as we go."," for (i = 0, len = unfiltered.length; i < len; ++i) {"," result = unfiltered[i];",""," text = textLocator ?"," textLocator.call(this, result) :"," result.toString();",""," results.push({"," display: Escape.html(text),"," raw : result,"," text : text"," });"," }",""," // Run the results through all configured result filters. Each"," // filter returns an array of (potentially fewer) result objects,"," // which is then passed to the next filter, and so on."," for (i = 0, len = filters.length; i < len; ++i) {"," results = filters[i].call(this, query, results.concat());",""," if (!results) {"," return;"," }",""," if (!results.length) {"," break;"," }"," }",""," if (results.length) {"," formatter = this.get('resultFormatter');"," highlighter = this.get('resultHighlighter');"," maxResults = this.get('maxResults');",""," // If maxResults is set and greater than 0, limit the number of"," // results."," if (maxResults && maxResults > 0 &&"," results.length > maxResults) {"," results.length = maxResults;"," }",""," // Run the results through the configured highlighter (if any)."," // The highlighter returns an array of highlighted strings (not"," // an array of result objects), and these strings are then added"," // to each result object."," if (highlighter) {"," highlighted = highlighter.call(this, query,"," results.concat());",""," if (!highlighted) {"," return;"," }",""," for (i = 0, len = highlighted.length; i < len; ++i) {"," result = results[i];"," result.highlighted = highlighted[i];"," result.display = result.highlighted;"," }"," }",""," // Run the results through the configured formatter (if any) to"," // produce the final formatted results. The formatter returns an"," // array of strings or Node instances (not an array of result"," // objects), and these strings/Nodes are then added to each"," // result object."," if (formatter) {"," formatted = formatter.call(this, query, results.concat());",""," if (!formatted) {"," return;"," }",""," for (i = 0, len = formatted.length; i < len; ++i) {"," results[i].display = formatted[i];"," }"," }"," }"," }",""," facade.results = results;"," this.fire(EVT_RESULTS, facade);"," },",""," /**"," Returns the query portion of the specified input value, or `null` if there"," is no suitable query within the input value.",""," If a query delimiter is defined, the query will be the last delimited part"," of of the string.",""," @method _parseValue"," @param {String} value Input value from which to extract the query."," @return {String|null} query"," @protected"," **/"," _parseValue: function (value) {"," var delim = this.get(QUERY_DELIMITER);",""," if (delim) {"," value = value.split(delim);"," value = value[value.length - 1];"," }",""," return Lang.trimLeft(value);"," },",""," /**"," Setter for the `enableCache` attribute.",""," @method _setEnableCache"," @param {Boolean} value"," @protected"," @since 3.5.0"," **/"," _setEnableCache: function (value) {"," // When `this._cache` is an object, result sources will store cached"," // results in it. When it's falsy, they won't. This way result sources"," // don't need to get the value of the `enableCache` attribute on every"," // request, which would be sloooow."," this._cache = value ? {} : null;"," },",""," /**"," Setter for locator attributes.",""," @method _setLocator"," @param {Function|String|null} locator"," @return {Function|null}"," @protected"," **/"," _setLocator: function (locator) {"," if (this[_FUNCTION_VALIDATOR](locator)) {"," return locator;"," }",""," var that = this;",""," locator = locator.toString().split('.');",""," return function (result) {"," return result && that._getObjectValue(result, locator);"," };"," },",""," /**"," Setter for the `requestTemplate` attribute.",""," @method _setRequestTemplate"," @param {Function|String|null} template"," @return {Function|null}"," @protected"," **/"," _setRequestTemplate: function (template) {"," if (this[_FUNCTION_VALIDATOR](template)) {"," return template;"," }",""," template = template.toString();",""," return function (query) {"," return Lang.sub(template, {query: encodeURIComponent(query)});"," };"," },",""," /**"," Setter for the `resultFilters` attribute.",""," @method _setResultFilters"," @param {Array|Function|String|null} filters `null`, a filter"," function, an array of filter functions, or a string or array of strings"," representing the names of methods on `Y.AutoCompleteFilters`."," @return {Function[]} Array of filter functions (empty if filters is"," `null`)."," @protected"," **/"," _setResultFilters: function (filters) {"," var acFilters, getFilterFunction;",""," if (filters === null) {"," return [];"," }",""," acFilters = Y.AutoCompleteFilters;",""," getFilterFunction = function (filter) {"," if (isFunction(filter)) {"," return filter;"," }",""," if (isString(filter) && acFilters &&"," isFunction(acFilters[filter])) {"," return acFilters[filter];"," }",""," return false;"," };",""," if (Lang.isArray(filters)) {"," filters = YArray.map(filters, getFilterFunction);"," return YArray.every(filters, function (f) { return !!f; }) ?"," filters : INVALID_VALUE;"," } else {"," filters = getFilterFunction(filters);"," return filters ? [filters] : INVALID_VALUE;"," }"," },",""," /**"," Setter for the `resultHighlighter` attribute.",""," @method _setResultHighlighter"," @param {Function|String|null} highlighter `null`, a highlighter function, or"," a string representing the name of a method on"," `Y.AutoCompleteHighlighters`."," @return {Function|null}"," @protected"," **/"," _setResultHighlighter: function (highlighter) {"," var acHighlighters;",""," if (this[_FUNCTION_VALIDATOR](highlighter)) {"," return highlighter;"," }",""," acHighlighters = Y.AutoCompleteHighlighters;",""," if (isString(highlighter) && acHighlighters &&"," isFunction(acHighlighters[highlighter])) {"," return acHighlighters[highlighter];"," }",""," return INVALID_VALUE;"," },",""," /**"," Setter for the `source` attribute. Returns a DataSource or a DataSource-like"," object depending on the type of _source_ and/or the value of the"," `sourceType` attribute.",""," @method _setSource"," @param {Any} source AutoComplete source. See the `source` attribute for"," details."," @return {DataSource|Object}"," @protected"," **/"," _setSource: function (source) {"," var sourceType = this.get('sourceType') || Lang.type(source),"," sourceSetter;",""," if ((source && isFunction(source.sendRequest))"," || source === null"," || sourceType === 'datasource') {",""," // Quacks like a DataSource instance (or null). Make it so!"," this._rawSource = source;"," return source;"," }",""," // See if there's a registered setter for this source type."," if ((sourceSetter = AutoCompleteBase.SOURCE_TYPES[sourceType])) {"," this._rawSource = source;"," return Lang.isString(sourceSetter) ?"," this[sourceSetter](source) : sourceSetter(source);"," }",""," Y.error(\"Unsupported source type '\" + sourceType + \"'. Maybe autocomplete-sources isn't loaded?\");"," return INVALID_VALUE;"," },",""," /**"," Shared success callback for non-DataSource sources.",""," @method _sourceSuccess"," @param {Any} data Response data."," @param {Object} request Request object."," @protected"," **/"," _sourceSuccess: function (data, request) {"," request.callback.success({"," data: data,"," response: {results: data}"," });"," },",""," /**"," Synchronizes the UI state of the `allowBrowserAutocomplete` attribute.",""," @method _syncBrowserAutocomplete"," @protected"," **/"," _syncBrowserAutocomplete: function () {"," var inputNode = this.get(INPUT_NODE);",""," if (inputNode.get('nodeName').toLowerCase() === 'input') {"," inputNode.setAttribute('autocomplete',"," this.get(ALLOW_BROWSER_AC) ? 'on' : 'off');"," }"," },",""," /**"," Updates the query portion of the `value` attribute.",""," If a query delimiter is defined, the last delimited portion of the input"," value will be replaced with the specified _value_.",""," @method _updateValue"," @param {String} newVal New value."," @protected"," **/"," _updateValue: function (newVal) {"," var delim = this.get(QUERY_DELIMITER),"," insertDelim,"," len,"," prevVal;",""," newVal = Lang.trimLeft(newVal);",""," if (delim) {"," insertDelim = trim(delim); // so we don't double up on spaces"," prevVal = YArray.map(trim(this.get(VALUE)).split(delim), trim);"," len = prevVal.length;",""," if (len > 1) {"," prevVal[len - 1] = newVal;"," newVal = prevVal.join(insertDelim + ' ');"," }",""," newVal = newVal + insertDelim + ' ';"," }",""," this.set(VALUE, newVal);"," },",""," // -- Protected Event Handlers ---------------------------------------------",""," /**"," Updates the current `source` based on the new `sourceType` to ensure that"," the two attributes don't get out of sync when they're changed separately.",""," @method _afterSourceTypeChange"," @param {EventFacade} e"," @protected"," **/"," _afterSourceTypeChange: function (e) {"," if (this._rawSource) {"," this.set('source', this._rawSource);"," }"," },",""," /**"," Handles change events for the `value` attribute.",""," @method _afterValueChange"," @param {EventFacade} e"," @protected"," **/"," _afterValueChange: function (e) {"," var newVal = e.newVal,"," self = this,"," uiChange = e.src === AutoCompleteBase.UI_SRC,"," delay, fire, minQueryLength, query;",""," // Update the UI if the value was changed programmatically."," if (!uiChange) {"," self._inputNode.set(VALUE, newVal);"," }","",""," minQueryLength = self.get('minQueryLength');"," query = self._parseValue(newVal) || '';",""," if (minQueryLength >= 0 && query.length >= minQueryLength) {"," // Only query on changes that originate from the UI."," if (uiChange) {"," delay = self.get('queryDelay');",""," fire = function () {"," self.fire(EVT_QUERY, {"," inputValue: newVal,"," query : query,"," src : e.src"," });"," };",""," if (delay) {"," clearTimeout(self._delay);"," self._delay = setTimeout(fire, delay);"," } else {"," fire();"," }"," } else {"," // For programmatic value changes, just update the query"," // attribute without sending a query."," self._set(QUERY, query);"," }"," } else {"," clearTimeout(self._delay);",""," self.fire(EVT_CLEAR, {"," prevVal: e.prevVal ? self._parseValue(e.prevVal) : null,"," src : e.src"," });"," }"," },",""," /**"," Handles `blur` events on the input node.",""," @method _onInputBlur"," @param {EventFacade} e"," @protected"," **/"," _onInputBlur: function (e) {"," var delim = this.get(QUERY_DELIMITER),"," delimPos,"," newVal,"," value;",""," // If a query delimiter is set and the input's value contains one or"," // more trailing delimiters, strip them."," if (delim && !this.get('allowTrailingDelimiter')) {"," delim = Lang.trimRight(delim);"," value = newVal = this._inputNode.get(VALUE);",""," if (delim) {"," while ((newVal = Lang.trimRight(newVal)) &&"," (delimPos = newVal.length - delim.length) &&"," newVal.lastIndexOf(delim) === delimPos) {",""," newVal = newVal.substring(0, delimPos);"," }"," } else {"," // Delimiter is one or more space characters, so just trim the"," // value."," newVal = Lang.trimRight(newVal);"," }",""," if (newVal !== value) {"," this.set(VALUE, newVal);"," }"," }"," },",""," /**"," Handles `valueChange` events on the input node and fires a `query` event"," when the input value meets the configured criteria.",""," @method _onInputValueChange"," @param {EventFacade} e"," @protected"," **/"," _onInputValueChange: function (e) {"," var newVal = e.newVal;",""," // Don't query if the internal value is the same as the new value"," // reported by valueChange."," if (newVal !== this.get(VALUE)) {"," this.set(VALUE, newVal, {src: AutoCompleteBase.UI_SRC});"," }"," },",""," /**"," Handles source responses and fires the `results` event.",""," @method _onResponse"," @param {EventFacade} e"," @protected"," **/"," _onResponse: function (query, e) {"," // Ignore stale responses that aren't for the current query."," if (query === (this.get(QUERY) || '')) {"," this._parseResponse(query || '', e.response, e.data);"," }"," },",""," // -- Protected Default Event Handlers -------------------------------------",""," /**"," Default `clear` event handler. Sets the `results` attribute to an empty"," array and `query` to null.",""," @method _defClearFn"," @protected"," **/"," _defClearFn: function () {"," this._set(QUERY, null);"," this._set(RESULTS, []);"," },",""," /**"," Default `query` event handler. Sets the `query` attribute and sends a"," request to the source if one is configured.",""," @method _defQueryFn"," @param {EventFacade} e"," @protected"," **/"," _defQueryFn: function (e) {"," this.sendRequest(e.query); // sendRequest will set the 'query' attribute"," },",""," /**"," Default `results` event handler. Sets the `results` attribute to the latest"," results.",""," @method _defResultsFn"," @param {EventFacade} e"," @protected"," **/"," _defResultsFn: function (e) {"," this._set(RESULTS, e[RESULTS]);"," }","};","","AutoCompleteBase.ATTRS = {"," /**"," Whether or not to enable the browser's built-in autocomplete functionality"," for input fields.",""," @attribute allowBrowserAutocomplete"," @type Boolean"," @default false"," **/"," allowBrowserAutocomplete: {"," value: false"," },",""," /**"," When a `queryDelimiter` is set, trailing delimiters will automatically be"," stripped from the input value by default when the input node loses focus."," Set this to `true` to allow trailing delimiters.",""," @attribute allowTrailingDelimiter"," @type Boolean"," @default false"," **/"," allowTrailingDelimiter: {"," value: false"," },",""," /**"," Whether or not to enable in-memory caching in result sources that support"," it.",""," @attribute enableCache"," @type Boolean"," @default true"," @since 3.5.0"," **/"," enableCache: {"," lazyAdd: false, // we need the setter to run on init"," setter: '_setEnableCache',"," value: true"," },",""," /**"," Node to monitor for changes, which will generate `query` events when"," appropriate. May be either an `` or a `
'),ie=Y.UA.ie,clipRect=(__cov_GNGWr8D5IrbwswCgR5tuTg.b['86'][0]++,ie)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['86'][1]++,ie<8)?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['85'][0]++,'rect(1px 1px 1px 1px)'):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['85'][1]++,'rect(1px, 1px, 1px, 1px)');__cov_GNGWr8D5IrbwswCgR5tuTg.s['338']++;node.setStyle('position','absolute');__cov_GNGWr8D5IrbwswCgR5tuTg.s['339']++;node.setStyle('height','1px');__cov_GNGWr8D5IrbwswCgR5tuTg.s['340']++;node.setStyle('width','1px');__cov_GNGWr8D5IrbwswCgR5tuTg.s['341']++;node.setStyle('overflow','hidden');__cov_GNGWr8D5IrbwswCgR5tuTg.s['342']++;node.setStyle('clip',clipRect);__cov_GNGWr8D5IrbwswCgR5tuTg.s['343']++;return node;},syncUI:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['58']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['344']++;this._redraw();},bindUI:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['59']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['345']++;this.after('tooltipChange',Y.bind(this._tooltipChangeHandler,this));__cov_GNGWr8D5IrbwswCgR5tuTg.s['346']++;this.after('widthChange',this._sizeChanged);__cov_GNGWr8D5IrbwswCgR5tuTg.s['347']++;this.after('heightChange',this._sizeChanged);__cov_GNGWr8D5IrbwswCgR5tuTg.s['348']++;this.after('groupMarkersChange',this._groupMarkersChangeHandler);__cov_GNGWr8D5IrbwswCgR5tuTg.s['349']++;var tt=this.get('tooltip'),hideEvent='mouseout',showEvent='mouseover',cb=this.get('contentBox'),interactionType=this.get('interactionType'),i=0,len,markerClassName='.'+SERIES_MARKER,isTouch=(__cov_GNGWr8D5IrbwswCgR5tuTg.b['87'][0]++,WINDOW)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['87'][1]++,'ontouchstart'in WINDOW)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['87'][2]++,!((__cov_GNGWr8D5IrbwswCgR5tuTg.b['88'][0]++,Y.UA.chrome)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['88'][1]++,Y.UA.chrome<6)));__cov_GNGWr8D5IrbwswCgR5tuTg.s['350']++;Y.on('keydown',Y.bind(function(e){__cov_GNGWr8D5IrbwswCgR5tuTg.f['60']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['351']++;var key=e.keyCode,numKey=parseFloat(key),msg;__cov_GNGWr8D5IrbwswCgR5tuTg.s['352']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['90'][0]++,numKey>36)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['90'][1]++,numKey<41)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['89'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['353']++;e.halt();__cov_GNGWr8D5IrbwswCgR5tuTg.s['354']++;msg=this._getAriaMessage(numKey);__cov_GNGWr8D5IrbwswCgR5tuTg.s['355']++;this._liveRegion.setContent('');__cov_GNGWr8D5IrbwswCgR5tuTg.s['356']++;this._liveRegion.appendChild(DOCUMENT.createTextNode(msg));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['89'][1]++;}},this),this.get('contentBox'));__cov_GNGWr8D5IrbwswCgR5tuTg.s['357']++;if(interactionType==='marker'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['91'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['358']++;hideEvent=tt.hideEvent;__cov_GNGWr8D5IrbwswCgR5tuTg.s['359']++;showEvent=tt.showEvent;__cov_GNGWr8D5IrbwswCgR5tuTg.s['360']++;if(isTouch){__cov_GNGWr8D5IrbwswCgR5tuTg.b['92'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['361']++;Y.delegate('touchend',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['362']++;Y.on('touchend',Y.bind(function(e){__cov_GNGWr8D5IrbwswCgR5tuTg.f['61']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['363']++;if(cb.contains(e.target)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['93'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['364']++;e.halt(true);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['93'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['365']++;if(this._activeMarker){__cov_GNGWr8D5IrbwswCgR5tuTg.b['94'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['366']++;this._activeMarker=null;__cov_GNGWr8D5IrbwswCgR5tuTg.s['367']++;this.hideTooltip(e);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['94'][1]++;}},this));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['92'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['368']++;Y.delegate('mouseenter',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['369']++;Y.delegate('mousedown',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['370']++;Y.delegate('mouseup',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['371']++;Y.delegate('mouseleave',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['372']++;Y.delegate('click',Y.bind(this._markerEventDispatcher,this),cb,markerClassName);__cov_GNGWr8D5IrbwswCgR5tuTg.s['373']++;Y.delegate('mousemove',Y.bind(this._positionTooltip,this),cb,markerClassName);}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['91'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['374']++;if(interactionType==='planar'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['95'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['375']++;if(isTouch){__cov_GNGWr8D5IrbwswCgR5tuTg.b['96'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['376']++;this._overlay.on('touchend',Y.bind(this._planarEventDispatcher,this));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['96'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['377']++;this._overlay.on('mousemove',Y.bind(this._planarEventDispatcher,this));__cov_GNGWr8D5IrbwswCgR5tuTg.s['378']++;this.on('mouseout',this.hideTooltip);}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['95'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['379']++;if(tt){__cov_GNGWr8D5IrbwswCgR5tuTg.b['97'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['380']++;this.on('markerEvent:touchend',Y.bind(function(e){__cov_GNGWr8D5IrbwswCgR5tuTg.f['62']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['381']++;var marker=e.series.get('markers')[e.index];__cov_GNGWr8D5IrbwswCgR5tuTg.s['382']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['99'][0]++,this._activeMarker)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['99'][1]++,marker===this._activeMarker)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['98'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['383']++;this._activeMarker=null;__cov_GNGWr8D5IrbwswCgR5tuTg.s['384']++;this.hideTooltip(e);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['98'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['385']++;this._activeMarker=marker;__cov_GNGWr8D5IrbwswCgR5tuTg.s['386']++;tt.markerEventHandler.apply(this,[e]);}},this));__cov_GNGWr8D5IrbwswCgR5tuTg.s['387']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['101'][0]++,hideEvent)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['101'][1]++,showEvent)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['101'][2]++,hideEvent===showEvent)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['100'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['388']++;this.on(interactionType+'Event:'+hideEvent,this.toggleTooltip);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['100'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['389']++;if(showEvent){__cov_GNGWr8D5IrbwswCgR5tuTg.b['102'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['390']++;this.on(interactionType+'Event:'+showEvent,tt[interactionType+'EventHandler']);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['102'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['391']++;if(hideEvent){__cov_GNGWr8D5IrbwswCgR5tuTg.b['103'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['392']++;if(Y_Lang.isArray(hideEvent)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['104'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['393']++;len=hideEvent.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['394']++;for(;i=markerPlane[i].start)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['153'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['584']++;index=i;__cov_GNGWr8D5IrbwswCgR5tuTg.s['585']++;break;}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['153'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['586']++;len=sc.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['587']++;for(i=0;i-1)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['155'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['592']++;series.updateMarkerState('mouseout',oldIndex);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['155'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['593']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['158'][0]++,coords)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['158'][1]++,coords[index]>-1)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['157'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['594']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['160'][0]++,hasMarkers)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['160'][1]++,!isNaN(index))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['160'][2]++,index>-1)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['159'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['595']++;series.updateMarkerState('mouseover',index);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['159'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['596']++;item=this.getSeriesItems(series,index);__cov_GNGWr8D5IrbwswCgR5tuTg.s['597']++;categoryItems.push(item.category);__cov_GNGWr8D5IrbwswCgR5tuTg.s['598']++;valueItems.push(item.value);__cov_GNGWr8D5IrbwswCgR5tuTg.s['599']++;items.push(series);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['157'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['600']++;this._selectedIndex=index;__cov_GNGWr8D5IrbwswCgR5tuTg.s['601']++;if(index>-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['161'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['602']++;this.fire('planarEvent:mouseover',{categoryItem:categoryItems,valueItem:valueItems,x:posX,y:posY,pageX:pageX,pageY:pageY,items:items,index:index,originEvent:e});}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['161'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['603']++;this.fire('planarEvent:mouseout');}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['152'][1]++;}},_type:'combo',_itemRenderQueue:null,_addToAxesRenderQueue:function(axis){__cov_GNGWr8D5IrbwswCgR5tuTg.f['82']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['604']++;if(!this._itemRenderQueue){__cov_GNGWr8D5IrbwswCgR5tuTg.b['162'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['605']++;this._itemRenderQueue=[];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['162'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['606']++;if(Y.Array.indexOf(this._itemRenderQueue,axis)<0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['163'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['607']++;this._itemRenderQueue.push(axis);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['163'][1]++;}},_addToAxesCollection:function(position,axis){__cov_GNGWr8D5IrbwswCgR5tuTg.f['83']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['608']++;var axesCollection=this.get(position+'AxesCollection');__cov_GNGWr8D5IrbwswCgR5tuTg.s['609']++;if(!axesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['164'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['610']++;axesCollection=[];__cov_GNGWr8D5IrbwswCgR5tuTg.s['611']++;this.set(position+'AxesCollection',axesCollection);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['164'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['612']++;axesCollection.push(axis);},_getDefaultSeriesCollection:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['84']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['613']++;var seriesCollection,dataProvider=this.get('dataProvider');__cov_GNGWr8D5IrbwswCgR5tuTg.s['614']++;if(dataProvider){__cov_GNGWr8D5IrbwswCgR5tuTg.b['165'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['615']++;seriesCollection=this._parseSeriesCollection();}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['165'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['616']++;return seriesCollection;},_parseSeriesCollection:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['85']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['617']++;var dir=this.get('direction'),seriesStyles=this.get('styles').series,stylesAreArray=(__cov_GNGWr8D5IrbwswCgR5tuTg.b['166'][0]++,seriesStyles)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['166'][1]++,Y_Lang.isArray(seriesStyles)),stylesIndex,setStyles,globalStyles,sc=[],catAxis,valAxis,tempKeys=[],series,seriesKeys=this.get('seriesKeys').concat(),i,index,l,type=this.get('type'),key,catKey,seriesKey,graph,orphans=[],categoryKey=this.get('categoryKey'),showMarkers=this.get('showMarkers'),showAreaFill=this.get('showAreaFill'),showLines=this.get('showLines');__cov_GNGWr8D5IrbwswCgR5tuTg.s['618']++;val=val?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['167'][0]++,val.concat()):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['167'][1]++,[]);__cov_GNGWr8D5IrbwswCgR5tuTg.s['619']++;if(dir==='vertical'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['168'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['620']++;catAxis='yAxis';__cov_GNGWr8D5IrbwswCgR5tuTg.s['621']++;catKey='yKey';__cov_GNGWr8D5IrbwswCgR5tuTg.s['622']++;valAxis='xAxis';__cov_GNGWr8D5IrbwswCgR5tuTg.s['623']++;seriesKey='xKey';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['168'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['624']++;catAxis='xAxis';__cov_GNGWr8D5IrbwswCgR5tuTg.s['625']++;catKey='xKey';__cov_GNGWr8D5IrbwswCgR5tuTg.s['626']++;valAxis='yAxis';__cov_GNGWr8D5IrbwswCgR5tuTg.s['627']++;seriesKey='yKey';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['628']++;l=val.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['629']++;while((__cov_GNGWr8D5IrbwswCgR5tuTg.b['169'][0]++,val)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['169'][1]++,val.length>0)){__cov_GNGWr8D5IrbwswCgR5tuTg.s['630']++;series=val.shift();__cov_GNGWr8D5IrbwswCgR5tuTg.s['631']++;key=this._getBaseAttribute(series,seriesKey);__cov_GNGWr8D5IrbwswCgR5tuTg.s['632']++;if(key){__cov_GNGWr8D5IrbwswCgR5tuTg.b['170'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['633']++;index=Y.Array.indexOf(seriesKeys,key);__cov_GNGWr8D5IrbwswCgR5tuTg.s['634']++;if(index>-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['171'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['635']++;seriesKeys.splice(index,1);__cov_GNGWr8D5IrbwswCgR5tuTg.s['636']++;tempKeys.push(key);__cov_GNGWr8D5IrbwswCgR5tuTg.s['637']++;sc.push(series);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['171'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['638']++;orphans.push(series);}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['170'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['639']++;orphans.push(series);}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['640']++;while(orphans.length>0){__cov_GNGWr8D5IrbwswCgR5tuTg.s['641']++;series=orphans.shift();__cov_GNGWr8D5IrbwswCgR5tuTg.s['642']++;if(seriesKeys.length>0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['172'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['643']++;key=seriesKeys.shift();__cov_GNGWr8D5IrbwswCgR5tuTg.s['644']++;this._setBaseAttribute(series,seriesKey,key);__cov_GNGWr8D5IrbwswCgR5tuTg.s['645']++;tempKeys.push(key);__cov_GNGWr8D5IrbwswCgR5tuTg.s['646']++;sc.push(series);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['172'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['647']++;if(series instanceof Y.CartesianSeries){__cov_GNGWr8D5IrbwswCgR5tuTg.b['173'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['648']++;series.destroy(true);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['173'][1]++;}}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['649']++;if(seriesKeys.length>0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['174'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['650']++;tempKeys=tempKeys.concat(seriesKeys);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['174'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['651']++;l=tempKeys.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['652']++;for(i=0;i0)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['227'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['750']++;axis.set('overlapGraph',false);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['227'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['751']++;axes[i]=axis;}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['226'][1]++;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['213'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['752']++;return axes;},_addAxes:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['92']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['753']++;var axes=this.get('axes'),i,axis,pos,w=this.get('width'),h=this.get('height'),node=Y.Node.one(this._parentNode);__cov_GNGWr8D5IrbwswCgR5tuTg.s['754']++;if(!this._axesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['229'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['755']++;this._axesCollection=[];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['229'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['756']++;for(i in axes){__cov_GNGWr8D5IrbwswCgR5tuTg.s['757']++;if(axes.hasOwnProperty(i)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['230'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['758']++;axis=axes[i];__cov_GNGWr8D5IrbwswCgR5tuTg.s['759']++;if(axis instanceof Y.Axis){__cov_GNGWr8D5IrbwswCgR5tuTg.b['231'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['760']++;if(!w){__cov_GNGWr8D5IrbwswCgR5tuTg.b['232'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['761']++;this.set('width',node.get('offsetWidth'));__cov_GNGWr8D5IrbwswCgR5tuTg.s['762']++;w=this.get('width');}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['232'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['763']++;if(!h){__cov_GNGWr8D5IrbwswCgR5tuTg.b['233'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['764']++;this.set('height',node.get('offsetHeight'));__cov_GNGWr8D5IrbwswCgR5tuTg.s['765']++;h=this.get('height');}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['233'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['766']++;this._addToAxesRenderQueue(axis);__cov_GNGWr8D5IrbwswCgR5tuTg.s['767']++;pos=axis.get('position');__cov_GNGWr8D5IrbwswCgR5tuTg.s['768']++;if(!this.get(pos+'AxesCollection')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['234'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['769']++;this.set(pos+'AxesCollection',[axis]);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['234'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['770']++;this.get(pos+'AxesCollection').push(axis);}__cov_GNGWr8D5IrbwswCgR5tuTg.s['771']++;this._axesCollection.push(axis);__cov_GNGWr8D5IrbwswCgR5tuTg.s['772']++;if(axis.get('keys').hasOwnProperty(this.get('categoryKey'))){__cov_GNGWr8D5IrbwswCgR5tuTg.b['235'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['773']++;this.set('categoryAxis',axis);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['235'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['774']++;axis.render(this.get('contentBox'));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['231'][1]++;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['230'][1]++;}}},_addSeries:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['93']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['775']++;var graph=this.get('graph');__cov_GNGWr8D5IrbwswCgR5tuTg.s['776']++;graph.render(this.get('contentBox'));},_addGridlines:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['94']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['777']++;var graph=this.get('graph'),hgl=this.get('horizontalGridlines'),vgl=this.get('verticalGridlines'),direction=this.get('direction'),leftAxesCollection=this.get('leftAxesCollection'),rightAxesCollection=this.get('rightAxesCollection'),bottomAxesCollection=this.get('bottomAxesCollection'),topAxesCollection=this.get('topAxesCollection'),seriesAxesCollection,catAxis=this.get('categoryAxis'),hAxis,vAxis;__cov_GNGWr8D5IrbwswCgR5tuTg.s['778']++;if(this._axesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['236'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['779']++;seriesAxesCollection=this._axesCollection.concat();__cov_GNGWr8D5IrbwswCgR5tuTg.s['780']++;seriesAxesCollection.splice(Y.Array.indexOf(seriesAxesCollection,catAxis),1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['236'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['781']++;if(hgl){__cov_GNGWr8D5IrbwswCgR5tuTg.b['237'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['782']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['239'][0]++,leftAxesCollection)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['239'][1]++,leftAxesCollection[0])){__cov_GNGWr8D5IrbwswCgR5tuTg.b['238'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['783']++;hAxis=leftAxesCollection[0];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['238'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['784']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['241'][0]++,rightAxesCollection)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['241'][1]++,rightAxesCollection[0])){__cov_GNGWr8D5IrbwswCgR5tuTg.b['240'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['785']++;hAxis=rightAxesCollection[0];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['240'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['786']++;hAxis=direction==='horizontal'?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['242'][0]++,catAxis):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['242'][1]++,seriesAxesCollection[0]);}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['787']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['244'][0]++,!this._getBaseAttribute(hgl,'axis'))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['244'][1]++,hAxis)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['243'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['788']++;this._setBaseAttribute(hgl,'axis',hAxis);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['243'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['789']++;if(this._getBaseAttribute(hgl,'axis')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['245'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['790']++;graph.set('horizontalGridlines',hgl);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['245'][1]++;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['237'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['791']++;if(vgl){__cov_GNGWr8D5IrbwswCgR5tuTg.b['246'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['792']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['248'][0]++,bottomAxesCollection)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['248'][1]++,bottomAxesCollection[0])){__cov_GNGWr8D5IrbwswCgR5tuTg.b['247'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['793']++;vAxis=bottomAxesCollection[0];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['247'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['794']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['250'][0]++,topAxesCollection)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['250'][1]++,topAxesCollection[0])){__cov_GNGWr8D5IrbwswCgR5tuTg.b['249'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['795']++;vAxis=topAxesCollection[0];}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['249'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['796']++;vAxis=direction==='vertical'?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['251'][0]++,catAxis):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['251'][1]++,seriesAxesCollection[0]);}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['797']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['253'][0]++,!this._getBaseAttribute(vgl,'axis'))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['253'][1]++,vAxis)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['252'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['798']++;this._setBaseAttribute(vgl,'axis',vAxis);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['252'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['799']++;if(this._getBaseAttribute(vgl,'axis')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['254'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['800']++;graph.set('verticalGridlines',vgl);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['254'][1]++;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['246'][1]++;}},_getDefaultAxes:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['95']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['801']++;var axes;__cov_GNGWr8D5IrbwswCgR5tuTg.s['802']++;if(this.get('dataProvider')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['255'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['803']++;axes=this._parseAxes();}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['255'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['804']++;return axes;},_parseAxes:function(axes){__cov_GNGWr8D5IrbwswCgR5tuTg.f['96']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['805']++;var catKey=this.get('categoryKey'),axis,attr,keys,newAxes={},claimedKeys=[],newKeys=[],categoryAxisName=(__cov_GNGWr8D5IrbwswCgR5tuTg.b['256'][0]++,this.get('categoryAxisName'))||(__cov_GNGWr8D5IrbwswCgR5tuTg.b['256'][1]++,this.get('categoryKey')),valueAxisName=this.get('valueAxisName'),seriesKeys=this.get('seriesKeys').concat(),i,l,ii,ll,cIndex,direction=this.get('direction'),seriesPosition,categoryPosition,valueAxes=[],seriesAxis=this.get('stacked')?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['257'][0]++,'stacked'):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['257'][1]++,'numeric');__cov_GNGWr8D5IrbwswCgR5tuTg.s['806']++;if(direction==='vertical'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['258'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['807']++;seriesPosition='bottom';__cov_GNGWr8D5IrbwswCgR5tuTg.s['808']++;categoryPosition='left';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['258'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['809']++;seriesPosition='left';__cov_GNGWr8D5IrbwswCgR5tuTg.s['810']++;categoryPosition='bottom';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['811']++;if(axes){__cov_GNGWr8D5IrbwswCgR5tuTg.b['259'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['812']++;for(i in axes){__cov_GNGWr8D5IrbwswCgR5tuTg.s['813']++;if(axes.hasOwnProperty(i)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['260'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['814']++;axis=axes[i];__cov_GNGWr8D5IrbwswCgR5tuTg.s['815']++;keys=this._getBaseAttribute(axis,'keys');__cov_GNGWr8D5IrbwswCgR5tuTg.s['816']++;attr=this._getBaseAttribute(axis,'type');__cov_GNGWr8D5IrbwswCgR5tuTg.s['817']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['262'][0]++,attr==='time')||(__cov_GNGWr8D5IrbwswCgR5tuTg.b['262'][1]++,attr==='category')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['261'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['818']++;categoryAxisName=i;__cov_GNGWr8D5IrbwswCgR5tuTg.s['819']++;this.set('categoryAxisName',i);__cov_GNGWr8D5IrbwswCgR5tuTg.s['820']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['264'][0]++,Y_Lang.isArray(keys))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['264'][1]++,keys.length>0)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['263'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['821']++;catKey=keys[0];__cov_GNGWr8D5IrbwswCgR5tuTg.s['822']++;this.set('categoryKey',catKey);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['263'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['823']++;newAxes[i]=axis;}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['261'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['824']++;if(i===categoryAxisName){__cov_GNGWr8D5IrbwswCgR5tuTg.b['265'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['825']++;newAxes[i]=axis;}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['265'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['826']++;newAxes[i]=axis;__cov_GNGWr8D5IrbwswCgR5tuTg.s['827']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['267'][0]++,i!==valueAxisName)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['267'][1]++,keys)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['267'][2]++,Y_Lang.isArray(keys))){__cov_GNGWr8D5IrbwswCgR5tuTg.b['266'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['828']++;ll=keys.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['829']++;for(ii=0;ii-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['270'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['838']++;seriesKeys.splice(cIndex,1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['270'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['839']++;l=seriesKeys.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['840']++;for(i=0;i-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['271'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['843']++;newKeys=newKeys.concat(claimedKeys.splice(cIndex,1));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['271'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['844']++;claimedKeys=newKeys.concat(claimedKeys);__cov_GNGWr8D5IrbwswCgR5tuTg.s['845']++;l=claimedKeys.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['846']++;for(i=0;i-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['272'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['849']++;seriesKeys.splice(cIndex,1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['272'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['850']++;if(!newAxes.hasOwnProperty(categoryAxisName)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['273'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['851']++;newAxes[categoryAxisName]={};}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['273'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['852']++;if(!this._getBaseAttribute(newAxes[categoryAxisName],'keys')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['274'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['853']++;this._setBaseAttribute(newAxes[categoryAxisName],'keys',[catKey]);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['274'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['854']++;if(!this._getBaseAttribute(newAxes[categoryAxisName],'position')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['275'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['855']++;this._setBaseAttribute(newAxes[categoryAxisName],'position',categoryPosition);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['275'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['856']++;if(!this._getBaseAttribute(newAxes[categoryAxisName],'type')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['276'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['857']++;this._setBaseAttribute(newAxes[categoryAxisName],'type',this.get('categoryType'));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['276'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['858']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['278'][0]++,!newAxes.hasOwnProperty(valueAxisName))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['278'][1]++,seriesKeys)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['278'][2]++,seriesKeys.length>0)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['277'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['859']++;newAxes[valueAxisName]={keys:seriesKeys};__cov_GNGWr8D5IrbwswCgR5tuTg.s['860']++;valueAxes.push(newAxes[valueAxisName]);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['277'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['861']++;if(claimedKeys.length>0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['279'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['862']++;if(seriesKeys.length>0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['280'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['863']++;seriesKeys=claimedKeys.concat(seriesKeys);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['280'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['864']++;seriesKeys=claimedKeys;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['279'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['865']++;if(newAxes.hasOwnProperty(valueAxisName)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['281'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['866']++;if(!this._getBaseAttribute(newAxes[valueAxisName],'position')){__cov_GNGWr8D5IrbwswCgR5tuTg.b['282'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['867']++;this._setBaseAttribute(newAxes[valueAxisName],'position',this._getDefaultAxisPosition(newAxes[valueAxisName],valueAxes,seriesPosition));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['282'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['868']++;this._setBaseAttribute(newAxes[valueAxisName],'type',seriesAxis);__cov_GNGWr8D5IrbwswCgR5tuTg.s['869']++;this._setBaseAttribute(newAxes[valueAxisName],'keys',seriesKeys);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['281'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['870']++;if(!this._wereSeriesKeysExplicitlySet()){__cov_GNGWr8D5IrbwswCgR5tuTg.b['283'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['871']++;this.set('seriesKeys',seriesKeys,{src:'internal'});}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['283'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['872']++;return newAxes;},_getDefaultAxisPosition:function(axis,valueAxes,position){__cov_GNGWr8D5IrbwswCgR5tuTg.f['97']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['873']++;var direction=this.get('direction'),i=Y.Array.indexOf(valueAxes,axis);__cov_GNGWr8D5IrbwswCgR5tuTg.s['874']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['285'][0]++,valueAxes[i-1])&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['285'][1]++,valueAxes[i-1].position)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['284'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['875']++;if(direction==='horizontal'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['286'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['876']++;if(valueAxes[i-1].position==='left'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['287'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['877']++;position='right';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['287'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['878']++;if(valueAxes[i-1].position==='right'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['288'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['879']++;position='left';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['288'][1]++;}}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['286'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['880']++;if(valueAxes[i-1].position==='bottom'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['289'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['881']++;position='top';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['289'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['882']++;position='bottom';}}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['284'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['883']++;return position;},getSeriesItems:function(series,index){__cov_GNGWr8D5IrbwswCgR5tuTg.f['98']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['884']++;var xAxis=series.get('xAxis'),yAxis=series.get('yAxis'),xKey=series.get('xKey'),yKey=series.get('yKey'),categoryItem,valueItem;__cov_GNGWr8D5IrbwswCgR5tuTg.s['885']++;if(this.get('direction')==='vertical'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['290'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['886']++;categoryItem={axis:yAxis,key:yKey,value:yAxis.getKeyValueAt(yKey,index)};__cov_GNGWr8D5IrbwswCgR5tuTg.s['887']++;valueItem={axis:xAxis,key:xKey,value:xAxis.getKeyValueAt(xKey,index)};}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['290'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['888']++;valueItem={axis:yAxis,key:yKey,value:yAxis.getKeyValueAt(yKey,index)};__cov_GNGWr8D5IrbwswCgR5tuTg.s['889']++;categoryItem={axis:xAxis,key:xKey,value:xAxis.getKeyValueAt(xKey,index)};}__cov_GNGWr8D5IrbwswCgR5tuTg.s['890']++;categoryItem.displayName=series.get('categoryDisplayName');__cov_GNGWr8D5IrbwswCgR5tuTg.s['891']++;valueItem.displayName=series.get('valueDisplayName');__cov_GNGWr8D5IrbwswCgR5tuTg.s['892']++;categoryItem.value=categoryItem.axis.getKeyValueAt(categoryItem.key,index);__cov_GNGWr8D5IrbwswCgR5tuTg.s['893']++;valueItem.value=valueItem.axis.getKeyValueAt(valueItem.key,index);__cov_GNGWr8D5IrbwswCgR5tuTg.s['894']++;return{category:categoryItem,value:valueItem};},_sizeChanged:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['99']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['895']++;if(this._axesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['291'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['896']++;var ac=this._axesCollection,i=0,l=ac.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['897']++;for(;i-1;--i){__cov_GNGWr8D5IrbwswCgR5tuTg.s['962']++;leftAxesXCoords.unshift(leftPaneWidth);__cov_GNGWr8D5IrbwswCgR5tuTg.s['963']++;leftPaneWidth+=leftAxesCollection[i].get('width');}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['301'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['964']++;if(rightAxesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['302'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['965']++;rightAxesXCoords=[];__cov_GNGWr8D5IrbwswCgR5tuTg.s['966']++;l=rightAxesCollection.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['967']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['968']++;for(i=l-1;i>-1;--i){__cov_GNGWr8D5IrbwswCgR5tuTg.s['969']++;rightPaneWidth+=rightAxesCollection[i].get('width');__cov_GNGWr8D5IrbwswCgR5tuTg.s['970']++;rightAxesXCoords.unshift(w-rightPaneWidth);}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['302'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['971']++;if(topAxesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['303'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['972']++;topAxesYCoords=[];__cov_GNGWr8D5IrbwswCgR5tuTg.s['973']++;l=topAxesCollection.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['974']++;for(i=l-1;i>-1;--i){__cov_GNGWr8D5IrbwswCgR5tuTg.s['975']++;topAxesYCoords.unshift(topPaneHeight);__cov_GNGWr8D5IrbwswCgR5tuTg.s['976']++;topPaneHeight+=topAxesCollection[i].get('height');}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['303'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['977']++;if(bottomAxesCollection){__cov_GNGWr8D5IrbwswCgR5tuTg.b['304'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['978']++;bottomAxesYCoords=[];__cov_GNGWr8D5IrbwswCgR5tuTg.s['979']++;l=bottomAxesCollection.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['980']++;for(i=l-1;i>-1;--i){__cov_GNGWr8D5IrbwswCgR5tuTg.s['981']++;bottomPaneHeight+=bottomAxesCollection[i].get('height');__cov_GNGWr8D5IrbwswCgR5tuTg.s['982']++;bottomAxesYCoords.unshift(h-bottomPaneHeight);}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['304'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['983']++;graphWidth=w-(leftPaneWidth+rightPaneWidth);__cov_GNGWr8D5IrbwswCgR5tuTg.s['984']++;graphHeight=h-(bottomPaneHeight+topPaneHeight);__cov_GNGWr8D5IrbwswCgR5tuTg.s['985']++;graphRect.left=leftPaneWidth;__cov_GNGWr8D5IrbwswCgR5tuTg.s['986']++;graphRect.top=topPaneHeight;__cov_GNGWr8D5IrbwswCgR5tuTg.s['987']++;graphRect.bottom=h-bottomPaneHeight;__cov_GNGWr8D5IrbwswCgR5tuTg.s['988']++;graphRect.right=w-rightPaneWidth;__cov_GNGWr8D5IrbwswCgR5tuTg.s['989']++;if(!allowContentOverflow){__cov_GNGWr8D5IrbwswCgR5tuTg.b['305'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['990']++;topOverflow=this._getTopOverflow(leftAxesCollection,rightAxesCollection);__cov_GNGWr8D5IrbwswCgR5tuTg.s['991']++;bottomOverflow=this._getBottomOverflow(leftAxesCollection,rightAxesCollection);__cov_GNGWr8D5IrbwswCgR5tuTg.s['992']++;leftOverflow=this._getLeftOverflow(bottomAxesCollection,topAxesCollection);__cov_GNGWr8D5IrbwswCgR5tuTg.s['993']++;rightOverflow=this._getRightOverflow(bottomAxesCollection,topAxesCollection);__cov_GNGWr8D5IrbwswCgR5tuTg.s['994']++;diff=topOverflow-topPaneHeight;__cov_GNGWr8D5IrbwswCgR5tuTg.s['995']++;if(diff>0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['306'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['996']++;graphRect.top=topOverflow;__cov_GNGWr8D5IrbwswCgR5tuTg.s['997']++;if(topAxesYCoords){__cov_GNGWr8D5IrbwswCgR5tuTg.b['307'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['998']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['999']++;l=topAxesYCoords.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1000']++;for(;i0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['308'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1004']++;graphRect.bottom=h-bottomOverflow;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1005']++;if(bottomAxesYCoords){__cov_GNGWr8D5IrbwswCgR5tuTg.b['309'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1006']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1007']++;l=bottomAxesYCoords.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1008']++;for(;i0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['310'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1012']++;graphRect.left=leftOverflow;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1013']++;if(leftAxesXCoords){__cov_GNGWr8D5IrbwswCgR5tuTg.b['311'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1014']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1015']++;l=leftAxesXCoords.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1016']++;for(;i0){__cov_GNGWr8D5IrbwswCgR5tuTg.b['312'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1020']++;graphRect.right=w-rightOverflow;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1021']++;if(rightAxesXCoords){__cov_GNGWr8D5IrbwswCgR5tuTg.b['313'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1022']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1023']++;l=rightAxesXCoords.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1024']++;for(;i1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['339'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1115']++;if(key===38){__cov_GNGWr8D5IrbwswCgR5tuTg.b['340'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1116']++;seriesIndex=seriesIndex<1?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['341'][0]++,len-1):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['341'][1]++,seriesIndex-1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['340'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1117']++;if(key===40){__cov_GNGWr8D5IrbwswCgR5tuTg.b['342'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1118']++;seriesIndex=seriesIndex>=len-1?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['343'][0]++,0):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['343'][1]++,seriesIndex+1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['342'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1119']++;this._itemIndex=-1;}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['339'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1120']++;seriesIndex=0;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1121']++;this._seriesIndex=seriesIndex;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1122']++;series=this.getSeries(parseInt(seriesIndex,10));__cov_GNGWr8D5IrbwswCgR5tuTg.s['1123']++;msg=series.get('valueDisplayName')+' series.';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['338'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1124']++;if(seriesIndex>-1){__cov_GNGWr8D5IrbwswCgR5tuTg.b['344'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1125']++;msg='';__cov_GNGWr8D5IrbwswCgR5tuTg.s['1126']++;series=this.getSeries(parseInt(seriesIndex,10));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['344'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1127']++;seriesIndex=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1128']++;this._seriesIndex=seriesIndex;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1129']++;series=this.getSeries(parseInt(seriesIndex,10));__cov_GNGWr8D5IrbwswCgR5tuTg.s['1130']++;msg=series.get('valueDisplayName')+' series.';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1131']++;dataLength=series._dataLength?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['345'][0]++,series._dataLength):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['345'][1]++,0);__cov_GNGWr8D5IrbwswCgR5tuTg.s['1132']++;if(key===37){__cov_GNGWr8D5IrbwswCgR5tuTg.b['346'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1133']++;itemIndex=itemIndex>0?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['347'][0]++,itemIndex-1):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['347'][1]++,dataLength-1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['346'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1134']++;if(key===39){__cov_GNGWr8D5IrbwswCgR5tuTg.b['348'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1135']++;itemIndex=itemIndex>=dataLength-1?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['349'][0]++,0):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['349'][1]++,itemIndex+1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['348'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1136']++;this._itemIndex=itemIndex;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1137']++;items=this.getSeriesItems(series,itemIndex);__cov_GNGWr8D5IrbwswCgR5tuTg.s['1138']++;categoryItem=items.category;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1139']++;valueItem=items.value;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1140']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['351'][0]++,categoryItem)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['351'][1]++,valueItem)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['351'][2]++,categoryItem.value)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['351'][3]++,valueItem.value)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['350'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1141']++;msg+=categoryItem.displayName+': '+categoryItem.axis.formatLabel.apply(this,[categoryItem.value,categoryItem.axis.get('labelFormat')])+', ';__cov_GNGWr8D5IrbwswCgR5tuTg.s['1142']++;msg+=valueItem.displayName+': '+valueItem.axis.formatLabel.apply(this,[valueItem.value,valueItem.axis.get('labelFormat')])+', ';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['350'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1143']++;msg+='No data available.';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1144']++;msg+=itemIndex+1+' of '+dataLength+'. ';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1145']++;return msg;}},{ATTRS:{allowContentOverflow:{value:false},axesStyles:{lazyAdd:false,getter:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['107']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1146']++;var axes=this.get('axes'),i,styles=this._axesStyles;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1147']++;if(axes){__cov_GNGWr8D5IrbwswCgR5tuTg.b['352'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1148']++;for(i in axes){__cov_GNGWr8D5IrbwswCgR5tuTg.s['1149']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['354'][0]++,axes.hasOwnProperty(i))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['354'][1]++,axes[i]instanceof Y.Axis)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['353'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1150']++;if(!styles){__cov_GNGWr8D5IrbwswCgR5tuTg.b['355'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1151']++;styles={};}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['355'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1152']++;styles[i]=axes[i].get('styles');}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['353'][1]++;}}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['352'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1153']++;return styles;},setter:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['108']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1154']++;var axes=this.get('axes'),i;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1155']++;for(i in val){__cov_GNGWr8D5IrbwswCgR5tuTg.s['1156']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['357'][0]++,val.hasOwnProperty(i))&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['357'][1]++,axes.hasOwnProperty(i))){__cov_GNGWr8D5IrbwswCgR5tuTg.b['356'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1157']++;this._setBaseAttribute(axes[i],'styles',val[i]);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['356'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1158']++;return val;}},seriesStyles:{lazyAdd:false,getter:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['109']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1159']++;var styles=this._seriesStyles,graph=this.get('graph'),dict,i;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1160']++;if(graph){__cov_GNGWr8D5IrbwswCgR5tuTg.b['358'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1161']++;dict=graph.get('seriesDictionary');__cov_GNGWr8D5IrbwswCgR5tuTg.s['1162']++;if(dict){__cov_GNGWr8D5IrbwswCgR5tuTg.b['359'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1163']++;styles={};__cov_GNGWr8D5IrbwswCgR5tuTg.s['1164']++;for(i in dict){__cov_GNGWr8D5IrbwswCgR5tuTg.s['1165']++;if(dict.hasOwnProperty(i)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['360'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1166']++;styles[i]=dict[i].get('styles');}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['360'][1]++;}}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['359'][1]++;}}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['358'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1167']++;return styles;},setter:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['110']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1168']++;var i,l,s;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1169']++;if(Y_Lang.isArray(val)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['361'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1170']++;s=this.get('seriesCollection');__cov_GNGWr8D5IrbwswCgR5tuTg.s['1171']++;i=0;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1172']++;l=val.length;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1173']++;for(;i0?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['408'][0]++,itemIndex-1):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['408'][1]++,len-1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['407'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1347']++;if(key===39){__cov_GNGWr8D5IrbwswCgR5tuTg.b['409'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1348']++;itemIndex=itemIndex>=len-1?(__cov_GNGWr8D5IrbwswCgR5tuTg.b['410'][0]++,0):(__cov_GNGWr8D5IrbwswCgR5tuTg.b['410'][1]++,itemIndex+1);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['409'][1]++;}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1349']++;this._itemIndex=itemIndex;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1350']++;items=this.getSeriesItems(series,itemIndex);__cov_GNGWr8D5IrbwswCgR5tuTg.s['1351']++;categoryItem=items.category;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1352']++;valueItem=items.value;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1353']++;total=series.getTotalValues();__cov_GNGWr8D5IrbwswCgR5tuTg.s['1354']++;pct=Math.round(valueItem.value/total*10000)/100;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1355']++;if((__cov_GNGWr8D5IrbwswCgR5tuTg.b['412'][0]++,categoryItem)&&(__cov_GNGWr8D5IrbwswCgR5tuTg.b['412'][1]++,valueItem)){__cov_GNGWr8D5IrbwswCgR5tuTg.b['411'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1356']++;msg+=categoryItem.displayName+': '+categoryItem.axis.formatLabel.apply(this,[categoryItem.value,categoryItem.axis.get('labelFormat')])+', ';__cov_GNGWr8D5IrbwswCgR5tuTg.s['1357']++;msg+=valueItem.displayName+': '+valueItem.axis.formatLabel.apply(this,[valueItem.value,valueItem.axis.get('labelFormat')])+', ';__cov_GNGWr8D5IrbwswCgR5tuTg.s['1358']++;msg+='Percent of total '+valueItem.displayName+': '+pct+'%,';}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['411'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1359']++;msg+='No data available,';}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1360']++;msg+=itemIndex+1+' of '+len+'. ';__cov_GNGWr8D5IrbwswCgR5tuTg.s['1361']++;return msg;}},{ATTRS:{ariaDescription:{value:'Use the left and right keys to navigate through items.',setter:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['136']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1362']++;if(this._description){__cov_GNGWr8D5IrbwswCgR5tuTg.b['413'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1363']++;this._description.setContent('');__cov_GNGWr8D5IrbwswCgR5tuTg.s['1364']++;this._description.appendChild(DOCUMENT.createTextNode(val));}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['413'][1]++;}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1365']++;return val;}},axes:{getter:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['137']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1366']++;return this._axes;},setter:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['138']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1367']++;this._parseAxes(val);}},seriesCollection:{lazyAdd:false,getter:function(){__cov_GNGWr8D5IrbwswCgR5tuTg.f['139']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1368']++;return this._getSeriesCollection();},setter:function(val){__cov_GNGWr8D5IrbwswCgR5tuTg.f['140']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1369']++;return this._setSeriesCollection(val);}},type:{value:'pie'}}});__cov_GNGWr8D5IrbwswCgR5tuTg.s['1370']++;function Chart(cfg){__cov_GNGWr8D5IrbwswCgR5tuTg.f['141']++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1371']++;if(cfg.type!=='pie'){__cov_GNGWr8D5IrbwswCgR5tuTg.b['414'][0]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1372']++;return new Y.CartesianChart(cfg);}else{__cov_GNGWr8D5IrbwswCgR5tuTg.b['414'][1]++;__cov_GNGWr8D5IrbwswCgR5tuTg.s['1373']++;return new Y.PieChart(cfg);}}__cov_GNGWr8D5IrbwswCgR5tuTg.s['1374']++;Y.Chart=Chart;},'3.13.0',{'requires':['dom','event-mouseenter','event-touch','graphics-group','axes','series-pie','series-line','series-marker','series-area','series-spline','series-column','series-bar','series-areaspline','series-combo','series-combospline','series-line-stacked','series-marker-stacked','series-area-stacked','series-spline-stacked','series-column-stacked','series-bar-stacked','series-areaspline-stacked','series-combo-stacked','series-combospline-stacked']});
diff --git a/lib/yuilib/3.12.0/charts-base/charts-base-debug.js b/lib/yuilib/3.13.0/charts-base/charts-base-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-base/charts-base-debug.js
rename to lib/yuilib/3.13.0/charts-base/charts-base-debug.js
index cbd0f6dc6f8..74e20a546d8
--- a/lib/yuilib/3.12.0/charts-base/charts-base-debug.js
+++ b/lib/yuilib/3.13.0/charts-base/charts-base-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -5106,7 +5106,7 @@ function Chart(cfg)
Y.Chart = Chart;
-}, '3.12.0', {
+}, '3.13.0', {
"requires": [
"dom",
"event-mouseenter",
diff --git a/lib/yuilib/3.12.0/charts-base/charts-base-min.js b/lib/yuilib/3.13.0/charts-base/charts-base-min.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-base/charts-base-min.js
rename to lib/yuilib/3.13.0/charts-base/charts-base-min.js
index 0282f69b1ca..c07bae31510
--- a/lib/yuilib/3.12.0/charts-base/charts-base-min.js
+++ b/lib/yuilib/3.13.0/charts-base/charts-base-min.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -12,4 +12,4 @@ YUI.add("charts-base",function(e,t){function f(){}function l(t){return t.type!==
i.hasOwnProperty(e)){s=n[r];break}}return s},_getBaseAttribute:function(t,n){return t instanceof e.Base?t.get(n):t.hasOwnProperty(n)?t[n]:null},_setBaseAttribute:function(t,n,r){t instanceof e.Base?t.set(n,r):t[n]=r},_setAxes:function(t){var n=this._parseAxes(t),r={},i={edgeOffset:"edgeOffset",calculateEdgeOffset:"calculateEdgeOffset",position:"position",overlapGraph:"overlapGraph",labelValues:"labelValues",hideFirstMajorUnit:"hideFirstMajorUnit",hideLastMajorUnit:"hideLastMajorUnit",labelFunction:"labelFunction",labelFunctionScope:"labelFunctionScope",labelFormat:"labelFormat",appendLabelFunction:"appendLabelFunction",appendTitleFunction:"appendTitleFunction",maximum:"maximum",minimum:"minimum",roundingMethod:"roundingMethod",alwaysShowZero:"alwaysShowZero",scaleType:"scaleType",title:"title",width:"width",height:"height"},s=this.get("dataProvider"),o,u,a,f,l,c,h,p,d;for(u in n)if(n.hasOwnProperty(u)){c=n[u];if(c instanceof e.Axis)f=c;else{f=null,p={},p.dataProvider=c.dataProvider||s,p.keys=c.keys,c.hasOwnProperty("roundingUnit")&&(p.roundingUnit=c.roundingUnit),a=c.position,c.styles&&(p.styles=c.styles),p.position=c.position;for(o in i)i.hasOwnProperty(o)&&c.hasOwnProperty(o)&&(p[o]=c[o]);t&&(f=this.getAxisByKey(u)),f&&f instanceof e.Axis?(l=f.get("position"),a!==l&&(l!=="none"&&(d=this.get(l+"AxesCollection"),d.splice(e.Array.indexOf(d,f),1)),a!=="none"&&this._addToAxesCollection(a,f)),f.setAttrs(p)):(h=this._getAxisClass(c.type),f=new h(p),f.after("axisRendered",e.bind(this._itemRendered,this)))}f&&(d=this.get(a+"AxesCollection"),d&&e.Array.indexOf(d,f)>0&&f.set("overlapGraph",!1),r[u]=f)}return r},_addAxes:function(){var t=this.get("axes"),n,r,i,s=this.get("width"),o=this.get("height"),u=e.Node.one(this._parentNode);this._axesCollection||(this._axesCollection=[]);for(n in t)t.hasOwnProperty(n)&&(r=t[n],r instanceof e.Axis&&(s||(this.set("width",u.get("offsetWidth")),s=this.get("width")),o||(this.set("height",u.get("offsetHeight")),o=this.get("height")),this._addToAxesRenderQueue(r),i=r.get("position"),this.get(i+"AxesCollection")?this.get(i+"AxesCollection").push(r):this.set(i+"AxesCollection",[r]),this._axesCollection.push(r),r.get("keys").hasOwnProperty(this.get("categoryKey"))&&this.set("categoryAxis",r),r.render(this.get("contentBox"))))},_addSeries:function(){var e=this.get("graph");e.render(this.get("contentBox"))},_addGridlines:function(){var t=this.get("graph"),n=this.get("horizontalGridlines"),r=this.get("verticalGridlines"),i=this.get("direction"),s=this.get("leftAxesCollection"),o=this.get("rightAxesCollection"),u=this.get("bottomAxesCollection"),a=this.get("topAxesCollection"),f,l=this.get("categoryAxis"),c,h;this._axesCollection&&(f=this._axesCollection.concat(),f.splice(e.Array.indexOf(f,l),1)),n&&(s&&s[0]?c=s[0]:o&&o[0]?c=o[0]:c=i==="horizontal"?l:f[0],!this._getBaseAttribute(n,"axis")&&c&&this._setBaseAttribute(n,"axis",c),this._getBaseAttribute(n,"axis")&&t.set("horizontalGridlines",n)),r&&(u&&u[0]?h=u[0]:a&&a[0]?h=a[0]:h=i==="vertical"?l:f[0],!this._getBaseAttribute(r,"axis")&&h&&this._setBaseAttribute(r,"axis",h),this._getBaseAttribute(r,"axis")&&t.set("verticalGridlines",r))},_getDefaultAxes:function(){var e;return this.get("dataProvider")&&(e=this._parseAxes()),e},_parseAxes:function(t){var n=this.get("categoryKey"),r,i,o,u={},a=[],f=[],l=this.get("categoryAxisName")||this.get("categoryKey"),c=this.get("valueAxisName"),h=this.get("seriesKeys").concat(),p,d,v,m,g,y=this.get("direction"),b,w,E=[],S=this.get("stacked")?"stacked":"numeric";y==="vertical"?(b="bottom",w="left"):(b="left",w="bottom");if(t)for(p in t)if(t.hasOwnProperty(p)){r=t[p],o=this._getBaseAttribute(r,"keys"),i=this._getBaseAttribute(r,"type");if(i==="time"||i==="category")l=p,this.set("categoryAxisName",p),s.isArray(o)&&o.length>0&&(n=o[0],this.set("categoryKey",n)),u[p]=r;else if(p===l)u[p]=r;else{u[p]=r;if(p!==c&&o&&s.isArray(o)){m=o.length;for(v=0;v-1&&h.splice(g,1),d=h.length;for(p=0;p-1&&(f=f.concat(a.splice(g,1)));a=f.concat(a),d=a.length;for(p=0;p-1&&h.splice(g,1);return u.hasOwnProperty(l)||(u[l]={}),this._getBaseAttribute(u[l],"keys")||this._setBaseAttribute(u[l],"keys",[n]),this._getBaseAttribute(u[l],"position")||this._setBaseAttribute(u[l],"position",w),this._getBaseAttribute(u[l],"type")||this._setBaseAttribute(u[l],"type",this.get("categoryType")),!u.hasOwnProperty(c)&&h&&h.length>0&&(u[c]={keys:h},E.push(u[c])),a.length>0&&(h.length>0?h=a.concat(h):h=a),u.hasOwnProperty(c)&&(this._getBaseAttribute(u[c],"position")||this._setBaseAttribute(u[c],"position",this._getDefaultAxisPosition(u[c],E,b)),this._setBaseAttribute(u[c],"type",S),this._setBaseAttribute(u[c],"keys",h)),this._wereSeriesKeysExplicitlySet()||this.set("seriesKeys",h,{src:"internal"}),u},_getDefaultAxisPosition:function(t,n,r){var i=this.get("direction"),s=e.Array.indexOf(n,t);return n[s-1]&&n[s-1].position&&(i==="horizontal"?n[s-1].position==="left"?r="right":n[s-1].position==="right"&&(r="left"):n[s-1].position==="bottom"?r="top":r="bottom"),r},getSeriesItems:function(e,t){var n=e.get("xAxis"),r=e.get("yAxis"),i=e.get("xKey"),s=e.get("yKey"),o,u;return this.get("direction")==="vertical"?(o={axis:r,key:s,value:r.getKeyValueAt(s,t)},u={axis:n,key:i,value:n.getKeyValueAt(i,t)}):(u={axis:r,key:s,value:r.getKeyValueAt(s,t)},o={axis:n,key:i,value:n.getKeyValueAt(i,t)}),o.displayName=e.get("categoryDisplayName"),u.displayName=e.get("valueDisplayName"),o.value=o.axis.getKeyValueAt(o.key,t),u.value=u.axis.getKeyValueAt(u.key,t),{category:o,value:u}},_sizeChanged:function(){if(this._axesCollection){var e=this._axesCollection,t=0,n=e.length;for(;t-1;--l)C.unshift(n),n+=o[l].get("width")}if(u){N=[],c=u.length,l=0;for(l=c-1;l>-1;--l)r+=u[l].get("width"),N.unshift(e-r)}if(a){k=[],c=a.length;for(l=c-1;l>-1;--l)k.unshift(i),i+=a[l].get("height")}if(f){L=[],c=f.length;for(l=c-1;l>-1;--l)s+=f[l].get("height"),L.unshift(t-s)}b=e-(n+r),w=t-(s+i),A.left=n,A.top=i,A.bottom=t-s,A.right=e-r;if(!x){v=this._getTopOverflow(o,u),m=this._getBottomOverflow(o,u),g=this._getLeftOverflow(f,a),y=this._getRightOverflow(f,a),T=v-i;if(T>0){A.top=v;if(k){l=0,c=k.length;for(;l0){A.bottom=t-m;if(L){l=0,c=L.length;for(;l0){A.left=g;if(C){l=0,c=C.length;for(;l0){A.right=e-y;if(N){l=0,c=N.length;for(;l1?(e===38?o=o<1?f-1:o-1:e===40&&(o=o>=f-1?0:o+1),this._itemIndex=-1):o=0,this._seriesIndex=o,n=this.getSeries(parseInt(o,10)),t=n.get("valueDisplayName")+" series."):(o>-1?(t="",n=this.getSeries(parseInt(o,10))):(o=0,this._seriesIndex=o,n=this.getSeries(parseInt(o,10)),t=n.get("valueDisplayName")+" series."),l=n._dataLength?n._dataLength:0,e===37?u=u>0?u-1:l-1:e===39&&(u=u>=l-1?0:u+1),this._itemIndex=u,r=this.getSeriesItems(n,u),i=r.category,s=r.value,i&&s&&i.value&&s.value?(t+=i.displayName+": "+i.axis.formatLabel.apply(this,[i.value,i.axis.get("labelFormat")])+", ",t+=s.displayName+": "+s.axis.formatLabel.apply(this,[s.value,s.axis.get("labelFormat")])+", "):t+="No data available.",t+=u+1+" of "+l+". "),t}},{ATTRS:{allowContentOverflow:{value:!1},axesStyles:{lazyAdd:!1,getter:function(){var t=this.get("axes"),n,r=this._axesStyles;if(t)for(n in t)t.hasOwnProperty(n)&&t[n]instanceof e.Axis&&(r||(r={}),r[n]=t[n].get("styles"));return r},setter:function(e){var t=this.get("axes"),n;for(n in e)e.hasOwnProperty(n)&&t.hasOwnProperty(n)&&this._setBaseAttribute(t[n],"styles",e[n]);return e}},seriesStyles:{lazyAdd:!1,getter:function(){var e=this._seriesStyles,t=this.get("graph"),n,r;if(t){n=t.get("seriesDictionary");if(n){e={};for(r in n)n.hasOwnProperty(r)&&(e[r]=n[r].get("styles"))}}return e},setter:function(e){var t,n,r;if(s.isArray(e)){r=this.get("seriesCollection"),t=0,n=e.length;for(;t0?u-1:a-1:e===39&&(u=u>=a-1?0:u+1),this._itemIndex=u,r=this.getSeriesItems(i,u),n=r.category,s=r.value,f=i.getTotalValues(),l=Math.round(s.value/f*1e4)/100,n&&s?(t+=n.displayName+": "+n.axis.formatLabel.apply(this,[n.value,n.axis.get("labelFormat")])+", ",t+=s.displayName+": "+s.axis.formatLabel.apply(this,[s.value,s.axis.get("labelFormat")])+", ",t+="Percent of total "+s.displayName+": "+
-l+"%,"):t+="No data available,",t+=u+1+" of "+a+". ",t}},{ATTRS:{ariaDescription:{value:"Use the left and right keys to navigate through items.",setter:function(e){return this._description&&(this._description.setContent(""),this._description.appendChild(i.createTextNode(e))),e}},axes:{getter:function(){return this._axes},setter:function(e){this._parseAxes(e)}},seriesCollection:{lazyAdd:!1,getter:function(){return this._getSeriesCollection()},setter:function(e){return this._setSeriesCollection(e)}},type:{value:"pie"}}}),e.Chart=l},"3.12.0",{requires:["dom","event-mouseenter","event-touch","graphics-group","axes","series-pie","series-line","series-marker","series-area","series-spline","series-column","series-bar","series-areaspline","series-combo","series-combospline","series-line-stacked","series-marker-stacked","series-area-stacked","series-spline-stacked","series-column-stacked","series-bar-stacked","series-areaspline-stacked","series-combo-stacked","series-combospline-stacked"]});
+l+"%,"):t+="No data available,",t+=u+1+" of "+a+". ",t}},{ATTRS:{ariaDescription:{value:"Use the left and right keys to navigate through items.",setter:function(e){return this._description&&(this._description.setContent(""),this._description.appendChild(i.createTextNode(e))),e}},axes:{getter:function(){return this._axes},setter:function(e){this._parseAxes(e)}},seriesCollection:{lazyAdd:!1,getter:function(){return this._getSeriesCollection()},setter:function(e){return this._setSeriesCollection(e)}},type:{value:"pie"}}}),e.Chart=l},"3.13.0",{requires:["dom","event-mouseenter","event-touch","graphics-group","axes","series-pie","series-line","series-marker","series-area","series-spline","series-column","series-bar","series-areaspline","series-combo","series-combospline","series-line-stacked","series-marker-stacked","series-area-stacked","series-spline-stacked","series-column-stacked","series-bar-stacked","series-areaspline-stacked","series-combo-stacked","series-combospline-stacked"]});
diff --git a/lib/yuilib/3.12.0/charts-base/charts-base.js b/lib/yuilib/3.13.0/charts-base/charts-base.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-base/charts-base.js
rename to lib/yuilib/3.13.0/charts-base/charts-base.js
index cbd0f6dc6f8..74e20a546d8
--- a/lib/yuilib/3.12.0/charts-base/charts-base.js
+++ b/lib/yuilib/3.13.0/charts-base/charts-base.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -5106,7 +5106,7 @@ function Chart(cfg)
Y.Chart = Chart;
-}, '3.12.0', {
+}, '3.13.0', {
"requires": [
"dom",
"event-mouseenter",
diff --git a/lib/yuilib/3.13.0/charts-legend/charts-legend-coverage.js b/lib/yuilib/3.13.0/charts-legend/charts-legend-coverage.js
new file mode 100755
index 00000000000..68ccf373c5a
--- /dev/null
+++ b/lib/yuilib/3.13.0/charts-legend/charts-legend-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/charts-legend/charts-legend.js']) {
+ __coverage__['build/charts-legend/charts-legend.js'] = {"path":"build/charts-legend/charts-legend.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0,0,0],"63":[0,0,0,0],"64":[0,0,0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0,0,0],"70":[0,0],"71":[0,0],"72":[0,0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0,0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,0,0],"110":[0,0],"111":[0,0],"112":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"(anonymous_2)","line":25,"loc":{"start":{"line":25,"column":12},"end":{"line":26,"column":4}}},"3":{"name":"(anonymous_3)","line":74,"loc":{"start":{"line":74,"column":26},"end":{"line":75,"column":4}}},"4":{"name":"(anonymous_4)","line":145,"loc":{"start":{"line":145,"column":19},"end":{"line":146,"column":4}}},"5":{"name":"(anonymous_5)","line":190,"loc":{"start":{"line":190,"column":19},"end":{"line":191,"column":4}}},"6":{"name":"(anonymous_6)","line":232,"loc":{"start":{"line":232,"column":26},"end":{"line":233,"column":4}}},"7":{"name":"(anonymous_7)","line":306,"loc":{"start":{"line":306,"column":22},"end":{"line":307,"column":4}}},"8":{"name":"(anonymous_8)","line":351,"loc":{"start":{"line":351,"column":19},"end":{"line":352,"column":4}}},"9":{"name":"(anonymous_9)","line":377,"loc":{"start":{"line":377,"column":13},"end":{"line":378,"column":4}}},"10":{"name":"(anonymous_10)","line":671,"loc":{"start":{"line":671,"column":29},"end":{"line":672,"column":4}}},"11":{"name":"(anonymous_11)","line":724,"loc":{"start":{"line":724,"column":16},"end":{"line":725,"column":4}}},"12":{"name":"(anonymous_12)","line":747,"loc":{"start":{"line":747,"column":13},"end":{"line":748,"column":4}}},"13":{"name":"(anonymous_13)","line":888,"loc":{"start":{"line":888,"column":17},"end":{"line":889,"column":4}}},"14":{"name":"(anonymous_14)","line":897,"loc":{"start":{"line":897,"column":14},"end":{"line":898,"column":4}}},"15":{"name":"(anonymous_15)","line":916,"loc":{"start":{"line":916,"column":12},"end":{"line":917,"column":4}}},"16":{"name":"(anonymous_16)","line":930,"loc":{"start":{"line":930,"column":12},"end":{"line":931,"column":4}}},"17":{"name":"(anonymous_17)","line":947,"loc":{"start":{"line":947,"column":20},"end":{"line":948,"column":4}}},"18":{"name":"(anonymous_18)","line":962,"loc":{"start":{"line":962,"column":28},"end":{"line":963,"column":4}}},"19":{"name":"(anonymous_19)","line":983,"loc":{"start":{"line":983,"column":23},"end":{"line":984,"column":4}}},"20":{"name":"(anonymous_20)","line":1001,"loc":{"start":{"line":1001,"column":17},"end":{"line":1002,"column":4}}},"21":{"name":"(anonymous_21)","line":1148,"loc":{"start":{"line":1148,"column":23},"end":{"line":1149,"column":4}}},"22":{"name":"(anonymous_22)","line":1175,"loc":{"start":{"line":1175,"column":28},"end":{"line":1176,"column":4}}},"23":{"name":"(anonymous_23)","line":1246,"loc":{"start":{"line":1246,"column":20},"end":{"line":1247,"column":4}}},"24":{"name":"(anonymous_24)","line":1299,"loc":{"start":{"line":1299,"column":20},"end":{"line":1300,"column":4}}},"25":{"name":"(anonymous_25)","line":1312,"loc":{"start":{"line":1312,"column":23},"end":{"line":1313,"column":4}}},"26":{"name":"(anonymous_26)","line":1356,"loc":{"start":{"line":1356,"column":22},"end":{"line":1357,"column":4}}},"27":{"name":"(anonymous_27)","line":1371,"loc":{"start":{"line":1371,"column":25},"end":{"line":1372,"column":4}}},"28":{"name":"(anonymous_28)","line":1406,"loc":{"start":{"line":1406,"column":16},"end":{"line":1407,"column":4}}},"29":{"name":"(anonymous_29)","line":1445,"loc":{"start":{"line":1445,"column":20},"end":{"line":1446,"column":12}}},"30":{"name":"(anonymous_30)","line":1476,"loc":{"start":{"line":1476,"column":20},"end":{"line":1477,"column":12}}},"31":{"name":"(anonymous_31)","line":1503,"loc":{"start":{"line":1503,"column":20},"end":{"line":1504,"column":12}}},"32":{"name":"(anonymous_32)","line":1525,"loc":{"start":{"line":1525,"column":20},"end":{"line":1526,"column":12}}},"33":{"name":"(anonymous_33)","line":1547,"loc":{"start":{"line":1547,"column":20},"end":{"line":1548,"column":12}}},"34":{"name":"(anonymous_34)","line":1569,"loc":{"start":{"line":1569,"column":20},"end":{"line":1570,"column":12}}},"35":{"name":"(anonymous_35)","line":1588,"loc":{"start":{"line":1588,"column":20},"end":{"line":1589,"column":12}}},"36":{"name":"(anonymous_36)","line":1611,"loc":{"start":{"line":1611,"column":20},"end":{"line":1612,"column":12}}},"37":{"name":"(anonymous_37)","line":1635,"loc":{"start":{"line":1635,"column":20},"end":{"line":1636,"column":12}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1704,"column":44}},"2":{"start":{"line":9,"column":0},"end":{"line":736,"column":3}},"3":{"start":{"line":27,"column":8},"end":{"line":27,"column":40}},"4":{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},"5":{"start":{"line":30,"column":12},"end":{"line":30,"column":33}},"6":{"start":{"line":32,"column":8},"end":{"line":46,"column":9}},"7":{"start":{"line":34,"column":12},"end":{"line":34,"column":25}},"8":{"start":{"line":35,"column":12},"end":{"line":35,"column":38}},"9":{"start":{"line":39,"column":12},"end":{"line":39,"column":29}},"10":{"start":{"line":40,"column":12},"end":{"line":44,"column":13}},"11":{"start":{"line":42,"column":16},"end":{"line":42,"column":52}},"12":{"start":{"line":43,"column":16},"end":{"line":43,"column":48}},"13":{"start":{"line":45,"column":12},"end":{"line":45,"column":44}},"14":{"start":{"line":47,"column":8},"end":{"line":47,"column":22}},"15":{"start":{"line":76,"column":8},"end":{"line":94,"column":19}},"16":{"start":{"line":95,"column":8},"end":{"line":95,"column":74}},"17":{"start":{"line":96,"column":8},"end":{"line":96,"column":47}},"18":{"start":{"line":97,"column":8},"end":{"line":97,"column":65}},"19":{"start":{"line":98,"column":8},"end":{"line":98,"column":30}},"20":{"start":{"line":99,"column":8},"end":{"line":122,"column":9}},"21":{"start":{"line":101,"column":12},"end":{"line":101,"column":37}},"22":{"start":{"line":102,"column":12},"end":{"line":102,"column":36}},"23":{"start":{"line":103,"column":12},"end":{"line":103,"column":29}},"24":{"start":{"line":104,"column":12},"end":{"line":104,"column":118}},"25":{"start":{"line":105,"column":12},"end":{"line":120,"column":13}},"26":{"start":{"line":107,"column":16},"end":{"line":107,"column":30}},"27":{"start":{"line":108,"column":16},"end":{"line":108,"column":33}},"28":{"start":{"line":109,"column":16},"end":{"line":109,"column":39}},"29":{"start":{"line":110,"column":16},"end":{"line":110,"column":41}},"30":{"start":{"line":111,"column":16},"end":{"line":111,"column":37}},"31":{"start":{"line":112,"column":16},"end":{"line":112,"column":27}},"32":{"start":{"line":113,"column":16},"end":{"line":113,"column":80}},"33":{"start":{"line":114,"column":16},"end":{"line":114,"column":73}},"34":{"start":{"line":115,"column":16},"end":{"line":115,"column":107}},"35":{"start":{"line":116,"column":16},"end":{"line":116,"column":108}},"36":{"start":{"line":117,"column":16},"end":{"line":117,"column":56}},"37":{"start":{"line":118,"column":16},"end":{"line":118,"column":53}},"38":{"start":{"line":119,"column":16},"end":{"line":119,"column":57}},"39":{"start":{"line":121,"column":12},"end":{"line":121,"column":37}},"40":{"start":{"line":123,"column":8},"end":{"line":128,"column":10}},"41":{"start":{"line":129,"column":8},"end":{"line":132,"column":9}},"42":{"start":{"line":131,"column":12},"end":{"line":131,"column":59}},"43":{"start":{"line":147,"column":8},"end":{"line":154,"column":45}},"44":{"start":{"line":155,"column":8},"end":{"line":174,"column":9}},"45":{"start":{"line":157,"column":12},"end":{"line":157,"column":28}},"46":{"start":{"line":158,"column":12},"end":{"line":158,"column":35}},"47":{"start":{"line":159,"column":12},"end":{"line":172,"column":13}},"48":{"start":{"line":161,"column":16},"end":{"line":161,"column":56}},"49":{"start":{"line":162,"column":16},"end":{"line":162,"column":49}},"50":{"start":{"line":166,"column":16},"end":{"line":166,"column":55}},"51":{"start":{"line":167,"column":16},"end":{"line":170,"column":17}},"52":{"start":{"line":169,"column":20},"end":{"line":169,"column":37}},"53":{"start":{"line":171,"column":16},"end":{"line":171,"column":47}},"54":{"start":{"line":173,"column":12},"end":{"line":173,"column":54}},"55":{"start":{"line":175,"column":8},"end":{"line":175,"column":51}},"56":{"start":{"line":176,"column":8},"end":{"line":176,"column":65}},"57":{"start":{"line":192,"column":8},"end":{"line":192,"column":23}},"58":{"start":{"line":193,"column":8},"end":{"line":204,"column":9}},"59":{"start":{"line":196,"column":16},"end":{"line":196,"column":42}},"60":{"start":{"line":197,"column":12},"end":{"line":197,"column":18}},"61":{"start":{"line":199,"column":16},"end":{"line":199,"column":52}},"62":{"start":{"line":200,"column":12},"end":{"line":200,"column":18}},"63":{"start":{"line":202,"column":16},"end":{"line":202,"column":60}},"64":{"start":{"line":203,"column":12},"end":{"line":203,"column":18}},"65":{"start":{"line":205,"column":8},"end":{"line":205,"column":26}},"66":{"start":{"line":234,"column":8},"end":{"line":253,"column":19}},"67":{"start":{"line":254,"column":8},"end":{"line":254,"column":73}},"68":{"start":{"line":255,"column":8},"end":{"line":255,"column":51}},"69":{"start":{"line":256,"column":8},"end":{"line":256,"column":65}},"70":{"start":{"line":257,"column":8},"end":{"line":257,"column":36}},"71":{"start":{"line":258,"column":8},"end":{"line":283,"column":9}},"72":{"start":{"line":260,"column":12},"end":{"line":260,"column":39}},"73":{"start":{"line":261,"column":12},"end":{"line":261,"column":45}},"74":{"start":{"line":262,"column":12},"end":{"line":262,"column":32}},"75":{"start":{"line":263,"column":12},"end":{"line":263,"column":122}},"76":{"start":{"line":264,"column":12},"end":{"line":264,"column":28}},"77":{"start":{"line":265,"column":12},"end":{"line":281,"column":13}},"78":{"start":{"line":267,"column":16},"end":{"line":267,"column":33}},"79":{"start":{"line":268,"column":16},"end":{"line":268,"column":33}},"80":{"start":{"line":269,"column":16},"end":{"line":269,"column":41}},"81":{"start":{"line":270,"column":16},"end":{"line":270,"column":39}},"82":{"start":{"line":271,"column":16},"end":{"line":271,"column":38}},"83":{"start":{"line":272,"column":16},"end":{"line":272,"column":35}},"84":{"start":{"line":273,"column":16},"end":{"line":273,"column":76}},"85":{"start":{"line":274,"column":16},"end":{"line":274,"column":79}},"86":{"start":{"line":275,"column":16},"end":{"line":275,"column":103}},"87":{"start":{"line":276,"column":16},"end":{"line":276,"column":114}},"88":{"start":{"line":277,"column":16},"end":{"line":277,"column":54}},"89":{"start":{"line":278,"column":16},"end":{"line":278,"column":56}},"90":{"start":{"line":279,"column":16},"end":{"line":279,"column":57}},"91":{"start":{"line":280,"column":16},"end":{"line":280,"column":64}},"92":{"start":{"line":282,"column":12},"end":{"line":282,"column":37}},"93":{"start":{"line":284,"column":8},"end":{"line":289,"column":10}},"94":{"start":{"line":290,"column":8},"end":{"line":293,"column":9}},"95":{"start":{"line":292,"column":12},"end":{"line":292,"column":57}},"96":{"start":{"line":308,"column":8},"end":{"line":315,"column":47}},"97":{"start":{"line":316,"column":8},"end":{"line":335,"column":9}},"98":{"start":{"line":318,"column":12},"end":{"line":318,"column":28}},"99":{"start":{"line":319,"column":12},"end":{"line":319,"column":37}},"100":{"start":{"line":320,"column":12},"end":{"line":333,"column":13}},"101":{"start":{"line":322,"column":16},"end":{"line":322,"column":56}},"102":{"start":{"line":323,"column":16},"end":{"line":323,"column":55}},"103":{"start":{"line":327,"column":16},"end":{"line":327,"column":55}},"104":{"start":{"line":328,"column":16},"end":{"line":331,"column":17}},"105":{"start":{"line":330,"column":20},"end":{"line":330,"column":40}},"106":{"start":{"line":332,"column":16},"end":{"line":332,"column":53}},"107":{"start":{"line":334,"column":12},"end":{"line":334,"column":59}},"108":{"start":{"line":336,"column":8},"end":{"line":336,"column":55}},"109":{"start":{"line":337,"column":8},"end":{"line":337,"column":65}},"110":{"start":{"line":353,"column":8},"end":{"line":353,"column":23}},"111":{"start":{"line":354,"column":8},"end":{"line":365,"column":9}},"112":{"start":{"line":357,"column":16},"end":{"line":357,"column":41}},"113":{"start":{"line":358,"column":12},"end":{"line":358,"column":18}},"114":{"start":{"line":360,"column":16},"end":{"line":360,"column":53}},"115":{"start":{"line":361,"column":12},"end":{"line":361,"column":18}},"116":{"start":{"line":363,"column":16},"end":{"line":363,"column":62}},"117":{"start":{"line":364,"column":12},"end":{"line":364,"column":18}},"118":{"start":{"line":366,"column":8},"end":{"line":366,"column":26}},"119":{"start":{"line":379,"column":8},"end":{"line":383,"column":9}},"120":{"start":{"line":381,"column":12},"end":{"line":381,"column":35}},"121":{"start":{"line":382,"column":12},"end":{"line":382,"column":19}},"122":{"start":{"line":384,"column":8},"end":{"line":384,"column":29}},"123":{"start":{"line":385,"column":8},"end":{"line":385,"column":32}},"124":{"start":{"line":386,"column":8},"end":{"line":417,"column":27}},"125":{"start":{"line":419,"column":8},"end":{"line":428,"column":9}},"126":{"start":{"line":421,"column":12},"end":{"line":421,"column":33}},"127":{"start":{"line":422,"column":12},"end":{"line":422,"column":42}},"128":{"start":{"line":423,"column":12},"end":{"line":427,"column":13}},"129":{"start":{"line":425,"column":16},"end":{"line":425,"column":55}},"130":{"start":{"line":426,"column":16},"end":{"line":426,"column":68}},"131":{"start":{"line":429,"column":8},"end":{"line":439,"column":9}},"132":{"start":{"line":431,"column":12},"end":{"line":431,"column":34}},"133":{"start":{"line":432,"column":12},"end":{"line":432,"column":43}},"134":{"start":{"line":433,"column":12},"end":{"line":433,"column":18}},"135":{"start":{"line":434,"column":12},"end":{"line":438,"column":13}},"136":{"start":{"line":436,"column":16},"end":{"line":436,"column":70}},"137":{"start":{"line":437,"column":16},"end":{"line":437,"column":61}},"138":{"start":{"line":440,"column":8},"end":{"line":449,"column":9}},"139":{"start":{"line":442,"column":12},"end":{"line":442,"column":32}},"140":{"start":{"line":443,"column":12},"end":{"line":443,"column":41}},"141":{"start":{"line":444,"column":12},"end":{"line":448,"column":13}},"142":{"start":{"line":446,"column":16},"end":{"line":446,"column":54}},"143":{"start":{"line":447,"column":16},"end":{"line":447,"column":68}},"144":{"start":{"line":450,"column":8},"end":{"line":459,"column":9}},"145":{"start":{"line":452,"column":12},"end":{"line":452,"column":35}},"146":{"start":{"line":453,"column":12},"end":{"line":453,"column":44}},"147":{"start":{"line":454,"column":12},"end":{"line":458,"column":13}},"148":{"start":{"line":456,"column":16},"end":{"line":456,"column":74}},"149":{"start":{"line":457,"column":16},"end":{"line":457,"column":64}},"150":{"start":{"line":461,"column":8},"end":{"line":461,"column":58}},"151":{"start":{"line":462,"column":8},"end":{"line":462,"column":61}},"152":{"start":{"line":463,"column":8},"end":{"line":463,"column":39}},"153":{"start":{"line":464,"column":8},"end":{"line":464,"column":38}},"154":{"start":{"line":465,"column":8},"end":{"line":465,"column":48}},"155":{"start":{"line":466,"column":8},"end":{"line":466,"column":45}},"156":{"start":{"line":467,"column":8},"end":{"line":533,"column":9}},"157":{"start":{"line":469,"column":12},"end":{"line":469,"column":88}},"158":{"start":{"line":470,"column":12},"end":{"line":470,"column":94}},"159":{"start":{"line":471,"column":12},"end":{"line":471,"column":90}},"160":{"start":{"line":472,"column":12},"end":{"line":472,"column":92}},"161":{"start":{"line":474,"column":12},"end":{"line":474,"column":47}},"162":{"start":{"line":475,"column":12},"end":{"line":487,"column":13}},"163":{"start":{"line":477,"column":16},"end":{"line":477,"column":44}},"164":{"start":{"line":478,"column":16},"end":{"line":486,"column":17}},"165":{"start":{"line":480,"column":20},"end":{"line":480,"column":26}},"166":{"start":{"line":481,"column":20},"end":{"line":481,"column":46}},"167":{"start":{"line":482,"column":20},"end":{"line":485,"column":21}},"168":{"start":{"line":484,"column":24},"end":{"line":484,"column":50}},"169":{"start":{"line":489,"column":12},"end":{"line":489,"column":53}},"170":{"start":{"line":490,"column":12},"end":{"line":502,"column":13}},"171":{"start":{"line":492,"column":16},"end":{"line":492,"column":54}},"172":{"start":{"line":493,"column":16},"end":{"line":501,"column":17}},"173":{"start":{"line":495,"column":20},"end":{"line":495,"column":26}},"174":{"start":{"line":496,"column":20},"end":{"line":496,"column":49}},"175":{"start":{"line":497,"column":20},"end":{"line":500,"column":21}},"176":{"start":{"line":499,"column":24},"end":{"line":499,"column":53}},"177":{"start":{"line":504,"column":12},"end":{"line":504,"column":48}},"178":{"start":{"line":505,"column":12},"end":{"line":517,"column":13}},"179":{"start":{"line":507,"column":16},"end":{"line":507,"column":46}},"180":{"start":{"line":508,"column":16},"end":{"line":516,"column":17}},"181":{"start":{"line":510,"column":20},"end":{"line":510,"column":26}},"182":{"start":{"line":511,"column":20},"end":{"line":511,"column":47}},"183":{"start":{"line":512,"column":20},"end":{"line":515,"column":21}},"184":{"start":{"line":514,"column":24},"end":{"line":514,"column":51}},"185":{"start":{"line":519,"column":12},"end":{"line":519,"column":50}},"186":{"start":{"line":520,"column":12},"end":{"line":532,"column":13}},"187":{"start":{"line":522,"column":16},"end":{"line":522,"column":52}},"188":{"start":{"line":523,"column":16},"end":{"line":531,"column":17}},"189":{"start":{"line":525,"column":20},"end":{"line":525,"column":26}},"190":{"start":{"line":526,"column":20},"end":{"line":526,"column":48}},"191":{"start":{"line":527,"column":20},"end":{"line":530,"column":21}},"192":{"start":{"line":529,"column":24},"end":{"line":529,"column":52}},"193":{"start":{"line":534,"column":8},"end":{"line":534,"column":54}},"194":{"start":{"line":535,"column":8},"end":{"line":535,"column":55}},"195":{"start":{"line":536,"column":8},"end":{"line":536,"column":32}},"196":{"start":{"line":537,"column":8},"end":{"line":537,"column":31}},"197":{"start":{"line":538,"column":8},"end":{"line":562,"column":9}},"198":{"start":{"line":540,"column":12},"end":{"line":561,"column":13}},"199":{"start":{"line":542,"column":16},"end":{"line":560,"column":17}},"200":{"start":{"line":545,"column":24},"end":{"line":545,"column":48}},"201":{"start":{"line":546,"column":24},"end":{"line":546,"column":58}},"202":{"start":{"line":547,"column":20},"end":{"line":547,"column":26}},"203":{"start":{"line":549,"column":24},"end":{"line":549,"column":48}},"204":{"start":{"line":550,"column":24},"end":{"line":550,"column":56}},"205":{"start":{"line":551,"column":20},"end":{"line":551,"column":26}},"206":{"start":{"line":553,"column":24},"end":{"line":553,"column":48}},"207":{"start":{"line":554,"column":24},"end":{"line":554,"column":56}},"208":{"start":{"line":555,"column":20},"end":{"line":555,"column":26}},"209":{"start":{"line":557,"column":24},"end":{"line":557,"column":48}},"210":{"start":{"line":558,"column":24},"end":{"line":558,"column":58}},"211":{"start":{"line":559,"column":20},"end":{"line":559,"column":26}},"212":{"start":{"line":563,"column":8},"end":{"line":581,"column":9}},"213":{"start":{"line":565,"column":12},"end":{"line":565,"column":41}},"214":{"start":{"line":566,"column":12},"end":{"line":566,"column":18}},"215":{"start":{"line":567,"column":12},"end":{"line":576,"column":13}},"216":{"start":{"line":569,"column":16},"end":{"line":569,"column":44}},"217":{"start":{"line":570,"column":16},"end":{"line":573,"column":17}},"218":{"start":{"line":572,"column":20},"end":{"line":572,"column":50}},"219":{"start":{"line":574,"column":16},"end":{"line":574,"column":70}},"220":{"start":{"line":575,"column":16},"end":{"line":575,"column":80}},"221":{"start":{"line":577,"column":12},"end":{"line":580,"column":13}},"222":{"start":{"line":579,"column":16},"end":{"line":579,"column":41}},"223":{"start":{"line":582,"column":8},"end":{"line":600,"column":9}},"224":{"start":{"line":584,"column":12},"end":{"line":584,"column":44}},"225":{"start":{"line":585,"column":12},"end":{"line":585,"column":18}},"226":{"start":{"line":586,"column":12},"end":{"line":595,"column":13}},"227":{"start":{"line":588,"column":16},"end":{"line":588,"column":47}},"228":{"start":{"line":589,"column":16},"end":{"line":592,"column":17}},"229":{"start":{"line":591,"column":20},"end":{"line":591,"column":50}},"230":{"start":{"line":593,"column":16},"end":{"line":593,"column":70}},"231":{"start":{"line":594,"column":16},"end":{"line":594,"column":83}},"232":{"start":{"line":596,"column":12},"end":{"line":599,"column":13}},"233":{"start":{"line":598,"column":16},"end":{"line":598,"column":41}},"234":{"start":{"line":601,"column":8},"end":{"line":619,"column":9}},"235":{"start":{"line":603,"column":12},"end":{"line":603,"column":42}},"236":{"start":{"line":604,"column":12},"end":{"line":604,"column":18}},"237":{"start":{"line":605,"column":12},"end":{"line":614,"column":13}},"238":{"start":{"line":607,"column":16},"end":{"line":607,"column":45}},"239":{"start":{"line":608,"column":16},"end":{"line":608,"column":69}},"240":{"start":{"line":609,"column":16},"end":{"line":609,"column":82}},"241":{"start":{"line":610,"column":16},"end":{"line":613,"column":17}},"242":{"start":{"line":612,"column":20},"end":{"line":612,"column":52}},"243":{"start":{"line":615,"column":12},"end":{"line":618,"column":13}},"244":{"start":{"line":617,"column":16},"end":{"line":617,"column":41}},"245":{"start":{"line":620,"column":8},"end":{"line":638,"column":9}},"246":{"start":{"line":622,"column":12},"end":{"line":622,"column":43}},"247":{"start":{"line":623,"column":12},"end":{"line":623,"column":18}},"248":{"start":{"line":624,"column":12},"end":{"line":633,"column":13}},"249":{"start":{"line":626,"column":16},"end":{"line":626,"column":46}},"250":{"start":{"line":627,"column":16},"end":{"line":627,"column":69}},"251":{"start":{"line":628,"column":16},"end":{"line":628,"column":83}},"252":{"start":{"line":629,"column":16},"end":{"line":632,"column":17}},"253":{"start":{"line":631,"column":20},"end":{"line":631,"column":52}},"254":{"start":{"line":634,"column":12},"end":{"line":637,"column":13}},"255":{"start":{"line":636,"column":16},"end":{"line":636,"column":41}},"256":{"start":{"line":639,"column":8},"end":{"line":639,"column":30}},"257":{"start":{"line":640,"column":8},"end":{"line":644,"column":9}},"258":{"start":{"line":642,"column":12},"end":{"line":642,"column":27}},"259":{"start":{"line":643,"column":12},"end":{"line":643,"column":19}},"260":{"start":{"line":645,"column":8},"end":{"line":652,"column":9}},"261":{"start":{"line":647,"column":12},"end":{"line":647,"column":67}},"262":{"start":{"line":648,"column":12},"end":{"line":648,"column":66}},"263":{"start":{"line":649,"column":12},"end":{"line":649,"column":43}},"264":{"start":{"line":650,"column":12},"end":{"line":650,"column":45}},"265":{"start":{"line":651,"column":12},"end":{"line":651,"column":73}},"266":{"start":{"line":654,"column":8},"end":{"line":660,"column":9}},"267":{"start":{"line":656,"column":12},"end":{"line":656,"column":56}},"268":{"start":{"line":657,"column":12},"end":{"line":657,"column":55}},"269":{"start":{"line":658,"column":12},"end":{"line":658,"column":61}},"270":{"start":{"line":659,"column":12},"end":{"line":659,"column":63}},"271":{"start":{"line":673,"column":8},"end":{"line":686,"column":16}},"272":{"start":{"line":687,"column":8},"end":{"line":713,"column":9}},"273":{"start":{"line":689,"column":12},"end":{"line":689,"column":43}},"274":{"start":{"line":690,"column":12},"end":{"line":690,"column":44}},"275":{"start":{"line":691,"column":12},"end":{"line":712,"column":13}},"276":{"start":{"line":693,"column":16},"end":{"line":693,"column":52}},"277":{"start":{"line":694,"column":16},"end":{"line":694,"column":70}},"278":{"start":{"line":695,"column":16},"end":{"line":695,"column":45}},"279":{"start":{"line":696,"column":16},"end":{"line":696,"column":43}},"280":{"start":{"line":697,"column":16},"end":{"line":711,"column":17}},"281":{"start":{"line":700,"column":24},"end":{"line":700,"column":42}},"282":{"start":{"line":701,"column":20},"end":{"line":701,"column":26}},"283":{"start":{"line":703,"column":24},"end":{"line":703,"column":49}},"284":{"start":{"line":704,"column":20},"end":{"line":704,"column":26}},"285":{"start":{"line":706,"column":24},"end":{"line":706,"column":49}},"286":{"start":{"line":707,"column":20},"end":{"line":707,"column":26}},"287":{"start":{"line":709,"column":24},"end":{"line":709,"column":42}},"288":{"start":{"line":710,"column":20},"end":{"line":710,"column":26}},"289":{"start":{"line":714,"column":8},"end":{"line":714,"column":19}},"290":{"start":{"line":726,"column":8},"end":{"line":726,"column":40}},"291":{"start":{"line":727,"column":8},"end":{"line":730,"column":9}},"292":{"start":{"line":729,"column":12},"end":{"line":729,"column":33}},"293":{"start":{"line":738,"column":0},"end":{"line":738,"column":40}},"294":{"start":{"line":740,"column":0},"end":{"line":871,"column":3}},"295":{"start":{"line":749,"column":8},"end":{"line":753,"column":9}},"296":{"start":{"line":751,"column":12},"end":{"line":751,"column":35}},"297":{"start":{"line":752,"column":12},"end":{"line":752,"column":19}},"298":{"start":{"line":754,"column":8},"end":{"line":754,"column":29}},"299":{"start":{"line":755,"column":8},"end":{"line":755,"column":32}},"300":{"start":{"line":756,"column":8},"end":{"line":771,"column":22}},"301":{"start":{"line":772,"column":8},"end":{"line":843,"column":9}},"302":{"start":{"line":774,"column":12},"end":{"line":842,"column":13}},"303":{"start":{"line":776,"column":16},"end":{"line":776,"column":50}},"304":{"start":{"line":777,"column":16},"end":{"line":777,"column":52}},"305":{"start":{"line":778,"column":16},"end":{"line":778,"column":48}},"306":{"start":{"line":779,"column":16},"end":{"line":779,"column":50}},"307":{"start":{"line":780,"column":16},"end":{"line":780,"column":50}},"308":{"start":{"line":781,"column":16},"end":{"line":781,"column":52}},"309":{"start":{"line":782,"column":16},"end":{"line":782,"column":47}},"310":{"start":{"line":784,"column":16},"end":{"line":834,"column":17}},"311":{"start":{"line":787,"column":20},"end":{"line":813,"column":21}},"312":{"start":{"line":790,"column":28},"end":{"line":790,"column":77}},"313":{"start":{"line":791,"column":28},"end":{"line":791,"column":45}},"314":{"start":{"line":792,"column":28},"end":{"line":792,"column":50}},"315":{"start":{"line":793,"column":28},"end":{"line":793,"column":61}},"316":{"start":{"line":794,"column":24},"end":{"line":794,"column":30}},"317":{"start":{"line":796,"column":28},"end":{"line":796,"column":78}},"318":{"start":{"line":797,"column":28},"end":{"line":797,"column":44}},"319":{"start":{"line":798,"column":28},"end":{"line":798,"column":51}},"320":{"start":{"line":799,"column":28},"end":{"line":799,"column":59}},"321":{"start":{"line":800,"column":24},"end":{"line":800,"column":30}},"322":{"start":{"line":802,"column":28},"end":{"line":802,"column":77}},"323":{"start":{"line":803,"column":28},"end":{"line":803,"column":45}},"324":{"start":{"line":804,"column":28},"end":{"line":804,"column":54}},"325":{"start":{"line":805,"column":28},"end":{"line":805,"column":61}},"326":{"start":{"line":806,"column":24},"end":{"line":806,"column":30}},"327":{"start":{"line":808,"column":28},"end":{"line":808,"column":78}},"328":{"start":{"line":809,"column":28},"end":{"line":809,"column":44}},"329":{"start":{"line":810,"column":28},"end":{"line":810,"column":54}},"330":{"start":{"line":811,"column":28},"end":{"line":811,"column":59}},"331":{"start":{"line":812,"column":24},"end":{"line":812,"column":30}},"332":{"start":{"line":814,"column":20},"end":{"line":814,"column":48}},"333":{"start":{"line":815,"column":20},"end":{"line":815,"column":49}},"334":{"start":{"line":819,"column":20},"end":{"line":833,"column":21}},"335":{"start":{"line":822,"column":28},"end":{"line":822,"column":50}},"336":{"start":{"line":823,"column":24},"end":{"line":823,"column":30}},"337":{"start":{"line":825,"column":28},"end":{"line":825,"column":51}},"338":{"start":{"line":826,"column":24},"end":{"line":826,"column":30}},"339":{"start":{"line":828,"column":28},"end":{"line":828,"column":55}},"340":{"start":{"line":829,"column":24},"end":{"line":829,"column":30}},"341":{"start":{"line":831,"column":28},"end":{"line":831,"column":56}},"342":{"start":{"line":832,"column":24},"end":{"line":832,"column":30}},"343":{"start":{"line":838,"column":16},"end":{"line":838,"column":33}},"344":{"start":{"line":839,"column":16},"end":{"line":839,"column":33}},"345":{"start":{"line":840,"column":16},"end":{"line":840,"column":36}},"346":{"start":{"line":841,"column":16},"end":{"line":841,"column":37}},"347":{"start":{"line":844,"column":8},"end":{"line":844,"column":30}},"348":{"start":{"line":845,"column":8},"end":{"line":849,"column":9}},"349":{"start":{"line":847,"column":12},"end":{"line":847,"column":27}},"350":{"start":{"line":848,"column":12},"end":{"line":848,"column":19}},"351":{"start":{"line":850,"column":8},"end":{"line":854,"column":9}},"352":{"start":{"line":852,"column":12},"end":{"line":852,"column":29}},"353":{"start":{"line":853,"column":12},"end":{"line":853,"column":29}},"354":{"start":{"line":855,"column":8},"end":{"line":859,"column":9}},"355":{"start":{"line":857,"column":12},"end":{"line":857,"column":36}},"356":{"start":{"line":858,"column":12},"end":{"line":858,"column":36}},"357":{"start":{"line":872,"column":0},"end":{"line":872,"column":28}},"358":{"start":{"line":881,"column":0},"end":{"line":1701,"column":3}},"359":{"start":{"line":890,"column":8},"end":{"line":890,"column":25}},"360":{"start":{"line":899,"column":8},"end":{"line":906,"column":15}},"361":{"start":{"line":907,"column":8},"end":{"line":907,"column":40}},"362":{"start":{"line":908,"column":8},"end":{"line":908,"column":44}},"363":{"start":{"line":909,"column":8},"end":{"line":909,"column":43}},"364":{"start":{"line":918,"column":8},"end":{"line":918,"column":93}},"365":{"start":{"line":919,"column":8},"end":{"line":919,"column":83}},"366":{"start":{"line":920,"column":8},"end":{"line":920,"column":56}},"367":{"start":{"line":921,"column":8},"end":{"line":921,"column":66}},"368":{"start":{"line":922,"column":8},"end":{"line":922,"column":58}},"369":{"start":{"line":923,"column":8},"end":{"line":923,"column":59}},"370":{"start":{"line":932,"column":8},"end":{"line":933,"column":35}},"371":{"start":{"line":934,"column":8},"end":{"line":937,"column":9}},"372":{"start":{"line":936,"column":12},"end":{"line":936,"column":31}},"373":{"start":{"line":949,"column":8},"end":{"line":952,"column":9}},"374":{"start":{"line":951,"column":12},"end":{"line":951,"column":31}},"375":{"start":{"line":964,"column":8},"end":{"line":965,"column":42}},"376":{"start":{"line":966,"column":8},"end":{"line":973,"column":9}},"377":{"start":{"line":968,"column":12},"end":{"line":968,"column":40}},"378":{"start":{"line":970,"column":13},"end":{"line":973,"column":9}},"379":{"start":{"line":972,"column":12},"end":{"line":972,"column":31}},"380":{"start":{"line":985,"column":8},"end":{"line":988,"column":48}},"381":{"start":{"line":989,"column":8},"end":{"line":992,"column":9}},"382":{"start":{"line":991,"column":12},"end":{"line":991,"column":31}},"383":{"start":{"line":1003,"column":8},"end":{"line":1007,"column":9}},"384":{"start":{"line":1005,"column":12},"end":{"line":1005,"column":35}},"385":{"start":{"line":1006,"column":12},"end":{"line":1006,"column":19}},"386":{"start":{"line":1008,"column":8},"end":{"line":1008,"column":29}},"387":{"start":{"line":1009,"column":8},"end":{"line":1009,"column":32}},"388":{"start":{"line":1010,"column":8},"end":{"line":1013,"column":9}},"389":{"start":{"line":1012,"column":12},"end":{"line":1012,"column":61}},"390":{"start":{"line":1014,"column":8},"end":{"line":1050,"column":23}},"391":{"start":{"line":1051,"column":8},"end":{"line":1054,"column":9}},"392":{"start":{"line":1053,"column":12},"end":{"line":1053,"column":39}},"393":{"start":{"line":1055,"column":8},"end":{"line":1055,"column":35}},"394":{"start":{"line":1056,"column":8},"end":{"line":1124,"column":9}},"395":{"start":{"line":1058,"column":12},"end":{"line":1058,"column":41}},"396":{"start":{"line":1059,"column":12},"end":{"line":1059,"column":93}},"397":{"start":{"line":1060,"column":12},"end":{"line":1060,"column":55}},"398":{"start":{"line":1061,"column":12},"end":{"line":1061,"column":50}},"399":{"start":{"line":1062,"column":12},"end":{"line":1062,"column":54}},"400":{"start":{"line":1063,"column":12},"end":{"line":1063,"column":54}},"401":{"start":{"line":1064,"column":12},"end":{"line":1064,"column":18}},"402":{"start":{"line":1065,"column":12},"end":{"line":1065,"column":37}},"403":{"start":{"line":1066,"column":12},"end":{"line":1066,"column":44}},"404":{"start":{"line":1067,"column":12},"end":{"line":1067,"column":44}},"405":{"start":{"line":1068,"column":12},"end":{"line":1087,"column":13}},"406":{"start":{"line":1070,"column":16},"end":{"line":1070,"column":51}},"407":{"start":{"line":1071,"column":16},"end":{"line":1073,"column":18}},"408":{"start":{"line":1074,"column":16},"end":{"line":1077,"column":18}},"409":{"start":{"line":1078,"column":16},"end":{"line":1078,"column":77}},"410":{"start":{"line":1079,"column":16},"end":{"line":1079,"column":144}},"411":{"start":{"line":1080,"column":16},"end":{"line":1080,"column":39}},"412":{"start":{"line":1081,"column":16},"end":{"line":1081,"column":41}},"413":{"start":{"line":1082,"column":16},"end":{"line":1082,"column":57}},"414":{"start":{"line":1083,"column":16},"end":{"line":1083,"column":60}},"415":{"start":{"line":1084,"column":16},"end":{"line":1084,"column":51}},"416":{"start":{"line":1085,"column":16},"end":{"line":1085,"column":53}},"417":{"start":{"line":1086,"column":16},"end":{"line":1086,"column":33}},"418":{"start":{"line":1091,"column":12},"end":{"line":1091,"column":18}},"419":{"start":{"line":1092,"column":12},"end":{"line":1092,"column":42}},"420":{"start":{"line":1093,"column":12},"end":{"line":1123,"column":13}},"421":{"start":{"line":1095,"column":16},"end":{"line":1095,"column":45}},"422":{"start":{"line":1096,"column":16},"end":{"line":1096,"column":74}},"423":{"start":{"line":1097,"column":16},"end":{"line":1104,"column":17}},"424":{"start":{"line":1099,"column":20},"end":{"line":1099,"column":47}},"425":{"start":{"line":1100,"column":20},"end":{"line":1103,"column":21}},"426":{"start":{"line":1102,"column":24},"end":{"line":1102,"column":41}},"427":{"start":{"line":1105,"column":16},"end":{"line":1105,"column":70}},"428":{"start":{"line":1106,"column":16},"end":{"line":1115,"column":18}},"429":{"start":{"line":1116,"column":16},"end":{"line":1116,"column":39}},"430":{"start":{"line":1117,"column":16},"end":{"line":1117,"column":41}},"431":{"start":{"line":1118,"column":16},"end":{"line":1118,"column":57}},"432":{"start":{"line":1119,"column":16},"end":{"line":1119,"column":60}},"433":{"start":{"line":1120,"column":16},"end":{"line":1120,"column":51}},"434":{"start":{"line":1121,"column":16},"end":{"line":1121,"column":53}},"435":{"start":{"line":1122,"column":16},"end":{"line":1122,"column":33}},"436":{"start":{"line":1125,"column":8},"end":{"line":1125,"column":30}},"437":{"start":{"line":1126,"column":8},"end":{"line":1138,"column":9}},"438":{"start":{"line":1128,"column":12},"end":{"line":1128,"column":31}},"439":{"start":{"line":1132,"column":12},"end":{"line":1135,"column":14}},"440":{"start":{"line":1136,"column":12},"end":{"line":1136,"column":43}},"441":{"start":{"line":1137,"column":12},"end":{"line":1137,"column":40}},"442":{"start":{"line":1150,"column":8},"end":{"line":1156,"column":56}},"443":{"start":{"line":1157,"column":8},"end":{"line":1164,"column":11}},"444":{"start":{"line":1177,"column":8},"end":{"line":1178,"column":18}},"445":{"start":{"line":1179,"column":8},"end":{"line":1222,"column":9}},"446":{"start":{"line":1181,"column":12},"end":{"line":1181,"column":47}},"447":{"start":{"line":1182,"column":12},"end":{"line":1182,"column":94}},"448":{"start":{"line":1183,"column":12},"end":{"line":1191,"column":14}},"449":{"start":{"line":1193,"column":13},"end":{"line":1222,"column":9}},"450":{"start":{"line":1195,"column":12},"end":{"line":1195,"column":47}},"451":{"start":{"line":1196,"column":12},"end":{"line":1196,"column":95}},"452":{"start":{"line":1197,"column":12},"end":{"line":1205,"column":14}},"453":{"start":{"line":1209,"column":12},"end":{"line":1209,"column":49}},"454":{"start":{"line":1210,"column":12},"end":{"line":1221,"column":14}},"455":{"start":{"line":1248,"column":8},"end":{"line":1255,"column":36}},"456":{"start":{"line":1256,"column":8},"end":{"line":1256,"column":53}},"457":{"start":{"line":1257,"column":8},"end":{"line":1257,"column":49}},"458":{"start":{"line":1258,"column":8},"end":{"line":1258,"column":41}},"459":{"start":{"line":1259,"column":8},"end":{"line":1259,"column":61}},"460":{"start":{"line":1260,"column":8},"end":{"line":1260,"column":45}},"461":{"start":{"line":1261,"column":8},"end":{"line":1261,"column":40}},"462":{"start":{"line":1262,"column":8},"end":{"line":1262,"column":50}},"463":{"start":{"line":1263,"column":8},"end":{"line":1263,"column":32}},"464":{"start":{"line":1264,"column":8},"end":{"line":1264,"column":31}},"465":{"start":{"line":1265,"column":8},"end":{"line":1265,"column":46}},"466":{"start":{"line":1266,"column":8},"end":{"line":1266,"column":57}},"467":{"start":{"line":1267,"column":8},"end":{"line":1267,"column":84}},"468":{"start":{"line":1268,"column":8},"end":{"line":1278,"column":11}},"469":{"start":{"line":1279,"column":8},"end":{"line":1279,"column":51}},"470":{"start":{"line":1280,"column":8},"end":{"line":1287,"column":10}},"471":{"start":{"line":1288,"column":8},"end":{"line":1288,"column":31}},"472":{"start":{"line":1289,"column":8},"end":{"line":1289,"column":20}},"473":{"start":{"line":1301,"column":8},"end":{"line":1301,"column":60}},"474":{"start":{"line":1302,"column":8},"end":{"line":1302,"column":64}},"475":{"start":{"line":1314,"column":8},"end":{"line":1344,"column":10}},"476":{"start":{"line":1345,"column":8},"end":{"line":1345,"column":22}},"477":{"start":{"line":1358,"column":8},"end":{"line":1361,"column":10}},"478":{"start":{"line":1362,"column":8},"end":{"line":1362,"column":20}},"479":{"start":{"line":1373,"column":8},"end":{"line":1373,"column":17}},"480":{"start":{"line":1374,"column":8},"end":{"line":1385,"column":9}},"481":{"start":{"line":1376,"column":12},"end":{"line":1384,"column":13}},"482":{"start":{"line":1378,"column":16},"end":{"line":1378,"column":43}},"483":{"start":{"line":1379,"column":16},"end":{"line":1379,"column":52}},"484":{"start":{"line":1380,"column":16},"end":{"line":1380,"column":34}},"485":{"start":{"line":1381,"column":16},"end":{"line":1381,"column":40}},"486":{"start":{"line":1382,"column":16},"end":{"line":1382,"column":33}},"487":{"start":{"line":1383,"column":16},"end":{"line":1383,"column":28}},"488":{"start":{"line":1386,"column":8},"end":{"line":1386,"column":25}},"489":{"start":{"line":1408,"column":8},"end":{"line":1409,"column":30}},"490":{"start":{"line":1410,"column":8},"end":{"line":1410,"column":35}},"491":{"start":{"line":1411,"column":8},"end":{"line":1422,"column":9}},"492":{"start":{"line":1413,"column":12},"end":{"line":1413,"column":58}},"493":{"start":{"line":1414,"column":12},"end":{"line":1421,"column":13}},"494":{"start":{"line":1416,"column":16},"end":{"line":1416,"column":44}},"495":{"start":{"line":1420,"column":16},"end":{"line":1420,"column":37}},"496":{"start":{"line":1447,"column":16},"end":{"line":1447,"column":77}},"497":{"start":{"line":1448,"column":16},"end":{"line":1448,"column":27}},"498":{"start":{"line":1478,"column":16},"end":{"line":1485,"column":17}},"499":{"start":{"line":1480,"column":20},"end":{"line":1480,"column":54}},"500":{"start":{"line":1482,"column":21},"end":{"line":1485,"column":17}},"501":{"start":{"line":1484,"column":20},"end":{"line":1484,"column":52}},"502":{"start":{"line":1486,"column":16},"end":{"line":1486,"column":27}},"503":{"start":{"line":1505,"column":16},"end":{"line":1506,"column":50}},"504":{"start":{"line":1507,"column":16},"end":{"line":1521,"column":17}},"505":{"start":{"line":1509,"column":20},"end":{"line":1520,"column":21}},"506":{"start":{"line":1511,"column":24},"end":{"line":1514,"column":25}},"507":{"start":{"line":1513,"column":28},"end":{"line":1513,"column":44}},"508":{"start":{"line":1515,"column":24},"end":{"line":1515,"column":43}},"509":{"start":{"line":1519,"column":24},"end":{"line":1519,"column":61}},"510":{"start":{"line":1522,"column":16},"end":{"line":1522,"column":26}},"511":{"start":{"line":1527,"column":16},"end":{"line":1527,"column":34}},"512":{"start":{"line":1528,"column":16},"end":{"line":1528,"column":27}},"513":{"start":{"line":1549,"column":16},"end":{"line":1550,"column":50}},"514":{"start":{"line":1551,"column":16},"end":{"line":1565,"column":17}},"515":{"start":{"line":1553,"column":20},"end":{"line":1564,"column":21}},"516":{"start":{"line":1555,"column":24},"end":{"line":1558,"column":25}},"517":{"start":{"line":1557,"column":28},"end":{"line":1557,"column":45}},"518":{"start":{"line":1559,"column":24},"end":{"line":1559,"column":44}},"519":{"start":{"line":1563,"column":24},"end":{"line":1563,"column":62}},"520":{"start":{"line":1566,"column":16},"end":{"line":1566,"column":26}},"521":{"start":{"line":1571,"column":16},"end":{"line":1571,"column":35}},"522":{"start":{"line":1572,"column":16},"end":{"line":1572,"column":27}},"523":{"start":{"line":1590,"column":16},"end":{"line":1590,"column":51}},"524":{"start":{"line":1591,"column":16},"end":{"line":1594,"column":17}},"525":{"start":{"line":1593,"column":20},"end":{"line":1593,"column":50}},"526":{"start":{"line":1595,"column":16},"end":{"line":1595,"column":27}},"527":{"start":{"line":1613,"column":16},"end":{"line":1613,"column":51}},"528":{"start":{"line":1614,"column":16},"end":{"line":1617,"column":17}},"529":{"start":{"line":1616,"column":20},"end":{"line":1616,"column":49}},"530":{"start":{"line":1618,"column":16},"end":{"line":1618,"column":27}},"531":{"start":{"line":1637,"column":16},"end":{"line":1637,"column":35}}},"branchMap":{"1":{"line":28,"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":8}},{"start":{"line":28,"column":8},"end":{"line":28,"column":8}}]},"2":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":8}},{"start":{"line":32,"column":8},"end":{"line":32,"column":8}}]},"3":{"line":40,"type":"if","locations":[{"start":{"line":40,"column":12},"end":{"line":40,"column":12}},{"start":{"line":40,"column":12},"end":{"line":40,"column":12}}]},"4":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":38},"end":{"line":113,"column":65}},{"start":{"line":113,"column":68},"end":{"line":113,"column":79}}]},"5":{"line":114,"type":"cond-expr","locations":[{"start":{"line":114,"column":36},"end":{"line":114,"column":60}},{"start":{"line":114,"column":63},"end":{"line":114,"column":72}}]},"6":{"line":115,"type":"cond-expr","locations":[{"start":{"line":115,"column":40},"end":{"line":115,"column":80}},{"start":{"line":115,"column":83},"end":{"line":115,"column":106}}]},"7":{"line":116,"type":"cond-expr","locations":[{"start":{"line":116,"column":42},"end":{"line":116,"column":82}},{"start":{"line":116,"column":85},"end":{"line":116,"column":107}}]},"8":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"9":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":12},"end":{"line":159,"column":12}},{"start":{"line":159,"column":12},"end":{"line":159,"column":12}}]},"10":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":16},"end":{"line":167,"column":16}},{"start":{"line":167,"column":16},"end":{"line":167,"column":16}}]},"11":{"line":193,"type":"switch","locations":[{"start":{"line":195,"column":12},"end":{"line":197,"column":18}},{"start":{"line":198,"column":12},"end":{"line":200,"column":18}},{"start":{"line":201,"column":12},"end":{"line":203,"column":18}}]},"12":{"line":273,"type":"cond-expr","locations":[{"start":{"line":273,"column":38},"end":{"line":273,"column":63}},{"start":{"line":273,"column":66},"end":{"line":273,"column":75}}]},"13":{"line":274,"type":"cond-expr","locations":[{"start":{"line":274,"column":36},"end":{"line":274,"column":63}},{"start":{"line":274,"column":66},"end":{"line":274,"column":78}}]},"14":{"line":275,"type":"cond-expr","locations":[{"start":{"line":275,"column":40},"end":{"line":275,"column":78}},{"start":{"line":275,"column":81},"end":{"line":275,"column":102}}]},"15":{"line":276,"type":"cond-expr","locations":[{"start":{"line":276,"column":42},"end":{"line":276,"column":85}},{"start":{"line":276,"column":88},"end":{"line":276,"column":113}}]},"16":{"line":290,"type":"if","locations":[{"start":{"line":290,"column":8},"end":{"line":290,"column":8}},{"start":{"line":290,"column":8},"end":{"line":290,"column":8}}]},"17":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":12},"end":{"line":320,"column":12}},{"start":{"line":320,"column":12},"end":{"line":320,"column":12}}]},"18":{"line":328,"type":"if","locations":[{"start":{"line":328,"column":16},"end":{"line":328,"column":16}},{"start":{"line":328,"column":16},"end":{"line":328,"column":16}}]},"19":{"line":354,"type":"switch","locations":[{"start":{"line":356,"column":12},"end":{"line":358,"column":18}},{"start":{"line":359,"column":12},"end":{"line":361,"column":18}},{"start":{"line":362,"column":12},"end":{"line":364,"column":18}}]},"20":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":8},"end":{"line":379,"column":8}},{"start":{"line":379,"column":8},"end":{"line":379,"column":8}}]},"21":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":8},"end":{"line":419,"column":8}},{"start":{"line":419,"column":8},"end":{"line":419,"column":8}}]},"22":{"line":429,"type":"if","locations":[{"start":{"line":429,"column":8},"end":{"line":429,"column":8}},{"start":{"line":429,"column":8},"end":{"line":429,"column":8}}]},"23":{"line":440,"type":"if","locations":[{"start":{"line":440,"column":8},"end":{"line":440,"column":8}},{"start":{"line":440,"column":8},"end":{"line":440,"column":8}}]},"24":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":8},"end":{"line":450,"column":8}},{"start":{"line":450,"column":8},"end":{"line":450,"column":8}}]},"25":{"line":467,"type":"if","locations":[{"start":{"line":467,"column":8},"end":{"line":467,"column":8}},{"start":{"line":467,"column":8},"end":{"line":467,"column":8}}]},"26":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":12},"end":{"line":475,"column":12}},{"start":{"line":475,"column":12},"end":{"line":475,"column":12}}]},"27":{"line":478,"type":"if","locations":[{"start":{"line":478,"column":16},"end":{"line":478,"column":16}},{"start":{"line":478,"column":16},"end":{"line":478,"column":16}}]},"28":{"line":490,"type":"if","locations":[{"start":{"line":490,"column":12},"end":{"line":490,"column":12}},{"start":{"line":490,"column":12},"end":{"line":490,"column":12}}]},"29":{"line":493,"type":"if","locations":[{"start":{"line":493,"column":16},"end":{"line":493,"column":16}},{"start":{"line":493,"column":16},"end":{"line":493,"column":16}}]},"30":{"line":505,"type":"if","locations":[{"start":{"line":505,"column":12},"end":{"line":505,"column":12}},{"start":{"line":505,"column":12},"end":{"line":505,"column":12}}]},"31":{"line":508,"type":"if","locations":[{"start":{"line":508,"column":16},"end":{"line":508,"column":16}},{"start":{"line":508,"column":16},"end":{"line":508,"column":16}}]},"32":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"33":{"line":523,"type":"if","locations":[{"start":{"line":523,"column":16},"end":{"line":523,"column":16}},{"start":{"line":523,"column":16},"end":{"line":523,"column":16}}]},"34":{"line":538,"type":"if","locations":[{"start":{"line":538,"column":8},"end":{"line":538,"column":8}},{"start":{"line":538,"column":8},"end":{"line":538,"column":8}}]},"35":{"line":540,"type":"if","locations":[{"start":{"line":540,"column":12},"end":{"line":540,"column":12}},{"start":{"line":540,"column":12},"end":{"line":540,"column":12}}]},"36":{"line":542,"type":"switch","locations":[{"start":{"line":544,"column":20},"end":{"line":547,"column":26}},{"start":{"line":548,"column":20},"end":{"line":551,"column":26}},{"start":{"line":552,"column":20},"end":{"line":555,"column":26}},{"start":{"line":556,"column":20},"end":{"line":559,"column":26}}]},"37":{"line":563,"type":"if","locations":[{"start":{"line":563,"column":8},"end":{"line":563,"column":8}},{"start":{"line":563,"column":8},"end":{"line":563,"column":8}}]},"38":{"line":570,"type":"if","locations":[{"start":{"line":570,"column":16},"end":{"line":570,"column":16}},{"start":{"line":570,"column":16},"end":{"line":570,"column":16}}]},"39":{"line":577,"type":"if","locations":[{"start":{"line":577,"column":12},"end":{"line":577,"column":12}},{"start":{"line":577,"column":12},"end":{"line":577,"column":12}}]},"40":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":8},"end":{"line":582,"column":8}},{"start":{"line":582,"column":8},"end":{"line":582,"column":8}}]},"41":{"line":589,"type":"if","locations":[{"start":{"line":589,"column":16},"end":{"line":589,"column":16}},{"start":{"line":589,"column":16},"end":{"line":589,"column":16}}]},"42":{"line":596,"type":"if","locations":[{"start":{"line":596,"column":12},"end":{"line":596,"column":12}},{"start":{"line":596,"column":12},"end":{"line":596,"column":12}}]},"43":{"line":601,"type":"if","locations":[{"start":{"line":601,"column":8},"end":{"line":601,"column":8}},{"start":{"line":601,"column":8},"end":{"line":601,"column":8}}]},"44":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":16},"end":{"line":610,"column":16}},{"start":{"line":610,"column":16},"end":{"line":610,"column":16}}]},"45":{"line":615,"type":"if","locations":[{"start":{"line":615,"column":12},"end":{"line":615,"column":12}},{"start":{"line":615,"column":12},"end":{"line":615,"column":12}}]},"46":{"line":620,"type":"if","locations":[{"start":{"line":620,"column":8},"end":{"line":620,"column":8}},{"start":{"line":620,"column":8},"end":{"line":620,"column":8}}]},"47":{"line":629,"type":"if","locations":[{"start":{"line":629,"column":16},"end":{"line":629,"column":16}},{"start":{"line":629,"column":16},"end":{"line":629,"column":16}}]},"48":{"line":634,"type":"if","locations":[{"start":{"line":634,"column":12},"end":{"line":634,"column":12}},{"start":{"line":634,"column":12},"end":{"line":634,"column":12}}]},"49":{"line":640,"type":"if","locations":[{"start":{"line":640,"column":8},"end":{"line":640,"column":8}},{"start":{"line":640,"column":8},"end":{"line":640,"column":8}}]},"50":{"line":645,"type":"if","locations":[{"start":{"line":645,"column":8},"end":{"line":645,"column":8}},{"start":{"line":645,"column":8},"end":{"line":645,"column":8}}]},"51":{"line":654,"type":"if","locations":[{"start":{"line":654,"column":8},"end":{"line":654,"column":8}},{"start":{"line":654,"column":8},"end":{"line":654,"column":8}}]},"52":{"line":687,"type":"if","locations":[{"start":{"line":687,"column":8},"end":{"line":687,"column":8}},{"start":{"line":687,"column":8},"end":{"line":687,"column":8}}]},"53":{"line":687,"type":"binary-expr","locations":[{"start":{"line":687,"column":11},"end":{"line":687,"column":17}},{"start":{"line":687,"column":21},"end":{"line":687,"column":55}}]},"54":{"line":691,"type":"if","locations":[{"start":{"line":691,"column":12},"end":{"line":691,"column":12}},{"start":{"line":691,"column":12},"end":{"line":691,"column":12}}]},"55":{"line":694,"type":"cond-expr","locations":[{"start":{"line":694,"column":55},"end":{"line":694,"column":61}},{"start":{"line":694,"column":64},"end":{"line":694,"column":69}}]},"56":{"line":697,"type":"switch","locations":[{"start":{"line":699,"column":20},"end":{"line":701,"column":26}},{"start":{"line":702,"column":20},"end":{"line":704,"column":26}},{"start":{"line":705,"column":20},"end":{"line":707,"column":26}},{"start":{"line":708,"column":20},"end":{"line":710,"column":26}}]},"57":{"line":727,"type":"if","locations":[{"start":{"line":727,"column":8},"end":{"line":727,"column":8}},{"start":{"line":727,"column":8},"end":{"line":727,"column":8}}]},"58":{"line":749,"type":"if","locations":[{"start":{"line":749,"column":8},"end":{"line":749,"column":8}},{"start":{"line":749,"column":8},"end":{"line":749,"column":8}}]},"59":{"line":772,"type":"if","locations":[{"start":{"line":772,"column":8},"end":{"line":772,"column":8}},{"start":{"line":772,"column":8},"end":{"line":772,"column":8}}]},"60":{"line":774,"type":"if","locations":[{"start":{"line":774,"column":12},"end":{"line":774,"column":12}},{"start":{"line":774,"column":12},"end":{"line":774,"column":12}}]},"61":{"line":784,"type":"if","locations":[{"start":{"line":784,"column":16},"end":{"line":784,"column":16}},{"start":{"line":784,"column":16},"end":{"line":784,"column":16}}]},"62":{"line":784,"type":"binary-expr","locations":[{"start":{"line":784,"column":20},"end":{"line":784,"column":44}},{"start":{"line":784,"column":49},"end":{"line":784,"column":85}},{"start":{"line":785,"column":21},"end":{"line":785,"column":47}},{"start":{"line":785,"column":53},"end":{"line":785,"column":91}}]},"63":{"line":787,"type":"switch","locations":[{"start":{"line":789,"column":24},"end":{"line":794,"column":30}},{"start":{"line":795,"column":24},"end":{"line":800,"column":30}},{"start":{"line":801,"column":24},"end":{"line":806,"column":30}},{"start":{"line":807,"column":24},"end":{"line":812,"column":30}}]},"64":{"line":819,"type":"switch","locations":[{"start":{"line":821,"column":24},"end":{"line":823,"column":30}},{"start":{"line":824,"column":24},"end":{"line":826,"column":30}},{"start":{"line":827,"column":24},"end":{"line":829,"column":30}},{"start":{"line":830,"column":24},"end":{"line":832,"column":30}}]},"65":{"line":845,"type":"if","locations":[{"start":{"line":845,"column":8},"end":{"line":845,"column":8}},{"start":{"line":845,"column":8},"end":{"line":845,"column":8}}]},"66":{"line":850,"type":"if","locations":[{"start":{"line":850,"column":8},"end":{"line":850,"column":8}},{"start":{"line":850,"column":8},"end":{"line":850,"column":8}}]},"67":{"line":855,"type":"if","locations":[{"start":{"line":855,"column":8},"end":{"line":855,"column":8}},{"start":{"line":855,"column":8},"end":{"line":855,"column":8}}]},"68":{"line":934,"type":"if","locations":[{"start":{"line":934,"column":8},"end":{"line":934,"column":8}},{"start":{"line":934,"column":8},"end":{"line":934,"column":8}}]},"69":{"line":934,"type":"binary-expr","locations":[{"start":{"line":934,"column":11},"end":{"line":934,"column":22}},{"start":{"line":934,"column":26},"end":{"line":934,"column":37}},{"start":{"line":934,"column":41},"end":{"line":934,"column":46}},{"start":{"line":934,"column":50},"end":{"line":934,"column":55}}]},"70":{"line":949,"type":"if","locations":[{"start":{"line":949,"column":8},"end":{"line":949,"column":8}},{"start":{"line":949,"column":8},"end":{"line":949,"column":8}}]},"71":{"line":966,"type":"if","locations":[{"start":{"line":966,"column":8},"end":{"line":966,"column":8}},{"start":{"line":966,"column":8},"end":{"line":966,"column":8}}]},"72":{"line":966,"type":"binary-expr","locations":[{"start":{"line":966,"column":11},"end":{"line":966,"column":21}},{"start":{"line":966,"column":27},"end":{"line":966,"column":32}},{"start":{"line":966,"column":36},"end":{"line":966,"column":68}}]},"73":{"line":970,"type":"if","locations":[{"start":{"line":970,"column":13},"end":{"line":970,"column":13}},{"start":{"line":970,"column":13},"end":{"line":970,"column":13}}]},"74":{"line":987,"type":"binary-expr","locations":[{"start":{"line":987,"column":19},"end":{"line":987,"column":31}},{"start":{"line":987,"column":35},"end":{"line":987,"column":48}}]},"75":{"line":988,"type":"binary-expr","locations":[{"start":{"line":988,"column":18},"end":{"line":988,"column":32}},{"start":{"line":988,"column":36},"end":{"line":988,"column":47}}]},"76":{"line":989,"type":"if","locations":[{"start":{"line":989,"column":8},"end":{"line":989,"column":8}},{"start":{"line":989,"column":8},"end":{"line":989,"column":8}}]},"77":{"line":989,"type":"binary-expr","locations":[{"start":{"line":989,"column":12},"end":{"line":989,"column":15}},{"start":{"line":989,"column":19},"end":{"line":989,"column":37}},{"start":{"line":989,"column":43},"end":{"line":989,"column":47}},{"start":{"line":989,"column":51},"end":{"line":989,"column":70}}]},"78":{"line":1003,"type":"if","locations":[{"start":{"line":1003,"column":8},"end":{"line":1003,"column":8}},{"start":{"line":1003,"column":8},"end":{"line":1003,"column":8}}]},"79":{"line":1010,"type":"if","locations":[{"start":{"line":1010,"column":8},"end":{"line":1010,"column":8}},{"start":{"line":1010,"column":8},"end":{"line":1010,"column":8}}]},"80":{"line":1025,"type":"cond-expr","locations":[{"start":{"line":1025,"column":47},"end":{"line":1025,"column":60}},{"start":{"line":1025,"column":63},"end":{"line":1025,"column":76}}]},"81":{"line":1051,"type":"if","locations":[{"start":{"line":1051,"column":8},"end":{"line":1051,"column":8}},{"start":{"line":1051,"column":8},"end":{"line":1051,"column":8}}]},"82":{"line":1051,"type":"binary-expr","locations":[{"start":{"line":1051,"column":11},"end":{"line":1051,"column":17}},{"start":{"line":1051,"column":21},"end":{"line":1051,"column":33}}]},"83":{"line":1056,"type":"if","locations":[{"start":{"line":1056,"column":8},"end":{"line":1056,"column":8}},{"start":{"line":1056,"column":8},"end":{"line":1056,"column":8}}]},"84":{"line":1066,"type":"binary-expr","locations":[{"start":{"line":1066,"column":20},"end":{"line":1066,"column":31}},{"start":{"line":1066,"column":35},"end":{"line":1066,"column":43}}]},"85":{"line":1070,"type":"cond-expr","locations":[{"start":{"line":1070,"column":34},"end":{"line":1070,"column":42}},{"start":{"line":1070,"column":45},"end":{"line":1070,"column":50}}]},"86":{"line":1097,"type":"if","locations":[{"start":{"line":1097,"column":16},"end":{"line":1097,"column":16}},{"start":{"line":1097,"column":16},"end":{"line":1097,"column":16}}]},"87":{"line":1100,"type":"if","locations":[{"start":{"line":1100,"column":20},"end":{"line":1100,"column":20}},{"start":{"line":1100,"column":20},"end":{"line":1100,"column":20}}]},"88":{"line":1105,"type":"cond-expr","locations":[{"start":{"line":1105,"column":53},"end":{"line":1105,"column":61}},{"start":{"line":1105,"column":64},"end":{"line":1105,"column":69}}]},"89":{"line":1126,"type":"if","locations":[{"start":{"line":1126,"column":8},"end":{"line":1126,"column":8}},{"start":{"line":1126,"column":8},"end":{"line":1126,"column":8}}]},"90":{"line":1179,"type":"if","locations":[{"start":{"line":1179,"column":8},"end":{"line":1179,"column":8}},{"start":{"line":1179,"column":8},"end":{"line":1179,"column":8}}]},"91":{"line":1179,"type":"binary-expr","locations":[{"start":{"line":1179,"column":11},"end":{"line":1179,"column":41}},{"start":{"line":1179,"column":45},"end":{"line":1179,"column":82}}]},"92":{"line":1182,"type":"binary-expr","locations":[{"start":{"line":1182,"column":20},"end":{"line":1182,"column":32}},{"start":{"line":1182,"column":36},"end":{"line":1182,"column":93}}]},"93":{"line":1193,"type":"if","locations":[{"start":{"line":1193,"column":13},"end":{"line":1193,"column":13}},{"start":{"line":1193,"column":13},"end":{"line":1193,"column":13}}]},"94":{"line":1193,"type":"binary-expr","locations":[{"start":{"line":1193,"column":16},"end":{"line":1193,"column":46}},{"start":{"line":1193,"column":50},"end":{"line":1193,"column":87}}]},"95":{"line":1196,"type":"binary-expr","locations":[{"start":{"line":1196,"column":20},"end":{"line":1196,"column":32}},{"start":{"line":1196,"column":36},"end":{"line":1196,"column":94}}]},"96":{"line":1374,"type":"if","locations":[{"start":{"line":1374,"column":8},"end":{"line":1374,"column":8}},{"start":{"line":1374,"column":8},"end":{"line":1374,"column":8}}]},"97":{"line":1411,"type":"if","locations":[{"start":{"line":1411,"column":8},"end":{"line":1411,"column":8}},{"start":{"line":1411,"column":8},"end":{"line":1411,"column":8}}]},"98":{"line":1414,"type":"if","locations":[{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}},{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}}]},"99":{"line":1478,"type":"if","locations":[{"start":{"line":1478,"column":16},"end":{"line":1478,"column":16}},{"start":{"line":1478,"column":16},"end":{"line":1478,"column":16}}]},"100":{"line":1478,"type":"binary-expr","locations":[{"start":{"line":1478,"column":19},"end":{"line":1478,"column":30}},{"start":{"line":1478,"column":34},"end":{"line":1478,"column":48}}]},"101":{"line":1482,"type":"if","locations":[{"start":{"line":1482,"column":21},"end":{"line":1482,"column":21}},{"start":{"line":1482,"column":21},"end":{"line":1482,"column":21}}]},"102":{"line":1482,"type":"binary-expr","locations":[{"start":{"line":1482,"column":24},"end":{"line":1482,"column":36}},{"start":{"line":1482,"column":40},"end":{"line":1482,"column":53}}]},"103":{"line":1507,"type":"if","locations":[{"start":{"line":1507,"column":16},"end":{"line":1507,"column":16}},{"start":{"line":1507,"column":16},"end":{"line":1507,"column":16}}]},"104":{"line":1509,"type":"if","locations":[{"start":{"line":1509,"column":20},"end":{"line":1509,"column":20}},{"start":{"line":1509,"column":20},"end":{"line":1509,"column":20}}]},"105":{"line":1509,"type":"binary-expr","locations":[{"start":{"line":1509,"column":24},"end":{"line":1509,"column":29}},{"start":{"line":1509,"column":33},"end":{"line":1509,"column":65}},{"start":{"line":1509,"column":70},"end":{"line":1509,"column":81}}]},"106":{"line":1511,"type":"if","locations":[{"start":{"line":1511,"column":24},"end":{"line":1511,"column":24}},{"start":{"line":1511,"column":24},"end":{"line":1511,"column":24}}]},"107":{"line":1551,"type":"if","locations":[{"start":{"line":1551,"column":16},"end":{"line":1551,"column":16}},{"start":{"line":1551,"column":16},"end":{"line":1551,"column":16}}]},"108":{"line":1553,"type":"if","locations":[{"start":{"line":1553,"column":20},"end":{"line":1553,"column":20}},{"start":{"line":1553,"column":20},"end":{"line":1553,"column":20}}]},"109":{"line":1553,"type":"binary-expr","locations":[{"start":{"line":1553,"column":24},"end":{"line":1553,"column":29}},{"start":{"line":1553,"column":33},"end":{"line":1553,"column":65}},{"start":{"line":1553,"column":70},"end":{"line":1553,"column":82}}]},"110":{"line":1555,"type":"if","locations":[{"start":{"line":1555,"column":24},"end":{"line":1555,"column":24}},{"start":{"line":1555,"column":24},"end":{"line":1555,"column":24}}]},"111":{"line":1591,"type":"if","locations":[{"start":{"line":1591,"column":16},"end":{"line":1591,"column":16}},{"start":{"line":1591,"column":16},"end":{"line":1591,"column":16}}]},"112":{"line":1614,"type":"if","locations":[{"start":{"line":1614,"column":16},"end":{"line":1614,"column":16}},{"start":{"line":1614,"column":16},"end":{"line":1614,"column":16}}]}},"code":["(function () { YUI.add('charts-legend', function (Y, NAME) {","","/**"," * Adds legend functionality to charts."," *"," * @module charts"," * @submodule charts-legend"," */","var DOCUMENT = Y.config.doc,","TOP = \"top\",","RIGHT = \"right\",","BOTTOM = \"bottom\",","LEFT = \"left\",","EXTERNAL = \"external\",","HORIZONTAL = \"horizontal\",","VERTICAL = \"vertical\",","WIDTH = \"width\",","HEIGHT = \"height\",","POSITION = \"position\",","_X = \"x\",","_Y = \"y\",","PX = \"px\",","PieChartLegend,","LEGEND = {"," setter: function(val)"," {"," var legend = this.get(\"legend\");"," if(legend)"," {"," legend.destroy(true);"," }"," if(val instanceof Y.ChartLegend)"," {"," legend = val;"," legend.set(\"chart\", this);"," }"," else"," {"," val.chart = this;"," if(!val.hasOwnProperty(\"render\"))"," {"," val.render = this.get(\"contentBox\");"," val.includeInChartLayout = true;"," }"," legend = new Y.ChartLegend(val);"," }"," return legend;"," }","},","","/**"," * Contains methods for displaying items horizontally in a legend."," *"," * @module charts"," * @submodule charts-legend"," * @class HorizontalLegendLayout"," */","HorizontalLegendLayout = {"," /**"," * Displays items horizontally in a legend."," *"," * @method _positionLegendItems"," * @param {Array} items Array of items to display in the legend."," * @param {Number} maxWidth The width of the largest item in the legend."," * @param {Number} maxHeight The height of the largest item in the legend."," * @param {Number} totalWidth The total width of all items in a legend."," * @param {Number} totalHeight The total height of all items in a legend."," * @param {Number} padding The left, top, right and bottom padding properties for the legend."," * @param {Number} horizontalGap The horizontal distance between items in a legend."," * @param {Number} verticalGap The vertical distance between items in a legend."," * @param {String} hAlign The horizontal alignment of the legend."," * @protected"," */"," _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, hAlign)"," {"," var i = 0,"," rowIterator = 0,"," item,"," node,"," itemWidth,"," itemHeight,"," len,"," width = this.get(\"width\"),"," rows,"," rowsLen,"," row,"," totalWidthArray,"," legendWidth,"," topHeight = padding.top - verticalGap,"," limit = width - (padding.left + padding.right),"," left,"," top,"," right,"," bottom;"," HorizontalLegendLayout._setRowArrays(items, limit, horizontalGap);"," rows = HorizontalLegendLayout.rowArray;"," totalWidthArray = HorizontalLegendLayout.totalWidthArray;"," rowsLen = rows.length;"," for(; rowIterator < rowsLen; ++ rowIterator)"," {"," topHeight += verticalGap;"," row = rows[rowIterator];"," len = row.length;"," legendWidth = HorizontalLegendLayout.getStartPoint(width, totalWidthArray[rowIterator], hAlign, padding);"," for(i = 0; i < len; ++i)"," {"," item = row[i];"," node = item.node;"," itemWidth = item.width;"," itemHeight = item.height;"," item.x = legendWidth;"," item.y = 0;"," left = !isNaN(left) ? Math.min(left, legendWidth) : legendWidth;"," top = !isNaN(top) ? Math.min(top, topHeight) : topHeight;"," right = !isNaN(right) ? Math.max(legendWidth + itemWidth, right) : legendWidth + itemWidth;"," bottom = !isNaN(bottom) ? Math.max(topHeight + itemHeight, bottom) : topHeight + itemHeight;"," node.setStyle(\"left\", legendWidth + PX);"," node.setStyle(\"top\", topHeight + PX);"," legendWidth += itemWidth + horizontalGap;"," }"," topHeight += item.height;"," }"," this._contentRect = {"," left: left,"," top: top,"," right: right,"," bottom: bottom"," };"," if(this.get(\"includeInChartLayout\"))"," {"," this.set(\"height\", topHeight + padding.bottom);"," }"," },",""," /**"," * Creates row and total width arrays used for displaying multiple rows of"," * legend items based on the items, available width and horizontalGap for the legend."," *"," * @method _setRowArrays"," * @param {Array} items Array of legend items to display in a legend."," * @param {Number} limit Total available width for displaying items in a legend."," * @param {Number} horizontalGap Horizontal distance between items in a legend."," * @protected"," */"," _setRowArrays: function(items, limit, horizontalGap)"," {"," var item = items[0],"," rowArray = [[item]],"," i = 1,"," rowIterator = 0,"," len = items.length,"," totalWidth = item.width,"," itemWidth,"," totalWidthArray = [[totalWidth]];"," for(; i < len; ++i)"," {"," item = items[i];"," itemWidth = item.width;"," if((totalWidth + horizontalGap + itemWidth) <= limit)"," {"," totalWidth += horizontalGap + itemWidth;"," rowArray[rowIterator].push(item);"," }"," else"," {"," totalWidth = horizontalGap + itemWidth;"," if(rowArray[rowIterator])"," {"," rowIterator += 1;"," }"," rowArray[rowIterator] = [item];"," }"," totalWidthArray[rowIterator] = totalWidth;"," }"," HorizontalLegendLayout.rowArray = rowArray;"," HorizontalLegendLayout.totalWidthArray = totalWidthArray;"," },",""," /**"," * Returns the starting x-coordinate for a row of legend items."," *"," * @method getStartPoint"," * @param {Number} w Width of the legend."," * @param {Number} totalWidth Total width of all labels in the row."," * @param {String} align Horizontal alignment of items for the legend."," * @param {Object} padding Object contain left, top, right and bottom padding properties."," * @return Number"," * @protected"," */"," getStartPoint: function(w, totalWidth, align, padding)"," {"," var startPoint;"," switch(align)"," {"," case LEFT :"," startPoint = padding.left;"," break;"," case \"center\" :"," startPoint = (w - totalWidth) * 0.5;"," break;"," case RIGHT :"," startPoint = w - totalWidth - padding.right;"," break;"," }"," return startPoint;"," }","},","","/**"," * Contains methods for displaying items vertically in a legend."," *"," * @module charts"," * @submodule charts-legend"," * @class VerticalLegendLayout"," */","VerticalLegendLayout = {"," /**"," * Displays items vertically in a legend."," *"," * @method _positionLegendItems"," * @param {Array} items Array of items to display in the legend."," * @param {Number} maxWidth The width of the largest item in the legend."," * @param {Number} maxHeight The height of the largest item in the legend."," * @param {Number} totalWidth The total width of all items in a legend."," * @param {Number} totalHeight The total height of all items in a legend."," * @param {Number} padding The left, top, right and bottom padding properties for the legend."," * @param {Number} horizontalGap The horizontal distance between items in a legend."," * @param {Number} verticalGap The vertical distance between items in a legend."," * @param {String} vAlign The vertical alignment of the legend."," * @protected"," */"," _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, vAlign)"," {"," var i = 0,"," columnIterator = 0,"," item,"," node,"," itemHeight,"," itemWidth,"," len,"," height = this.get(\"height\"),"," columns,"," columnsLen,"," column,"," totalHeightArray,"," legendHeight,"," leftWidth = padding.left - horizontalGap,"," legendWidth,"," limit = height - (padding.top + padding.bottom),"," left,"," top,"," right,"," bottom;"," VerticalLegendLayout._setColumnArrays(items, limit, verticalGap);"," columns = VerticalLegendLayout.columnArray;"," totalHeightArray = VerticalLegendLayout.totalHeightArray;"," columnsLen = columns.length;"," for(; columnIterator < columnsLen; ++ columnIterator)"," {"," leftWidth += horizontalGap;"," column = columns[columnIterator];"," len = column.length;"," legendHeight = VerticalLegendLayout.getStartPoint(height, totalHeightArray[columnIterator], vAlign, padding);"," legendWidth = 0;"," for(i = 0; i < len; ++i)"," {"," item = column[i];"," node = item.node;"," itemHeight = item.height;"," itemWidth = item.width;"," item.y = legendHeight;"," item.x = leftWidth;"," left = !isNaN(left) ? Math.min(left, leftWidth) : leftWidth;"," top = !isNaN(top) ? Math.min(top, legendHeight) : legendHeight;"," right = !isNaN(right) ? Math.max(leftWidth + itemWidth, right) : leftWidth + itemWidth;"," bottom = !isNaN(bottom) ? Math.max(legendHeight + itemHeight, bottom) : legendHeight + itemHeight;"," node.setStyle(\"left\", leftWidth + PX);"," node.setStyle(\"top\", legendHeight + PX);"," legendHeight += itemHeight + verticalGap;"," legendWidth = Math.max(legendWidth, item.width);"," }"," leftWidth += legendWidth;"," }"," this._contentRect = {"," left: left,"," top: top,"," right: right,"," bottom: bottom"," };"," if(this.get(\"includeInChartLayout\"))"," {"," this.set(\"width\", leftWidth + padding.right);"," }"," },",""," /**"," * Creates column and total height arrays used for displaying multiple columns of"," * legend items based on the items, available height and verticalGap for the legend."," *"," * @method _setColumnArrays"," * @param {Array} items Array of legend items to display in a legend."," * @param {Number} limit Total available height for displaying items in a legend."," * @param {Number} verticalGap Vertical distance between items in a legend."," * @protected"," */"," _setColumnArrays: function(items, limit, verticalGap)"," {"," var item = items[0],"," columnArray = [[item]],"," i = 1,"," columnIterator = 0,"," len = items.length,"," totalHeight = item.height,"," itemHeight,"," totalHeightArray = [[totalHeight]];"," for(; i < len; ++i)"," {"," item = items[i];"," itemHeight = item.height;"," if((totalHeight + verticalGap + itemHeight) <= limit)"," {"," totalHeight += verticalGap + itemHeight;"," columnArray[columnIterator].push(item);"," }"," else"," {"," totalHeight = verticalGap + itemHeight;"," if(columnArray[columnIterator])"," {"," columnIterator += 1;"," }"," columnArray[columnIterator] = [item];"," }"," totalHeightArray[columnIterator] = totalHeight;"," }"," VerticalLegendLayout.columnArray = columnArray;"," VerticalLegendLayout.totalHeightArray = totalHeightArray;"," },",""," /**"," * Returns the starting y-coordinate for a column of legend items."," *"," * @method getStartPoint"," * @param {Number} h Height of the legend."," * @param {Number} totalHeight Total height of all labels in the column."," * @param {String} align Vertical alignment of items for the legend."," * @param {Object} padding Object contain left, top, right and bottom padding properties."," * @return Number"," * @protected"," */"," getStartPoint: function(h, totalHeight, align, padding)"," {"," var startPoint;"," switch(align)"," {"," case TOP :"," startPoint = padding.top;"," break;"," case \"middle\" :"," startPoint = (h - totalHeight) * 0.5;"," break;"," case BOTTOM :"," startPoint = h - totalHeight - padding.bottom;"," break;"," }"," return startPoint;"," }","},","","CartesianChartLegend = Y.Base.create(\"cartesianChartLegend\", Y.CartesianChart, [], {"," /**"," * Redraws and position all the components of the chart instance."," *"," * @method _redraw"," * @private"," */"," _redraw: function()"," {"," if(this._drawing)"," {"," this._callLater = true;"," return;"," }"," this._drawing = true;"," this._callLater = false;"," var w = this.get(\"width\"),"," h = this.get(\"height\"),"," layoutBoxDimensions = this._getLayoutBoxDimensions(),"," leftPaneWidth = layoutBoxDimensions.left,"," rightPaneWidth = layoutBoxDimensions.right,"," topPaneHeight = layoutBoxDimensions.top,"," bottomPaneHeight = layoutBoxDimensions.bottom,"," leftAxesCollection = this.get(\"leftAxesCollection\"),"," rightAxesCollection = this.get(\"rightAxesCollection\"),"," topAxesCollection = this.get(\"topAxesCollection\"),"," bottomAxesCollection = this.get(\"bottomAxesCollection\"),"," i = 0,"," l,"," axis,"," graphOverflow = \"visible\","," graph = this.get(\"graph\"),"," topOverflow,"," bottomOverflow,"," leftOverflow,"," rightOverflow,"," graphWidth,"," graphHeight,"," graphX,"," graphY,"," allowContentOverflow = this.get(\"allowContentOverflow\"),"," diff,"," rightAxesXCoords,"," leftAxesXCoords,"," topAxesYCoords,"," bottomAxesYCoords,"," legend = this.get(\"legend\"),"," graphRect = {};",""," if(leftAxesCollection)"," {"," leftAxesXCoords = [];"," l = leftAxesCollection.length;"," for(i = l - 1; i > -1; --i)"," {"," leftAxesXCoords.unshift(leftPaneWidth);"," leftPaneWidth += leftAxesCollection[i].get(\"width\");"," }"," }"," if(rightAxesCollection)"," {"," rightAxesXCoords = [];"," l = rightAxesCollection.length;"," i = 0;"," for(i = l - 1; i > -1; --i)"," {"," rightPaneWidth += rightAxesCollection[i].get(\"width\");"," rightAxesXCoords.unshift(w - rightPaneWidth);"," }"," }"," if(topAxesCollection)"," {"," topAxesYCoords = [];"," l = topAxesCollection.length;"," for(i = l - 1; i > -1; --i)"," {"," topAxesYCoords.unshift(topPaneHeight);"," topPaneHeight += topAxesCollection[i].get(\"height\");"," }"," }"," if(bottomAxesCollection)"," {"," bottomAxesYCoords = [];"," l = bottomAxesCollection.length;"," for(i = l - 1; i > -1; --i)"," {"," bottomPaneHeight += bottomAxesCollection[i].get(\"height\");"," bottomAxesYCoords.unshift(h - bottomPaneHeight);"," }"," }",""," graphWidth = w - (leftPaneWidth + rightPaneWidth);"," graphHeight = h - (bottomPaneHeight + topPaneHeight);"," graphRect.left = leftPaneWidth;"," graphRect.top = topPaneHeight;"," graphRect.bottom = h - bottomPaneHeight;"," graphRect.right = w - rightPaneWidth;"," if(!allowContentOverflow)"," {"," topOverflow = this._getTopOverflow(leftAxesCollection, rightAxesCollection);"," bottomOverflow = this._getBottomOverflow(leftAxesCollection, rightAxesCollection);"," leftOverflow = this._getLeftOverflow(bottomAxesCollection, topAxesCollection);"," rightOverflow = this._getRightOverflow(bottomAxesCollection, topAxesCollection);",""," diff = topOverflow - topPaneHeight;"," if(diff > 0)"," {"," graphRect.top = topOverflow;"," if(topAxesYCoords)"," {"," i = 0;"," l = topAxesYCoords.length;"," for(; i < l; ++i)"," {"," topAxesYCoords[i] += diff;"," }"," }"," }",""," diff = bottomOverflow - bottomPaneHeight;"," if(diff > 0)"," {"," graphRect.bottom = h - bottomOverflow;"," if(bottomAxesYCoords)"," {"," i = 0;"," l = bottomAxesYCoords.length;"," for(; i < l; ++i)"," {"," bottomAxesYCoords[i] -= diff;"," }"," }"," }",""," diff = leftOverflow - leftPaneWidth;"," if(diff > 0)"," {"," graphRect.left = leftOverflow;"," if(leftAxesXCoords)"," {"," i = 0;"," l = leftAxesXCoords.length;"," for(; i < l; ++i)"," {"," leftAxesXCoords[i] += diff;"," }"," }"," }",""," diff = rightOverflow - rightPaneWidth;"," if(diff > 0)"," {"," graphRect.right = w - rightOverflow;"," if(rightAxesXCoords)"," {"," i = 0;"," l = rightAxesXCoords.length;"," for(; i < l; ++i)"," {"," rightAxesXCoords[i] -= diff;"," }"," }"," }"," }"," graphWidth = graphRect.right - graphRect.left;"," graphHeight = graphRect.bottom - graphRect.top;"," graphX = graphRect.left;"," graphY = graphRect.top;"," if(legend)"," {"," if(legend.get(\"includeInChartLayout\"))"," {"," switch(legend.get(\"position\"))"," {"," case \"left\" :"," legend.set(\"y\", graphY);"," legend.set(\"height\", graphHeight);"," break;"," case \"top\" :"," legend.set(\"x\", graphX);"," legend.set(\"width\", graphWidth);"," break;"," case \"bottom\" :"," legend.set(\"x\", graphX);"," legend.set(\"width\", graphWidth);"," break;"," case \"right\" :"," legend.set(\"y\", graphY);"," legend.set(\"height\", graphHeight);"," break;"," }"," }"," }"," if(topAxesCollection)"," {"," l = topAxesCollection.length;"," i = 0;"," for(; i < l; i++)"," {"," axis = topAxesCollection[i];"," if(axis.get(\"width\") !== graphWidth)"," {"," axis.set(\"width\", graphWidth);"," }"," axis.get(\"boundingBox\").setStyle(\"left\", graphX + PX);"," axis.get(\"boundingBox\").setStyle(\"top\", topAxesYCoords[i] + PX);"," }"," if(axis._hasDataOverflow())"," {"," graphOverflow = \"hidden\";"," }"," }"," if(bottomAxesCollection)"," {"," l = bottomAxesCollection.length;"," i = 0;"," for(; i < l; i++)"," {"," axis = bottomAxesCollection[i];"," if(axis.get(\"width\") !== graphWidth)"," {"," axis.set(\"width\", graphWidth);"," }"," axis.get(\"boundingBox\").setStyle(\"left\", graphX + PX);"," axis.get(\"boundingBox\").setStyle(\"top\", bottomAxesYCoords[i] + PX);"," }"," if(axis._hasDataOverflow())"," {"," graphOverflow = \"hidden\";"," }"," }"," if(leftAxesCollection)"," {"," l = leftAxesCollection.length;"," i = 0;"," for(; i < l; ++i)"," {"," axis = leftAxesCollection[i];"," axis.get(\"boundingBox\").setStyle(\"top\", graphY + PX);"," axis.get(\"boundingBox\").setStyle(\"left\", leftAxesXCoords[i] + PX);"," if(axis.get(\"height\") !== graphHeight)"," {"," axis.set(\"height\", graphHeight);"," }"," }"," if(axis._hasDataOverflow())"," {"," graphOverflow = \"hidden\";"," }"," }"," if(rightAxesCollection)"," {"," l = rightAxesCollection.length;"," i = 0;"," for(; i < l; ++i)"," {"," axis = rightAxesCollection[i];"," axis.get(\"boundingBox\").setStyle(\"top\", graphY + PX);"," axis.get(\"boundingBox\").setStyle(\"left\", rightAxesXCoords[i] + PX);"," if(axis.get(\"height\") !== graphHeight)"," {"," axis.set(\"height\", graphHeight);"," }"," }"," if(axis._hasDataOverflow())"," {"," graphOverflow = \"hidden\";"," }"," }"," this._drawing = false;"," if(this._callLater)"," {"," this._redraw();"," return;"," }"," if(graph)"," {"," graph.get(\"boundingBox\").setStyle(\"left\", graphX + PX);"," graph.get(\"boundingBox\").setStyle(\"top\", graphY + PX);"," graph.set(\"width\", graphWidth);"," graph.set(\"height\", graphHeight);"," graph.get(\"boundingBox\").setStyle(\"overflow\", graphOverflow);"," }",""," if(this._overlay)"," {"," this._overlay.setStyle(\"left\", graphX + PX);"," this._overlay.setStyle(\"top\", graphY + PX);"," this._overlay.setStyle(\"width\", graphWidth + PX);"," this._overlay.setStyle(\"height\", graphHeight + PX);"," }"," },",""," /**"," * Positions the legend in a chart and returns the properties of the legend to be used in the"," * chart's layout algorithm."," *"," * @method _getLayoutDimensions"," * @return {Object} The left, top, right and bottom values for the legend."," * @protected"," */"," _getLayoutBoxDimensions: function()"," {"," var box = {"," top: 0,"," right: 0,"," bottom: 0,"," left: 0"," },"," legend = this.get(\"legend\"),"," position,"," direction,"," dimension,"," size,"," w = this.get(WIDTH),"," h = this.get(HEIGHT),"," gap;"," if(legend && legend.get(\"includeInChartLayout\"))"," {"," gap = legend.get(\"styles\").gap;"," position = legend.get(POSITION);"," if(position !== EXTERNAL)"," {"," direction = legend.get(\"direction\");"," dimension = direction === HORIZONTAL ? HEIGHT : WIDTH;"," size = legend.get(dimension);"," box[position] = size + gap;"," switch(position)"," {"," case TOP :"," legend.set(_Y, 0);"," break;"," case BOTTOM :"," legend.set(_Y, h - size);"," break;"," case RIGHT :"," legend.set(_X, w - size);"," break;"," case LEFT:"," legend.set(_X, 0);"," break;"," }"," }"," }"," return box;"," },",""," /**"," * Destructor implementation for the CartesianChart class. Calls destroy on all axes, series, legend (if available) and the Graph instance."," * Removes the tooltip and overlay HTML elements."," *"," * @method destructor"," * @protected"," */"," destructor: function()"," {"," var legend = this.get(\"legend\");"," if(legend)"," {"," legend.destroy(true);"," }"," }","}, {"," ATTRS: {"," legend: LEGEND"," }","});","","Y.CartesianChart = CartesianChartLegend;","","PieChartLegend = Y.Base.create(\"pieChartLegend\", Y.PieChart, [], {"," /**"," * Redraws the chart instance."," *"," * @method _redraw"," * @private"," */"," _redraw: function()"," {"," if(this._drawing)"," {"," this._callLater = true;"," return;"," }"," this._drawing = true;"," this._callLater = false;"," var graph = this.get(\"graph\"),"," w = this.get(\"width\"),"," h = this.get(\"height\"),"," graphWidth,"," graphHeight,"," legend = this.get(\"legend\"),"," x = 0,"," y = 0,"," legendX = 0,"," legendY = 0,"," legendWidth,"," legendHeight,"," dimension,"," gap,"," position,"," direction;"," if(graph)"," {"," if(legend)"," {"," position = legend.get(\"position\");"," direction = legend.get(\"direction\");"," graphWidth = graph.get(\"width\");"," graphHeight = graph.get(\"height\");"," legendWidth = legend.get(\"width\");"," legendHeight = legend.get(\"height\");"," gap = legend.get(\"styles\").gap;",""," if((direction === \"vertical\" && (graphWidth + legendWidth + gap !== w)) ||"," (direction === \"horizontal\" && (graphHeight + legendHeight + gap !== h)))"," {"," switch(legend.get(\"position\"))"," {"," case LEFT :"," dimension = Math.min(w - (legendWidth + gap), h);"," legendHeight = h;"," x = legendWidth + gap;"," legend.set(HEIGHT, legendHeight);"," break;"," case TOP :"," dimension = Math.min(h - (legendHeight + gap), w);"," legendWidth = w;"," y = legendHeight + gap;"," legend.set(WIDTH, legendWidth);"," break;"," case RIGHT :"," dimension = Math.min(w - (legendWidth + gap), h);"," legendHeight = h;"," legendX = dimension + gap;"," legend.set(HEIGHT, legendHeight);"," break;"," case BOTTOM :"," dimension = Math.min(h - (legendHeight + gap), w);"," legendWidth = w;"," legendY = dimension + gap;"," legend.set(WIDTH, legendWidth);"," break;"," }"," graph.set(WIDTH, dimension);"," graph.set(HEIGHT, dimension);"," }"," else"," {"," switch(legend.get(\"position\"))"," {"," case LEFT :"," x = legendWidth + gap;"," break;"," case TOP :"," y = legendHeight + gap;"," break;"," case RIGHT :"," legendX = graphWidth + gap;"," break;"," case BOTTOM :"," legendY = graphHeight + gap;"," break;"," }"," }"," }"," else"," {"," graph.set(_X, 0);"," graph.set(_Y, 0);"," graph.set(WIDTH, w);"," graph.set(HEIGHT, h);"," }"," }"," this._drawing = false;"," if(this._callLater)"," {"," this._redraw();"," return;"," }"," if(graph)"," {"," graph.set(_X, x);"," graph.set(_Y, y);"," }"," if(legend)"," {"," legend.set(_X, legendX);"," legend.set(_Y, legendY);"," }"," }","}, {"," ATTRS: {"," /**"," * The legend for the chart."," *"," * @attribute"," * @type Legend"," */"," legend: LEGEND"," }","});","Y.PieChart = PieChartLegend;","/**"," * ChartLegend provides a legend for a chart."," *"," * @class ChartLegend"," * @module charts"," * @submodule charts-legend"," * @extends Widget"," */","Y.ChartLegend = Y.Base.create(\"chartlegend\", Y.Widget, [Y.Renderer], {"," /**"," * Initializes the chart."," *"," * @method initializer"," * @private"," */"," initializer: function()"," {"," this._items = [];"," },",""," /**"," * @method renderUI"," * @private"," */"," renderUI: function()"," {"," var bb = this.get(\"boundingBox\"),"," cb = this.get(\"contentBox\"),"," styles = this.get(\"styles\").background,"," background = new Y.Rect({"," graphic: cb,"," fill: styles.fill,"," stroke: styles.border"," });"," bb.setStyle(\"display\", \"block\");"," bb.setStyle(\"position\", \"absolute\");"," this.set(\"background\", background);"," },",""," /**"," * @method bindUI"," * @private"," */"," bindUI: function()"," {"," this.get(\"chart\").after(\"seriesCollectionChange\", Y.bind(this._updateHandler, this));"," this.get(\"chart\").after(\"stylesChange\", Y.bind(this._updateHandler, this));"," this.after(\"stylesChange\", this._updateHandler);"," this.after(\"positionChange\", this._positionChangeHandler);"," this.after(\"widthChange\", this._handleSizeChange);"," this.after(\"heightChange\", this._handleSizeChange);"," },",""," /**"," * @method syncUI"," * @private"," */"," syncUI: function()"," {"," var w = this.get(\"width\"),"," h = this.get(\"height\");"," if(isFinite(w) && isFinite(h) && w > 0 && h > 0)"," {"," this._drawLegend();"," }"," },",""," /**"," * Handles changes to legend."," *"," * @method _updateHandler"," * @param {Object} e Event object"," * @private"," */"," _updateHandler: function()"," {"," if(this.get(\"rendered\"))"," {"," this._drawLegend();"," }"," },",""," /**"," * Handles position changes."," *"," * @method _positionChangeHandler"," * @param {Object} e Event object"," * @private"," */"," _positionChangeHandler: function()"," {"," var chart = this.get(\"chart\"),"," parentNode = this._parentNode;"," if(parentNode && ((chart && this.get(\"includeInChartLayout\"))))"," {"," this.fire(\"legendRendered\");"," }"," else if(this.get(\"rendered\"))"," {"," this._drawLegend();"," }"," },",""," /**"," * Updates the legend when the size changes."," *"," * @method _handleSizeChange"," * @param {Object} e Event object."," * @private"," */"," _handleSizeChange: function(e)"," {"," var attrName = e.attrName,"," pos = this.get(POSITION),"," vert = pos === LEFT || pos === RIGHT,"," hor = pos === BOTTOM || pos === TOP;"," if((hor && attrName === WIDTH) || (vert && attrName === HEIGHT))"," {"," this._drawLegend();"," }"," },",""," /**"," * Draws the legend"," *"," * @method _drawLegend"," * @private"," */"," _drawLegend: function()"," {"," if(this._drawing)"," {"," this._callLater = true;"," return;"," }"," this._drawing = true;"," this._callLater = false;"," if(this.get(\"includeInChartLayout\"))"," {"," this.get(\"chart\")._itemRenderQueue.unshift(this);"," }"," var chart = this.get(\"chart\"),"," node = this.get(\"contentBox\"),"," seriesCollection = chart.get(\"seriesCollection\"),"," series,"," styles = this.get(\"styles\"),"," padding = styles.padding,"," itemStyles = styles.item,"," seriesStyles,"," hSpacing = itemStyles.hSpacing,"," vSpacing = itemStyles.vSpacing,"," direction = this.get(\"direction\"),"," align = direction === \"vertical\" ? styles.vAlign : styles.hAlign,"," marker = styles.marker,"," labelStyles = itemStyles.label,"," displayName,"," layout = this._layout[direction],"," i,"," len,"," isArray,"," legendShape,"," shape,"," shapeClass,"," item,"," fill,"," border,"," fillColors,"," borderColors,"," borderWeight,"," items = [],"," markerWidth = marker.width,"," markerHeight = marker.height,"," totalWidth = 0 - hSpacing,"," totalHeight = 0 - vSpacing,"," maxWidth = 0,"," maxHeight = 0,"," itemWidth,"," itemHeight;"," if(marker && marker.shape)"," {"," legendShape = marker.shape;"," }"," this._destroyLegendItems();"," if(chart instanceof Y.PieChart)"," {"," series = seriesCollection[0];"," displayName = series.get(\"categoryAxis\").getDataByKey(series.get(\"categoryKey\"));"," seriesStyles = series.get(\"styles\").marker;"," fillColors = seriesStyles.fill.colors;"," borderColors = seriesStyles.border.colors;"," borderWeight = seriesStyles.border.weight;"," i = 0;"," len = displayName.length;"," shape = legendShape || Y.Circle;"," isArray = Y.Lang.isArray(shape);"," for(; i < len; ++i)"," {"," shape = isArray ? shape[i] : shape;"," fill = {"," color: fillColors[i]"," };"," border = {"," colors: borderColors[i],"," weight: borderWeight"," };"," displayName = chart.getSeriesItems(series, i).category.value;"," item = this._getLegendItem(node, this._getShapeClass(shape), fill, border, labelStyles, markerWidth, markerHeight, displayName);"," itemWidth = item.width;"," itemHeight = item.height;"," maxWidth = Math.max(maxWidth, itemWidth);"," maxHeight = Math.max(maxHeight, itemHeight);"," totalWidth += itemWidth + hSpacing;"," totalHeight += itemHeight + vSpacing;"," items.push(item);"," }"," }"," else"," {"," i = 0;"," len = seriesCollection.length;"," for(; i < len; ++i)"," {"," series = seriesCollection[i];"," seriesStyles = this._getStylesBySeriesType(series, shape);"," if(!legendShape)"," {"," shape = seriesStyles.shape;"," if(!shape)"," {"," shape = Y.Circle;"," }"," }"," shapeClass = Y.Lang.isArray(shape) ? shape[i] : shape;"," item = this._getLegendItem("," node,"," this._getShapeClass(shape),"," seriesStyles.fill,"," seriesStyles.border,"," labelStyles,"," markerWidth,"," markerHeight,"," series.get(\"valueDisplayName\")"," );"," itemWidth = item.width;"," itemHeight = item.height;"," maxWidth = Math.max(maxWidth, itemWidth);"," maxHeight = Math.max(maxHeight, itemHeight);"," totalWidth += itemWidth + hSpacing;"," totalHeight += itemHeight + vSpacing;"," items.push(item);"," }"," }"," this._drawing = false;"," if(this._callLater)"," {"," this._drawLegend();"," }"," else"," {"," layout._positionLegendItems.apply("," this,"," [items, maxWidth, maxHeight, totalWidth, totalHeight, padding, hSpacing, vSpacing, align]"," );"," this._updateBackground(styles);"," this.fire(\"legendRendered\");"," }"," },",""," /**"," * Updates the background for the legend."," *"," * @method _updateBackground"," * @param {Object} styles Reference to the legend's styles attribute"," * @private"," */"," _updateBackground: function(styles)"," {"," var backgroundStyles = styles.background,"," contentRect = this._contentRect,"," padding = styles.padding,"," x = contentRect.left - padding.left,"," y = contentRect.top - padding.top,"," w = contentRect.right - x + padding.right,"," h = contentRect.bottom - y + padding.bottom;"," this.get(\"background\").set({"," fill: backgroundStyles.fill,"," stroke: backgroundStyles.border,"," width: w,"," height: h,"," x: x,"," y: y"," });"," },",""," /**"," * Retrieves the marker styles based on the type of series. For series that contain a marker, the marker styles are returned."," *"," * @method _getStylesBySeriesType"," * @param {CartesianSeries | PieSeries} The series in which the style properties will be received."," * @return Object An object containing fill, border and shape information."," * @private"," */"," _getStylesBySeriesType: function(series)"," {"," var styles = series.get(\"styles\"),"," color;"," if(series instanceof Y.LineSeries || series instanceof Y.StackedLineSeries)"," {"," styles = series.get(\"styles\").line;"," color = styles.color || series._getDefaultColor(series.get(\"graphOrder\"), \"line\");"," return {"," border: {"," weight: 1,"," color: color"," },"," fill: {"," color: color"," }"," };"," }"," else if(series instanceof Y.AreaSeries || series instanceof Y.StackedAreaSeries)"," {"," styles = series.get(\"styles\").area;"," color = styles.color || series._getDefaultColor(series.get(\"graphOrder\"), \"slice\");"," return {"," border: {"," weight: 1,"," color: color"," },"," fill: {"," color: color"," }"," };"," }"," else"," {"," styles = series.get(\"styles\").marker;"," return {"," fill: styles.fill,",""," border: {"," weight: styles.border.weight,",""," color: styles.border.color,",""," shape: styles.shape"," },"," shape: styles.shape"," };"," }"," },",""," /**"," * Returns a legend item consisting of the following properties:"," *
"," *
node
The `Node` containing the legend item elements.
"," *
shape
The `Shape` element for the legend item.
"," *
textNode
The `Node` containing the text>
"," *
text
"," *
"," *"," * @method _getLegendItem"," * @param {Node} shapeProps Reference to the `node` attribute."," * @param {String | Class} shapeClass The type of shape"," * @param {Object} fill Properties for the shape's fill"," * @param {Object} border Properties for the shape's border"," * @param {String} text String to be rendered as the legend's text"," * @param {Number} width Total width of the legend item"," * @param {Number} height Total height of the legend item"," * @param {HTML | String} text Text for the legendItem"," * @return Object"," * @private"," */"," _getLegendItem: function(node, shapeClass, fill, border, labelStyles, w, h, text)"," {"," var containerNode = Y.one(DOCUMENT.createElement(\"div\")),"," textField = Y.one(DOCUMENT.createElement(\"span\")),"," shape,"," dimension,"," padding,"," left,"," item,"," ShapeClass = shapeClass;"," containerNode.setStyle(POSITION, \"absolute\");"," textField.setStyle(POSITION, \"absolute\");"," textField.setStyles(labelStyles);"," textField.appendChild(DOCUMENT.createTextNode(text));"," containerNode.appendChild(textField);"," node.appendChild(containerNode);"," dimension = textField.get(\"offsetHeight\");"," padding = dimension - h;"," left = w + padding + 2;"," textField.setStyle(\"left\", left + PX);"," containerNode.setStyle(\"height\", dimension + PX);"," containerNode.setStyle(\"width\", (left + textField.get(\"offsetWidth\")) + PX);"," shape = new ShapeClass({"," fill: fill,"," stroke: border,"," width: w,"," height: h,"," x: padding * 0.5,"," y: padding * 0.5,"," w: w,"," h: h,"," graphic: containerNode"," });"," textField.setStyle(\"left\", dimension + PX);"," item = {"," node: containerNode,"," width: containerNode.get(\"offsetWidth\"),"," height: containerNode.get(\"offsetHeight\"),"," shape: shape,"," textNode: textField,"," text: text"," };"," this._items.push(item);"," return item;"," },",""," /**"," * Evaluates and returns correct class for drawing a shape."," *"," * @method _getShapeClass"," * @return Shape"," * @private"," */"," _getShapeClass: function()"," {"," var graphic = this.get(\"background\").get(\"graphic\");"," return graphic._getShapeClass.apply(graphic, arguments);"," },",""," /**"," * Returns the default hash for the `styles` attribute."," *"," * @method _getDefaultStyles"," * @return Object"," * @protected"," */"," _getDefaultStyles: function()"," {"," var styles = {"," padding: {"," top: 8,"," right: 8,"," bottom: 8,"," left: 9"," },"," gap: 10,"," hAlign: \"center\","," vAlign: \"top\","," marker: this._getPlotDefaults(),"," item: {"," hSpacing: 10,"," vSpacing: 5,"," label: {"," color:\"#808080\","," fontSize:\"85%\","," whiteSpace: \"nowrap\""," }"," },"," background: {"," shape: \"rect\","," fill:{"," color:\"#faf9f2\""," },"," border: {"," color:\"#dad8c9\","," weight: 1"," }"," }"," };"," return styles;"," },",""," /**"," * Gets the default values for series that use the utility. This method is used by"," * the class' `styles` attribute's getter to get build default values."," *"," * @method _getPlotDefaults"," * @return Object"," * @protected"," */"," _getPlotDefaults: function()"," {"," var defs = {"," width: 10,"," height: 10"," };"," return defs;"," },",""," /**"," * Destroys legend items."," *"," * @method _destroyLegendItems"," * @private"," */"," _destroyLegendItems: function()"," {"," var item;"," if(this._items)"," {"," while(this._items.length > 0)"," {"," item = this._items.shift();"," item.shape.get(\"graphic\").destroy();"," item.node.empty();"," item.node.destroy(true);"," item.node = null;"," item = null;"," }"," }"," this._items = [];"," },",""," /**"," * Maps layout classes."," *"," * @property _layout"," * @private"," */"," _layout: {"," vertical: VerticalLegendLayout,"," horizontal: HorizontalLegendLayout"," },",""," /**"," * Destructor implementation ChartLegend class. Removes all items and the Graphic instance from the widget."," *"," * @method destructor"," * @protected"," */"," destructor: function()"," {"," var background = this.get(\"background\"),"," backgroundGraphic;"," this._destroyLegendItems();"," if(background)"," {"," backgroundGraphic = background.get(\"graphic\");"," if(backgroundGraphic)"," {"," backgroundGraphic.destroy();"," }"," else"," {"," background.destroy();"," }"," }",""," }","}, {"," ATTRS: {"," /**"," * Indicates whether the chart's contentBox is the parentNode for the legend."," *"," * @attribute includeInChartLayout"," * @type Boolean"," * @private"," */"," includeInChartLayout: {"," value: false"," },",""," /**"," * Reference to the `Chart` instance."," *"," * @attribute chart"," * @type Chart"," */"," chart: {"," setter: function(val)"," {"," this.after(\"legendRendered\", Y.bind(val._itemRendered, val));"," return val;"," }"," },",""," /**"," * Indicates the direction in relation of the legend's layout. The `direction` of the legend is determined by its"," * `position` value."," *"," * @attribute direction"," * @type String"," */"," direction: {"," value: \"vertical\""," },",""," /**"," * Indicates the position and direction of the legend. Possible values are `left`, `top`, `right` and `bottom`."," * Values of `left` and `right` values have a `direction` of `vertical`. Values of `top` and `bottom` values have"," * a `direction` of `horizontal`."," *"," * @attribute position"," * @type String"," */"," position: {"," lazyAdd: false,",""," value: \"right\",",""," setter: function(val)"," {"," if(val === TOP || val === BOTTOM)"," {"," this.set(\"direction\", HORIZONTAL);"," }"," else if(val === LEFT || val === RIGHT)"," {"," this.set(\"direction\", VERTICAL);"," }"," return val;"," }"," },",""," /**"," * The width of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`."," * By default, the legend is included in the layout of the `Chart` that it references. Under this circumstance,"," * `width` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is"," * determined by the direction of the legend. If the `position` is `left` or `right` or the `direction` is"," * `vertical`, width is `readOnly`. If the position is `top` or `bottom` or the `direction` is `horizontal`,"," * width can be explicitly set. If width is not explicitly set, the width will be determined by the width of the"," * legend's parent element."," *"," * @attribute width"," * @type Number"," */"," width: {"," getter: function()"," {"," var chart = this.get(\"chart\"),"," parentNode = this._parentNode;"," if(parentNode)"," {"," if((chart && this.get(\"includeInChartLayout\")) || this._width)"," {"," if(!this._width)"," {"," this._width = 0;"," }"," return this._width;"," }"," else"," {"," return parentNode.get(\"offsetWidth\");"," }"," }"," return \"\";"," },",""," setter: function(val)"," {"," this._width = val;"," return val;"," }"," },",""," /**"," * The height of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`."," * By default, the legend is included in the layout of the `Chart` that it references. Under this circumstance,"," * `height` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is"," * determined by the direction of the legend. If the `position` is `top` or `bottom` or the `direction` is"," * `horizontal`, height is `readOnly`. If the position is `left` or `right` or the `direction` is `vertical`,"," * height can be explicitly set. If height is not explicitly set, the height will be determined by the width of the"," * legend's parent element."," *"," * @attribute height"," * @type Number"," */"," height: {"," valueFn: \"_heightGetter\",",""," getter: function()"," {"," var chart = this.get(\"chart\"),"," parentNode = this._parentNode;"," if(parentNode)"," {"," if((chart && this.get(\"includeInChartLayout\")) || this._height)"," {"," if(!this._height)"," {"," this._height = 0;"," }"," return this._height;"," }"," else"," {"," return parentNode.get(\"offsetHeight\");"," }"," }"," return \"\";"," },",""," setter: function(val)"," {"," this._height = val;"," return val;"," }"," },",""," /**"," * Indicates the x position of legend."," *"," * @attribute x"," * @type Number"," * @readOnly"," */"," x: {"," lazyAdd: false,",""," value: 0,",""," setter: function(val)"," {"," var node = this.get(\"boundingBox\");"," if(node)"," {"," node.setStyle(LEFT, val + PX);"," }"," return val;"," }"," },",""," /**"," * Indicates the y position of legend."," *"," * @attribute y"," * @type Number"," * @readOnly"," */"," y: {"," lazyAdd: false,",""," value: 0,",""," setter: function(val)"," {"," var node = this.get(\"boundingBox\");"," if(node)"," {"," node.setStyle(TOP, val + PX);"," }"," return val;"," }"," },",""," /**"," * Array of items contained in the legend. Each item is an object containing the following properties:"," *"," *
"," *
node
Node containing text for the legend item.
"," *
marker
Shape for the legend item.
"," *
"," *"," * @attribute items"," * @type Array"," * @readOnly"," */"," items: {"," getter: function()"," {"," return this._items;"," }"," },",""," /**"," * Background for the legend."," *"," * @attribute background"," * @type Rect"," */"," background: {}",""," /**"," * Properties used to display and style the ChartLegend. This attribute is inherited from `Renderer`."," * Below are the default values:"," *"," *
"," *
gap
Distance, in pixels, between the `ChartLegend` instance and the chart's content. When `ChartLegend`"," * is rendered within a `Chart` instance this value is applied.
"," *
hAlign
Defines the horizontal alignment of the `items` in a `ChartLegend` rendered in a horizontal direction."," * This value is applied when the instance's `position` is set to top or bottom. This attribute can be set to left, center"," * or right. The default value is center.
"," *
vAlign
Defines the vertical alignment of the `items` in a `ChartLegend` rendered in vertical direction. This"," * value is applied when the instance's `position` is set to left or right. The attribute can be set to top, middle or"," * bottom. The default value is middle.
"," *
item
Set of style properties applied to the `items` of the `ChartLegend`."," *
"," *
hSpacing
Horizontal distance, in pixels, between legend `items`.
"," *
vSpacing
Vertical distance, in pixels, between legend `items`.
"," *
label
Properties for the text of an `item`."," *
"," *
color
Color of the text. The default values is \"#808080\".
"," *
fontSize
Font size for the text. The default value is \"85%\".
"," *
"," *
"," *
marker
Properties for the `item` markers."," *
"," *
width
Specifies the width of the markers.
"," *
height
Specifies the height of the markers.
"," *
"," *
"," *
"," *
"," *
background
Properties for the `ChartLegend` background."," *
"," *
fill
Properties for the background fill."," *
"," *
color
Color for the fill. The default value is \"#faf9f2\".
"," *
"," *
"," *
border
Properties for the background border."," *
"," *
color
Color for the border. The default value is \"#dad8c9\".
"," *
weight
Weight of the border. The default values is 1.
"," *
"," *
"," *
"," *
"," *
"," *"," * @attribute styles"," * @type Object"," */"," }","});","","","}, '3.13.0', {\"requires\": [\"charts-base\"]});","","}());"]};
+}
+var __cov_tWw2Ofro70cay0RlahMhfw = __coverage__['build/charts-legend/charts-legend.js'];
+__cov_tWw2Ofro70cay0RlahMhfw.s['1']++;YUI.add('charts-legend',function(Y,NAME){__cov_tWw2Ofro70cay0RlahMhfw.f['1']++;__cov_tWw2Ofro70cay0RlahMhfw.s['2']++;var DOCUMENT=Y.config.doc,TOP='top',RIGHT='right',BOTTOM='bottom',LEFT='left',EXTERNAL='external',HORIZONTAL='horizontal',VERTICAL='vertical',WIDTH='width',HEIGHT='height',POSITION='position',_X='x',_Y='y',PX='px',PieChartLegend,LEGEND={setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['2']++;__cov_tWw2Ofro70cay0RlahMhfw.s['3']++;var legend=this.get('legend');__cov_tWw2Ofro70cay0RlahMhfw.s['4']++;if(legend){__cov_tWw2Ofro70cay0RlahMhfw.b['1'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['5']++;legend.destroy(true);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['1'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['6']++;if(val instanceof Y.ChartLegend){__cov_tWw2Ofro70cay0RlahMhfw.b['2'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['7']++;legend=val;__cov_tWw2Ofro70cay0RlahMhfw.s['8']++;legend.set('chart',this);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['2'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['9']++;val.chart=this;__cov_tWw2Ofro70cay0RlahMhfw.s['10']++;if(!val.hasOwnProperty('render')){__cov_tWw2Ofro70cay0RlahMhfw.b['3'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['11']++;val.render=this.get('contentBox');__cov_tWw2Ofro70cay0RlahMhfw.s['12']++;val.includeInChartLayout=true;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['3'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['13']++;legend=new Y.ChartLegend(val);}__cov_tWw2Ofro70cay0RlahMhfw.s['14']++;return legend;}},HorizontalLegendLayout={_positionLegendItems:function(items,maxWidth,maxHeight,totalWidth,totalHeight,padding,horizontalGap,verticalGap,hAlign){__cov_tWw2Ofro70cay0RlahMhfw.f['3']++;__cov_tWw2Ofro70cay0RlahMhfw.s['15']++;var i=0,rowIterator=0,item,node,itemWidth,itemHeight,len,width=this.get('width'),rows,rowsLen,row,totalWidthArray,legendWidth,topHeight=padding.top-verticalGap,limit=width-(padding.left+padding.right),left,top,right,bottom;__cov_tWw2Ofro70cay0RlahMhfw.s['16']++;HorizontalLegendLayout._setRowArrays(items,limit,horizontalGap);__cov_tWw2Ofro70cay0RlahMhfw.s['17']++;rows=HorizontalLegendLayout.rowArray;__cov_tWw2Ofro70cay0RlahMhfw.s['18']++;totalWidthArray=HorizontalLegendLayout.totalWidthArray;__cov_tWw2Ofro70cay0RlahMhfw.s['19']++;rowsLen=rows.length;__cov_tWw2Ofro70cay0RlahMhfw.s['20']++;for(;rowIterator-1;--i){__cov_tWw2Ofro70cay0RlahMhfw.s['129']++;leftAxesXCoords.unshift(leftPaneWidth);__cov_tWw2Ofro70cay0RlahMhfw.s['130']++;leftPaneWidth+=leftAxesCollection[i].get('width');}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['21'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['131']++;if(rightAxesCollection){__cov_tWw2Ofro70cay0RlahMhfw.b['22'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['132']++;rightAxesXCoords=[];__cov_tWw2Ofro70cay0RlahMhfw.s['133']++;l=rightAxesCollection.length;__cov_tWw2Ofro70cay0RlahMhfw.s['134']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['135']++;for(i=l-1;i>-1;--i){__cov_tWw2Ofro70cay0RlahMhfw.s['136']++;rightPaneWidth+=rightAxesCollection[i].get('width');__cov_tWw2Ofro70cay0RlahMhfw.s['137']++;rightAxesXCoords.unshift(w-rightPaneWidth);}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['22'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['138']++;if(topAxesCollection){__cov_tWw2Ofro70cay0RlahMhfw.b['23'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['139']++;topAxesYCoords=[];__cov_tWw2Ofro70cay0RlahMhfw.s['140']++;l=topAxesCollection.length;__cov_tWw2Ofro70cay0RlahMhfw.s['141']++;for(i=l-1;i>-1;--i){__cov_tWw2Ofro70cay0RlahMhfw.s['142']++;topAxesYCoords.unshift(topPaneHeight);__cov_tWw2Ofro70cay0RlahMhfw.s['143']++;topPaneHeight+=topAxesCollection[i].get('height');}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['23'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['144']++;if(bottomAxesCollection){__cov_tWw2Ofro70cay0RlahMhfw.b['24'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['145']++;bottomAxesYCoords=[];__cov_tWw2Ofro70cay0RlahMhfw.s['146']++;l=bottomAxesCollection.length;__cov_tWw2Ofro70cay0RlahMhfw.s['147']++;for(i=l-1;i>-1;--i){__cov_tWw2Ofro70cay0RlahMhfw.s['148']++;bottomPaneHeight+=bottomAxesCollection[i].get('height');__cov_tWw2Ofro70cay0RlahMhfw.s['149']++;bottomAxesYCoords.unshift(h-bottomPaneHeight);}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['24'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['150']++;graphWidth=w-(leftPaneWidth+rightPaneWidth);__cov_tWw2Ofro70cay0RlahMhfw.s['151']++;graphHeight=h-(bottomPaneHeight+topPaneHeight);__cov_tWw2Ofro70cay0RlahMhfw.s['152']++;graphRect.left=leftPaneWidth;__cov_tWw2Ofro70cay0RlahMhfw.s['153']++;graphRect.top=topPaneHeight;__cov_tWw2Ofro70cay0RlahMhfw.s['154']++;graphRect.bottom=h-bottomPaneHeight;__cov_tWw2Ofro70cay0RlahMhfw.s['155']++;graphRect.right=w-rightPaneWidth;__cov_tWw2Ofro70cay0RlahMhfw.s['156']++;if(!allowContentOverflow){__cov_tWw2Ofro70cay0RlahMhfw.b['25'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['157']++;topOverflow=this._getTopOverflow(leftAxesCollection,rightAxesCollection);__cov_tWw2Ofro70cay0RlahMhfw.s['158']++;bottomOverflow=this._getBottomOverflow(leftAxesCollection,rightAxesCollection);__cov_tWw2Ofro70cay0RlahMhfw.s['159']++;leftOverflow=this._getLeftOverflow(bottomAxesCollection,topAxesCollection);__cov_tWw2Ofro70cay0RlahMhfw.s['160']++;rightOverflow=this._getRightOverflow(bottomAxesCollection,topAxesCollection);__cov_tWw2Ofro70cay0RlahMhfw.s['161']++;diff=topOverflow-topPaneHeight;__cov_tWw2Ofro70cay0RlahMhfw.s['162']++;if(diff>0){__cov_tWw2Ofro70cay0RlahMhfw.b['26'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['163']++;graphRect.top=topOverflow;__cov_tWw2Ofro70cay0RlahMhfw.s['164']++;if(topAxesYCoords){__cov_tWw2Ofro70cay0RlahMhfw.b['27'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['165']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['166']++;l=topAxesYCoords.length;__cov_tWw2Ofro70cay0RlahMhfw.s['167']++;for(;i0){__cov_tWw2Ofro70cay0RlahMhfw.b['28'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['171']++;graphRect.bottom=h-bottomOverflow;__cov_tWw2Ofro70cay0RlahMhfw.s['172']++;if(bottomAxesYCoords){__cov_tWw2Ofro70cay0RlahMhfw.b['29'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['173']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['174']++;l=bottomAxesYCoords.length;__cov_tWw2Ofro70cay0RlahMhfw.s['175']++;for(;i0){__cov_tWw2Ofro70cay0RlahMhfw.b['30'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['179']++;graphRect.left=leftOverflow;__cov_tWw2Ofro70cay0RlahMhfw.s['180']++;if(leftAxesXCoords){__cov_tWw2Ofro70cay0RlahMhfw.b['31'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['181']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['182']++;l=leftAxesXCoords.length;__cov_tWw2Ofro70cay0RlahMhfw.s['183']++;for(;i0){__cov_tWw2Ofro70cay0RlahMhfw.b['32'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['187']++;graphRect.right=w-rightOverflow;__cov_tWw2Ofro70cay0RlahMhfw.s['188']++;if(rightAxesXCoords){__cov_tWw2Ofro70cay0RlahMhfw.b['33'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['189']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['190']++;l=rightAxesXCoords.length;__cov_tWw2Ofro70cay0RlahMhfw.s['191']++;for(;i0)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['69'][3]++,h>0)){__cov_tWw2Ofro70cay0RlahMhfw.b['68'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['372']++;this._drawLegend();}else{__cov_tWw2Ofro70cay0RlahMhfw.b['68'][1]++;}},_updateHandler:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['17']++;__cov_tWw2Ofro70cay0RlahMhfw.s['373']++;if(this.get('rendered')){__cov_tWw2Ofro70cay0RlahMhfw.b['70'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['374']++;this._drawLegend();}else{__cov_tWw2Ofro70cay0RlahMhfw.b['70'][1]++;}},_positionChangeHandler:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['18']++;__cov_tWw2Ofro70cay0RlahMhfw.s['375']++;var chart=this.get('chart'),parentNode=this._parentNode;__cov_tWw2Ofro70cay0RlahMhfw.s['376']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['72'][0]++,parentNode)&&((__cov_tWw2Ofro70cay0RlahMhfw.b['72'][1]++,chart)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['72'][2]++,this.get('includeInChartLayout')))){__cov_tWw2Ofro70cay0RlahMhfw.b['71'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['377']++;this.fire('legendRendered');}else{__cov_tWw2Ofro70cay0RlahMhfw.b['71'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['378']++;if(this.get('rendered')){__cov_tWw2Ofro70cay0RlahMhfw.b['73'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['379']++;this._drawLegend();}else{__cov_tWw2Ofro70cay0RlahMhfw.b['73'][1]++;}}},_handleSizeChange:function(e){__cov_tWw2Ofro70cay0RlahMhfw.f['19']++;__cov_tWw2Ofro70cay0RlahMhfw.s['380']++;var attrName=e.attrName,pos=this.get(POSITION),vert=(__cov_tWw2Ofro70cay0RlahMhfw.b['74'][0]++,pos===LEFT)||(__cov_tWw2Ofro70cay0RlahMhfw.b['74'][1]++,pos===RIGHT),hor=(__cov_tWw2Ofro70cay0RlahMhfw.b['75'][0]++,pos===BOTTOM)||(__cov_tWw2Ofro70cay0RlahMhfw.b['75'][1]++,pos===TOP);__cov_tWw2Ofro70cay0RlahMhfw.s['381']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['77'][0]++,hor)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['77'][1]++,attrName===WIDTH)||(__cov_tWw2Ofro70cay0RlahMhfw.b['77'][2]++,vert)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['77'][3]++,attrName===HEIGHT)){__cov_tWw2Ofro70cay0RlahMhfw.b['76'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['382']++;this._drawLegend();}else{__cov_tWw2Ofro70cay0RlahMhfw.b['76'][1]++;}},_drawLegend:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['20']++;__cov_tWw2Ofro70cay0RlahMhfw.s['383']++;if(this._drawing){__cov_tWw2Ofro70cay0RlahMhfw.b['78'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['384']++;this._callLater=true;__cov_tWw2Ofro70cay0RlahMhfw.s['385']++;return;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['78'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['386']++;this._drawing=true;__cov_tWw2Ofro70cay0RlahMhfw.s['387']++;this._callLater=false;__cov_tWw2Ofro70cay0RlahMhfw.s['388']++;if(this.get('includeInChartLayout')){__cov_tWw2Ofro70cay0RlahMhfw.b['79'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['389']++;this.get('chart')._itemRenderQueue.unshift(this);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['79'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['390']++;var chart=this.get('chart'),node=this.get('contentBox'),seriesCollection=chart.get('seriesCollection'),series,styles=this.get('styles'),padding=styles.padding,itemStyles=styles.item,seriesStyles,hSpacing=itemStyles.hSpacing,vSpacing=itemStyles.vSpacing,direction=this.get('direction'),align=direction==='vertical'?(__cov_tWw2Ofro70cay0RlahMhfw.b['80'][0]++,styles.vAlign):(__cov_tWw2Ofro70cay0RlahMhfw.b['80'][1]++,styles.hAlign),marker=styles.marker,labelStyles=itemStyles.label,displayName,layout=this._layout[direction],i,len,isArray,legendShape,shape,shapeClass,item,fill,border,fillColors,borderColors,borderWeight,items=[],markerWidth=marker.width,markerHeight=marker.height,totalWidth=0-hSpacing,totalHeight=0-vSpacing,maxWidth=0,maxHeight=0,itemWidth,itemHeight;__cov_tWw2Ofro70cay0RlahMhfw.s['391']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['82'][0]++,marker)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['82'][1]++,marker.shape)){__cov_tWw2Ofro70cay0RlahMhfw.b['81'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['392']++;legendShape=marker.shape;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['81'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['393']++;this._destroyLegendItems();__cov_tWw2Ofro70cay0RlahMhfw.s['394']++;if(chart instanceof Y.PieChart){__cov_tWw2Ofro70cay0RlahMhfw.b['83'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['395']++;series=seriesCollection[0];__cov_tWw2Ofro70cay0RlahMhfw.s['396']++;displayName=series.get('categoryAxis').getDataByKey(series.get('categoryKey'));__cov_tWw2Ofro70cay0RlahMhfw.s['397']++;seriesStyles=series.get('styles').marker;__cov_tWw2Ofro70cay0RlahMhfw.s['398']++;fillColors=seriesStyles.fill.colors;__cov_tWw2Ofro70cay0RlahMhfw.s['399']++;borderColors=seriesStyles.border.colors;__cov_tWw2Ofro70cay0RlahMhfw.s['400']++;borderWeight=seriesStyles.border.weight;__cov_tWw2Ofro70cay0RlahMhfw.s['401']++;i=0;__cov_tWw2Ofro70cay0RlahMhfw.s['402']++;len=displayName.length;__cov_tWw2Ofro70cay0RlahMhfw.s['403']++;shape=(__cov_tWw2Ofro70cay0RlahMhfw.b['84'][0]++,legendShape)||(__cov_tWw2Ofro70cay0RlahMhfw.b['84'][1]++,Y.Circle);__cov_tWw2Ofro70cay0RlahMhfw.s['404']++;isArray=Y.Lang.isArray(shape);__cov_tWw2Ofro70cay0RlahMhfw.s['405']++;for(;i0){__cov_tWw2Ofro70cay0RlahMhfw.s['482']++;item=this._items.shift();__cov_tWw2Ofro70cay0RlahMhfw.s['483']++;item.shape.get('graphic').destroy();__cov_tWw2Ofro70cay0RlahMhfw.s['484']++;item.node.empty();__cov_tWw2Ofro70cay0RlahMhfw.s['485']++;item.node.destroy(true);__cov_tWw2Ofro70cay0RlahMhfw.s['486']++;item.node=null;__cov_tWw2Ofro70cay0RlahMhfw.s['487']++;item=null;}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['96'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['488']++;this._items=[];},_layout:{vertical:VerticalLegendLayout,horizontal:HorizontalLegendLayout},destructor:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['28']++;__cov_tWw2Ofro70cay0RlahMhfw.s['489']++;var background=this.get('background'),backgroundGraphic;__cov_tWw2Ofro70cay0RlahMhfw.s['490']++;this._destroyLegendItems();__cov_tWw2Ofro70cay0RlahMhfw.s['491']++;if(background){__cov_tWw2Ofro70cay0RlahMhfw.b['97'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['492']++;backgroundGraphic=background.get('graphic');__cov_tWw2Ofro70cay0RlahMhfw.s['493']++;if(backgroundGraphic){__cov_tWw2Ofro70cay0RlahMhfw.b['98'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['494']++;backgroundGraphic.destroy();}else{__cov_tWw2Ofro70cay0RlahMhfw.b['98'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['495']++;background.destroy();}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['97'][1]++;}}},{ATTRS:{includeInChartLayout:{value:false},chart:{setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['29']++;__cov_tWw2Ofro70cay0RlahMhfw.s['496']++;this.after('legendRendered',Y.bind(val._itemRendered,val));__cov_tWw2Ofro70cay0RlahMhfw.s['497']++;return val;}},direction:{value:'vertical'},position:{lazyAdd:false,value:'right',setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['30']++;__cov_tWw2Ofro70cay0RlahMhfw.s['498']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['100'][0]++,val===TOP)||(__cov_tWw2Ofro70cay0RlahMhfw.b['100'][1]++,val===BOTTOM)){__cov_tWw2Ofro70cay0RlahMhfw.b['99'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['499']++;this.set('direction',HORIZONTAL);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['99'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['500']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['102'][0]++,val===LEFT)||(__cov_tWw2Ofro70cay0RlahMhfw.b['102'][1]++,val===RIGHT)){__cov_tWw2Ofro70cay0RlahMhfw.b['101'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['501']++;this.set('direction',VERTICAL);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['101'][1]++;}}__cov_tWw2Ofro70cay0RlahMhfw.s['502']++;return val;}},width:{getter:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['31']++;__cov_tWw2Ofro70cay0RlahMhfw.s['503']++;var chart=this.get('chart'),parentNode=this._parentNode;__cov_tWw2Ofro70cay0RlahMhfw.s['504']++;if(parentNode){__cov_tWw2Ofro70cay0RlahMhfw.b['103'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['505']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['105'][0]++,chart)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['105'][1]++,this.get('includeInChartLayout'))||(__cov_tWw2Ofro70cay0RlahMhfw.b['105'][2]++,this._width)){__cov_tWw2Ofro70cay0RlahMhfw.b['104'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['506']++;if(!this._width){__cov_tWw2Ofro70cay0RlahMhfw.b['106'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['507']++;this._width=0;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['106'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['508']++;return this._width;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['104'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['509']++;return parentNode.get('offsetWidth');}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['103'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['510']++;return'';},setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['32']++;__cov_tWw2Ofro70cay0RlahMhfw.s['511']++;this._width=val;__cov_tWw2Ofro70cay0RlahMhfw.s['512']++;return val;}},height:{valueFn:'_heightGetter',getter:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['33']++;__cov_tWw2Ofro70cay0RlahMhfw.s['513']++;var chart=this.get('chart'),parentNode=this._parentNode;__cov_tWw2Ofro70cay0RlahMhfw.s['514']++;if(parentNode){__cov_tWw2Ofro70cay0RlahMhfw.b['107'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['515']++;if((__cov_tWw2Ofro70cay0RlahMhfw.b['109'][0]++,chart)&&(__cov_tWw2Ofro70cay0RlahMhfw.b['109'][1]++,this.get('includeInChartLayout'))||(__cov_tWw2Ofro70cay0RlahMhfw.b['109'][2]++,this._height)){__cov_tWw2Ofro70cay0RlahMhfw.b['108'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['516']++;if(!this._height){__cov_tWw2Ofro70cay0RlahMhfw.b['110'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['517']++;this._height=0;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['110'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['518']++;return this._height;}else{__cov_tWw2Ofro70cay0RlahMhfw.b['108'][1]++;__cov_tWw2Ofro70cay0RlahMhfw.s['519']++;return parentNode.get('offsetHeight');}}else{__cov_tWw2Ofro70cay0RlahMhfw.b['107'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['520']++;return'';},setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['34']++;__cov_tWw2Ofro70cay0RlahMhfw.s['521']++;this._height=val;__cov_tWw2Ofro70cay0RlahMhfw.s['522']++;return val;}},x:{lazyAdd:false,value:0,setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['35']++;__cov_tWw2Ofro70cay0RlahMhfw.s['523']++;var node=this.get('boundingBox');__cov_tWw2Ofro70cay0RlahMhfw.s['524']++;if(node){__cov_tWw2Ofro70cay0RlahMhfw.b['111'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['525']++;node.setStyle(LEFT,val+PX);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['111'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['526']++;return val;}},y:{lazyAdd:false,value:0,setter:function(val){__cov_tWw2Ofro70cay0RlahMhfw.f['36']++;__cov_tWw2Ofro70cay0RlahMhfw.s['527']++;var node=this.get('boundingBox');__cov_tWw2Ofro70cay0RlahMhfw.s['528']++;if(node){__cov_tWw2Ofro70cay0RlahMhfw.b['112'][0]++;__cov_tWw2Ofro70cay0RlahMhfw.s['529']++;node.setStyle(TOP,val+PX);}else{__cov_tWw2Ofro70cay0RlahMhfw.b['112'][1]++;}__cov_tWw2Ofro70cay0RlahMhfw.s['530']++;return val;}},items:{getter:function(){__cov_tWw2Ofro70cay0RlahMhfw.f['37']++;__cov_tWw2Ofro70cay0RlahMhfw.s['531']++;return this._items;}},background:{}}});},'3.13.0',{'requires':['charts-base']});
diff --git a/lib/yuilib/3.12.0/charts-legend/charts-legend-debug.js b/lib/yuilib/3.13.0/charts-legend/charts-legend-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-legend/charts-legend-debug.js
rename to lib/yuilib/3.13.0/charts-legend/charts-legend-debug.js
index 820b53d5f39..a3f713ded82
--- a/lib/yuilib/3.12.0/charts-legend/charts-legend-debug.js
+++ b/lib/yuilib/3.13.0/charts-legend/charts-legend-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -1708,4 +1708,4 @@ Y.ChartLegend = Y.Base.create("chartlegend", Y.Widget, [Y.Renderer], {
});
-}, '3.12.0', {"requires": ["charts-base"]});
+}, '3.13.0', {"requires": ["charts-base"]});
diff --git a/lib/yuilib/3.12.0/charts-legend/charts-legend-min.js b/lib/yuilib/3.13.0/charts-legend/charts-legend-min.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-legend/charts-legend-min.js
rename to lib/yuilib/3.13.0/charts-legend/charts-legend-min.js
index 4f0b573dff5..a1bf74526cd
--- a/lib/yuilib/3.12.0/charts-legend/charts-legend-min.js
+++ b/lib/yuilib/3.13.0/charts-legend/charts-legend-min.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -7,4 +7,4 @@ http://yuilibrary.com/license/
YUI.add("charts-legend",function(e,t){var n=e.config.doc,r="top",i="right",s="bottom",o="left",u="external",a="horizontal",f="vertical",l="width",c="height",h="position",p="x",d="y",v="px",m,g={setter:function(t){var n=this.get("legend");return n&&n.destroy(!0),t instanceof e.ChartLegend?(n=t,n.set("chart",this)):(t.chart=this,t.hasOwnProperty("render")||(t.render=this.get("contentBox"),t.includeInChartLayout=!0),n=new e.ChartLegend(t)),n}},y={_positionLegendItems:function(e,t,n,r,i,s,o,u,a){var f=0,l=0,c,h,p,d,m,g=this.get("width"),b,w,E,S,x,T=s.top-u,N=g-(s.left+s.right),C,k,L,A;y._setRowArrays(e,N,o),b=y.rowArray,S=y.totalWidthArray,w=b.length;for(;l-1;--c)L.unshift(r),r+=u[c].get("width")}if(a){k=[],h=a.length,c=0;for(c=h-1;c>-1;--c)i+=a[c].get("width"),k.unshift(e-i)}if(f){A=[],h=f.length;for(c=h-1;c>-1;--c)A.unshift(s),s+=f[c].get("height")}if(l){O=[],h=l.length;for(c=h-1;c>-1;--c)o+=l[c].get("height"),O.unshift(t-o)}E=e-(r+i),S=t-(o+s),_.left=r,_.top=s,_.bottom=t-o,_.right=e-i;if(!N){g=this._getTopOverflow(u,a),y=this._getBottomOverflow(u,a),b=this._getLeftOverflow(l,f),w=this._getRightOverflow(l,f),C=g-s;if(C>0){_.top=g;if(A){c=0,h=A.length;for(;c0){_.bottom=t-y;if(O){c=0,h=O.length;for(;c0){_.left=b;if(L){c=0,h=L.length;for(;c0){_.right=e-w;if(k){c=0,h=k.length;for(;c0&&t>0&&this._drawLegend()},_updateHandler:function(){this.get("rendered")&&this._drawLegend()},_positionChangeHandler:function(){var e=this.get("chart"),t=this._parentNode;t&&e&&this.get("includeInChartLayout")?this.fire("legendRendered"):this.get("rendered")&&this._drawLegend()},_handleSizeChange:function(e){var t=e.attrName,n=this.get(h),u=n===o||n===i,a=n===s||n===r;(a&&t===l||u&&t===c)&&this._drawLegend()},_drawLegend:function(){if(this._drawing){this._callLater=!0;return}this._drawing=!0,this._callLater=!1,this.get("includeInChartLayout")&&this.get("chart")._itemRenderQueue.unshift(this);var t=this.get("chart"),n=this.get("contentBox"),r=t.get("seriesCollection"),i,s=this.get("styles"),o=s.padding,u=s.item,a,f=u.hSpacing,l=u.vSpacing,c=this.get("direction"),h=c==="vertical"?s.vAlign:s.hAlign,p=s.marker,d=u.label,v,m=this._layout[c],g,y,b,w,E,S,x,T,N,C,k,L,A=[],O=p.width,M=p.height,_=0-f,D=0-l,P=0,H=0,B,j;p&&p.shape&&(w=p.shape),this._destroyLegendItems();if(t instanceof e.PieChart){i=r[0],v=i.get("categoryAxis").getDataByKey(i.get("categoryKey")),a=i.get("styles").marker,C=a.fill.colors,k=a.border.colors,L=a.border.weight,g=0,y=v.length,E=w||e.Circle,b=e.Lang.isArray(E);for(;g0)e=this._items.shift(),e.shape.get("graphic").destroy(),e.node.empty(),e.node.destroy(!0),e.node=null,e=null;this._items=[]},_layout:{vertical:b,horizontal:y},destructor:function(){var e=this.get("background"),t;this._destroyLegendItems(),e&&(t=e.get("graphic"),t?t.destroy():e.destroy())}},{ATTRS:{includeInChartLayout:{value:!1},chart:{setter:function(t){return this.after("legendRendered",e.bind(t._itemRendered,t)),t}},direction:{value:"vertical"},position:{lazyAdd:!1,value:"right",setter:function(e){return e===
-r||e===s?this.set("direction",a):(e===o||e===i)&&this.set("direction",f),e}},width:{getter:function(){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._width?(this._width||(this._width=0),this._width):t.get("offsetWidth"):""},setter:function(e){return this._width=e,e}},height:{valueFn:"_heightGetter",getter:function(){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._height?(this._height||(this._height=0),this._height):t.get("offsetHeight"):""},setter:function(e){return this._height=e,e}},x:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(o,e+v),e}},y:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(r,e+v),e}},items:{getter:function(){return this._items}},background:{}}})},"3.12.0",{requires:["charts-base"]});
+r||e===s?this.set("direction",a):(e===o||e===i)&&this.set("direction",f),e}},width:{getter:function(){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._width?(this._width||(this._width=0),this._width):t.get("offsetWidth"):""},setter:function(e){return this._width=e,e}},height:{valueFn:"_heightGetter",getter:function(){var e=this.get("chart"),t=this._parentNode;return t?e&&this.get("includeInChartLayout")||this._height?(this._height||(this._height=0),this._height):t.get("offsetHeight"):""},setter:function(e){return this._height=e,e}},x:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(o,e+v),e}},y:{lazyAdd:!1,value:0,setter:function(e){var t=this.get("boundingBox");return t&&t.setStyle(r,e+v),e}},items:{getter:function(){return this._items}},background:{}}})},"3.13.0",{requires:["charts-base"]});
diff --git a/lib/yuilib/3.12.0/charts-legend/charts-legend.js b/lib/yuilib/3.13.0/charts-legend/charts-legend.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/charts-legend/charts-legend.js
rename to lib/yuilib/3.13.0/charts-legend/charts-legend.js
index 820b53d5f39..a3f713ded82
--- a/lib/yuilib/3.12.0/charts-legend/charts-legend.js
+++ b/lib/yuilib/3.13.0/charts-legend/charts-legend.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -1708,4 +1708,4 @@ Y.ChartLegend = Y.Base.create("chartlegend", Y.Widget, [Y.Renderer], {
});
-}, '3.12.0', {"requires": ["charts-base"]});
+}, '3.13.0', {"requires": ["charts-base"]});
diff --git a/lib/yuilib/3.13.0/classnamemanager/classnamemanager-coverage.js b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-coverage.js
new file mode 100755
index 00000000000..95ceedac5f7
--- /dev/null
+++ b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/classnamemanager/classnamemanager.js']) {
+ __coverage__['build/classnamemanager/classnamemanager.js'] = {"path":"build/classnamemanager/classnamemanager.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0]},"f":{"1":0,"2":0,"3":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":28},"end":{"line":1,"column":47}}},"2":{"name":"(anonymous_2)","line":49,"loc":{"start":{"line":49,"column":21},"end":{"line":49,"column":33}}},"3":{"name":"(anonymous_3)","line":66,"loc":{"start":{"line":66,"column":25},"end":{"line":66,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":84,"column":41}},"2":{"start":{"line":22,"column":0},"end":{"line":24,"column":22}},"3":{"start":{"line":36,"column":0},"end":{"line":36,"column":64}},"4":{"start":{"line":47,"column":0},"end":{"line":47,"column":67}},"5":{"start":{"line":49,"column":0},"end":{"line":81,"column":4}},"6":{"start":{"line":51,"column":1},"end":{"line":52,"column":44}},"7":{"start":{"line":54,"column":1},"end":{"line":79,"column":3}},"8":{"start":{"line":68,"column":12},"end":{"line":68,"column":42}},"9":{"start":{"line":70,"column":12},"end":{"line":74,"column":13}},"10":{"start":{"line":71,"column":16},"end":{"line":71,"column":38}},"11":{"start":{"line":73,"column":16},"end":{"line":73,"column":27}},"12":{"start":{"line":76,"column":3},"end":{"line":76,"column":32}}},"branchMap":{"1":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":28},"end":{"line":36,"column":53}},{"start":{"line":36,"column":57},"end":{"line":36,"column":63}}]},"2":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":31},"end":{"line":47,"column":59}},{"start":{"line":47,"column":63},"end":{"line":47,"column":66}}]},"3":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":12}},{"start":{"line":70,"column":12},"end":{"line":70,"column":12}}]}},"code":["(function () { YUI.add('classnamemanager', function (Y, NAME) {","","/**","* Contains a singleton (ClassNameManager) that enables easy creation and caching of","* prefixed class names.","* @module classnamemanager","*/","","/**"," * A singleton class providing:"," *"," *
"," *
Easy creation of prefixed class names
"," *
Caching of previously created class names for improved performance.
"," *
"," *"," * @class ClassNameManager"," * @static"," */","","// String constants","var CLASS_NAME_PREFIX = 'classNamePrefix',","\tCLASS_NAME_DELIMITER = 'classNameDelimiter',"," CONFIG = Y.config;","","// Global config","","/**"," * Configuration property indicating the prefix for all CSS class names in this YUI instance."," *"," * @property classNamePrefix"," * @type {String}"," * @default \"yui\""," * @static"," */","CONFIG[CLASS_NAME_PREFIX] = CONFIG[CLASS_NAME_PREFIX] || 'yui3';","","/**"," * Configuration property indicating the delimiter used to compose all CSS class names in"," * this YUI instance."," *"," * @property classNameDelimiter"," * @type {String}"," * @default \"-\""," * @static"," */","CONFIG[CLASS_NAME_DELIMITER] = CONFIG[CLASS_NAME_DELIMITER] || '-';","","Y.ClassNameManager = function () {","","\tvar sPrefix = CONFIG[CLASS_NAME_PREFIX],","\t\tsDelimiter = CONFIG[CLASS_NAME_DELIMITER];","","\treturn {","","\t\t/**","\t\t * Returns a class name prefixed with the the value of the","\t\t * Y.config.classNamePrefix attribute + the provided strings.","\t\t * Uses the Y.config.classNameDelimiter attribute to delimit the","\t\t * provided strings. E.g. Y.ClassNameManager.getClassName('foo','bar'); // yui-foo-bar","\t\t *","\t\t * @method getClassName","\t\t * @param {String}+ classnameSection one or more classname sections to be joined","\t\t * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.","\t\t */","\t\tgetClassName: Y.cached(function () {",""," var args = Y.Array(arguments);",""," if (args[args.length-1] !== true) {"," args.unshift(sPrefix);"," } else {"," args.pop();"," }","","\t\t\treturn args.join(sDelimiter);","\t\t})","","\t};","","}();","","","}, '3.13.0', {\"requires\": [\"yui-base\"]});","","}());"]};
+}
+var __cov_ER6FT_nrhVfJNEFu65EmIA = __coverage__['build/classnamemanager/classnamemanager.js'];
+__cov_ER6FT_nrhVfJNEFu65EmIA.s['1']++;YUI.add('classnamemanager',function(Y,NAME){__cov_ER6FT_nrhVfJNEFu65EmIA.f['1']++;__cov_ER6FT_nrhVfJNEFu65EmIA.s['2']++;var CLASS_NAME_PREFIX='classNamePrefix',CLASS_NAME_DELIMITER='classNameDelimiter',CONFIG=Y.config;__cov_ER6FT_nrhVfJNEFu65EmIA.s['3']++;CONFIG[CLASS_NAME_PREFIX]=(__cov_ER6FT_nrhVfJNEFu65EmIA.b['1'][0]++,CONFIG[CLASS_NAME_PREFIX])||(__cov_ER6FT_nrhVfJNEFu65EmIA.b['1'][1]++,'yui3');__cov_ER6FT_nrhVfJNEFu65EmIA.s['4']++;CONFIG[CLASS_NAME_DELIMITER]=(__cov_ER6FT_nrhVfJNEFu65EmIA.b['2'][0]++,CONFIG[CLASS_NAME_DELIMITER])||(__cov_ER6FT_nrhVfJNEFu65EmIA.b['2'][1]++,'-');__cov_ER6FT_nrhVfJNEFu65EmIA.s['5']++;Y.ClassNameManager=function(){__cov_ER6FT_nrhVfJNEFu65EmIA.f['2']++;__cov_ER6FT_nrhVfJNEFu65EmIA.s['6']++;var sPrefix=CONFIG[CLASS_NAME_PREFIX],sDelimiter=CONFIG[CLASS_NAME_DELIMITER];__cov_ER6FT_nrhVfJNEFu65EmIA.s['7']++;return{getClassName:Y.cached(function(){__cov_ER6FT_nrhVfJNEFu65EmIA.f['3']++;__cov_ER6FT_nrhVfJNEFu65EmIA.s['8']++;var args=Y.Array(arguments);__cov_ER6FT_nrhVfJNEFu65EmIA.s['9']++;if(args[args.length-1]!==true){__cov_ER6FT_nrhVfJNEFu65EmIA.b['3'][0]++;__cov_ER6FT_nrhVfJNEFu65EmIA.s['10']++;args.unshift(sPrefix);}else{__cov_ER6FT_nrhVfJNEFu65EmIA.b['3'][1]++;__cov_ER6FT_nrhVfJNEFu65EmIA.s['11']++;args.pop();}__cov_ER6FT_nrhVfJNEFu65EmIA.s['12']++;return args.join(sDelimiter);})};}();},'3.13.0',{'requires':['yui-base']});
diff --git a/lib/yuilib/3.12.0/classnamemanager/classnamemanager-debug.js b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-debug.js
old mode 100644
new mode 100755
similarity index 89%
rename from lib/yuilib/3.12.0/classnamemanager/classnamemanager-debug.js
rename to lib/yuilib/3.13.0/classnamemanager/classnamemanager-debug.js
index 901604d8bb9..862c8758cbb
--- a/lib/yuilib/3.12.0/classnamemanager/classnamemanager-debug.js
+++ b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -8,21 +8,21 @@ http://yuilibrary.com/license/
YUI.add('classnamemanager', function (Y, NAME) {
/**
-* Contains a singleton (ClassNameManager) that enables easy creation and caching of
+* Contains a singleton (ClassNameManager) that enables easy creation and caching of
* prefixed class names.
* @module classnamemanager
*/
/**
- * A singleton class providing:
- *
+ * A singleton class providing:
+ *
*
*
Easy creation of prefixed class names
*
Caching of previously created class names for improved performance.
*
- *
+ *
* @class ClassNameManager
- * @static
+ * @static
*/
// String constants
@@ -61,14 +61,14 @@ Y.ClassNameManager = function () {
return {
/**
- * Returns a class name prefixed with the the value of the
+ * Returns a class name prefixed with the the value of the
* Y.config.classNamePrefix attribute + the provided strings.
- * Uses the Y.config.classNameDelimiter attribute to delimit the
+ * Uses the Y.config.classNameDelimiter attribute to delimit the
* provided strings. E.g. Y.ClassNameManager.getClassName('foo','bar'); // yui-foo-bar
*
* @method getClassName
* @param {String}+ classnameSection one or more classname sections to be joined
- * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.
+ * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.
*/
getClassName: Y.cached(function () {
@@ -88,4 +88,4 @@ Y.ClassNameManager = function () {
}();
-}, '3.12.0', {"requires": ["yui-base"]});
+}, '3.13.0', {"requires": ["yui-base"]});
diff --git a/lib/yuilib/3.12.0/classnamemanager/classnamemanager-min.js b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-min.js
old mode 100644
new mode 100755
similarity index 81%
rename from lib/yuilib/3.12.0/classnamemanager/classnamemanager-min.js
rename to lib/yuilib/3.13.0/classnamemanager/classnamemanager-min.js
index 7e6bfe6058c..b79304e0208
--- a/lib/yuilib/3.12.0/classnamemanager/classnamemanager-min.js
+++ b/lib/yuilib/3.13.0/classnamemanager/classnamemanager-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("classnamemanager",function(e,t){var n="classNamePrefix",r="classNameDelimiter",i=e.config;i[n]=i[n]||"yui3",i[r]=i[r]||"-",e.ClassNameManager=function(){var t=i[n],s=i[r];return{getClassName:e.cached(function(){var n=e.Array(arguments);return n[n.length-1]!==!0?n.unshift(t):n.pop(),n.join(s)})}}()},"3.12.0",{requires:["yui-base"]});
+YUI.add("classnamemanager",function(e,t){var n="classNamePrefix",r="classNameDelimiter",i=e.config;i[n]=i[n]||"yui3",i[r]=i[r]||"-",e.ClassNameManager=function(){var t=i[n],s=i[r];return{getClassName:e.cached(function(){var n=e.Array(arguments);return n[n.length-1]!==!0?n.unshift(t):n.pop(),n.join(s)})}}()},"3.13.0",{requires:["yui-base"]});
diff --git a/lib/yuilib/3.12.0/classnamemanager/classnamemanager.js b/lib/yuilib/3.13.0/classnamemanager/classnamemanager.js
old mode 100644
new mode 100755
similarity index 89%
rename from lib/yuilib/3.12.0/classnamemanager/classnamemanager.js
rename to lib/yuilib/3.13.0/classnamemanager/classnamemanager.js
index 901604d8bb9..862c8758cbb
--- a/lib/yuilib/3.12.0/classnamemanager/classnamemanager.js
+++ b/lib/yuilib/3.13.0/classnamemanager/classnamemanager.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -8,21 +8,21 @@ http://yuilibrary.com/license/
YUI.add('classnamemanager', function (Y, NAME) {
/**
-* Contains a singleton (ClassNameManager) that enables easy creation and caching of
+* Contains a singleton (ClassNameManager) that enables easy creation and caching of
* prefixed class names.
* @module classnamemanager
*/
/**
- * A singleton class providing:
- *
+ * A singleton class providing:
+ *
*
*
Easy creation of prefixed class names
*
Caching of previously created class names for improved performance.
*
- *
+ *
* @class ClassNameManager
- * @static
+ * @static
*/
// String constants
@@ -61,14 +61,14 @@ Y.ClassNameManager = function () {
return {
/**
- * Returns a class name prefixed with the the value of the
+ * Returns a class name prefixed with the the value of the
* Y.config.classNamePrefix attribute + the provided strings.
- * Uses the Y.config.classNameDelimiter attribute to delimit the
+ * Uses the Y.config.classNameDelimiter attribute to delimit the
* provided strings. E.g. Y.ClassNameManager.getClassName('foo','bar'); // yui-foo-bar
*
* @method getClassName
* @param {String}+ classnameSection one or more classname sections to be joined
- * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.
+ * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.
*/
getClassName: Y.cached(function () {
@@ -88,4 +88,4 @@ Y.ClassNameManager = function () {
}();
-}, '3.12.0', {"requires": ["yui-base"]});
+}, '3.13.0', {"requires": ["yui-base"]});
diff --git a/lib/yuilib/3.13.0/clickable-rail/clickable-rail-coverage.js b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-coverage.js
new file mode 100755
index 00000000000..e89ac550af7
--- /dev/null
+++ b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/clickable-rail/clickable-rail.js']) {
+ __coverage__['build/clickable-rail/clickable-rail.js'] = {"path":"build/clickable-rail/clickable-rail.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"ClickableRail","line":17,"loc":{"start":{"line":17,"column":0},"end":{"line":17,"column":25}}},"3":{"name":"(anonymous_3)","line":32,"loc":{"start":{"line":32,"column":28},"end":{"line":32,"column":40}}},"4":{"name":"(anonymous_4)","line":59,"loc":{"start":{"line":59,"column":28},"end":{"line":59,"column":40}}},"5":{"name":"(anonymous_5)","line":72,"loc":{"start":{"line":72,"column":30},"end":{"line":72,"column":42}}},"6":{"name":"(anonymous_6)","line":88,"loc":{"start":{"line":88,"column":26},"end":{"line":88,"column":39}}},"7":{"name":"(anonymous_7)","line":104,"loc":{"start":{"line":104,"column":29},"end":{"line":104,"column":42}}},"8":{"name":"(anonymous_8)","line":161,"loc":{"start":{"line":161,"column":23},"end":{"line":161,"column":36}}},"9":{"name":"(anonymous_9)","line":181,"loc":{"start":{"line":181,"column":30},"end":{"line":181,"column":49}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":212,"column":44}},"2":{"start":{"line":17,"column":0},"end":{"line":19,"column":1}},"3":{"start":{"line":18,"column":4},"end":{"line":18,"column":30}},"4":{"start":{"line":21,"column":0},"end":{"line":209,"column":9}},"5":{"start":{"line":33,"column":12},"end":{"line":33,"column":62}},"6":{"start":{"line":45,"column":12},"end":{"line":47,"column":15}},"7":{"start":{"line":49,"column":12},"end":{"line":49,"column":58}},"8":{"start":{"line":50,"column":12},"end":{"line":50,"column":58}},"9":{"start":{"line":60,"column":12},"end":{"line":60,"column":42}},"10":{"start":{"line":62,"column":12},"end":{"line":63,"column":53}},"11":{"start":{"line":73,"column":12},"end":{"line":78,"column":13}},"12":{"start":{"line":74,"column":16},"end":{"line":75,"column":75}},"13":{"start":{"line":77,"column":16},"end":{"line":77,"column":48}},"14":{"start":{"line":89,"column":12},"end":{"line":92,"column":13}},"15":{"start":{"line":90,"column":16},"end":{"line":90,"column":54}},"16":{"start":{"line":91,"column":16},"end":{"line":91,"column":35}},"17":{"start":{"line":105,"column":12},"end":{"line":105,"column":21}},"18":{"start":{"line":109,"column":12},"end":{"line":114,"column":19}},"19":{"start":{"line":116,"column":12},"end":{"line":148,"column":13}},"20":{"start":{"line":117,"column":16},"end":{"line":117,"column":43}},"21":{"start":{"line":118,"column":16},"end":{"line":118,"column":74}},"22":{"start":{"line":121,"column":16},"end":{"line":121,"column":57}},"23":{"start":{"line":124,"column":16},"end":{"line":124,"column":52}},"24":{"start":{"line":128,"column":16},"end":{"line":130,"column":46}},"25":{"start":{"line":132,"column":16},"end":{"line":132,"column":58}},"26":{"start":{"line":140,"column":16},"end":{"line":140,"column":63}},"27":{"start":{"line":143,"column":16},"end":{"line":143,"column":44}},"28":{"start":{"line":168,"column":12},"end":{"line":168,"column":28}},"29":{"start":{"line":182,"column":12},"end":{"line":183,"column":56}},"30":{"start":{"line":186,"column":12},"end":{"line":189,"column":14}}},"branchMap":{"1":{"line":33,"type":"binary-expr","locations":[{"start":{"line":33,"column":28},"end":{"line":33,"column":41}},{"start":{"line":33,"column":46},"end":{"line":33,"column":60}}]},"2":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]},"3":{"line":89,"type":"if","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":12}},{"start":{"line":89,"column":12},"end":{"line":89,"column":12}}]},"4":{"line":89,"type":"binary-expr","locations":[{"start":{"line":89,"column":16},"end":{"line":89,"column":41}},{"start":{"line":89,"column":45},"end":{"line":89,"column":66}}]},"5":{"line":116,"type":"if","locations":[{"start":{"line":116,"column":12},"end":{"line":116,"column":12}},{"start":{"line":116,"column":12},"end":{"line":116,"column":12}}]},"6":{"line":140,"type":"binary-expr","locations":[{"start":{"line":140,"column":27},"end":{"line":140,"column":48}},{"start":{"line":140,"column":52},"end":{"line":140,"column":62}}]}},"code":["(function () { YUI.add('clickable-rail', function (Y, NAME) {","","/**"," * Adds support for mouse interaction with the Slider rail triggering thumb"," * movement."," *"," * @module slider"," * @submodule clickable-rail"," */","","/**"," * Slider extension that allows clicking on the Slider's rail element,"," * triggering the thumb to align with the location of the click."," *"," * @class ClickableRail"," */","function ClickableRail() {"," this._initClickableRail();","}","","Y.ClickableRail = Y.mix(ClickableRail, {",""," // Prototype methods added to host class"," prototype: {",""," /**"," * Initializes the internal state and sets up events."," *"," * @method _initClickableRail"," * @protected"," */"," _initClickableRail: function () {"," this._evtGuid = this._evtGuid || (Y.guid() + '|');",""," /**"," * Broadcasts when the rail has received a mousedown event and"," * triggers the thumb positioning. Use"," * e.preventDefault() or"," * set("clickableRail", false) to prevent"," * the thumb positioning."," *"," * @event railMouseDown"," * @preventable _defRailMouseDownFn"," */"," this.publish('railMouseDown', {"," defaultFn: this._defRailMouseDownFn"," });",""," this.after('render', this._bindClickableRail);"," this.on('destroy', this._unbindClickableRail);"," },",""," /**"," * Attaches DOM event subscribers to support rail interaction."," *"," * @method _bindClickableRail"," * @protected"," */"," _bindClickableRail: function () {"," this._dd.addHandle(this.rail);",""," this.rail.on(this._evtGuid + Y.DD.Drag.START_EVENT,"," Y.bind(this._onRailMouseDown, this));"," },",""," /**"," * Detaches DOM event subscribers for cleanup/destruction cycle."," *"," * @method _unbindClickableRail"," * @protected"," */"," _unbindClickableRail: function () {"," if (this.get('rendered')) {"," var contentBox = this.get('contentBox'),"," rail = contentBox.one('.' + this.getClassName('rail'));",""," rail.detach(this.evtGuid + '*');"," }"," },",""," /**"," * Dispatches the railMouseDown event."," *"," * @method _onRailMouseDown"," * @param e {DOMEvent} the mousedown event object"," * @protected"," */"," _onRailMouseDown: function (e) {"," if (this.get('clickableRail') && !this.get('disabled')) {"," this.fire('railMouseDown', { ev: e });"," this.thumb.focus();"," }"," },",""," /**"," * Default behavior for the railMouseDown event. Centers the thumb at"," * the click location and passes control to the DDM to behave as though"," * the thumb itself were clicked in preparation for a drag operation."," *"," * @method _defRailMouseDownFn"," * @param e {Event} the EventFacade for the railMouseDown custom event"," * @protected"," */"," _defRailMouseDownFn: function (e) {"," e = e.ev;",""," // Logic that determines which thumb should be used is abstracted"," // to someday support multi-thumb sliders"," var dd = this._resolveThumb(e),"," i = this._key.xyIndex,"," length = parseFloat(this.get('length'), 10),"," thumb,"," thumbSize,"," xy;",""," if (dd) {"," thumb = dd.get('dragNode');"," thumbSize = parseFloat(thumb.getStyle(this._key.dim), 10);",""," // Step 1. Allow for aligning to thumb center or edge, etc"," xy = this._getThumbDestination(e, thumb);",""," // Step 2. Remove page offsets to give just top/left style val"," xy = xy[ i ] - this.rail.getXY()[i];",""," // Step 3. Constrain within the rail in case of attempt to"," // center the thumb when clicking on the end of the rail"," xy = Math.min("," Math.max(xy, 0),"," (length - thumbSize));",""," this._uiMoveThumb(xy, { source: 'rail' });",""," // Set e.target for DD's IE9 patch which calls"," // e.target._node.setCapture() to allow imgs to be dragged."," // Without this, setCapture is called from the rail and rail"," // clicks on other Sliders may have their thumb movements"," // overridden by a different Slider (the thumb on the wrong"," // Slider moves)."," e.target = this.thumb.one('img') || this.thumb;",""," // Delegate to DD's natural behavior"," dd._handleMouseDownEvent(e);",""," // TODO: this won't trigger a slideEnd if the rail is clicked"," // check if dd._move(e); dd._dragThreshMet = true; dd.start();"," // will do the trick. Is that even a good idea?"," }"," },",""," /**"," * Resolves which thumb to actuate if any. Override this if you want to"," * support multiple thumbs. By default, returns the Drag instance for"," * the thumb stored by the Slider."," *"," * @method _resolveThumb"," * @param e {DOMEvent} the mousedown event object"," * @return {DD.Drag} the Drag instance that should be moved"," * @protected"," */"," _resolveThumb: function (e) {"," /* Temporary workaround"," var primaryOnly = this._dd.get('primaryButtonOnly'),"," validClick = !primaryOnly || e.button <= 1;",""," return (validClick) ? this._dd : null;"," */"," return this._dd;"," },",""," /**"," * Calculates the top left position the thumb should be moved to to"," * align the click XY with the center of the specified node."," *"," * @method _getThumbDestination"," * @param e {DOMEvent} The mousedown event object"," * @param node {Node} The node to position"," * @return {Array} the [top, left] pixel position of the destination"," * @protected"," */"," _getThumbDestination: function (e, node) {"," var offsetWidth = node.get('offsetWidth'),"," offsetHeight = node.get('offsetHeight');",""," // center"," return ["," (e.pageX - Math.round((offsetWidth / 2))),"," (e.pageY - Math.round((offsetHeight / 2)))"," ];"," }",""," },",""," // Static properties added onto host class"," ATTRS: {"," /**"," * Enable or disable clickable rail support."," *"," * @attribute clickableRail"," * @type {Boolean}"," * @default true"," */"," clickableRail: {"," value: true,"," validator: Y.Lang.isBoolean"," }"," }","","}, true);","","","}, '3.13.0', {\"requires\": [\"slider-base\"]});","","}());"]};
+}
+var __cov_D5B6SYP8dFqpGt4iwN8wxA = __coverage__['build/clickable-rail/clickable-rail.js'];
+__cov_D5B6SYP8dFqpGt4iwN8wxA.s['1']++;YUI.add('clickable-rail',function(Y,NAME){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['1']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['2']++;function ClickableRail(){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['2']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['3']++;this._initClickableRail();}__cov_D5B6SYP8dFqpGt4iwN8wxA.s['4']++;Y.ClickableRail=Y.mix(ClickableRail,{prototype:{_initClickableRail:function(){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['3']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['5']++;this._evtGuid=(__cov_D5B6SYP8dFqpGt4iwN8wxA.b['1'][0]++,this._evtGuid)||(__cov_D5B6SYP8dFqpGt4iwN8wxA.b['1'][1]++,Y.guid()+'|');__cov_D5B6SYP8dFqpGt4iwN8wxA.s['6']++;this.publish('railMouseDown',{defaultFn:this._defRailMouseDownFn});__cov_D5B6SYP8dFqpGt4iwN8wxA.s['7']++;this.after('render',this._bindClickableRail);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['8']++;this.on('destroy',this._unbindClickableRail);},_bindClickableRail:function(){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['4']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['9']++;this._dd.addHandle(this.rail);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['10']++;this.rail.on(this._evtGuid+Y.DD.Drag.START_EVENT,Y.bind(this._onRailMouseDown,this));},_unbindClickableRail:function(){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['5']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['11']++;if(this.get('rendered')){__cov_D5B6SYP8dFqpGt4iwN8wxA.b['2'][0]++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['12']++;var contentBox=this.get('contentBox'),rail=contentBox.one('.'+this.getClassName('rail'));__cov_D5B6SYP8dFqpGt4iwN8wxA.s['13']++;rail.detach(this.evtGuid+'*');}else{__cov_D5B6SYP8dFqpGt4iwN8wxA.b['2'][1]++;}},_onRailMouseDown:function(e){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['6']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['14']++;if((__cov_D5B6SYP8dFqpGt4iwN8wxA.b['4'][0]++,this.get('clickableRail'))&&(__cov_D5B6SYP8dFqpGt4iwN8wxA.b['4'][1]++,!this.get('disabled'))){__cov_D5B6SYP8dFqpGt4iwN8wxA.b['3'][0]++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['15']++;this.fire('railMouseDown',{ev:e});__cov_D5B6SYP8dFqpGt4iwN8wxA.s['16']++;this.thumb.focus();}else{__cov_D5B6SYP8dFqpGt4iwN8wxA.b['3'][1]++;}},_defRailMouseDownFn:function(e){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['7']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['17']++;e=e.ev;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['18']++;var dd=this._resolveThumb(e),i=this._key.xyIndex,length=parseFloat(this.get('length'),10),thumb,thumbSize,xy;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['19']++;if(dd){__cov_D5B6SYP8dFqpGt4iwN8wxA.b['5'][0]++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['20']++;thumb=dd.get('dragNode');__cov_D5B6SYP8dFqpGt4iwN8wxA.s['21']++;thumbSize=parseFloat(thumb.getStyle(this._key.dim),10);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['22']++;xy=this._getThumbDestination(e,thumb);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['23']++;xy=xy[i]-this.rail.getXY()[i];__cov_D5B6SYP8dFqpGt4iwN8wxA.s['24']++;xy=Math.min(Math.max(xy,0),length-thumbSize);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['25']++;this._uiMoveThumb(xy,{source:'rail'});__cov_D5B6SYP8dFqpGt4iwN8wxA.s['26']++;e.target=(__cov_D5B6SYP8dFqpGt4iwN8wxA.b['6'][0]++,this.thumb.one('img'))||(__cov_D5B6SYP8dFqpGt4iwN8wxA.b['6'][1]++,this.thumb);__cov_D5B6SYP8dFqpGt4iwN8wxA.s['27']++;dd._handleMouseDownEvent(e);}else{__cov_D5B6SYP8dFqpGt4iwN8wxA.b['5'][1]++;}},_resolveThumb:function(e){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['8']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['28']++;return this._dd;},_getThumbDestination:function(e,node){__cov_D5B6SYP8dFqpGt4iwN8wxA.f['9']++;__cov_D5B6SYP8dFqpGt4iwN8wxA.s['29']++;var offsetWidth=node.get('offsetWidth'),offsetHeight=node.get('offsetHeight');__cov_D5B6SYP8dFqpGt4iwN8wxA.s['30']++;return[e.pageX-Math.round(offsetWidth/2),e.pageY-Math.round(offsetHeight/2)];}},ATTRS:{clickableRail:{value:true,validator:Y.Lang.isBoolean}}},true);},'3.13.0',{'requires':['slider-base']});
diff --git a/lib/yuilib/3.12.0/clickable-rail/clickable-rail-debug.js b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/clickable-rail/clickable-rail-debug.js
rename to lib/yuilib/3.13.0/clickable-rail/clickable-rail-debug.js
index 1f57386b509..39bf13fe74f
--- a/lib/yuilib/3.12.0/clickable-rail/clickable-rail-debug.js
+++ b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -57,7 +57,7 @@ Y.ClickableRail = Y.mix(ClickableRail, {
this.on('destroy', this._unbindClickableRail);
},
- /**
+ /**
* Attaches DOM event subscribers to support rail interaction.
*
* @method _bindClickableRail
@@ -119,7 +119,7 @@ Y.ClickableRail = Y.mix(ClickableRail, {
thumb,
thumbSize,
xy;
-
+
if (dd) {
thumb = dd.get('dragNode');
thumbSize = parseFloat(thumb.getStyle(this._key.dim), 10);
@@ -216,4 +216,4 @@ Y.ClickableRail = Y.mix(ClickableRail, {
}, true);
-}, '3.12.0', {"requires": ["slider-base"]});
+}, '3.13.0', {"requires": ["slider-base"]});
diff --git a/lib/yuilib/3.12.0/clickable-rail/clickable-rail-min.js b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-min.js
old mode 100644
new mode 100755
similarity index 94%
rename from lib/yuilib/3.12.0/clickable-rail/clickable-rail-min.js
rename to lib/yuilib/3.13.0/clickable-rail/clickable-rail-min.js
index b908c1b8957..0368a626e84
--- a/lib/yuilib/3.12.0/clickable-rail/clickable-rail-min.js
+++ b/lib/yuilib/3.13.0/clickable-rail/clickable-rail-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("clickable-rail",function(e,t){function n(){this._initClickableRail()}e.ClickableRail=e.mix(n,{prototype:{_initClickableRail:function(){this._evtGuid=this._evtGuid||e.guid()+"|",this.publish("railMouseDown",{defaultFn:this._defRailMouseDownFn}),this.after("render",this._bindClickableRail),this.on("destroy",this._unbindClickableRail)},_bindClickableRail:function(){this._dd.addHandle(this.rail),this.rail.on(this._evtGuid+e.DD.Drag.START_EVENT,e.bind(this._onRailMouseDown,this))},_unbindClickableRail:function(){if(this.get("rendered")){var e=this.get("contentBox"),t=e.one("."+this.getClassName("rail"));t.detach(this.evtGuid+"*")}},_onRailMouseDown:function(e){this.get("clickableRail")&&!this.get("disabled")&&(this.fire("railMouseDown",{ev:e}),this.thumb.focus())},_defRailMouseDownFn:function(e){e=e.ev;var t=this._resolveThumb(e),n=this._key.xyIndex,r=parseFloat(this.get("length"),10),i,s,o;t&&(i=t.get("dragNode"),s=parseFloat(i.getStyle(this._key.dim),10),o=this._getThumbDestination(e,i),o=o[n]-this.rail.getXY()[n],o=Math.min(Math.max(o,0),r-s),this._uiMoveThumb(o,{source:"rail"}),e.target=this.thumb.one("img")||this.thumb,t._handleMouseDownEvent(e))},_resolveThumb:function(e){return this._dd},_getThumbDestination:function(e,t){var n=t.get("offsetWidth"),r=t.get("offsetHeight");return[e.pageX-Math.round(n/2),e.pageY-Math.round(r/2)]}},ATTRS:{clickableRail:{value:!0,validator:e.Lang.isBoolean}}},!0)},"3.12.0",{requires:["slider-base"]});
+YUI.add("clickable-rail",function(e,t){function n(){this._initClickableRail()}e.ClickableRail=e.mix(n,{prototype:{_initClickableRail:function(){this._evtGuid=this._evtGuid||e.guid()+"|",this.publish("railMouseDown",{defaultFn:this._defRailMouseDownFn}),this.after("render",this._bindClickableRail),this.on("destroy",this._unbindClickableRail)},_bindClickableRail:function(){this._dd.addHandle(this.rail),this.rail.on(this._evtGuid+e.DD.Drag.START_EVENT,e.bind(this._onRailMouseDown,this))},_unbindClickableRail:function(){if(this.get("rendered")){var e=this.get("contentBox"),t=e.one("."+this.getClassName("rail"));t.detach(this.evtGuid+"*")}},_onRailMouseDown:function(e){this.get("clickableRail")&&!this.get("disabled")&&(this.fire("railMouseDown",{ev:e}),this.thumb.focus())},_defRailMouseDownFn:function(e){e=e.ev;var t=this._resolveThumb(e),n=this._key.xyIndex,r=parseFloat(this.get("length"),10),i,s,o;t&&(i=t.get("dragNode"),s=parseFloat(i.getStyle(this._key.dim),10),o=this._getThumbDestination(e,i),o=o[n]-this.rail.getXY()[n],o=Math.min(Math.max(o,0),r-s),this._uiMoveThumb(o,{source:"rail"}),e.target=this.thumb.one("img")||this.thumb,t._handleMouseDownEvent(e))},_resolveThumb:function(e){return this._dd},_getThumbDestination:function(e,t){var n=t.get("offsetWidth"),r=t.get("offsetHeight");return[e.pageX-Math.round(n/2),e.pageY-Math.round(r/2)]}},ATTRS:{clickableRail:{value:!0,validator:e.Lang.isBoolean}}},!0)},"3.13.0",{requires:["slider-base"]});
diff --git a/lib/yuilib/3.12.0/clickable-rail/clickable-rail.js b/lib/yuilib/3.13.0/clickable-rail/clickable-rail.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/clickable-rail/clickable-rail.js
rename to lib/yuilib/3.13.0/clickable-rail/clickable-rail.js
index 1f57386b509..39bf13fe74f
--- a/lib/yuilib/3.12.0/clickable-rail/clickable-rail.js
+++ b/lib/yuilib/3.13.0/clickable-rail/clickable-rail.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -57,7 +57,7 @@ Y.ClickableRail = Y.mix(ClickableRail, {
this.on('destroy', this._unbindClickableRail);
},
- /**
+ /**
* Attaches DOM event subscribers to support rail interaction.
*
* @method _bindClickableRail
@@ -119,7 +119,7 @@ Y.ClickableRail = Y.mix(ClickableRail, {
thumb,
thumbSize,
xy;
-
+
if (dd) {
thumb = dd.get('dragNode');
thumbSize = parseFloat(thumb.getStyle(this._key.dim), 10);
@@ -216,4 +216,4 @@ Y.ClickableRail = Y.mix(ClickableRail, {
}, true);
-}, '3.12.0', {"requires": ["slider-base"]});
+}, '3.13.0', {"requires": ["slider-base"]});
diff --git a/lib/yuilib/3.13.0/color-base/color-base-coverage.js b/lib/yuilib/3.13.0/color-base/color-base-coverage.js
new file mode 100755
index 00000000000..8dd8b477b14
--- /dev/null
+++ b/lib/yuilib/3.13.0/color-base/color-base-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/color-base/color-base.js']) {
+ __coverage__['build/color-base/color-base.js'] = {"path":"build/color-base/color-base.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":22},"end":{"line":1,"column":41}}},"2":{"name":"(anonymous_2)","line":135,"loc":{"start":{"line":135,"column":13},"end":{"line":135,"column":32}}},"3":{"name":"(anonymous_3)","line":155,"loc":{"start":{"line":155,"column":11},"end":{"line":155,"column":26}}},"4":{"name":"(anonymous_4)","line":174,"loc":{"start":{"line":174,"column":11},"end":{"line":174,"column":26}}},"5":{"name":"(anonymous_5)","line":187,"loc":{"start":{"line":187,"column":12},"end":{"line":187,"column":27}}},"6":{"name":"(anonymous_6)","line":213,"loc":{"start":{"line":213,"column":13},"end":{"line":213,"column":27}}},"7":{"name":"(anonymous_7)","line":266,"loc":{"start":{"line":266,"column":15},"end":{"line":266,"column":39}}},"8":{"name":"(anonymous_8)","line":296,"loc":{"start":{"line":296,"column":14},"end":{"line":296,"column":29}}},"9":{"name":"(anonymous_9)","line":325,"loc":{"start":{"line":325,"column":15},"end":{"line":325,"column":30}}},"10":{"name":"(anonymous_10)","line":344,"loc":{"start":{"line":344,"column":19},"end":{"line":344,"column":34}}},"11":{"name":"(anonymous_11)","line":361,"loc":{"start":{"line":361,"column":16},"end":{"line":361,"column":34}}},"12":{"name":"(anonymous_12)","line":443,"loc":{"start":{"line":443,"column":15},"end":{"line":443,"column":39}}},"13":{"name":"(anonymous_13)","line":474,"loc":{"start":{"line":474,"column":15},"end":{"line":474,"column":30}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":492,"column":41}},"2":{"start":{"line":16,"column":0},"end":{"line":20,"column":68}},"3":{"start":{"line":23,"column":0},"end":{"line":488,"column":2}},"4":{"start":{"line":136,"column":8},"end":{"line":137,"column":22}},"5":{"start":{"line":139,"column":8},"end":{"line":141,"column":9}},"6":{"start":{"line":140,"column":12},"end":{"line":140,"column":40}},"7":{"start":{"line":143,"column":8},"end":{"line":143,"column":19}},"8":{"start":{"line":156,"column":8},"end":{"line":157,"column":64}},"9":{"start":{"line":159,"column":8},"end":{"line":161,"column":9}},"10":{"start":{"line":160,"column":12},"end":{"line":160,"column":28}},"11":{"start":{"line":163,"column":8},"end":{"line":163,"column":69}},"12":{"start":{"line":175,"column":8},"end":{"line":175,"column":49}},"13":{"start":{"line":176,"column":8},"end":{"line":176,"column":33}},"14":{"start":{"line":188,"column":8},"end":{"line":188,"column":51}},"15":{"start":{"line":189,"column":8},"end":{"line":189,"column":33}},"16":{"start":{"line":215,"column":8},"end":{"line":219,"column":21}},"17":{"start":{"line":221,"column":8},"end":{"line":223,"column":9}},"18":{"start":{"line":222,"column":12},"end":{"line":222,"column":26}},"19":{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},"20":{"start":{"line":226,"column":12},"end":{"line":226,"column":37}},"21":{"start":{"line":229,"column":8},"end":{"line":229,"column":41}},"22":{"start":{"line":231,"column":8},"end":{"line":251,"column":9}},"23":{"start":{"line":232,"column":12},"end":{"line":232,"column":40}},"24":{"start":{"line":233,"column":12},"end":{"line":233,"column":32}},"25":{"start":{"line":235,"column":12},"end":{"line":250,"column":13}},"26":{"start":{"line":237,"column":16},"end":{"line":237,"column":28}},"27":{"start":{"line":238,"column":16},"end":{"line":238,"column":25}},"28":{"start":{"line":240,"column":16},"end":{"line":244,"column":17}},"29":{"start":{"line":241,"column":20},"end":{"line":241,"column":37}},"30":{"start":{"line":242,"column":20},"end":{"line":242,"column":37}},"31":{"start":{"line":243,"column":20},"end":{"line":243,"column":37}},"32":{"start":{"line":246,"column":16},"end":{"line":246,"column":43}},"33":{"start":{"line":247,"column":16},"end":{"line":249,"column":17}},"34":{"start":{"line":248,"column":20},"end":{"line":248,"column":40}},"35":{"start":{"line":253,"column":8},"end":{"line":253,"column":19}},"36":{"start":{"line":267,"column":8},"end":{"line":267,"column":27}},"37":{"start":{"line":269,"column":8},"end":{"line":271,"column":9}},"38":{"start":{"line":270,"column":12},"end":{"line":270,"column":34}},"39":{"start":{"line":273,"column":8},"end":{"line":273,"column":28}},"40":{"start":{"line":275,"column":8},"end":{"line":275,"column":60}},"41":{"start":{"line":277,"column":8},"end":{"line":279,"column":9}},"42":{"start":{"line":278,"column":12},"end":{"line":278,"column":24}},"43":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"44":{"start":{"line":282,"column":12},"end":{"line":282,"column":62}},"45":{"start":{"line":285,"column":8},"end":{"line":285,"column":24}},"46":{"start":{"line":297,"column":8},"end":{"line":299,"column":9}},"47":{"start":{"line":298,"column":12},"end":{"line":298,"column":29}},"48":{"start":{"line":301,"column":8},"end":{"line":302,"column":16}},"49":{"start":{"line":304,"column":8},"end":{"line":306,"column":9}},"50":{"start":{"line":305,"column":12},"end":{"line":305,"column":39}},"51":{"start":{"line":308,"column":8},"end":{"line":310,"column":9}},"52":{"start":{"line":309,"column":12},"end":{"line":309,"column":52}},"53":{"start":{"line":312,"column":8},"end":{"line":312,"column":21}},"54":{"start":{"line":326,"column":8},"end":{"line":327,"column":39}},"55":{"start":{"line":329,"column":8},"end":{"line":331,"column":9}},"56":{"start":{"line":330,"column":12},"end":{"line":330,"column":30}},"57":{"start":{"line":333,"column":8},"end":{"line":333,"column":27}},"58":{"start":{"line":345,"column":8},"end":{"line":345,"column":44}},"59":{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},"60":{"start":{"line":348,"column":12},"end":{"line":348,"column":27}},"61":{"start":{"line":363,"column":8},"end":{"line":365,"column":9}},"62":{"start":{"line":364,"column":12},"end":{"line":364,"column":23}},"63":{"start":{"line":367,"column":8},"end":{"line":372,"column":17}},"64":{"start":{"line":374,"column":8},"end":{"line":377,"column":9}},"65":{"start":{"line":375,"column":12},"end":{"line":375,"column":45}},"66":{"start":{"line":376,"column":12},"end":{"line":376,"column":25}},"67":{"start":{"line":379,"column":8},"end":{"line":387,"column":9}},"68":{"start":{"line":380,"column":12},"end":{"line":382,"column":13}},"69":{"start":{"line":381,"column":16},"end":{"line":381,"column":36}},"70":{"start":{"line":384,"column":12},"end":{"line":386,"column":54}},"71":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"72":{"start":{"line":390,"column":12},"end":{"line":390,"column":23}},"73":{"start":{"line":393,"column":8},"end":{"line":395,"column":9}},"74":{"start":{"line":394,"column":12},"end":{"line":394,"column":37}},"75":{"start":{"line":397,"column":8},"end":{"line":397,"column":56}},"76":{"start":{"line":398,"column":8},"end":{"line":401,"column":9}},"77":{"start":{"line":399,"column":12},"end":{"line":399,"column":33}},"78":{"start":{"line":400,"column":12},"end":{"line":400,"column":43}},"79":{"start":{"line":403,"column":8},"end":{"line":403,"column":71}},"80":{"start":{"line":404,"column":8},"end":{"line":404,"column":52}},"81":{"start":{"line":409,"column":8},"end":{"line":415,"column":9}},"82":{"start":{"line":410,"column":12},"end":{"line":414,"column":13}},"83":{"start":{"line":411,"column":16},"end":{"line":411,"column":57}},"84":{"start":{"line":412,"column":16},"end":{"line":412,"column":29}},"85":{"start":{"line":413,"column":16},"end":{"line":413,"column":60}},"86":{"start":{"line":417,"column":8},"end":{"line":419,"column":9}},"87":{"start":{"line":418,"column":12},"end":{"line":418,"column":46}},"88":{"start":{"line":422,"column":8},"end":{"line":428,"column":9}},"89":{"start":{"line":423,"column":12},"end":{"line":425,"column":13}},"90":{"start":{"line":424,"column":16},"end":{"line":424,"column":43}},"91":{"start":{"line":426,"column":12},"end":{"line":426,"column":28}},"92":{"start":{"line":427,"column":12},"end":{"line":427,"column":67}},"93":{"start":{"line":430,"column":8},"end":{"line":430,"column":19}},"94":{"start":{"line":444,"column":8},"end":{"line":444,"column":20}},"95":{"start":{"line":447,"column":8},"end":{"line":449,"column":9}},"96":{"start":{"line":448,"column":12},"end":{"line":448,"column":32}},"97":{"start":{"line":451,"column":8},"end":{"line":451,"column":32}},"98":{"start":{"line":453,"column":8},"end":{"line":453,"column":22}},"99":{"start":{"line":454,"column":8},"end":{"line":454,"column":28}},"100":{"start":{"line":455,"column":8},"end":{"line":455,"column":23}},"101":{"start":{"line":457,"column":8},"end":{"line":459,"column":9}},"102":{"start":{"line":458,"column":12},"end":{"line":458,"column":29}},"103":{"start":{"line":461,"column":8},"end":{"line":461,"column":54}},"104":{"start":{"line":476,"column":8},"end":{"line":477,"column":58}},"105":{"start":{"line":479,"column":8},"end":{"line":479,"column":34}},"106":{"start":{"line":481,"column":8},"end":{"line":483,"column":9}},"107":{"start":{"line":482,"column":12},"end":{"line":482,"column":28}},"108":{"start":{"line":485,"column":8},"end":{"line":485,"column":25}}},"branchMap":{"1":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":8},"end":{"line":139,"column":8}},{"start":{"line":139,"column":8},"end":{"line":139,"column":8}}]},"2":{"line":139,"type":"binary-expr","locations":[{"start":{"line":139,"column":12},"end":{"line":139,"column":19}},{"start":{"line":139,"column":23},"end":{"line":139,"column":39}}]},"3":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":8},"end":{"line":159,"column":8}},{"start":{"line":159,"column":8},"end":{"line":159,"column":8}}]},"4":{"line":159,"type":"binary-expr","locations":[{"start":{"line":159,"column":12},"end":{"line":159,"column":33}},{"start":{"line":159,"column":37},"end":{"line":159,"column":51}}]},"5":{"line":163,"type":"cond-expr","locations":[{"start":{"line":163,"column":31},"end":{"line":163,"column":48}},{"start":{"line":163,"column":51},"end":{"line":163,"column":68}}]},"6":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":8},"end":{"line":221,"column":8}},{"start":{"line":221,"column":8},"end":{"line":221,"column":8}}]},"7":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":12},"end":{"line":221,"column":26}},{"start":{"line":221,"column":30},"end":{"line":221,"column":44}}]},"8":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"9":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":231,"column":8}},{"start":{"line":231,"column":8},"end":{"line":231,"column":8}}]},"10":{"line":232,"type":"binary-expr","locations":[{"start":{"line":232,"column":18},"end":{"line":232,"column":33}},{"start":{"line":232,"column":37},"end":{"line":232,"column":39}}]},"11":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":12},"end":{"line":235,"column":12}},{"start":{"line":235,"column":12},"end":{"line":235,"column":12}}]},"12":{"line":240,"type":"if","locations":[{"start":{"line":240,"column":16},"end":{"line":240,"column":16}},{"start":{"line":240,"column":16},"end":{"line":240,"column":16}}]},"13":{"line":247,"type":"if","locations":[{"start":{"line":247,"column":16},"end":{"line":247,"column":16}},{"start":{"line":247,"column":16},"end":{"line":247,"column":16}}]},"14":{"line":269,"type":"if","locations":[{"start":{"line":269,"column":8},"end":{"line":269,"column":8}},{"start":{"line":269,"column":8},"end":{"line":269,"column":8}}]},"15":{"line":277,"type":"if","locations":[{"start":{"line":277,"column":8},"end":{"line":277,"column":8}},{"start":{"line":277,"column":8},"end":{"line":277,"column":8}}]},"16":{"line":277,"type":"binary-expr","locations":[{"start":{"line":277,"column":12},"end":{"line":277,"column":28}},{"start":{"line":277,"column":32},"end":{"line":277,"column":70}}]},"17":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":16},"end":{"line":281,"column":46}},{"start":{"line":281,"column":50},"end":{"line":281,"column":64}}]},"18":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":8},"end":{"line":297,"column":8}},{"start":{"line":297,"column":8},"end":{"line":297,"column":8}}]},"19":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":8},"end":{"line":304,"column":8}},{"start":{"line":304,"column":8},"end":{"line":304,"column":8}}]},"20":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":8}},{"start":{"line":308,"column":8},"end":{"line":308,"column":8}}]},"21":{"line":308,"type":"binary-expr","locations":[{"start":{"line":308,"column":12},"end":{"line":308,"column":15}},{"start":{"line":308,"column":19},"end":{"line":308,"column":51}}]},"22":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":8},"end":{"line":329,"column":8}},{"start":{"line":329,"column":8},"end":{"line":329,"column":8}}]},"23":{"line":333,"type":"binary-expr","locations":[{"start":{"line":333,"column":15},"end":{"line":333,"column":21}},{"start":{"line":333,"column":25},"end":{"line":333,"column":26}}]},"24":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":8},"end":{"line":347,"column":8}},{"start":{"line":347,"column":8},"end":{"line":347,"column":8}}]},"25":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":8},"end":{"line":363,"column":8}},{"start":{"line":363,"column":8},"end":{"line":363,"column":8}}]},"26":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":8},"end":{"line":374,"column":8}},{"start":{"line":374,"column":8},"end":{"line":374,"column":8}}]},"27":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":8},"end":{"line":379,"column":8}},{"start":{"line":379,"column":8},"end":{"line":379,"column":8}}]},"28":{"line":379,"type":"binary-expr","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":26}},{"start":{"line":379,"column":30},"end":{"line":379,"column":44}}]},"29":{"line":380,"type":"if","locations":[{"start":{"line":380,"column":12},"end":{"line":380,"column":12}},{"start":{"line":380,"column":12},"end":{"line":380,"column":12}}]},"30":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":8},"end":{"line":389,"column":8}},{"start":{"line":389,"column":8},"end":{"line":389,"column":8}}]},"31":{"line":393,"type":"if","locations":[{"start":{"line":393,"column":8},"end":{"line":393,"column":8}},{"start":{"line":393,"column":8},"end":{"line":393,"column":8}}]},"32":{"line":398,"type":"if","locations":[{"start":{"line":398,"column":8},"end":{"line":398,"column":8}},{"start":{"line":398,"column":8},"end":{"line":398,"column":8}}]},"33":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":8},"end":{"line":409,"column":8}},{"start":{"line":409,"column":8},"end":{"line":409,"column":8}}]},"34":{"line":410,"type":"if","locations":[{"start":{"line":410,"column":12},"end":{"line":410,"column":12}},{"start":{"line":410,"column":12},"end":{"line":410,"column":12}}]},"35":{"line":410,"type":"binary-expr","locations":[{"start":{"line":410,"column":16},"end":{"line":410,"column":30}},{"start":{"line":410,"column":34},"end":{"line":410,"column":46}}]},"36":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":8},"end":{"line":417,"column":8}},{"start":{"line":417,"column":8},"end":{"line":417,"column":8}}]},"37":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":8},"end":{"line":422,"column":8}},{"start":{"line":422,"column":8},"end":{"line":422,"column":8}}]},"38":{"line":423,"type":"if","locations":[{"start":{"line":423,"column":12},"end":{"line":423,"column":12}},{"start":{"line":423,"column":12},"end":{"line":423,"column":12}}]},"39":{"line":447,"type":"if","locations":[{"start":{"line":447,"column":8},"end":{"line":447,"column":8}},{"start":{"line":447,"column":8},"end":{"line":447,"column":8}}]},"40":{"line":457,"type":"if","locations":[{"start":{"line":457,"column":8},"end":{"line":457,"column":8}},{"start":{"line":457,"column":8},"end":{"line":457,"column":8}}]}},"code":["(function () { YUI.add('color-base', function (Y, NAME) {","","/**","Color provides static methods for color conversion.",""," Y.Color.toRGB('f00'); // rgb(255, 0, 0)",""," Y.Color.toHex('rgb(255, 255, 0)'); // #ffff00","","@module color","@submodule color-base","@class Color","@since 3.8.0","**/","","var REGEX_HEX = /^#?([\\da-fA-F]{2})([\\da-fA-F]{2})([\\da-fA-F]{2})(\\ufffe)?/,"," REGEX_HEX3 = /^#?([\\da-fA-F]{1})([\\da-fA-F]{1})([\\da-fA-F]{1})(\\ufffe)?/,"," REGEX_RGB = /rgba?\\(([\\d]{1,3}), ?([\\d]{1,3}), ?([\\d]{1,3}),? ?([.\\d]*)?\\)/,"," TYPES = { 'HEX': 'hex', 'RGB': 'rgb', 'RGBA': 'rgba' },"," CONVERTS = { 'hex': 'toHex', 'rgb': 'toRGB', 'rgba': 'toRGBA' };","","","Y.Color = {"," /**"," @static"," @property KEYWORDS"," @type Object"," @since 3.8.0"," **/"," KEYWORDS: {"," 'black': '000', 'silver': 'c0c0c0', 'gray': '808080', 'white': 'fff',"," 'maroon': '800000', 'red': 'f00', 'purple': '800080', 'fuchsia': 'f0f',"," 'green': '008000', 'lime': '0f0', 'olive': '808000', 'yellow': 'ff0',"," 'navy': '000080', 'blue': '00f', 'teal': '008080', 'aqua': '0ff'"," },",""," /**"," NOTE: `(\\ufffe)?` is added to the Regular Expression to carve out a"," place for the alpha channel that is returned from toArray"," without compromising any usage of the Regular Expression",""," @static"," @property REGEX_HEX"," @type RegExp"," @default /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})(\\ufffe)?/"," @since 3.8.0"," **/"," REGEX_HEX: REGEX_HEX,",""," /**"," NOTE: `(\\ufffe)?` is added to the Regular Expression to carve out a"," place for the alpha channel that is returned from toArray"," without compromising any usage of the Regular Expression",""," @static"," @property REGEX_HEX3"," @type RegExp"," @default /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})(\\ufffe)?/"," @since 3.8.0"," **/"," REGEX_HEX3: REGEX_HEX3,",""," /**"," @static"," @property REGEX_RGB"," @type RegExp"," @default /rgba?\\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3}),? ?([.0-9]{1,3})?\\)/"," @since 3.8.0"," **/"," REGEX_RGB: REGEX_RGB,",""," re_RGB: REGEX_RGB,",""," re_hex: REGEX_HEX,",""," re_hex3: REGEX_HEX3,",""," /**"," @static"," @property STR_HEX"," @type String"," @default #{*}{*}{*}"," @since 3.8.0"," **/"," STR_HEX: '#{*}{*}{*}',",""," /**"," @static"," @property STR_RGB"," @type String"," @default rgb({*}, {*}, {*})"," @since 3.8.0"," **/"," STR_RGB: 'rgb({*}, {*}, {*})',",""," /**"," @static"," @property STR_RGBA"," @type String"," @default rgba({*}, {*}, {*}, {*})"," @since 3.8.0"," **/"," STR_RGBA: 'rgba({*}, {*}, {*}, {*})',",""," /**"," @static"," @property TYPES"," @type Object"," @default {'rgb':'rgb', 'rgba':'rgba'}"," @since 3.8.0"," **/"," TYPES: TYPES,",""," /**"," @static"," @property CONVERTS"," @type Object"," @default {}"," @since 3.8.0"," **/"," CONVERTS: CONVERTS,",""," /**"," Converts the provided string to the provided type."," You can use the `Y.Color.TYPES` to get a valid `to` type."," If the color cannot be converted, the original color will be returned.",""," @public"," @method convert"," @param {String} str"," @param {String} to"," @return {String}"," @since 3.8.0"," **/"," convert: function (str, to) {"," var convert = Y.Color.CONVERTS[to.toLowerCase()],"," clr = str;",""," if (convert && Y.Color[convert]) {"," clr = Y.Color[convert](str);"," }",""," return clr;"," },",""," /**"," Converts provided color value to a hex value string",""," @public"," @method toHex"," @param {String} str Hex or RGB value string"," @return {String} returns array of values or CSS string if options.css is true"," @since 3.8.0"," **/"," toHex: function (str) {"," var clr = Y.Color._convertTo(str, 'hex'),"," isTransparent = clr.toLowerCase() === 'transparent';",""," if (clr.charAt(0) !== '#' && !isTransparent) {"," clr = '#' + clr;"," }",""," return isTransparent ? clr.toLowerCase() : clr.toUpperCase();"," },",""," /**"," Converts provided color value to an RGB value string"," @public"," @method toRGB"," @param {String} str Hex or RGB value string"," @return {String}"," @since 3.8.0"," **/"," toRGB: function (str) {"," var clr = Y.Color._convertTo(str, 'rgb');"," return clr.toLowerCase();"," },",""," /**"," Converts provided color value to an RGB value string"," @public"," @method toRGBA"," @param {String} str Hex or RGB value string"," @return {String}"," @since 3.8.0"," **/"," toRGBA: function (str) {"," var clr = Y.Color._convertTo(str, 'rgba' );"," return clr.toLowerCase();"," },",""," /**"," Converts the provided color string to an array of values where the"," last value is the alpha value. Will return an empty array if"," the provided string is not able to be parsed.",""," NOTE: `(\\ufffe)?` is added to `HEX` and `HEX3` Regular Expressions to"," carve out a place for the alpha channel that is returned from"," toArray without compromising any usage of the Regular Expression",""," Y.Color.toArray('fff'); // ['ff', 'ff', 'ff', 1]"," Y.Color.toArray('rgb(0, 0, 0)'); // ['0', '0', '0', 1]"," Y.Color.toArray('rgba(0, 0, 0, 0)'); // ['0', '0', '0', 1]","","",""," @public"," @method toArray"," @param {String} str"," @return {Array}"," @since 3.8.0"," **/"," toArray: function(str) {"," // parse with regex and return \"matches\" array"," var type = Y.Color.findType(str).toUpperCase(),"," regex,"," arr,"," length,"," lastItem;",""," if (type === 'HEX' && str.length < 5) {"," type = 'HEX3';"," }",""," if (type.charAt(type.length - 1) === 'A') {"," type = type.slice(0, -1);"," }",""," regex = Y.Color['REGEX_' + type];",""," if (regex) {"," arr = regex.exec(str) || [];"," length = arr.length;",""," if (length) {",""," arr.shift();"," length--;",""," if (type === 'HEX3') {"," arr[0] += arr[0];"," arr[1] += arr[1];"," arr[2] += arr[2];"," }",""," lastItem = arr[length - 1];"," if (!lastItem) {"," arr[length - 1] = 1;"," }"," }"," }",""," return arr;",""," },",""," /**"," Converts the array of values to a string based on the provided template."," @public"," @method fromArray"," @param {Array} arr"," @param {String} template"," @return {String}"," @since 3.8.0"," **/"," fromArray: function(arr, template) {"," arr = arr.concat();",""," if (typeof template === 'undefined') {"," return arr.join(', ');"," }",""," var replace = '{*}';",""," template = Y.Color['STR_' + template.toUpperCase()];",""," if (arr.length === 3 && template.match(/\\{\\*\\}/g).length === 4) {"," arr.push(1);"," }",""," while ( template.indexOf(replace) >= 0 && arr.length > 0) {"," template = template.replace(replace, arr.shift());"," }",""," return template;"," },",""," /**"," Finds the value type based on the str value provided."," @public"," @method findType"," @param {String} str"," @return {String}"," @since 3.8.0"," **/"," findType: function (str) {"," if (Y.Color.KEYWORDS[str]) {"," return 'keyword';"," }",""," var index = str.indexOf('('),"," key;",""," if (index > 0) {"," key = str.substr(0, index);"," }",""," if (key && Y.Color.TYPES[key.toUpperCase()]) {"," return Y.Color.TYPES[key.toUpperCase()];"," }",""," return 'hex';",""," }, // return 'keyword', 'hex', 'rgb'",""," /**"," Retrives the alpha channel from the provided string. If no alpha"," channel is present, `1` will be returned."," @protected"," @method _getAlpha"," @param {String} clr"," @return {Number}"," @since 3.8.0"," **/"," _getAlpha: function (clr) {"," var alpha,"," arr = Y.Color.toArray(clr);",""," if (arr.length > 3) {"," alpha = arr.pop();"," }",""," return +alpha || 1;"," },",""," /**"," Returns the hex value string if found in the KEYWORDS object"," @protected"," @method _keywordToHex"," @param {String} clr"," @return {String}"," @since 3.8.0"," **/"," _keywordToHex: function (clr) {"," var keyword = Y.Color.KEYWORDS[clr];",""," if (keyword) {"," return keyword;"," }"," },",""," /**"," Converts the provided color string to the value type provided as `to`"," @protected"," @method _convertTo"," @param {String} clr"," @param {String} to"," @return {String}"," @since 3.8.0"," **/"," _convertTo: function(clr, to) {",""," if (clr === 'transparent') {"," return clr;"," }",""," var from = Y.Color.findType(clr),"," originalTo = to,"," needsAlpha,"," alpha,"," method,"," ucTo;",""," if (from === 'keyword') {"," clr = Y.Color._keywordToHex(clr);"," from = 'hex';"," }",""," if (from === 'hex' && clr.length < 5) {"," if (clr.charAt(0) === '#') {"," clr = clr.substr(1);"," }",""," clr = '#' + clr.charAt(0) + clr.charAt(0) +"," clr.charAt(1) + clr.charAt(1) +"," clr.charAt(2) + clr.charAt(2);"," }",""," if (from === to) {"," return clr;"," }",""," if (from.charAt(from.length - 1) === 'a') {"," from = from.slice(0, -1);"," }",""," needsAlpha = (to.charAt(to.length - 1) === 'a');"," if (needsAlpha) {"," to = to.slice(0, -1);"," alpha = Y.Color._getAlpha(clr);"," }",""," ucTo = to.charAt(0).toUpperCase() + to.substr(1).toLowerCase();"," method = Y.Color['_' + from + 'To' + ucTo ];",""," // check to see if need conversion to rgb first"," // check to see if there is a direct conversion method"," // convertions are: hex <-> rgb <-> hsl"," if (!method) {"," if (from !== 'rgb' && to !== 'rgb') {"," clr = Y.Color['_' + from + 'ToRgb'](clr);"," from = 'rgb';"," method = Y.Color['_' + from + 'To' + ucTo ];"," }"," }",""," if (method) {"," clr = ((method)(clr, needsAlpha));"," }",""," // process clr from arrays to strings after conversions if alpha is needed"," if (needsAlpha) {"," if (!Y.Lang.isArray(clr)) {"," clr = Y.Color.toArray(clr);"," }"," clr.push(alpha);"," clr = Y.Color.fromArray(clr, originalTo.toUpperCase());"," }",""," return clr;"," },",""," /**"," Processes the hex string into r, g, b values. Will return values as"," an array, or as an rgb string."," @protected"," @method _hexToRgb"," @param {String} str"," @param {Boolean} [toArray]"," @return {String|Array}"," @since 3.8.0"," **/"," _hexToRgb: function (str, toArray) {"," var r, g, b;",""," /*jshint bitwise:false*/"," if (str.charAt(0) === '#') {"," str = str.substr(1);"," }",""," str = parseInt(str, 16);",""," r = str >> 16;"," g = str >> 8 & 0xFF;"," b = str & 0xFF;",""," if (toArray) {"," return [r, g, b];"," }",""," return 'rgb(' + r + ', ' + g + ', ' + b + ')';"," },",""," /**"," Processes the rgb string into r, g, b values. Will return values as"," an array, or as a hex string."," @protected"," @method _rgbToHex"," @param {String} str"," @param {Boolean} [toArray]"," @return {String|Array}"," @since 3.8.0"," **/"," _rgbToHex: function (str) {"," /*jshint bitwise:false*/"," var rgb = Y.Color.toArray(str),"," hex = rgb[2] | (rgb[1] << 8) | (rgb[0] << 16);",""," hex = (+hex).toString(16);",""," while (hex.length < 6) {"," hex = '0' + hex;"," }",""," return '#' + hex;"," }","","};","","","","}, '3.13.0', {\"requires\": [\"yui-base\"]});","","}());"]};
+}
+var __cov_eAF_jmEJLeW6ldpfcnTRlA = __coverage__['build/color-base/color-base.js'];
+__cov_eAF_jmEJLeW6ldpfcnTRlA.s['1']++;YUI.add('color-base',function(Y,NAME){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['1']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['2']++;var REGEX_HEX=/^#?([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})(\ufffe)?/,REGEX_HEX3=/^#?([\da-fA-F]{1})([\da-fA-F]{1})([\da-fA-F]{1})(\ufffe)?/,REGEX_RGB=/rgba?\(([\d]{1,3}), ?([\d]{1,3}), ?([\d]{1,3}),? ?([.\d]*)?\)/,TYPES={'HEX':'hex','RGB':'rgb','RGBA':'rgba'},CONVERTS={'hex':'toHex','rgb':'toRGB','rgba':'toRGBA'};__cov_eAF_jmEJLeW6ldpfcnTRlA.s['3']++;Y.Color={KEYWORDS:{'black':'000','silver':'c0c0c0','gray':'808080','white':'fff','maroon':'800000','red':'f00','purple':'800080','fuchsia':'f0f','green':'008000','lime':'0f0','olive':'808000','yellow':'ff0','navy':'000080','blue':'00f','teal':'008080','aqua':'0ff'},REGEX_HEX:REGEX_HEX,REGEX_HEX3:REGEX_HEX3,REGEX_RGB:REGEX_RGB,re_RGB:REGEX_RGB,re_hex:REGEX_HEX,re_hex3:REGEX_HEX3,STR_HEX:'#{*}{*}{*}',STR_RGB:'rgb({*}, {*}, {*})',STR_RGBA:'rgba({*}, {*}, {*}, {*})',TYPES:TYPES,CONVERTS:CONVERTS,convert:function(str,to){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['2']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['4']++;var convert=Y.Color.CONVERTS[to.toLowerCase()],clr=str;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['5']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['2'][0]++,convert)&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['2'][1]++,Y.Color[convert])){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['1'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['6']++;clr=Y.Color[convert](str);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['1'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['7']++;return clr;},toHex:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['3']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['8']++;var clr=Y.Color._convertTo(str,'hex'),isTransparent=clr.toLowerCase()==='transparent';__cov_eAF_jmEJLeW6ldpfcnTRlA.s['9']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['4'][0]++,clr.charAt(0)!=='#')&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['4'][1]++,!isTransparent)){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['3'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['10']++;clr='#'+clr;}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['3'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['11']++;return isTransparent?(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['5'][0]++,clr.toLowerCase()):(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['5'][1]++,clr.toUpperCase());},toRGB:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['4']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['12']++;var clr=Y.Color._convertTo(str,'rgb');__cov_eAF_jmEJLeW6ldpfcnTRlA.s['13']++;return clr.toLowerCase();},toRGBA:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['5']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['14']++;var clr=Y.Color._convertTo(str,'rgba');__cov_eAF_jmEJLeW6ldpfcnTRlA.s['15']++;return clr.toLowerCase();},toArray:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['6']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['16']++;var type=Y.Color.findType(str).toUpperCase(),regex,arr,length,lastItem;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['17']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['7'][0]++,type==='HEX')&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['7'][1]++,str.length<5)){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['6'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['18']++;type='HEX3';}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['6'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['19']++;if(type.charAt(type.length-1)==='A'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['8'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['20']++;type=type.slice(0,-1);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['8'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['21']++;regex=Y.Color['REGEX_'+type];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['22']++;if(regex){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['9'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['23']++;arr=(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['10'][0]++,regex.exec(str))||(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['10'][1]++,[]);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['24']++;length=arr.length;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['25']++;if(length){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['11'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['26']++;arr.shift();__cov_eAF_jmEJLeW6ldpfcnTRlA.s['27']++;length--;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['28']++;if(type==='HEX3'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['12'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['29']++;arr[0]+=arr[0];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['30']++;arr[1]+=arr[1];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['31']++;arr[2]+=arr[2];}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['12'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['32']++;lastItem=arr[length-1];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['33']++;if(!lastItem){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['13'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['34']++;arr[length-1]=1;}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['13'][1]++;}}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['11'][1]++;}}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['9'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['35']++;return arr;},fromArray:function(arr,template){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['7']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['36']++;arr=arr.concat();__cov_eAF_jmEJLeW6ldpfcnTRlA.s['37']++;if(typeof template==='undefined'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['14'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['38']++;return arr.join(', ');}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['14'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['39']++;var replace='{*}';__cov_eAF_jmEJLeW6ldpfcnTRlA.s['40']++;template=Y.Color['STR_'+template.toUpperCase()];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['41']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['16'][0]++,arr.length===3)&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['16'][1]++,template.match(/\{\*\}/g).length===4)){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['15'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['42']++;arr.push(1);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['15'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['43']++;while((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['17'][0]++,template.indexOf(replace)>=0)&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['17'][1]++,arr.length>0)){__cov_eAF_jmEJLeW6ldpfcnTRlA.s['44']++;template=template.replace(replace,arr.shift());}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['45']++;return template;},findType:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['8']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['46']++;if(Y.Color.KEYWORDS[str]){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['18'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['47']++;return'keyword';}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['18'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['48']++;var index=str.indexOf('('),key;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['49']++;if(index>0){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['19'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['50']++;key=str.substr(0,index);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['19'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['51']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['21'][0]++,key)&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['21'][1]++,Y.Color.TYPES[key.toUpperCase()])){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['20'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['52']++;return Y.Color.TYPES[key.toUpperCase()];}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['20'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['53']++;return'hex';},_getAlpha:function(clr){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['9']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['54']++;var alpha,arr=Y.Color.toArray(clr);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['55']++;if(arr.length>3){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['22'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['56']++;alpha=arr.pop();}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['22'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['57']++;return(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['23'][0]++,+alpha)||(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['23'][1]++,1);},_keywordToHex:function(clr){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['10']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['58']++;var keyword=Y.Color.KEYWORDS[clr];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['59']++;if(keyword){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['24'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['60']++;return keyword;}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['24'][1]++;}},_convertTo:function(clr,to){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['11']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['61']++;if(clr==='transparent'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['25'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['62']++;return clr;}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['25'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['63']++;var from=Y.Color.findType(clr),originalTo=to,needsAlpha,alpha,method,ucTo;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['64']++;if(from==='keyword'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['26'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['65']++;clr=Y.Color._keywordToHex(clr);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['66']++;from='hex';}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['26'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['67']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['28'][0]++,from==='hex')&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['28'][1]++,clr.length<5)){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['27'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['68']++;if(clr.charAt(0)==='#'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['29'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['69']++;clr=clr.substr(1);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['29'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['70']++;clr='#'+clr.charAt(0)+clr.charAt(0)+clr.charAt(1)+clr.charAt(1)+clr.charAt(2)+clr.charAt(2);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['27'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['71']++;if(from===to){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['30'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['72']++;return clr;}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['30'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['73']++;if(from.charAt(from.length-1)==='a'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['31'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['74']++;from=from.slice(0,-1);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['31'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['75']++;needsAlpha=to.charAt(to.length-1)==='a';__cov_eAF_jmEJLeW6ldpfcnTRlA.s['76']++;if(needsAlpha){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['32'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['77']++;to=to.slice(0,-1);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['78']++;alpha=Y.Color._getAlpha(clr);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['32'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['79']++;ucTo=to.charAt(0).toUpperCase()+to.substr(1).toLowerCase();__cov_eAF_jmEJLeW6ldpfcnTRlA.s['80']++;method=Y.Color['_'+from+'To'+ucTo];__cov_eAF_jmEJLeW6ldpfcnTRlA.s['81']++;if(!method){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['33'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['82']++;if((__cov_eAF_jmEJLeW6ldpfcnTRlA.b['35'][0]++,from!=='rgb')&&(__cov_eAF_jmEJLeW6ldpfcnTRlA.b['35'][1]++,to!=='rgb')){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['34'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['83']++;clr=Y.Color['_'+from+'ToRgb'](clr);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['84']++;from='rgb';__cov_eAF_jmEJLeW6ldpfcnTRlA.s['85']++;method=Y.Color['_'+from+'To'+ucTo];}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['34'][1]++;}}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['33'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['86']++;if(method){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['36'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['87']++;clr=method(clr,needsAlpha);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['36'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['88']++;if(needsAlpha){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['37'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['89']++;if(!Y.Lang.isArray(clr)){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['38'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['90']++;clr=Y.Color.toArray(clr);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['38'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['91']++;clr.push(alpha);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['92']++;clr=Y.Color.fromArray(clr,originalTo.toUpperCase());}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['37'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['93']++;return clr;},_hexToRgb:function(str,toArray){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['12']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['94']++;var r,g,b;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['95']++;if(str.charAt(0)==='#'){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['39'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['96']++;str=str.substr(1);}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['39'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['97']++;str=parseInt(str,16);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['98']++;r=str>>16;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['99']++;g=str>>8&255;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['100']++;b=str&255;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['101']++;if(toArray){__cov_eAF_jmEJLeW6ldpfcnTRlA.b['40'][0]++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['102']++;return[r,g,b];}else{__cov_eAF_jmEJLeW6ldpfcnTRlA.b['40'][1]++;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['103']++;return'rgb('+r+', '+g+', '+b+')';},_rgbToHex:function(str){__cov_eAF_jmEJLeW6ldpfcnTRlA.f['13']++;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['104']++;var rgb=Y.Color.toArray(str),hex=rgb[2]|rgb[1]<<8|rgb[0]<<16;__cov_eAF_jmEJLeW6ldpfcnTRlA.s['105']++;hex=(+hex).toString(16);__cov_eAF_jmEJLeW6ldpfcnTRlA.s['106']++;while(hex.length<6){__cov_eAF_jmEJLeW6ldpfcnTRlA.s['107']++;hex='0'+hex;}__cov_eAF_jmEJLeW6ldpfcnTRlA.s['108']++;return'#'+hex;}};},'3.13.0',{'requires':['yui-base']});
diff --git a/lib/yuilib/3.12.0/color-base/color-base-debug.js b/lib/yuilib/3.13.0/color-base/color-base-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/color-base/color-base-debug.js
rename to lib/yuilib/3.13.0/color-base/color-base-debug.js
index e5e67a9ee41..f24f9b44e56
--- a/lib/yuilib/3.12.0/color-base/color-base-debug.js
+++ b/lib/yuilib/3.13.0/color-base/color-base-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -496,4 +496,4 @@ Y.Color = {
-}, '3.12.0', {"requires": ["yui-base"]});
+}, '3.13.0', {"requires": ["yui-base"]});
diff --git a/lib/yuilib/3.12.0/color-base/color-base-min.js b/lib/yuilib/3.13.0/color-base/color-base-min.js
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/color-base/color-base-min.js
rename to lib/yuilib/3.13.0/color-base/color-base-min.js
index 542f1bffd57..02a296a89f7
--- a/lib/yuilib/3.12.0/color-base/color-base-min.js
+++ b/lib/yuilib/3.13.0/color-base/color-base-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("color-base",function(e,t){var n=/^#?([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})(\ufffe)?/,r=/^#?([\da-fA-F]{1})([\da-fA-F]{1})([\da-fA-F]{1})(\ufffe)?/,i=/rgba?\(([\d]{1,3}), ?([\d]{1,3}), ?([\d]{1,3}),? ?([.\d]*)?\)/,s={HEX:"hex",RGB:"rgb",RGBA:"rgba"},o={hex:"toHex",rgb:"toRGB",rgba:"toRGBA"};e.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},REGEX_HEX:n,REGEX_HEX3:r,REGEX_RGB:i,re_RGB:i,re_hex:n,re_hex3:r,STR_HEX:"#{*}{*}{*}",STR_RGB:"rgb({*}, {*}, {*})",STR_RGBA:"rgba({*}, {*}, {*}, {*})",TYPES:s,CONVERTS:o,convert:function(t,n){var r=e.Color.CONVERTS[n.toLowerCase()],i=t;return r&&e.Color[r]&&(i=e.Color[r](t)),i},toHex:function(t){var n=e.Color._convertTo(t,"hex"),r=n.toLowerCase()==="transparent";return n.charAt(0)!=="#"&&!r&&(n="#"+n),r?n.toLowerCase():n.toUpperCase()},toRGB:function(t){var n=e.Color._convertTo(t,"rgb");return n.toLowerCase()},toRGBA:function(t){var n=e.Color._convertTo(t,"rgba");return n.toLowerCase()},toArray:function(t){var n=e.Color.findType(t).toUpperCase(),r,i,s,o;return n==="HEX"&&t.length<5&&(n="HEX3"),n.charAt(n.length-1)==="A"&&(n=n.slice(0,-1)),r=e.Color["REGEX_"+n],r&&(i=r.exec(t)||[],s=i.length,s&&(i.shift(),s--,n==="HEX3"&&(i[0]+=i[0],i[1]+=i[1],i[2]+=i[2]),o=i[s-1],o||(i[s-1]=1))),i},fromArray:function(t,n){t=t.concat();if(typeof n=="undefined")return t.join(", ");var r="{*}";n=e.Color["STR_"+n.toUpperCase()],t.length===3&&n.match(/\{\*\}/g).length===4&&t.push(1);while(n.indexOf(r)>=0&&t.length>0)n=n.replace(r,t.shift());return n},findType:function(t){if(e.Color.KEYWORDS[t])return"keyword";var n=t.indexOf("("),r;return n>0&&(r=t.substr(0,n)),r&&e.Color.TYPES[r.toUpperCase()]?e.Color.TYPES[r.toUpperCase()]:"hex"},_getAlpha:function(t){var n,r=e.Color.toArray(t);return r.length>3&&(n=r.pop()),+n||1},_keywordToHex:function(t){var n=e.Color.KEYWORDS[t];if(n)return n},_convertTo:function(t,n){if(t==="transparent")return t;var r=e.Color.findType(t),i=n,s,o,u,a;return r==="keyword"&&(t=e.Color._keywordToHex(t),r="hex"),r==="hex"&&t.length<5&&(t.charAt(0)==="#"&&(t=t.substr(1)),t="#"+t.charAt(0)+t.charAt(0)+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)),r===n?t:(r.charAt(r.length-1)==="a"&&(r=r.slice(0,-1)),s=n.charAt(n.length-1)==="a",s&&(n=n.slice(0,-1),o=e.Color._getAlpha(t)),a=n.charAt(0).toUpperCase()+n.substr(1).toLowerCase(),u=e.Color["_"+r+"To"+a],u||r!=="rgb"&&n!=="rgb"&&(t=e.Color["_"+r+"ToRgb"](t),r="rgb",u=e.Color["_"+r+"To"+a]),u&&(t=u(t,s)),s&&(e.Lang.isArray(t)||(t=e.Color.toArray(t)),t.push(o),t=e.Color.fromArray(t,i.toUpperCase())),t)},_hexToRgb:function(e,t){var n,r,i;return e.charAt(0)==="#"&&(e=e.substr(1)),e=parseInt(e,16),n=e>>16,r=e>>8&255,i=e&255,t?[n,r,i]:"rgb("+n+", "+r+", "+i+")"},_rgbToHex:function(t){var n=e.Color.toArray(t),r=n[2]|n[1]<<8|n[0]<<16;r=(+r).toString(16);while(r.length<6)r="0"+r;return"#"+r}}},"3.12.0",{requires:["yui-base"]});
+YUI.add("color-base",function(e,t){var n=/^#?([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})(\ufffe)?/,r=/^#?([\da-fA-F]{1})([\da-fA-F]{1})([\da-fA-F]{1})(\ufffe)?/,i=/rgba?\(([\d]{1,3}), ?([\d]{1,3}), ?([\d]{1,3}),? ?([.\d]*)?\)/,s={HEX:"hex",RGB:"rgb",RGBA:"rgba"},o={hex:"toHex",rgb:"toRGB",rgba:"toRGBA"};e.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},REGEX_HEX:n,REGEX_HEX3:r,REGEX_RGB:i,re_RGB:i,re_hex:n,re_hex3:r,STR_HEX:"#{*}{*}{*}",STR_RGB:"rgb({*}, {*}, {*})",STR_RGBA:"rgba({*}, {*}, {*}, {*})",TYPES:s,CONVERTS:o,convert:function(t,n){var r=e.Color.CONVERTS[n.toLowerCase()],i=t;return r&&e.Color[r]&&(i=e.Color[r](t)),i},toHex:function(t){var n=e.Color._convertTo(t,"hex"),r=n.toLowerCase()==="transparent";return n.charAt(0)!=="#"&&!r&&(n="#"+n),r?n.toLowerCase():n.toUpperCase()},toRGB:function(t){var n=e.Color._convertTo(t,"rgb");return n.toLowerCase()},toRGBA:function(t){var n=e.Color._convertTo(t,"rgba");return n.toLowerCase()},toArray:function(t){var n=e.Color.findType(t).toUpperCase(),r,i,s,o;return n==="HEX"&&t.length<5&&(n="HEX3"),n.charAt(n.length-1)==="A"&&(n=n.slice(0,-1)),r=e.Color["REGEX_"+n],r&&(i=r.exec(t)||[],s=i.length,s&&(i.shift(),s--,n==="HEX3"&&(i[0]+=i[0],i[1]+=i[1],i[2]+=i[2]),o=i[s-1],o||(i[s-1]=1))),i},fromArray:function(t,n){t=t.concat();if(typeof n=="undefined")return t.join(", ");var r="{*}";n=e.Color["STR_"+n.toUpperCase()],t.length===3&&n.match(/\{\*\}/g).length===4&&t.push(1);while(n.indexOf(r)>=0&&t.length>0)n=n.replace(r,t.shift());return n},findType:function(t){if(e.Color.KEYWORDS[t])return"keyword";var n=t.indexOf("("),r;return n>0&&(r=t.substr(0,n)),r&&e.Color.TYPES[r.toUpperCase()]?e.Color.TYPES[r.toUpperCase()]:"hex"},_getAlpha:function(t){var n,r=e.Color.toArray(t);return r.length>3&&(n=r.pop()),+n||1},_keywordToHex:function(t){var n=e.Color.KEYWORDS[t];if(n)return n},_convertTo:function(t,n){if(t==="transparent")return t;var r=e.Color.findType(t),i=n,s,o,u,a;return r==="keyword"&&(t=e.Color._keywordToHex(t),r="hex"),r==="hex"&&t.length<5&&(t.charAt(0)==="#"&&(t=t.substr(1)),t="#"+t.charAt(0)+t.charAt(0)+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)),r===n?t:(r.charAt(r.length-1)==="a"&&(r=r.slice(0,-1)),s=n.charAt(n.length-1)==="a",s&&(n=n.slice(0,-1),o=e.Color._getAlpha(t)),a=n.charAt(0).toUpperCase()+n.substr(1).toLowerCase(),u=e.Color["_"+r+"To"+a],u||r!=="rgb"&&n!=="rgb"&&(t=e.Color["_"+r+"ToRgb"](t),r="rgb",u=e.Color["_"+r+"To"+a]),u&&(t=u(t,s)),s&&(e.Lang.isArray(t)||(t=e.Color.toArray(t)),t.push(o),t=e.Color.fromArray(t,i.toUpperCase())),t)},_hexToRgb:function(e,t){var n,r,i;return e.charAt(0)==="#"&&(e=e.substr(1)),e=parseInt(e,16),n=e>>16,r=e>>8&255,i=e&255,t?[n,r,i]:"rgb("+n+", "+r+", "+i+")"},_rgbToHex:function(t){var n=e.Color.toArray(t),r=n[2]|n[1]<<8|n[0]<<16;r=(+r).toString(16);while(r.length<6)r="0"+r;return"#"+r}}},"3.13.0",{requires:["yui-base"]});
diff --git a/lib/yuilib/3.12.0/color-base/color-base.js b/lib/yuilib/3.13.0/color-base/color-base.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/color-base/color-base.js
rename to lib/yuilib/3.13.0/color-base/color-base.js
index e5e67a9ee41..f24f9b44e56
--- a/lib/yuilib/3.12.0/color-base/color-base.js
+++ b/lib/yuilib/3.13.0/color-base/color-base.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -496,4 +496,4 @@ Y.Color = {
-}, '3.12.0', {"requires": ["yui-base"]});
+}, '3.13.0', {"requires": ["yui-base"]});
diff --git a/lib/yuilib/3.13.0/color-harmony/color-harmony-coverage.js b/lib/yuilib/3.13.0/color-harmony/color-harmony-coverage.js
new file mode 100755
index 00000000000..ef5bbf1acb7
--- /dev/null
+++ b/lib/yuilib/3.13.0/color-harmony/color-harmony-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/color-harmony/color-harmony.js']) {
+ __coverage__['build/color-harmony/color-harmony.js'] = {"path":"build/color-harmony/color-harmony.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"(anonymous_2)","line":40,"loc":{"start":{"line":40,"column":26},"end":{"line":40,"column":44}}},"3":{"name":"(anonymous_3)","line":64,"loc":{"start":{"line":64,"column":18},"end":{"line":64,"column":44}}},"4":{"name":"(anonymous_4)","line":92,"loc":{"start":{"line":92,"column":22},"end":{"line":92,"column":48}}},"5":{"name":"(anonymous_5)","line":119,"loc":{"start":{"line":119,"column":18},"end":{"line":119,"column":36}}},"6":{"name":"(anonymous_6)","line":144,"loc":{"start":{"line":144,"column":19},"end":{"line":144,"column":45}}},"7":{"name":"(anonymous_7)","line":170,"loc":{"start":{"line":170,"column":19},"end":{"line":170,"column":37}}},"8":{"name":"(anonymous_8)","line":195,"loc":{"start":{"line":195,"column":23},"end":{"line":195,"column":48}}},"9":{"name":"(anonymous_9)","line":240,"loc":{"start":{"line":240,"column":20},"end":{"line":240,"column":53}}},"10":{"name":"(anonymous_10)","line":295,"loc":{"start":{"line":295,"column":19},"end":{"line":295,"column":45}}},"11":{"name":"(anonymous_11)","line":338,"loc":{"start":{"line":338,"column":23},"end":{"line":338,"column":37}}},"12":{"name":"(anonymous_12)","line":365,"loc":{"start":{"line":365,"column":30},"end":{"line":365,"column":54}}},"13":{"name":"(anonymous_13)","line":394,"loc":{"start":{"line":394,"column":16},"end":{"line":394,"column":30}}},"14":{"name":"(anonymous_14)","line":411,"loc":{"start":{"line":411,"column":17},"end":{"line":411,"column":36}}},"15":{"name":"(anonymous_15)","line":430,"loc":{"start":{"line":430,"column":21},"end":{"line":430,"column":35}}},"16":{"name":"(anonymous_16)","line":450,"loc":{"start":{"line":450,"column":24},"end":{"line":450,"column":38}}},"17":{"name":"(anonymous_17)","line":473,"loc":{"start":{"line":473,"column":23},"end":{"line":473,"column":48}}},"18":{"name":"(anonymous_18)","line":514,"loc":{"start":{"line":514,"column":39},"end":{"line":514,"column":77}}},"19":{"name":"(anonymous_19)","line":546,"loc":{"start":{"line":546,"column":32},"end":{"line":546,"column":61}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":568,"column":42}},"2":{"start":{"line":12,"column":0},"end":{"line":563,"column":6}},"3":{"start":{"line":41,"column":12},"end":{"line":42,"column":29}},"4":{"start":{"line":44,"column":12},"end":{"line":44,"column":43}},"5":{"start":{"line":46,"column":12},"end":{"line":46,"column":29}},"6":{"start":{"line":47,"column":12},"end":{"line":47,"column":37}},"7":{"start":{"line":49,"column":12},"end":{"line":49,"column":66}},"8":{"start":{"line":65,"column":12},"end":{"line":66,"column":29}},"9":{"start":{"line":68,"column":12},"end":{"line":68,"column":44}},"10":{"start":{"line":70,"column":12},"end":{"line":70,"column":43}},"11":{"start":{"line":72,"column":12},"end":{"line":72,"column":29}},"12":{"start":{"line":73,"column":12},"end":{"line":73,"column":46}},"13":{"start":{"line":74,"column":12},"end":{"line":74,"column":46}},"14":{"start":{"line":76,"column":12},"end":{"line":76,"column":66}},"15":{"start":{"line":93,"column":12},"end":{"line":94,"column":29}},"16":{"start":{"line":96,"column":12},"end":{"line":96,"column":48}},"17":{"start":{"line":97,"column":12},"end":{"line":97,"column":43}},"18":{"start":{"line":99,"column":12},"end":{"line":99,"column":29}},"19":{"start":{"line":100,"column":12},"end":{"line":100,"column":40}},"20":{"start":{"line":101,"column":12},"end":{"line":101,"column":44}},"21":{"start":{"line":102,"column":12},"end":{"line":102,"column":41}},"22":{"start":{"line":103,"column":12},"end":{"line":103,"column":45}},"23":{"start":{"line":105,"column":12},"end":{"line":105,"column":66}},"24":{"start":{"line":120,"column":12},"end":{"line":121,"column":29}},"25":{"start":{"line":123,"column":12},"end":{"line":123,"column":43}},"26":{"start":{"line":125,"column":12},"end":{"line":125,"column":29}},"27":{"start":{"line":126,"column":12},"end":{"line":126,"column":46}},"28":{"start":{"line":127,"column":12},"end":{"line":127,"column":47}},"29":{"start":{"line":129,"column":12},"end":{"line":129,"column":66}},"30":{"start":{"line":145,"column":12},"end":{"line":146,"column":29}},"31":{"start":{"line":148,"column":12},"end":{"line":148,"column":45}},"32":{"start":{"line":149,"column":12},"end":{"line":149,"column":43}},"33":{"start":{"line":151,"column":12},"end":{"line":151,"column":29}},"34":{"start":{"line":152,"column":12},"end":{"line":152,"column":40}},"35":{"start":{"line":153,"column":12},"end":{"line":153,"column":37}},"36":{"start":{"line":154,"column":12},"end":{"line":154,"column":46}},"37":{"start":{"line":156,"column":12},"end":{"line":156,"column":66}},"38":{"start":{"line":171,"column":12},"end":{"line":172,"column":29}},"39":{"start":{"line":174,"column":12},"end":{"line":174,"column":43}},"40":{"start":{"line":176,"column":12},"end":{"line":176,"column":29}},"41":{"start":{"line":177,"column":12},"end":{"line":177,"column":47}},"42":{"start":{"line":178,"column":12},"end":{"line":178,"column":51}},"43":{"start":{"line":179,"column":12},"end":{"line":179,"column":51}},"44":{"start":{"line":181,"column":12},"end":{"line":181,"column":66}},"45":{"start":{"line":196,"column":12},"end":{"line":201,"column":32}},"46":{"start":{"line":203,"column":12},"end":{"line":203,"column":39}},"47":{"start":{"line":204,"column":12},"end":{"line":204,"column":43}},"48":{"start":{"line":207,"column":12},"end":{"line":209,"column":13}},"49":{"start":{"line":208,"column":16},"end":{"line":208,"column":27}},"50":{"start":{"line":211,"column":12},"end":{"line":211,"column":37}},"51":{"start":{"line":213,"column":12},"end":{"line":216,"column":13}},"52":{"start":{"line":214,"column":16},"end":{"line":214,"column":54}},"53":{"start":{"line":215,"column":16},"end":{"line":215,"column":41}},"54":{"start":{"line":218,"column":12},"end":{"line":218,"column":30}},"55":{"start":{"line":220,"column":12},"end":{"line":222,"column":13}},"56":{"start":{"line":221,"column":16},"end":{"line":221,"column":59}},"57":{"start":{"line":224,"column":12},"end":{"line":224,"column":26}},"58":{"start":{"line":241,"column":12},"end":{"line":251,"column":22}},"59":{"start":{"line":253,"column":12},"end":{"line":253,"column":43}},"60":{"start":{"line":254,"column":12},"end":{"line":254,"column":39}},"61":{"start":{"line":255,"column":12},"end":{"line":255,"column":42}},"62":{"start":{"line":257,"column":12},"end":{"line":257,"column":53}},"63":{"start":{"line":258,"column":12},"end":{"line":258,"column":47}},"64":{"start":{"line":259,"column":12},"end":{"line":259,"column":47}},"65":{"start":{"line":260,"column":12},"end":{"line":260,"column":47}},"66":{"start":{"line":261,"column":12},"end":{"line":261,"column":47}},"67":{"start":{"line":263,"column":12},"end":{"line":263,"column":29}},"68":{"start":{"line":264,"column":12},"end":{"line":276,"column":13}},"69":{"start":{"line":265,"column":16},"end":{"line":265,"column":81}},"70":{"start":{"line":266,"column":16},"end":{"line":266,"column":81}},"71":{"start":{"line":268,"column":16},"end":{"line":275,"column":19}},"72":{"start":{"line":278,"column":12},"end":{"line":278,"column":66}},"73":{"start":{"line":296,"column":12},"end":{"line":298,"column":21}},"74":{"start":{"line":300,"column":12},"end":{"line":306,"column":13}},"75":{"start":{"line":301,"column":16},"end":{"line":301,"column":43}},"76":{"start":{"line":302,"column":16},"end":{"line":302,"column":43}},"77":{"start":{"line":304,"column":16},"end":{"line":304,"column":27}},"78":{"start":{"line":305,"column":16},"end":{"line":305,"column":29}},"79":{"start":{"line":308,"column":12},"end":{"line":308,"column":28}},"80":{"start":{"line":310,"column":12},"end":{"line":312,"column":13}},"81":{"start":{"line":311,"column":16},"end":{"line":311,"column":56}},"82":{"start":{"line":314,"column":12},"end":{"line":316,"column":13}},"83":{"start":{"line":315,"column":16},"end":{"line":315,"column":76}},"84":{"start":{"line":318,"column":12},"end":{"line":320,"column":13}},"85":{"start":{"line":319,"column":16},"end":{"line":319,"column":76}},"86":{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},"87":{"start":{"line":323,"column":16},"end":{"line":323,"column":49}},"88":{"start":{"line":326,"column":12},"end":{"line":326,"column":24}},"89":{"start":{"line":339,"column":12},"end":{"line":343,"column":53}},"90":{"start":{"line":346,"column":12},"end":{"line":350,"column":27}},"91":{"start":{"line":366,"column":12},"end":{"line":367,"column":49}},"92":{"start":{"line":369,"column":12},"end":{"line":369,"column":43}},"93":{"start":{"line":371,"column":12},"end":{"line":373,"column":13}},"94":{"start":{"line":372,"column":16},"end":{"line":372,"column":27}},"95":{"start":{"line":375,"column":12},"end":{"line":375,"column":71}},"96":{"start":{"line":377,"column":12},"end":{"line":377,"column":57}},"97":{"start":{"line":379,"column":12},"end":{"line":379,"column":45}},"98":{"start":{"line":395,"column":12},"end":{"line":395,"column":65}},"99":{"start":{"line":396,"column":12},"end":{"line":396,"column":54}},"100":{"start":{"line":398,"column":12},"end":{"line":398,"column":24}},"101":{"start":{"line":412,"column":12},"end":{"line":412,"column":51}},"102":{"start":{"line":413,"column":12},"end":{"line":413,"column":96}},"103":{"start":{"line":415,"column":12},"end":{"line":417,"column":13}},"104":{"start":{"line":416,"column":16},"end":{"line":416,"column":27}},"105":{"start":{"line":419,"column":12},"end":{"line":419,"column":46}},"106":{"start":{"line":431,"column":12},"end":{"line":431,"column":45}},"107":{"start":{"line":433,"column":12},"end":{"line":437,"column":13}},"108":{"start":{"line":434,"column":16},"end":{"line":434,"column":27}},"109":{"start":{"line":435,"column":19},"end":{"line":437,"column":13}},"110":{"start":{"line":436,"column":16},"end":{"line":436,"column":44}},"111":{"start":{"line":439,"column":12},"end":{"line":439,"column":50}},"112":{"start":{"line":451,"column":12},"end":{"line":451,"column":45}},"113":{"start":{"line":453,"column":12},"end":{"line":457,"column":13}},"114":{"start":{"line":454,"column":16},"end":{"line":454,"column":27}},"115":{"start":{"line":455,"column":19},"end":{"line":457,"column":13}},"116":{"start":{"line":456,"column":16},"end":{"line":456,"column":44}},"117":{"start":{"line":459,"column":12},"end":{"line":459,"column":50}},"118":{"start":{"line":474,"column":12},"end":{"line":476,"column":13}},"119":{"start":{"line":475,"column":16},"end":{"line":475,"column":27}},"120":{"start":{"line":477,"column":12},"end":{"line":477,"column":23}},"121":{"start":{"line":479,"column":12},"end":{"line":481,"column":13}},"122":{"start":{"line":480,"column":16},"end":{"line":480,"column":62}},"123":{"start":{"line":483,"column":12},"end":{"line":483,"column":23}},"124":{"start":{"line":515,"column":12},"end":{"line":516,"column":18}},"125":{"start":{"line":518,"column":12},"end":{"line":518,"column":33}},"126":{"start":{"line":519,"column":12},"end":{"line":519,"column":81}},"127":{"start":{"line":521,"column":12},"end":{"line":527,"column":13}},"128":{"start":{"line":522,"column":16},"end":{"line":522,"column":33}},"129":{"start":{"line":523,"column":19},"end":{"line":527,"column":13}},"130":{"start":{"line":524,"column":16},"end":{"line":524,"column":96}},"131":{"start":{"line":526,"column":16},"end":{"line":526,"column":96}},"132":{"start":{"line":547,"column":12},"end":{"line":550,"column":19}},"133":{"start":{"line":552,"column":12},"end":{"line":558,"column":13}},"134":{"start":{"line":553,"column":16},"end":{"line":553,"column":36}},"135":{"start":{"line":554,"column":16},"end":{"line":556,"column":17}},"136":{"start":{"line":555,"column":20},"end":{"line":555,"column":59}},"137":{"start":{"line":557,"column":16},"end":{"line":557,"column":53}},"138":{"start":{"line":560,"column":12},"end":{"line":560,"column":26}},"139":{"start":{"line":565,"column":0},"end":{"line":565,"column":34}}},"branchMap":{"1":{"line":44,"type":"binary-expr","locations":[{"start":{"line":44,"column":17},"end":{"line":44,"column":19}},{"start":{"line":44,"column":23},"end":{"line":44,"column":42}}]},"2":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":21},"end":{"line":68,"column":27}},{"start":{"line":68,"column":31},"end":{"line":68,"column":43}}]},"3":{"line":70,"type":"binary-expr","locations":[{"start":{"line":70,"column":17},"end":{"line":70,"column":19}},{"start":{"line":70,"column":23},"end":{"line":70,"column":42}}]},"4":{"line":96,"type":"binary-expr","locations":[{"start":{"line":96,"column":21},"end":{"line":96,"column":27}},{"start":{"line":96,"column":31},"end":{"line":96,"column":47}}]},"5":{"line":97,"type":"binary-expr","locations":[{"start":{"line":97,"column":17},"end":{"line":97,"column":19}},{"start":{"line":97,"column":23},"end":{"line":97,"column":42}}]},"6":{"line":123,"type":"binary-expr","locations":[{"start":{"line":123,"column":17},"end":{"line":123,"column":19}},{"start":{"line":123,"column":23},"end":{"line":123,"column":42}}]},"7":{"line":148,"type":"binary-expr","locations":[{"start":{"line":148,"column":21},"end":{"line":148,"column":27}},{"start":{"line":148,"column":31},"end":{"line":148,"column":44}}]},"8":{"line":149,"type":"binary-expr","locations":[{"start":{"line":149,"column":17},"end":{"line":149,"column":19}},{"start":{"line":149,"column":23},"end":{"line":149,"column":42}}]},"9":{"line":174,"type":"binary-expr","locations":[{"start":{"line":174,"column":17},"end":{"line":174,"column":19}},{"start":{"line":174,"column":23},"end":{"line":174,"column":42}}]},"10":{"line":203,"type":"binary-expr","locations":[{"start":{"line":203,"column":20},"end":{"line":203,"column":25}},{"start":{"line":203,"column":29},"end":{"line":203,"column":38}}]},"11":{"line":204,"type":"binary-expr","locations":[{"start":{"line":204,"column":17},"end":{"line":204,"column":19}},{"start":{"line":204,"column":23},"end":{"line":204,"column":42}}]},"12":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":12},"end":{"line":207,"column":12}},{"start":{"line":207,"column":12},"end":{"line":207,"column":12}}]},"13":{"line":253,"type":"binary-expr","locations":[{"start":{"line":253,"column":17},"end":{"line":253,"column":19}},{"start":{"line":253,"column":23},"end":{"line":253,"column":42}}]},"14":{"line":254,"type":"binary-expr","locations":[{"start":{"line":254,"column":20},"end":{"line":254,"column":25}},{"start":{"line":254,"column":29},"end":{"line":254,"column":38}}]},"15":{"line":255,"type":"binary-expr","locations":[{"start":{"line":255,"column":21},"end":{"line":255,"column":27}},{"start":{"line":255,"column":31},"end":{"line":255,"column":41}}]},"16":{"line":257,"type":"cond-expr","locations":[{"start":{"line":257,"column":40},"end":{"line":257,"column":43}},{"start":{"line":257,"column":46},"end":{"line":257,"column":52}}]},"17":{"line":300,"type":"if","locations":[{"start":{"line":300,"column":12},"end":{"line":300,"column":12}},{"start":{"line":300,"column":12},"end":{"line":300,"column":12}}]},"18":{"line":308,"type":"binary-expr","locations":[{"start":{"line":308,"column":17},"end":{"line":308,"column":19}},{"start":{"line":308,"column":23},"end":{"line":308,"column":27}}]},"19":{"line":310,"type":"if","locations":[{"start":{"line":310,"column":12},"end":{"line":310,"column":12}},{"start":{"line":310,"column":12},"end":{"line":310,"column":12}}]},"20":{"line":314,"type":"if","locations":[{"start":{"line":314,"column":12},"end":{"line":314,"column":12}},{"start":{"line":314,"column":12},"end":{"line":314,"column":12}}]},"21":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":12},"end":{"line":318,"column":12}},{"start":{"line":318,"column":12},"end":{"line":318,"column":12}}]},"22":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":12},"end":{"line":322,"column":12}},{"start":{"line":322,"column":12},"end":{"line":322,"column":12}}]},"23":{"line":369,"type":"binary-expr","locations":[{"start":{"line":369,"column":17},"end":{"line":369,"column":19}},{"start":{"line":369,"column":23},"end":{"line":369,"column":42}}]},"24":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":12},"end":{"line":371,"column":12}},{"start":{"line":371,"column":12},"end":{"line":371,"column":12}}]},"25":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":12}},{"start":{"line":415,"column":12},"end":{"line":415,"column":12}}]},"26":{"line":433,"type":"if","locations":[{"start":{"line":433,"column":12},"end":{"line":433,"column":12}},{"start":{"line":433,"column":12},"end":{"line":433,"column":12}}]},"27":{"line":435,"type":"if","locations":[{"start":{"line":435,"column":19},"end":{"line":435,"column":19}},{"start":{"line":435,"column":19},"end":{"line":435,"column":19}}]},"28":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":12},"end":{"line":453,"column":12}},{"start":{"line":453,"column":12},"end":{"line":453,"column":12}}]},"29":{"line":455,"type":"if","locations":[{"start":{"line":455,"column":19},"end":{"line":455,"column":19}},{"start":{"line":455,"column":19},"end":{"line":455,"column":19}}]},"30":{"line":479,"type":"if","locations":[{"start":{"line":479,"column":12},"end":{"line":479,"column":12}},{"start":{"line":479,"column":12},"end":{"line":479,"column":12}}]},"31":{"line":521,"type":"if","locations":[{"start":{"line":521,"column":12},"end":{"line":521,"column":12}},{"start":{"line":521,"column":12},"end":{"line":521,"column":12}}]},"32":{"line":521,"type":"binary-expr","locations":[{"start":{"line":521,"column":16},"end":{"line":521,"column":34}},{"start":{"line":521,"column":38},"end":{"line":521,"column":56}}]},"33":{"line":523,"type":"if","locations":[{"start":{"line":523,"column":19},"end":{"line":523,"column":19}},{"start":{"line":523,"column":19},"end":{"line":523,"column":19}}]},"34":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":16},"end":{"line":554,"column":16}},{"start":{"line":554,"column":16},"end":{"line":554,"column":16}}]}},"code":["(function () { YUI.add('color-harmony', function (Y, NAME) {","","/**","Color Harmony provides methods useful for color combination discovery.","","@module color","@submodule color-harmony","@class Harmony","@namespace Color","@since 3.8.0","*/","var HSL = 'hsl',"," RGB = 'rgb',",""," SPLIT_OFFSET = 30,"," ANALOGOUS_OFFSET = 10,"," TRIAD_OFFSET = 360/3,"," TETRAD_OFFSET = 360/6,"," SQUARE_OFFSET = 360/4 ,",""," DEF_COUNT = 5,"," DEF_OFFSET = 10,",""," Color = Y.Color,",""," Harmony = {",""," // Color Groups"," /**"," Returns an Array of two colors. The first color in the Array"," will be the color passed in. The second will be the"," complementary color of the color provided"," @public"," @method getComplementary"," @param {String} str"," @param {String} [to]"," @return {Array}"," @since 3.8.0"," **/"," getComplementary: function(str, to) {"," var c = Harmony._start(str),"," offsets = [];",""," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: 180 });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Returns an Array of three colors. The first color in the Array"," will be the color passed in. The second two will be split"," complementary colors."," @public"," @method getSplit"," @param {String} str"," @param {Number} [offset]"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getSplit: function(str, offset, to) {"," var c = Harmony._start(str),"," offsets = [];",""," offset = offset || SPLIT_OFFSET;",""," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: 180 + offset });"," offsets.push({ h: 180 - offset });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Returns an Array of five colors. The first color in the Array"," will be the color passed in. The remaining four will be"," analogous colors two in either direction from the initially"," provided color."," @public"," @method getAnalogous"," @param {String} str"," @param {Number} [offset]"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getAnalogous: function(str, offset, to) {"," var c = Harmony._start(str),"," offsets = [];",""," offset = offset || ANALOGOUS_OFFSET;"," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: offset });"," offsets.push({ h: offset * 2 });"," offsets.push({ h: -offset });"," offsets.push({ h: -offset * 2 });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Returns an Array of three colors. The first color in the Array"," will be the color passed in. The second two will be equidistant"," from the start color and each other."," @public"," @method getTriad"," @param {String} str"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getTriad: function(str, to) {"," var c = Harmony._start(str),"," offsets = [];",""," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: TRIAD_OFFSET });"," offsets.push({ h: -TRIAD_OFFSET });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Returns an Array of four colors. The first color in the Array"," will be the color passed in. The remaining three colors are"," equidistant offsets from the starting color and each other."," @public"," @method getTetrad"," @param {String} str"," @param {Number} [offset]"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getTetrad: function(str, offset, to) {"," var c = Harmony._start(str),"," offsets = [];",""," offset = offset || TETRAD_OFFSET;"," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: offset });"," offsets.push({ h: 180 });"," offsets.push({ h: 180 + offset });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Returns an Array of four colors. The first color in the Array"," will be the color passed in. The remaining three colors are"," equidistant offsets from the starting color and each other."," @public"," @method getSquare"," @param {String} str"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getSquare: function(str, to) {"," var c = Harmony._start(str),"," offsets = [];",""," to = to || Color.findType(str);",""," offsets.push({});"," offsets.push({ h: SQUARE_OFFSET });"," offsets.push({ h: SQUARE_OFFSET * 2 });"," offsets.push({ h: SQUARE_OFFSET * 3 });",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Calculates lightness offsets resulting in a monochromatic Array"," of values."," @public"," @method getMonochrome"," @param {String} str"," @param {Number} [count]"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getMonochrome: function(str, count, to) {"," var c = Harmony._start(str),"," colors = [],"," i = 0,"," l,"," step,"," _c = c.concat();",""," count = count || DEF_COUNT;"," to = to || Color.findType(str);","",""," if (count < 2) {"," return str;"," }",""," step = 100 / (count - 1);",""," for (; i <= 100; i += step) {"," _c[2] = Math.max(Math.min(i, 100), 0);"," colors.push(_c.concat());"," }",""," l = colors.length;",""," for (i=0; i 100) ? 100 : offset;"," sMin = Math.max(0, s - slOffset);"," sMax = Math.min(100, s + slOffset);"," lMin = Math.max(0, l - slOffset);"," lMax = Math.min(100, l + slOffset);",""," offsets.push({});"," for (i = 0; i < count; i++) {"," sRand = ( Math.round( (Math.random() * (sMax - sMin)) + sMin ) );"," lRand = ( Math.round( (Math.random() * (lMax - lMin)) + lMin ) );",""," offsets.push({"," h: ( Math.random() * (offset * 2)) - offset,"," // because getOffset adjusts from the existing color, we"," // need to adjust it negatively to get a good number for"," // saturation and luminance, otherwise we get a lot of white"," s: -(s - sRand),"," l: -(l - lRand)"," });"," }",""," return Harmony._adjustOffsetAndFinish(c, offsets, to);"," },",""," /**"," Adjusts the provided color by the offset(s) given. You may"," adjust hue, saturation, and/or luminance in one step."," @public"," @method getOffset"," @param {String} str"," @param {Object} adjust"," @param {Number} [adjust.h]"," @param {Number} [adjust.s]"," @param {Number} [adjust.l]"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getOffset: function(str, adjust, to) {"," var started = Y.Lang.isArray(str),"," hsla,"," type;",""," if (!started) {"," hsla = Harmony._start(str);"," type = Color.findType(str);"," } else {"," hsla = str;"," type = 'hsl';"," }",""," to = to || type;",""," if (adjust.h) {"," hsla[0] = ((+hsla[0]) + adjust.h) % 360;"," }",""," if (adjust.s) {"," hsla[1] = Math.max(Math.min((+hsla[1]) + adjust.s, 100), 0);"," }",""," if (adjust.l) {"," hsla[2] = Math.max(Math.min((+hsla[2]) + adjust.l, 100), 0);"," }",""," if (!started) {"," return Harmony._finish(hsla, to);"," }",""," return hsla;"," },",""," /**"," Returns 0 - 100 percentage of brightness from `0` (black) being the"," darkest to `100` (white) being the brightest."," @public"," @method getBrightness"," @param {String} str"," @return {Number}"," @since 3.8.0"," **/"," getBrightness: function(str) {"," var c = Color.toArray(Color._convertTo(str, RGB)),"," r = c[0],"," g = c[1],"," b = c[2],"," weights = Y.Color._brightnessWeights;","",""," return Math.round(Math.sqrt("," (r * r * weights.r) +"," (g * g * weights.g) +"," (b * b * weights.b)"," ) / 255 * 100);"," },",""," /**"," Returns a new color value with adjusted luminance so that the"," brightness of the return color matches the perceived brightness"," of the `match` color provided."," @public"," @method getSimilarBrightness"," @param {String} str"," @param {String} match"," @param {String} [to]"," @return {String}"," @since 3.8.0"," **/"," getSimilarBrightness: function(str, match, to){"," var c = Color.toArray(Color._convertTo(str, HSL)),"," b = Harmony.getBrightness(match);",""," to = to || Color.findType(str);",""," if (to === 'keyword') {"," to = 'hex';"," }",""," c[2] = Harmony._searchLuminanceForBrightness(c, b, 0, 100);",""," str = Color.fromArray(c, Y.Color.TYPES.HSLA);",""," return Color._convertTo(str, to);"," },",""," //--------------------"," // PRIVATE"," //--------------------"," /**"," Converts the provided color from additive to subtractive returning"," an Array of HSLA values"," @private"," @method _start"," @param {String} str"," @return {Array}"," @since 3.8.0"," */"," _start: function(str) {"," var hsla = Color.toArray(Color._convertTo(str, HSL));"," hsla[0] = Harmony._toSubtractive(hsla[0]);",""," return hsla;"," },",""," /**"," Converts the provided HSLA values from subtractive to additive"," returning a converted color string"," @private"," @method _finish"," @param {Array} hsla"," @param {String} [to]"," @return {String}"," @since 3.8.0"," */"," _finish: function(hsla, to) {"," hsla[0] = Harmony._toAdditive(hsla[0]);"," hsla = 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';",""," if (to === 'keyword') {"," to = 'hex';"," }",""," return Color._convertTo(hsla, to);"," },",""," /**"," Adjusts the hue degree from subtractive to additive"," @private"," @method _toAdditive"," @param {Number} hue"," @return {Number} Converted additive hue"," @since 3.8.0"," */"," _toAdditive: function(hue) {"," hue = Y.Color._constrainHue(hue);",""," if (hue <= 180) {"," hue /= 1.5;"," } else if (hue < 240) {"," hue = 120 + (hue - 180) * 2;"," }",""," return Y.Color._constrainHue(hue, 10);"," },",""," /**"," Adjusts the hue degree from additive to subtractive"," @private"," @method _toSubtractive"," @param {Number} hue"," @return {Number} Converted subtractive hue"," @since 3.8.0"," */"," _toSubtractive: function(hue) {"," hue = Y.Color._constrainHue(hue);",""," if (hue <= 120) {"," hue *= 1.5;"," } else if (hue < 240) {"," hue = 180 + (hue - 120) / 2;"," }",""," return Y.Color._constrainHue(hue, 10);"," },",""," /**"," Contrain the hue to a value between 0 and 360 for calculations"," and real color wheel value space. Provide a precision value"," to round return value to a decimal place"," @private"," @method _constrainHue"," @param {Number} hue"," @param {Number} [precision]"," @return {Number} Constrained hue value"," @since 3.8.0"," **/"," _constrainHue: function(hue, precision) {"," while (hue < 0) {"," hue += 360;"," }"," hue %= 360;",""," if (precision) {"," hue = Math.round(hue * precision) / precision;"," }",""," return hue;"," },",""," /**"," Brightness weight factors for perceived brightness calculations",""," \"standard\" values are listed as R: 0.241, G: 0.691, B: 0.068"," These values were changed based on grey scale comparison of hsl"," to new hsl where brightness is said to be within plus or minus 0.01."," @private"," @property _brightnessWeights"," @since 3.8.0"," */"," _brightnessWeights: {"," r: 0.221,"," g: 0.711,"," b: 0.068"," },",""," /**"," Calculates the luminance as a mid range between the min and max"," to match the brightness level provided"," @private"," @method _searchLuminanceForBrightness"," @param {Array} color HSLA values"," @param {Number} brightness Brightness to be matched"," @param {Number} min Minimum range for luminance"," @param {Number} max Maximum range for luminance"," @return {Number} Found luminance to achieve requested brightness"," @since 3.8.0"," **/"," _searchLuminanceForBrightness: function(color, brightness, min, max) {"," var luminance = (max + min) / 2,"," b;",""," color[2] = luminance;"," b = Harmony.getBrightness(Color.fromArray(color, Y.Color.TYPES.HSL));",""," if (b + 2 > brightness && b - 2 < brightness) {"," return luminance;"," } else if (b > brightness) {"," return Harmony._searchLuminanceForBrightness(color, brightness, min, luminance);"," } else {"," return Harmony._searchLuminanceForBrightness(color, brightness, luminance, max);"," }"," },",""," /**"," Takes an HSL array, and an array of offsets and returns and array"," of colors that have been adjusted. The returned colors will"," match the array of offsets provided. If you wish you have the"," same color value returned, you can provide null or an empty"," object to the offsets. The returned array will contain color"," value strings that have been adjusted from subtractive to"," additive."," @private"," @method _adjustOffsetAndFinish"," @param {Array} color"," @param {Array} offsets"," @param {String} to"," @return {Array}"," @since 3.8.0"," **/"," _adjustOffsetAndFinish: function(color, offsets, to) {"," var colors = [],"," i,"," l = offsets.length,"," _c;",""," for (i = 0; i < l; i++ ) {"," _c = color.concat();"," if (offsets[i]) {"," _c = Harmony.getOffset(_c, offsets[i]);"," }"," colors.push(Harmony._finish(_c, to));"," }",""," return colors;"," }",""," };","","Y.Color = Y.mix(Y.Color, Harmony);","","","}, '3.13.0', {\"requires\": [\"color-hsl\"]});","","}());"]};
+}
+var __cov_RUh5iqmU8HaqsL5E1HH9yg = __coverage__['build/color-harmony/color-harmony.js'];
+__cov_RUh5iqmU8HaqsL5E1HH9yg.s['1']++;YUI.add('color-harmony',function(Y,NAME){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['1']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['2']++;var HSL='hsl',RGB='rgb',SPLIT_OFFSET=30,ANALOGOUS_OFFSET=10,TRIAD_OFFSET=360/3,TETRAD_OFFSET=360/6,SQUARE_OFFSET=360/4,DEF_COUNT=5,DEF_OFFSET=10,Color=Y.Color,Harmony={getComplementary:function(str,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['2']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['3']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['4']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['1'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['1'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['5']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['6']++;offsets.push({h:180});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['7']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getSplit:function(str,offset,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['3']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['8']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['9']++;offset=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['2'][0]++,offset)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['2'][1]++,SPLIT_OFFSET);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['10']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['3'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['3'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['11']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['12']++;offsets.push({h:180+offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['13']++;offsets.push({h:180-offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['14']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getAnalogous:function(str,offset,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['4']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['15']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['16']++;offset=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['4'][0]++,offset)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['4'][1]++,ANALOGOUS_OFFSET);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['17']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['5'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['5'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['18']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['19']++;offsets.push({h:offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['20']++;offsets.push({h:offset*2});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['21']++;offsets.push({h:-offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['22']++;offsets.push({h:-offset*2});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['23']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getTriad:function(str,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['5']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['24']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['25']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['6'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['6'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['26']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['27']++;offsets.push({h:TRIAD_OFFSET});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['28']++;offsets.push({h:-TRIAD_OFFSET});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['29']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getTetrad:function(str,offset,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['6']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['30']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['31']++;offset=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['7'][0]++,offset)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['7'][1]++,TETRAD_OFFSET);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['32']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['8'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['8'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['33']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['34']++;offsets.push({h:offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['35']++;offsets.push({h:180});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['36']++;offsets.push({h:180+offset});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['37']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getSquare:function(str,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['7']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['38']++;var c=Harmony._start(str),offsets=[];__cov_RUh5iqmU8HaqsL5E1HH9yg.s['39']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['9'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['9'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['40']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['41']++;offsets.push({h:SQUARE_OFFSET});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['42']++;offsets.push({h:SQUARE_OFFSET*2});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['43']++;offsets.push({h:SQUARE_OFFSET*3});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['44']++;return Harmony._adjustOffsetAndFinish(c,offsets,to);},getMonochrome:function(str,count,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['8']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['45']++;var c=Harmony._start(str),colors=[],i=0,l,step,_c=c.concat();__cov_RUh5iqmU8HaqsL5E1HH9yg.s['46']++;count=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['10'][0]++,count)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['10'][1]++,DEF_COUNT);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['47']++;to=(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['11'][0]++,to)||(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['11'][1]++,Color.findType(str));__cov_RUh5iqmU8HaqsL5E1HH9yg.s['48']++;if(count<2){__cov_RUh5iqmU8HaqsL5E1HH9yg.b['12'][0]++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['49']++;return str;}else{__cov_RUh5iqmU8HaqsL5E1HH9yg.b['12'][1]++;}__cov_RUh5iqmU8HaqsL5E1HH9yg.s['50']++;step=100/(count-1);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['51']++;for(;i<=100;i+=step){__cov_RUh5iqmU8HaqsL5E1HH9yg.s['52']++;_c[2]=Math.max(Math.min(i,100),0);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['53']++;colors.push(_c.concat());}__cov_RUh5iqmU8HaqsL5E1HH9yg.s['54']++;l=colors.length;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['55']++;for(i=0;i100?(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['16'][0]++,100):(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['16'][1]++,offset);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['63']++;sMin=Math.max(0,s-slOffset);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['64']++;sMax=Math.min(100,s+slOffset);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['65']++;lMin=Math.max(0,l-slOffset);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['66']++;lMax=Math.min(100,l+slOffset);__cov_RUh5iqmU8HaqsL5E1HH9yg.s['67']++;offsets.push({});__cov_RUh5iqmU8HaqsL5E1HH9yg.s['68']++;for(i=0;ibrightness)&&(__cov_RUh5iqmU8HaqsL5E1HH9yg.b['32'][1]++,b-2brightness){__cov_RUh5iqmU8HaqsL5E1HH9yg.b['33'][0]++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['130']++;return Harmony._searchLuminanceForBrightness(color,brightness,min,luminance);}else{__cov_RUh5iqmU8HaqsL5E1HH9yg.b['33'][1]++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['131']++;return Harmony._searchLuminanceForBrightness(color,brightness,luminance,max);}}},_adjustOffsetAndFinish:function(color,offsets,to){__cov_RUh5iqmU8HaqsL5E1HH9yg.f['19']++;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['132']++;var colors=[],i,l=offsets.length,_c;__cov_RUh5iqmU8HaqsL5E1HH9yg.s['133']++;for(i=0;i100?100:t,f=Math.max(0,a-u),d=Math.min(100,a+u),g=Math.max(0,m-u),y=Math.min(100,m+u),o.push({});for(i=0;in&&o-2n?p._searchLuminanceForBrightness(t,n,r,s):p._searchLuminanceForBrightness(t,n,s,i)},_adjustOffsetAndFinish:function(e,t,n){var r=[],i,s=t.length,o;for(i=0;i100?100:t,f=Math.max(0,a-u),d=Math.min(100,a+u),g=Math.max(0,m-u),y=Math.min(100,m+u),o.push({});for(i=0;in&&o-2n?p._searchLuminanceForBrightness(t,n,r,s):p._searchLuminanceForBrightness(t,n,s,i)},_adjustOffsetAndFinish:function(e,t,n){var r=[],i,s=t.length,o;for(i=0;i 1) {"," hue -= 1;"," }",""," if (hue * 6 < 1) {"," return p + (q - p) * 6 * hue;"," }"," if (hue * 2 < 1) {"," return q;"," }"," if (hue * 3 < 2) {"," return p + (q - p) * (2/3 - hue) * 6;"," }"," return p;"," }","","};","","Y.Color = Y.mix(Color, Y.Color);","","Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSL':'hsl', 'HSLA':'hsla'});","Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsl': 'toHSL', 'hsla': 'toHSLA'});","","","}, '3.13.0', {\"requires\": [\"color-base\"]});","","}());"]};
+}
+var __cov_ta2aTZ8L7ss7o4ZwXJcOMQ = __coverage__['build/color-hsl/color-hsl.js'];
+__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['1']++;YUI.add('color-hsl',function(Y,NAME){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['1']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['2']++;Color={REGEX_HSL:/hsla?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSL:'hsl({*}, {*}%, {*}%)',STR_HSLA:'hsla({*}, {*}%, {*}%, {*})',toHSL:function(str){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['2']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['3']++;var clr=Y.Color._convertTo(str,'hsl');__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['4']++;return clr.toLowerCase();},toHSLA:function(str){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['3']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['5']++;var clr=Y.Color._convertTo(str,'hsla');__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['6']++;return clr.toLowerCase();},_rgbToHsl:function(str,toArray){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['4']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['7']++;var h,s,l,rgb=Y.Color.REGEX_RGB.exec(str),r=rgb[1]/255,g=rgb[2]/255,b=rgb[3]/255,max=Math.max(r,g,b),min=Math.min(r,g,b),isGrayScale=false,sub=max-min,sum=max+min;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['8']++;if((__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['2'][0]++,r===g)&&(__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['2'][1]++,g===b)){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['1'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['9']++;isGrayScale=true;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['1'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['10']++;if(sub===0){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['3'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['11']++;h=0;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['3'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['12']++;if(r===max){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['4'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['13']++;h=(60*(g-b)/sub+360)%360;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['4'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['14']++;if(g===max){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['5'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['15']++;h=60*(b-r)/sub+120;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['5'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['16']++;h=60*(r-g)/sub+240;}}}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['17']++;l=sum/2;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['18']++;if((__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['7'][0]++,l===0)||(__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['7'][1]++,l===1)){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['6'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['19']++;s=l;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['6'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['20']++;if(l<=0.5){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['8'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['21']++;s=sub/sum;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['8'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['22']++;s=sub/(2-sum);}}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['23']++;if(isGrayScale){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['9'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['24']++;s=0;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['9'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['25']++;h=Math.round(h);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['26']++;s=Math.round(s*100);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['27']++;l=Math.round(l*100);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['28']++;if(toArray){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['10'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['29']++;return[h,s,l];}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['10'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['30']++;return'hsl('+h+', '+s+'%, '+l+'%)';},_hslToRgb:function(str,toArray){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['5']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['31']++;var hsl=Y.Color.REGEX_HSL.exec(str),h=parseInt(hsl[1],10)/360,s=parseInt(hsl[2],10)/100,l=parseInt(hsl[3],10)/100,r,g,b,p,q;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['32']++;if(l<=0.5){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['11'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['33']++;q=l*(s+1);}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['11'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['34']++;q=l+s-l*s;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['35']++;p=2*l-q;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['36']++;r=Math.round(Color._hueToRGB(p,q,h+1/3)*255);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['37']++;g=Math.round(Color._hueToRGB(p,q,h)*255);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['38']++;b=Math.round(Color._hueToRGB(p,q,h-1/3)*255);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['39']++;if(toArray){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['12'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['40']++;return[r,g,b];}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['12'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['41']++;return'rgb('+r+', '+g+', '+b+')';},_hueToRGB:function(p,q,hue){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.f['6']++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['42']++;if(hue<0){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['13'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['43']++;hue+=1;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['13'][1]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['44']++;if(hue>1){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['14'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['45']++;hue-=1;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['14'][1]++;}}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['46']++;if(hue*6<1){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['15'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['47']++;return p+(q-p)*6*hue;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['15'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['48']++;if(hue*2<1){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['16'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['49']++;return q;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['16'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['50']++;if(hue*3<2){__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['17'][0]++;__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['51']++;return p+(q-p)*(2/3-hue)*6;}else{__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.b['17'][1]++;}__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['52']++;return p;}};__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['53']++;Y.Color=Y.mix(Color,Y.Color);__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['54']++;Y.Color.TYPES=Y.mix(Y.Color.TYPES,{'HSL':'hsl','HSLA':'hsla'});__cov_ta2aTZ8L7ss7o4ZwXJcOMQ.s['55']++;Y.Color.CONVERTS=Y.mix(Y.Color.CONVERTS,{'hsl':'toHSL','hsla':'toHSLA'});},'3.13.0',{'requires':['color-base']});
diff --git a/lib/yuilib/3.12.0/color-hsl/color-hsl-debug.js b/lib/yuilib/3.13.0/color-hsl/color-hsl-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/color-hsl/color-hsl-debug.js
rename to lib/yuilib/3.13.0/color-hsl/color-hsl-debug.js
index 0f6adc21ab6..265ed09fba2
--- a/lib/yuilib/3.12.0/color-hsl/color-hsl-debug.js
+++ b/lib/yuilib/3.13.0/color-hsl/color-hsl-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -222,4 +222,4 @@ Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSL':'hsl', 'HSLA':'hsla'});
Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsl': 'toHSL', 'hsla': 'toHSLA'});
-}, '3.12.0', {"requires": ["color-base"]});
+}, '3.13.0', {"requires": ["color-base"]});
diff --git a/lib/yuilib/3.12.0/color-hsl/color-hsl-min.js b/lib/yuilib/3.13.0/color-hsl/color-hsl-min.js
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/color-hsl/color-hsl-min.js
rename to lib/yuilib/3.13.0/color-hsl/color-hsl-min.js
index bd4f1f26d9a..dd7140be768
--- a/lib/yuilib/3.12.0/color-hsl/color-hsl-min.js
+++ b/lib/yuilib/3.13.0/color-hsl/color-hsl-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("color-hsl",function(e,t){Color={REGEX_HSL:/hsla?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSL:"hsl({*}, {*}%, {*}%)",STR_HSLA:"hsla({*}, {*}%, {*}%, {*})",toHSL:function(t){var n=e.Color._convertTo(t,"hsl");return n.toLowerCase()},toHSLA:function(t){var n=e.Color._convertTo(t,"hsla");return n.toLowerCase()},_rgbToHsl:function(t,n){var r,i,s,o=e.Color.REGEX_RGB.exec(t),u=o[1]/255,a=o[2]/255,f=o[3]/255,l=Math.max(u,a,f),c=Math.min(u,a,f),h=!1,p=l-c,d=l+c;return u===a&&a===f&&(h=!0),p===0?r=0:u===l?r=(60*(a-f)/p+360)%360:a===l?r=60*(f-u)/p+120:r=60*(u-a)/p+240,s=d/2,s===0||s===1?i=s:s<=.5?i=p/d:i=p/(2-d),h&&(i=0),r=Math.round(r),i=Math.round(i*100),s=Math.round(s*100),n?[r,i,s]:"hsl("+r+", "+i+"%, "+s+"%)"},_hslToRgb:function(t,n){var r=e.Color.REGEX_HSL.exec(t),i=parseInt(r[1],10)/360,s=parseInt(r[2],10)/100,o=parseInt(r[3],10)/100,u,a,f,l,c;return o<=.5?c=o*(s+1):c=o+s-o*s,l=2*o-c,u=Math.round(Color._hueToRGB(l,c,i+1/3)*255),a=Math.round(Color._hueToRGB(l,c,i)*255),f=Math.round(Color._hueToRGB(l,c,i-1/3)*255),n?[u,a,f]:"rgb("+u+", "+a+", "+f+")"},_hueToRGB:function(e,t,n){return n<0?n+=1:n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}},e.Color=e.mix(Color,e.Color),e.Color.TYPES=e.mix(e.Color.TYPES,{HSL:"hsl",HSLA:"hsla"}),e.Color.CONVERTS=e.mix(e.Color.CONVERTS,{hsl:"toHSL",hsla:"toHSLA"})},"3.12.0",{requires:["color-base"]});
+YUI.add("color-hsl",function(e,t){Color={REGEX_HSL:/hsla?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSL:"hsl({*}, {*}%, {*}%)",STR_HSLA:"hsla({*}, {*}%, {*}%, {*})",toHSL:function(t){var n=e.Color._convertTo(t,"hsl");return n.toLowerCase()},toHSLA:function(t){var n=e.Color._convertTo(t,"hsla");return n.toLowerCase()},_rgbToHsl:function(t,n){var r,i,s,o=e.Color.REGEX_RGB.exec(t),u=o[1]/255,a=o[2]/255,f=o[3]/255,l=Math.max(u,a,f),c=Math.min(u,a,f),h=!1,p=l-c,d=l+c;return u===a&&a===f&&(h=!0),p===0?r=0:u===l?r=(60*(a-f)/p+360)%360:a===l?r=60*(f-u)/p+120:r=60*(u-a)/p+240,s=d/2,s===0||s===1?i=s:s<=.5?i=p/d:i=p/(2-d),h&&(i=0),r=Math.round(r),i=Math.round(i*100),s=Math.round(s*100),n?[r,i,s]:"hsl("+r+", "+i+"%, "+s+"%)"},_hslToRgb:function(t,n){var r=e.Color.REGEX_HSL.exec(t),i=parseInt(r[1],10)/360,s=parseInt(r[2],10)/100,o=parseInt(r[3],10)/100,u,a,f,l,c;return o<=.5?c=o*(s+1):c=o+s-o*s,l=2*o-c,u=Math.round(Color._hueToRGB(l,c,i+1/3)*255),a=Math.round(Color._hueToRGB(l,c,i)*255),f=Math.round(Color._hueToRGB(l,c,i-1/3)*255),n?[u,a,f]:"rgb("+u+", "+a+", "+f+")"},_hueToRGB:function(e,t,n){return n<0?n+=1:n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}},e.Color=e.mix(Color,e.Color),e.Color.TYPES=e.mix(e.Color.TYPES,{HSL:"hsl",HSLA:"hsla"}),e.Color.CONVERTS=e.mix(e.Color.CONVERTS,{hsl:"toHSL",hsla:"toHSLA"})},"3.13.0",{requires:["color-base"]});
diff --git a/lib/yuilib/3.12.0/color-hsl/color-hsl.js b/lib/yuilib/3.13.0/color-hsl/color-hsl.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/color-hsl/color-hsl.js
rename to lib/yuilib/3.13.0/color-hsl/color-hsl.js
index 0f6adc21ab6..265ed09fba2
--- a/lib/yuilib/3.12.0/color-hsl/color-hsl.js
+++ b/lib/yuilib/3.13.0/color-hsl/color-hsl.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -222,4 +222,4 @@ Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSL':'hsl', 'HSLA':'hsla'});
Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsl': 'toHSL', 'hsla': 'toHSLA'});
-}, '3.12.0', {"requires": ["color-base"]});
+}, '3.13.0', {"requires": ["color-base"]});
diff --git a/lib/yuilib/3.13.0/color-hsv/color-hsv-coverage.js b/lib/yuilib/3.13.0/color-hsv/color-hsv-coverage.js
new file mode 100755
index 00000000000..164ef8e3fda
--- /dev/null
+++ b/lib/yuilib/3.13.0/color-hsv/color-hsv-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/color-hsv/color-hsv.js']) {
+ __coverage__['build/color-hsv/color-hsv.js'] = {"path":"build/color-hsv/color-hsv.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0,0,0,0],"8":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":21},"end":{"line":1,"column":40}}},"2":{"name":"(anonymous_2)","line":54,"loc":{"start":{"line":54,"column":11},"end":{"line":54,"column":26}}},"3":{"name":"(anonymous_3)","line":67,"loc":{"start":{"line":67,"column":12},"end":{"line":67,"column":27}}},"4":{"name":"(anonymous_4)","line":82,"loc":{"start":{"line":82,"column":15},"end":{"line":82,"column":39}}},"5":{"name":"(anonymous_5)","line":134,"loc":{"start":{"line":134,"column":15},"end":{"line":134,"column":39}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":182,"column":43}},"2":{"start":{"line":17,"column":0},"end":{"line":174,"column":2}},"3":{"start":{"line":55,"column":8},"end":{"line":55,"column":49}},"4":{"start":{"line":56,"column":8},"end":{"line":56,"column":33}},"5":{"start":{"line":68,"column":8},"end":{"line":68,"column":50}},"6":{"start":{"line":69,"column":8},"end":{"line":69,"column":33}},"7":{"start":{"line":83,"column":8},"end":{"line":90,"column":30}},"8":{"start":{"line":92,"column":8},"end":{"line":100,"column":9}},"9":{"start":{"line":93,"column":12},"end":{"line":93,"column":18}},"10":{"start":{"line":94,"column":15},"end":{"line":100,"column":9}},"11":{"start":{"line":95,"column":12},"end":{"line":95,"column":37}},"12":{"start":{"line":96,"column":15},"end":{"line":100,"column":9}},"13":{"start":{"line":97,"column":12},"end":{"line":97,"column":45}},"14":{"start":{"line":99,"column":12},"end":{"line":99,"column":45}},"15":{"start":{"line":102,"column":8},"end":{"line":102,"column":46}},"16":{"start":{"line":105,"column":8},"end":{"line":107,"column":9}},"17":{"start":{"line":106,"column":12},"end":{"line":106,"column":21}},"18":{"start":{"line":108,"column":8},"end":{"line":108,"column":17}},"19":{"start":{"line":109,"column":8},"end":{"line":109,"column":26}},"20":{"start":{"line":112,"column":8},"end":{"line":112,"column":32}},"21":{"start":{"line":115,"column":8},"end":{"line":115,"column":34}},"22":{"start":{"line":117,"column":8},"end":{"line":119,"column":9}},"23":{"start":{"line":118,"column":12},"end":{"line":118,"column":29}},"24":{"start":{"line":121,"column":8},"end":{"line":121,"column":63}},"25":{"start":{"line":135,"column":8},"end":{"line":146,"column":40}},"26":{"start":{"line":148,"column":8},"end":{"line":161,"column":9}},"27":{"start":{"line":149,"column":12},"end":{"line":149,"column":18}},"28":{"start":{"line":150,"column":12},"end":{"line":150,"column":18}},"29":{"start":{"line":151,"column":12},"end":{"line":151,"column":18}},"30":{"start":{"line":153,"column":12},"end":{"line":160,"column":13}},"31":{"start":{"line":154,"column":24},"end":{"line":154,"column":30}},"32":{"start":{"line":154,"column":31},"end":{"line":154,"column":37}},"33":{"start":{"line":154,"column":38},"end":{"line":154,"column":44}},"34":{"start":{"line":154,"column":45},"end":{"line":154,"column":51}},"35":{"start":{"line":155,"column":24},"end":{"line":155,"column":30}},"36":{"start":{"line":155,"column":31},"end":{"line":155,"column":37}},"37":{"start":{"line":155,"column":38},"end":{"line":155,"column":44}},"38":{"start":{"line":155,"column":45},"end":{"line":155,"column":51}},"39":{"start":{"line":156,"column":24},"end":{"line":156,"column":30}},"40":{"start":{"line":156,"column":31},"end":{"line":156,"column":37}},"41":{"start":{"line":156,"column":38},"end":{"line":156,"column":44}},"42":{"start":{"line":156,"column":45},"end":{"line":156,"column":51}},"43":{"start":{"line":157,"column":24},"end":{"line":157,"column":30}},"44":{"start":{"line":157,"column":31},"end":{"line":157,"column":37}},"45":{"start":{"line":157,"column":38},"end":{"line":157,"column":44}},"46":{"start":{"line":157,"column":45},"end":{"line":157,"column":51}},"47":{"start":{"line":158,"column":24},"end":{"line":158,"column":30}},"48":{"start":{"line":158,"column":31},"end":{"line":158,"column":37}},"49":{"start":{"line":158,"column":38},"end":{"line":158,"column":44}},"50":{"start":{"line":158,"column":45},"end":{"line":158,"column":51}},"51":{"start":{"line":159,"column":24},"end":{"line":159,"column":30}},"52":{"start":{"line":159,"column":31},"end":{"line":159,"column":37}},"53":{"start":{"line":159,"column":38},"end":{"line":159,"column":44}},"54":{"start":{"line":159,"column":45},"end":{"line":159,"column":51}},"55":{"start":{"line":163,"column":8},"end":{"line":163,"column":47}},"56":{"start":{"line":164,"column":8},"end":{"line":164,"column":47}},"57":{"start":{"line":165,"column":8},"end":{"line":165,"column":47}},"58":{"start":{"line":167,"column":8},"end":{"line":169,"column":9}},"59":{"start":{"line":168,"column":12},"end":{"line":168,"column":29}},"60":{"start":{"line":171,"column":8},"end":{"line":171,"column":63}},"61":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"62":{"start":{"line":178,"column":0},"end":{"line":178,"column":67}},"63":{"start":{"line":179,"column":0},"end":{"line":179,"column":79}}},"branchMap":{"1":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":8}},{"start":{"line":92,"column":8},"end":{"line":92,"column":8}}]},"2":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":15},"end":{"line":94,"column":15}},{"start":{"line":94,"column":15},"end":{"line":94,"column":15}}]},"3":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":15},"end":{"line":96,"column":15}},{"start":{"line":96,"column":15},"end":{"line":96,"column":15}}]},"4":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":26},"end":{"line":102,"column":27}},{"start":{"line":102,"column":30},"end":{"line":102,"column":45}}]},"5":{"line":117,"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":117,"column":8}},{"start":{"line":117,"column":8},"end":{"line":117,"column":8}}]},"6":{"line":148,"type":"if","locations":[{"start":{"line":148,"column":8},"end":{"line":148,"column":8}},{"start":{"line":148,"column":8},"end":{"line":148,"column":8}}]},"7":{"line":153,"type":"switch","locations":[{"start":{"line":154,"column":16},"end":{"line":154,"column":51}},{"start":{"line":155,"column":16},"end":{"line":155,"column":51}},{"start":{"line":156,"column":16},"end":{"line":156,"column":51}},{"start":{"line":157,"column":16},"end":{"line":157,"column":51}},{"start":{"line":158,"column":16},"end":{"line":158,"column":51}},{"start":{"line":159,"column":16},"end":{"line":159,"column":51}}]},"8":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":8},"end":{"line":167,"column":8}},{"start":{"line":167,"column":8},"end":{"line":167,"column":8}}]}},"code":["(function () { YUI.add('color-hsv', function (Y, NAME) {","","/**","Color provides static methods for color conversion hsv values.",""," Y.Color.toHSV('f00'); // hsv(0, 100%, 100%)",""," Y.Color.toHSVA('rgb(255, 255, 0'); // hsva(60, 100%, 100%, 1)","","","@module color","@submodule color-hsv","@class HSV","@namespace Color","@since 3.8.0","**/","Color = {",""," /**"," @static"," @property REGEX_HSV"," @type RegExp"," @default /hsva?\\(([.\\d]*), ?([.\\d]*)%, ?([.\\d]*)%,? ?([.\\d]*)?\\)/"," @since 3.8.0"," **/"," REGEX_HSV: /hsva?\\(([.\\d]*), ?([.\\d]*)%, ?([.\\d]*)%,? ?([.\\d]*)?\\)/,",""," /**"," @static"," @property STR_HSV"," @type String"," @default hsv({*}, {*}%, {*}%)"," @since 3.8.0"," **/"," STR_HSV: 'hsv({*}, {*}%, {*}%)',",""," /**"," @static"," @property STR_HSVA"," @type String"," @default hsva({*}, {*}%, {*}%, {*})"," @since 3.8.0"," **/"," STR_HSVA: 'hsva({*}, {*}%, {*}%, {*})',",""," /**"," Converts provided color value to an HSV string."," @public"," @method toHSV"," @param {String} str"," @return {String}"," @since 3.8.0"," **/"," toHSV: function (str) {"," var clr = Y.Color._convertTo(str, 'hsv');"," return clr.toLowerCase();"," },",""," /**"," Converts provided color value to an HSVA string."," @public"," @method toHSVA"," @param {String} str"," @return {String}"," @since 3.8.0"," **/"," toHSVA: function (str) {"," var clr = Y.Color._convertTo(str, 'hsva');"," return clr.toLowerCase();"," },",""," /**"," Parses the RGB string into h, s, v values. Will return an Array"," of values or an HSV string."," @protected"," @method _rgbToHsv"," @param {String} str"," @param {Boolean} [toArray]"," @return {String|Array}"," @since 3.8.0"," **/"," _rgbToHsv: function (str, toArray) {"," var h, s, v,"," rgb = Y.Color.REGEX_RGB.exec(str),"," r = rgb[1] / 255,"," g = rgb[2] / 255,"," b = rgb[3] / 255,"," max = Math.max(r, g, b),"," min = Math.min(r, g, b),"," delta = max - min;",""," if (max === min) {"," h = 0;"," } else if (max === r) {"," h = 60 * (g - b) / delta;"," } else if (max === g) {"," h = (60 * (b - r) / delta) + 120;"," } else { // max === b"," h = (60 * (r - g) / delta) + 240;"," }",""," s = (max === 0) ? 0 : 1 - (min / max);",""," // ensure h is between 0 and 360"," while (h < 0) {"," h += 360;"," }"," h %= 360;"," h = Math.round(h);",""," // saturation is percentage"," s = Math.round(s * 100);",""," // value is percentage"," v = Math.round(max * 100);",""," if (toArray) {"," return [h, s, v];"," }",""," return Y.Color.fromArray([h, s, v], Y.Color.TYPES.HSV);"," },",""," /**"," Parses the HSV string into r, b, g values. Will return an Array"," of values or an RGB string."," @protected"," @method _hsvToRgb"," @param {String} str"," @param {Boolean} [toArray]"," @return {String|Array}"," @since 3.8.0"," **/"," _hsvToRgb: function (str, toArray) {"," var hsv = Y.Color.REGEX_HSV.exec(str),"," h = parseInt(hsv[1], 10),"," s = parseInt(hsv[2], 10) / 100, // 0 - 1"," v = parseInt(hsv[3], 10) / 100, // 0 - 1"," r,"," g,"," b,"," i = Math.floor(h / 60) % 6,"," f = (h / 60) - i,"," p = v * (1 - s),"," q = v * (1 - (s * f)),"," t = v * (1 - (s * (1 - f)));",""," if (s === 0) {"," r = v;"," g = v;"," b = v;"," } else {"," switch (i) {"," case 0: r = v; g = t; b = p; break;"," case 1: r = q; g = v; b = p; break;"," case 2: r = p; g = v; b = t; break;"," case 3: r = p; g = q; b = v; break;"," case 4: r = t; g = p; b = v; break;"," case 5: r = v; g = p; b = q; break;"," }"," }",""," r = Math.min(255, Math.round(r * 256));"," g = Math.min(255, Math.round(g * 256));"," b = Math.min(255, Math.round(b * 256));",""," if (toArray) {"," return [r, g, b];"," }",""," return Y.Color.fromArray([r, g, b], Y.Color.TYPES.RGB);"," }","","};","","Y.Color = Y.mix(Color, Y.Color);","","Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSV':'hsv', 'HSVA':'hsva'});","Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsv': 'toHSV', 'hsva': 'toHSVA'});","","","}, '3.13.0', {\"requires\": [\"color-base\"]});","","}());"]};
+}
+var __cov_gkUHEbEF94xsw7IRi1jHzg = __coverage__['build/color-hsv/color-hsv.js'];
+__cov_gkUHEbEF94xsw7IRi1jHzg.s['1']++;YUI.add('color-hsv',function(Y,NAME){__cov_gkUHEbEF94xsw7IRi1jHzg.f['1']++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['2']++;Color={REGEX_HSV:/hsva?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSV:'hsv({*}, {*}%, {*}%)',STR_HSVA:'hsva({*}, {*}%, {*}%, {*})',toHSV:function(str){__cov_gkUHEbEF94xsw7IRi1jHzg.f['2']++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['3']++;var clr=Y.Color._convertTo(str,'hsv');__cov_gkUHEbEF94xsw7IRi1jHzg.s['4']++;return clr.toLowerCase();},toHSVA:function(str){__cov_gkUHEbEF94xsw7IRi1jHzg.f['3']++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['5']++;var clr=Y.Color._convertTo(str,'hsva');__cov_gkUHEbEF94xsw7IRi1jHzg.s['6']++;return clr.toLowerCase();},_rgbToHsv:function(str,toArray){__cov_gkUHEbEF94xsw7IRi1jHzg.f['4']++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['7']++;var h,s,v,rgb=Y.Color.REGEX_RGB.exec(str),r=rgb[1]/255,g=rgb[2]/255,b=rgb[3]/255,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min;__cov_gkUHEbEF94xsw7IRi1jHzg.s['8']++;if(max===min){__cov_gkUHEbEF94xsw7IRi1jHzg.b['1'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['9']++;h=0;}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['1'][1]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['10']++;if(max===r){__cov_gkUHEbEF94xsw7IRi1jHzg.b['2'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['11']++;h=60*(g-b)/delta;}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['2'][1]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['12']++;if(max===g){__cov_gkUHEbEF94xsw7IRi1jHzg.b['3'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['13']++;h=60*(b-r)/delta+120;}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['3'][1]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['14']++;h=60*(r-g)/delta+240;}}}__cov_gkUHEbEF94xsw7IRi1jHzg.s['15']++;s=max===0?(__cov_gkUHEbEF94xsw7IRi1jHzg.b['4'][0]++,0):(__cov_gkUHEbEF94xsw7IRi1jHzg.b['4'][1]++,1-min/max);__cov_gkUHEbEF94xsw7IRi1jHzg.s['16']++;while(h<0){__cov_gkUHEbEF94xsw7IRi1jHzg.s['17']++;h+=360;}__cov_gkUHEbEF94xsw7IRi1jHzg.s['18']++;h%=360;__cov_gkUHEbEF94xsw7IRi1jHzg.s['19']++;h=Math.round(h);__cov_gkUHEbEF94xsw7IRi1jHzg.s['20']++;s=Math.round(s*100);__cov_gkUHEbEF94xsw7IRi1jHzg.s['21']++;v=Math.round(max*100);__cov_gkUHEbEF94xsw7IRi1jHzg.s['22']++;if(toArray){__cov_gkUHEbEF94xsw7IRi1jHzg.b['5'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['23']++;return[h,s,v];}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['5'][1]++;}__cov_gkUHEbEF94xsw7IRi1jHzg.s['24']++;return Y.Color.fromArray([h,s,v],Y.Color.TYPES.HSV);},_hsvToRgb:function(str,toArray){__cov_gkUHEbEF94xsw7IRi1jHzg.f['5']++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['25']++;var hsv=Y.Color.REGEX_HSV.exec(str),h=parseInt(hsv[1],10),s=parseInt(hsv[2],10)/100,v=parseInt(hsv[3],10)/100,r,g,b,i=Math.floor(h/60)%6,f=h/60-i,p=v*(1-s),q=v*(1-s*f),t=v*(1-s*(1-f));__cov_gkUHEbEF94xsw7IRi1jHzg.s['26']++;if(s===0){__cov_gkUHEbEF94xsw7IRi1jHzg.b['6'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['27']++;r=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['28']++;g=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['29']++;b=v;}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['6'][1]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['30']++;switch(i){case 0:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['31']++;r=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['32']++;g=t;__cov_gkUHEbEF94xsw7IRi1jHzg.s['33']++;b=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['34']++;break;case 1:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][1]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['35']++;r=q;__cov_gkUHEbEF94xsw7IRi1jHzg.s['36']++;g=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['37']++;b=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['38']++;break;case 2:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][2]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['39']++;r=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['40']++;g=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['41']++;b=t;__cov_gkUHEbEF94xsw7IRi1jHzg.s['42']++;break;case 3:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][3]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['43']++;r=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['44']++;g=q;__cov_gkUHEbEF94xsw7IRi1jHzg.s['45']++;b=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['46']++;break;case 4:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][4]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['47']++;r=t;__cov_gkUHEbEF94xsw7IRi1jHzg.s['48']++;g=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['49']++;b=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['50']++;break;case 5:__cov_gkUHEbEF94xsw7IRi1jHzg.b['7'][5]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['51']++;r=v;__cov_gkUHEbEF94xsw7IRi1jHzg.s['52']++;g=p;__cov_gkUHEbEF94xsw7IRi1jHzg.s['53']++;b=q;__cov_gkUHEbEF94xsw7IRi1jHzg.s['54']++;break;}}__cov_gkUHEbEF94xsw7IRi1jHzg.s['55']++;r=Math.min(255,Math.round(r*256));__cov_gkUHEbEF94xsw7IRi1jHzg.s['56']++;g=Math.min(255,Math.round(g*256));__cov_gkUHEbEF94xsw7IRi1jHzg.s['57']++;b=Math.min(255,Math.round(b*256));__cov_gkUHEbEF94xsw7IRi1jHzg.s['58']++;if(toArray){__cov_gkUHEbEF94xsw7IRi1jHzg.b['8'][0]++;__cov_gkUHEbEF94xsw7IRi1jHzg.s['59']++;return[r,g,b];}else{__cov_gkUHEbEF94xsw7IRi1jHzg.b['8'][1]++;}__cov_gkUHEbEF94xsw7IRi1jHzg.s['60']++;return Y.Color.fromArray([r,g,b],Y.Color.TYPES.RGB);}};__cov_gkUHEbEF94xsw7IRi1jHzg.s['61']++;Y.Color=Y.mix(Color,Y.Color);__cov_gkUHEbEF94xsw7IRi1jHzg.s['62']++;Y.Color.TYPES=Y.mix(Y.Color.TYPES,{'HSV':'hsv','HSVA':'hsva'});__cov_gkUHEbEF94xsw7IRi1jHzg.s['63']++;Y.Color.CONVERTS=Y.mix(Y.Color.CONVERTS,{'hsv':'toHSV','hsva':'toHSVA'});},'3.13.0',{'requires':['color-base']});
diff --git a/lib/yuilib/3.12.0/color-hsv/color-hsv-debug.js b/lib/yuilib/3.13.0/color-hsv/color-hsv-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/color-hsv/color-hsv-debug.js
rename to lib/yuilib/3.13.0/color-hsv/color-hsv-debug.js
index 01bc0e3e6b4..92f6d5d7dff
--- a/lib/yuilib/3.12.0/color-hsv/color-hsv-debug.js
+++ b/lib/yuilib/3.13.0/color-hsv/color-hsv-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -186,4 +186,4 @@ Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSV':'hsv', 'HSVA':'hsva'});
Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsv': 'toHSV', 'hsva': 'toHSVA'});
-}, '3.12.0', {"requires": ["color-base"]});
+}, '3.13.0', {"requires": ["color-base"]});
diff --git a/lib/yuilib/3.12.0/color-hsv/color-hsv-min.js b/lib/yuilib/3.13.0/color-hsv/color-hsv-min.js
old mode 100644
new mode 100755
similarity index 94%
rename from lib/yuilib/3.12.0/color-hsv/color-hsv-min.js
rename to lib/yuilib/3.13.0/color-hsv/color-hsv-min.js
index 377adf11c32..0eec8c0fbb3
--- a/lib/yuilib/3.12.0/color-hsv/color-hsv-min.js
+++ b/lib/yuilib/3.13.0/color-hsv/color-hsv-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("color-hsv",function(e,t){Color={REGEX_HSV:/hsva?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSV:"hsv({*}, {*}%, {*}%)",STR_HSVA:"hsva({*}, {*}%, {*}%, {*})",toHSV:function(t){var n=e.Color._convertTo(t,"hsv");return n.toLowerCase()},toHSVA:function(t){var n=e.Color._convertTo(t,"hsva");return n.toLowerCase()},_rgbToHsv:function(t,n){var r,i,s,o=e.Color.REGEX_RGB.exec(t),u=o[1]/255,a=o[2]/255,f=o[3]/255,l=Math.max(u,a,f),c=Math.min(u,a,f),h=l-c;l===c?r=0:l===u?r=60*(a-f)/h:l===a?r=60*(f-u)/h+120:r=60*(u-a)/h+240,i=l===0?0:1-c/l;while(r<0)r+=360;return r%=360,r=Math.round(r),i=Math.round(i*100),s=Math.round(l*100),n?[r,i,s]:e.Color.fromArray([r,i,s],e.Color.TYPES.HSV)},_hsvToRgb:function(t,n){var r=e.Color.REGEX_HSV.exec(t),i=parseInt(r[1],10),s=parseInt(r[2],10)/100,o=parseInt(r[3],10)/100,u,a,f,l=Math.floor(i/60)%6,c=i/60-l,h=o*(1-s),p=o*(1-s*c),d=o*(1-s*(1-c));if(s===0)u=o,a=o,f=o;else switch(l){case 0:u=o,a=d,f=h;break;case 1:u=p,a=o,f=h;break;case 2:u=h,a=o,f=d;break;case 3:u=h,a=p,f=o;break;case 4:u=d,a=h,f=o;break;case 5:u=o,a=h,f=p}return u=Math.min(255,Math.round(u*256)),a=Math.min(255,Math.round(a*256)),f=Math.min(255,Math.round(f*256)),n?[u,a,f]:e.Color.fromArray([u,a,f],e.Color.TYPES.RGB)}},e.Color=e.mix(Color,e.Color),e.Color.TYPES=e.mix(e.Color.TYPES,{HSV:"hsv",HSVA:"hsva"}),e.Color.CONVERTS=e.mix(e.Color.CONVERTS,{hsv:"toHSV",hsva:"toHSVA"})},"3.12.0",{requires:["color-base"]});
+YUI.add("color-hsv",function(e,t){Color={REGEX_HSV:/hsva?\(([.\d]*), ?([.\d]*)%, ?([.\d]*)%,? ?([.\d]*)?\)/,STR_HSV:"hsv({*}, {*}%, {*}%)",STR_HSVA:"hsva({*}, {*}%, {*}%, {*})",toHSV:function(t){var n=e.Color._convertTo(t,"hsv");return n.toLowerCase()},toHSVA:function(t){var n=e.Color._convertTo(t,"hsva");return n.toLowerCase()},_rgbToHsv:function(t,n){var r,i,s,o=e.Color.REGEX_RGB.exec(t),u=o[1]/255,a=o[2]/255,f=o[3]/255,l=Math.max(u,a,f),c=Math.min(u,a,f),h=l-c;l===c?r=0:l===u?r=60*(a-f)/h:l===a?r=60*(f-u)/h+120:r=60*(u-a)/h+240,i=l===0?0:1-c/l;while(r<0)r+=360;return r%=360,r=Math.round(r),i=Math.round(i*100),s=Math.round(l*100),n?[r,i,s]:e.Color.fromArray([r,i,s],e.Color.TYPES.HSV)},_hsvToRgb:function(t,n){var r=e.Color.REGEX_HSV.exec(t),i=parseInt(r[1],10),s=parseInt(r[2],10)/100,o=parseInt(r[3],10)/100,u,a,f,l=Math.floor(i/60)%6,c=i/60-l,h=o*(1-s),p=o*(1-s*c),d=o*(1-s*(1-c));if(s===0)u=o,a=o,f=o;else switch(l){case 0:u=o,a=d,f=h;break;case 1:u=p,a=o,f=h;break;case 2:u=h,a=o,f=d;break;case 3:u=h,a=p,f=o;break;case 4:u=d,a=h,f=o;break;case 5:u=o,a=h,f=p}return u=Math.min(255,Math.round(u*256)),a=Math.min(255,Math.round(a*256)),f=Math.min(255,Math.round(f*256)),n?[u,a,f]:e.Color.fromArray([u,a,f],e.Color.TYPES.RGB)}},e.Color=e.mix(Color,e.Color),e.Color.TYPES=e.mix(e.Color.TYPES,{HSV:"hsv",HSVA:"hsva"}),e.Color.CONVERTS=e.mix(e.Color.CONVERTS,{hsv:"toHSV",hsva:"toHSVA"})},"3.13.0",{requires:["color-base"]});
diff --git a/lib/yuilib/3.12.0/color-hsv/color-hsv.js b/lib/yuilib/3.13.0/color-hsv/color-hsv.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/color-hsv/color-hsv.js
rename to lib/yuilib/3.13.0/color-hsv/color-hsv.js
index 01bc0e3e6b4..92f6d5d7dff
--- a/lib/yuilib/3.12.0/color-hsv/color-hsv.js
+++ b/lib/yuilib/3.13.0/color-hsv/color-hsv.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -186,4 +186,4 @@ Y.Color.TYPES = Y.mix(Y.Color.TYPES, {'HSV':'hsv', 'HSVA':'hsva'});
Y.Color.CONVERTS = Y.mix(Y.Color.CONVERTS, {'hsv': 'toHSV', 'hsva': 'toHSVA'});
-}, '3.12.0', {"requires": ["color-base"]});
+}, '3.13.0', {"requires": ["color-base"]});
diff --git a/lib/yuilib/3.12.0/console-filters/assets/console-filters-core.css b/lib/yuilib/3.13.0/console-filters/assets/console-filters-core.css
old mode 100644
new mode 100755
similarity index 81%
rename from lib/yuilib/3.12.0/console-filters/assets/console-filters-core.css
rename to lib/yuilib/3.13.0/console-filters/assets/console-filters-core.css
index ab09cf0948f..2287ac4300c
--- a/lib/yuilib/3.12.0/console-filters/assets/console-filters-core.css
+++ b/lib/yuilib/3.13.0/console-filters/assets/console-filters-core.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters-skin.css b/lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters-skin.css
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters-skin.css
rename to lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters-skin.css
index a02f42e443f..af26313c552
--- a/lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters-skin.css
+++ b/lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters.css b/lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters.css
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters.css
rename to lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters.css
index 8f953e2b208..488645f0cab
--- a/lib/yuilib/3.12.0/console-filters/assets/skins/sam/console-filters.css
+++ b/lib/yuilib/3.13.0/console-filters/assets/skins/sam/console-filters.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.13.0/console-filters/console-filters-coverage.js b/lib/yuilib/3.13.0/console-filters/console-filters-coverage.js
new file mode 100755
index 00000000000..6d59dadc6eb
--- /dev/null
+++ b/lib/yuilib/3.13.0/console-filters/console-filters-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/console-filters/console-filters.js']) {
+ __coverage__['build/console-filters/console-filters.js'] = {"path":"build/console-filters/console-filters.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"ConsoleFilters","line":37,"loc":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}}},"3":{"name":"(anonymous_3)","line":92,"loc":{"start":{"line":92,"column":18},"end":{"line":92,"column":30}}},"4":{"name":"(anonymous_4)","line":118,"loc":{"start":{"line":118,"column":17},"end":{"line":118,"column":29}}},"5":{"name":"(anonymous_5)","line":137,"loc":{"start":{"line":137,"column":15},"end":{"line":137,"column":27}}},"6":{"name":"(anonymous_6)","line":163,"loc":{"start":{"line":163,"column":13},"end":{"line":163,"column":25}}},"7":{"name":"(anonymous_7)","line":177,"loc":{"start":{"line":177,"column":13},"end":{"line":177,"column":25}}},"8":{"name":"(anonymous_8)","line":178,"loc":{"start":{"line":178,"column":35},"end":{"line":178,"column":51}}},"9":{"name":"(anonymous_9)","line":182,"loc":{"start":{"line":182,"column":33},"end":{"line":182,"column":49}}},"10":{"name":"(anonymous_10)","line":199,"loc":{"start":{"line":199,"column":15},"end":{"line":199,"column":28}}},"11":{"name":"(anonymous_11)","line":236,"loc":{"start":{"line":236,"column":25},"end":{"line":236,"column":37}}},"12":{"name":"(anonymous_12)","line":249,"loc":{"start":{"line":249,"column":27},"end":{"line":249,"column":40}}},"13":{"name":"(anonymous_13)","line":275,"loc":{"start":{"line":275,"column":25},"end":{"line":275,"column":38}}},"14":{"name":"(anonymous_14)","line":299,"loc":{"start":{"line":299,"column":20},"end":{"line":299,"column":32}}},"15":{"name":"(anonymous_15)","line":326,"loc":{"start":{"line":326,"column":29},"end":{"line":326,"column":42}}},"16":{"name":"(anonymous_16)","line":342,"loc":{"start":{"line":342,"column":21},"end":{"line":342,"column":33}}},"17":{"name":"(anonymous_17)","line":380,"loc":{"start":{"line":380,"column":21},"end":{"line":380,"column":52}}},"18":{"name":"(anonymous_18)","line":410,"loc":{"start":{"line":410,"column":31},"end":{"line":410,"column":44}}},"19":{"name":"(anonymous_19)","line":428,"loc":{"start":{"line":428,"column":29},"end":{"line":428,"column":42}}},"20":{"name":"(anonymous_20)","line":447,"loc":{"start":{"line":447,"column":19},"end":{"line":447,"column":44}}},"21":{"name":"(anonymous_21)","line":463,"loc":{"start":{"line":463,"column":19},"end":{"line":463,"column":44}}},"22":{"name":"(anonymous_22)","line":479,"loc":{"start":{"line":479,"column":17},"end":{"line":479,"column":42}}},"23":{"name":"(anonymous_23)","line":495,"loc":{"start":{"line":495,"column":17},"end":{"line":495,"column":42}}},"24":{"name":"(anonymous_24)","line":513,"loc":{"start":{"line":513,"column":22},"end":{"line":513,"column":49}}},"25":{"name":"(anonymous_25)","line":534,"loc":{"start":{"line":534,"column":24},"end":{"line":534,"column":42}}},"26":{"name":"(anonymous_26)","line":548,"loc":{"start":{"line":548,"column":22},"end":{"line":548,"column":40}}},"27":{"name":"(anonymous_27)","line":561,"loc":{"start":{"line":561,"column":20},"end":{"line":561,"column":33}}},"28":{"name":"(anonymous_28)","line":681,"loc":{"start":{"line":681,"column":24},"end":{"line":681,"column":39}}},"29":{"name":"(anonymous_29)","line":699,"loc":{"start":{"line":699,"column":24},"end":{"line":699,"column":39}}},"30":{"name":"(anonymous_30)","line":715,"loc":{"start":{"line":715,"column":21},"end":{"line":715,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":723,"column":69}},"2":{"start":{"line":14,"column":0},"end":{"line":35,"column":31}},"3":{"start":{"line":37,"column":0},"end":{"line":39,"column":1}},"4":{"start":{"line":38,"column":4},"end":{"line":38,"column":64}},"5":{"start":{"line":41,"column":0},"end":{"line":720,"column":3}},"6":{"start":{"line":93,"column":8},"end":{"line":93,"column":27}},"7":{"start":{"line":95,"column":8},"end":{"line":95,"column":56}},"8":{"start":{"line":97,"column":8},"end":{"line":97,"column":48}},"9":{"start":{"line":98,"column":8},"end":{"line":98,"column":44}},"10":{"start":{"line":99,"column":8},"end":{"line":99,"column":44}},"11":{"start":{"line":101,"column":8},"end":{"line":101,"column":62}},"12":{"start":{"line":103,"column":8},"end":{"line":107,"column":9}},"13":{"start":{"line":104,"column":12},"end":{"line":104,"column":28}},"14":{"start":{"line":105,"column":12},"end":{"line":105,"column":26}},"15":{"start":{"line":106,"column":12},"end":{"line":106,"column":26}},"16":{"start":{"line":109,"column":8},"end":{"line":109,"column":68}},"17":{"start":{"line":121,"column":8},"end":{"line":121,"column":27}},"18":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"19":{"start":{"line":124,"column":12},"end":{"line":124,"column":38}},"20":{"start":{"line":126,"column":8},"end":{"line":128,"column":9}},"21":{"start":{"line":127,"column":12},"end":{"line":127,"column":35}},"22":{"start":{"line":138,"column":8},"end":{"line":139,"column":17}},"23":{"start":{"line":141,"column":8},"end":{"line":153,"column":9}},"24":{"start":{"line":142,"column":12},"end":{"line":144,"column":55}},"25":{"start":{"line":146,"column":12},"end":{"line":146,"column":69}},"26":{"start":{"line":148,"column":12},"end":{"line":150,"column":55}},"27":{"start":{"line":152,"column":12},"end":{"line":152,"column":66}},"28":{"start":{"line":164,"column":8},"end":{"line":164,"column":82}},"29":{"start":{"line":166,"column":8},"end":{"line":166,"column":77}},"30":{"start":{"line":168,"column":8},"end":{"line":168,"column":63}},"31":{"start":{"line":169,"column":8},"end":{"line":169,"column":61}},"32":{"start":{"line":178,"column":8},"end":{"line":180,"column":17}},"33":{"start":{"line":179,"column":12},"end":{"line":179,"column":48}},"34":{"start":{"line":182,"column":8},"end":{"line":184,"column":17}},"35":{"start":{"line":183,"column":12},"end":{"line":183,"column":46}},"36":{"start":{"line":186,"column":8},"end":{"line":186,"column":30}},"37":{"start":{"line":200,"column":8},"end":{"line":200,"column":38}},"38":{"start":{"line":202,"column":8},"end":{"line":207,"column":20}},"39":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"40":{"start":{"line":210,"column":12},"end":{"line":210,"column":47}},"41":{"start":{"line":213,"column":8},"end":{"line":217,"column":9}},"42":{"start":{"line":214,"column":12},"end":{"line":214,"column":47}},"43":{"start":{"line":215,"column":12},"end":{"line":215,"column":35}},"44":{"start":{"line":216,"column":12},"end":{"line":216,"column":33}},"45":{"start":{"line":219,"column":8},"end":{"line":223,"column":9}},"46":{"start":{"line":220,"column":12},"end":{"line":220,"column":47}},"47":{"start":{"line":221,"column":12},"end":{"line":221,"column":35}},"48":{"start":{"line":222,"column":12},"end":{"line":222,"column":33}},"49":{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},"50":{"start":{"line":226,"column":12},"end":{"line":226,"column":31}},"51":{"start":{"line":237,"column":8},"end":{"line":237,"column":27}},"52":{"start":{"line":250,"column":8},"end":{"line":252,"column":30}},"53":{"start":{"line":255,"column":8},"end":{"line":259,"column":9}},"54":{"start":{"line":256,"column":12},"end":{"line":256,"column":34}},"55":{"start":{"line":258,"column":12},"end":{"line":258,"column":33}},"56":{"start":{"line":261,"column":8},"end":{"line":263,"column":9}},"57":{"start":{"line":262,"column":12},"end":{"line":262,"column":59}},"58":{"start":{"line":276,"column":8},"end":{"line":278,"column":30}},"59":{"start":{"line":281,"column":8},"end":{"line":285,"column":9}},"60":{"start":{"line":282,"column":12},"end":{"line":282,"column":34}},"61":{"start":{"line":284,"column":12},"end":{"line":284,"column":33}},"62":{"start":{"line":287,"column":8},"end":{"line":289,"column":9}},"63":{"start":{"line":288,"column":12},"end":{"line":288,"column":57}},"64":{"start":{"line":300,"column":8},"end":{"line":304,"column":14}},"65":{"start":{"line":306,"column":8},"end":{"line":313,"column":9}},"66":{"start":{"line":307,"column":12},"end":{"line":312,"column":13}},"67":{"start":{"line":308,"column":16},"end":{"line":308,"column":35}},"68":{"start":{"line":309,"column":19},"end":{"line":312,"column":13}},"69":{"start":{"line":310,"column":16},"end":{"line":310,"column":45}},"70":{"start":{"line":311,"column":16},"end":{"line":311,"column":29}},"71":{"start":{"line":314,"column":8},"end":{"line":316,"column":9}},"72":{"start":{"line":315,"column":12},"end":{"line":315,"column":39}},"73":{"start":{"line":327,"column":8},"end":{"line":333,"column":9}},"74":{"start":{"line":328,"column":12},"end":{"line":328,"column":56}},"75":{"start":{"line":330,"column":12},"end":{"line":332,"column":13}},"76":{"start":{"line":331,"column":16},"end":{"line":331,"column":46}},"77":{"start":{"line":343,"column":8},"end":{"line":350,"column":16}},"78":{"start":{"line":352,"column":8},"end":{"line":367,"column":9}},"79":{"start":{"line":353,"column":12},"end":{"line":353,"column":36}},"80":{"start":{"line":356,"column":12},"end":{"line":362,"column":13}},"81":{"start":{"line":357,"column":16},"end":{"line":357,"column":31}},"82":{"start":{"line":358,"column":16},"end":{"line":361,"column":17}},"83":{"start":{"line":359,"column":20},"end":{"line":359,"column":38}},"84":{"start":{"line":360,"column":20},"end":{"line":360,"column":32}},"85":{"start":{"line":364,"column":12},"end":{"line":364,"column":32}},"86":{"start":{"line":365,"column":12},"end":{"line":365,"column":33}},"87":{"start":{"line":366,"column":12},"end":{"line":366,"column":31}},"88":{"start":{"line":381,"column":8},"end":{"line":400,"column":9}},"89":{"start":{"line":382,"column":12},"end":{"line":387,"column":21}},"90":{"start":{"line":389,"column":12},"end":{"line":397,"column":13}},"91":{"start":{"line":390,"column":16},"end":{"line":390,"column":38}},"92":{"start":{"line":392,"column":16},"end":{"line":392,"column":54}},"93":{"start":{"line":394,"column":16},"end":{"line":394,"column":46}},"94":{"start":{"line":396,"column":16},"end":{"line":396,"column":54}},"95":{"start":{"line":399,"column":12},"end":{"line":399,"column":43}},"96":{"start":{"line":411,"column":8},"end":{"line":411,"column":30}},"97":{"start":{"line":413,"column":8},"end":{"line":418,"column":9}},"98":{"start":{"line":414,"column":12},"end":{"line":414,"column":33}},"99":{"start":{"line":415,"column":12},"end":{"line":417,"column":13}},"100":{"start":{"line":416,"column":16},"end":{"line":416,"column":79}},"101":{"start":{"line":429,"column":8},"end":{"line":429,"column":30}},"102":{"start":{"line":431,"column":8},"end":{"line":436,"column":9}},"103":{"start":{"line":432,"column":12},"end":{"line":432,"column":33}},"104":{"start":{"line":433,"column":12},"end":{"line":435,"column":13}},"105":{"start":{"line":434,"column":16},"end":{"line":434,"column":77}},"106":{"start":{"line":448,"column":8},"end":{"line":452,"column":9}},"107":{"start":{"line":449,"column":12},"end":{"line":449,"column":61}},"108":{"start":{"line":451,"column":12},"end":{"line":451,"column":48}},"109":{"start":{"line":464,"column":8},"end":{"line":468,"column":9}},"110":{"start":{"line":465,"column":12},"end":{"line":465,"column":61}},"111":{"start":{"line":467,"column":12},"end":{"line":467,"column":47}},"112":{"start":{"line":480,"column":8},"end":{"line":484,"column":9}},"113":{"start":{"line":481,"column":12},"end":{"line":481,"column":59}},"114":{"start":{"line":483,"column":12},"end":{"line":483,"column":46}},"115":{"start":{"line":496,"column":8},"end":{"line":500,"column":9}},"116":{"start":{"line":497,"column":12},"end":{"line":497,"column":59}},"117":{"start":{"line":499,"column":12},"end":{"line":499,"column":45}},"118":{"start":{"line":514,"column":8},"end":{"line":519,"column":74}},"119":{"start":{"line":521,"column":8},"end":{"line":521,"column":36}},"120":{"start":{"line":535,"column":8},"end":{"line":535,"column":69}},"121":{"start":{"line":549,"column":8},"end":{"line":549,"column":69}},"122":{"start":{"line":562,"column":8},"end":{"line":567,"column":9}},"123":{"start":{"line":563,"column":12},"end":{"line":563,"column":33}},"124":{"start":{"line":564,"column":12},"end":{"line":564,"column":21}},"125":{"start":{"line":566,"column":12},"end":{"line":566,"column":45}},"126":{"start":{"line":682,"column":16},"end":{"line":682,"column":51}},"127":{"start":{"line":700,"column":16},"end":{"line":700,"column":49}},"128":{"start":{"line":716,"column":16},"end":{"line":716,"column":46}}},"branchMap":{"1":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":8}},{"start":{"line":103,"column":8},"end":{"line":103,"column":8}}]},"2":{"line":123,"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":123,"column":8}},{"start":{"line":123,"column":8},"end":{"line":123,"column":8}}]},"3":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":8},"end":{"line":126,"column":8}},{"start":{"line":126,"column":8},"end":{"line":126,"column":8}}]},"4":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":141,"column":8}},{"start":{"line":141,"column":8},"end":{"line":141,"column":8}}]},"5":{"line":209,"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":209,"column":8}},{"start":{"line":209,"column":8},"end":{"line":209,"column":8}}]},"6":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":8},"end":{"line":213,"column":8}},{"start":{"line":213,"column":8},"end":{"line":213,"column":8}}]},"7":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":8},"end":{"line":219,"column":8}},{"start":{"line":219,"column":8},"end":{"line":219,"column":8}}]},"8":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"9":{"line":225,"type":"binary-expr","locations":[{"start":{"line":225,"column":12},"end":{"line":225,"column":23}},{"start":{"line":225,"column":27},"end":{"line":225,"column":38}}]},"10":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":8},"end":{"line":255,"column":8}},{"start":{"line":255,"column":8},"end":{"line":255,"column":8}}]},"11":{"line":255,"type":"binary-expr","locations":[{"start":{"line":255,"column":12},"end":{"line":255,"column":16}},{"start":{"line":255,"column":20},"end":{"line":255,"column":45}}]},"12":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":261,"column":8}},{"start":{"line":261,"column":8},"end":{"line":261,"column":8}}]},"13":{"line":261,"type":"binary-expr","locations":[{"start":{"line":261,"column":12},"end":{"line":261,"column":15}},{"start":{"line":261,"column":19},"end":{"line":261,"column":28}}]},"14":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":8}},{"start":{"line":281,"column":8},"end":{"line":281,"column":8}}]},"15":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":16}},{"start":{"line":281,"column":20},"end":{"line":281,"column":45}}]},"16":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":8},"end":{"line":287,"column":8}},{"start":{"line":287,"column":8},"end":{"line":287,"column":8}}]},"17":{"line":287,"type":"binary-expr","locations":[{"start":{"line":287,"column":12},"end":{"line":287,"column":15}},{"start":{"line":287,"column":19},"end":{"line":287,"column":28}}]},"18":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":12},"end":{"line":307,"column":12}},{"start":{"line":307,"column":12},"end":{"line":307,"column":12}}]},"19":{"line":307,"type":"binary-expr","locations":[{"start":{"line":307,"column":16},"end":{"line":307,"column":41}},{"start":{"line":307,"column":45},"end":{"line":307,"column":68}}]},"20":{"line":308,"type":"binary-expr","locations":[{"start":{"line":308,"column":24},"end":{"line":308,"column":29}},{"start":{"line":308,"column":33},"end":{"line":308,"column":34}}]},"21":{"line":309,"type":"if","locations":[{"start":{"line":309,"column":19},"end":{"line":309,"column":19}},{"start":{"line":309,"column":19},"end":{"line":309,"column":19}}]},"22":{"line":314,"type":"if","locations":[{"start":{"line":314,"column":8},"end":{"line":314,"column":8}},{"start":{"line":314,"column":8},"end":{"line":314,"column":8}}]},"23":{"line":327,"type":"if","locations":[{"start":{"line":327,"column":8},"end":{"line":327,"column":8}},{"start":{"line":327,"column":8},"end":{"line":327,"column":8}}]},"24":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":12},"end":{"line":330,"column":12}},{"start":{"line":330,"column":12},"end":{"line":330,"column":12}}]},"25":{"line":352,"type":"if","locations":[{"start":{"line":352,"column":8},"end":{"line":352,"column":8}},{"start":{"line":352,"column":8},"end":{"line":352,"column":8}}]},"26":{"line":356,"type":"binary-expr","locations":[{"start":{"line":356,"column":41},"end":{"line":356,"column":47}},{"start":{"line":356,"column":51},"end":{"line":356,"column":65}}]},"27":{"line":358,"type":"if","locations":[{"start":{"line":358,"column":16},"end":{"line":358,"column":16}},{"start":{"line":358,"column":16},"end":{"line":358,"column":16}}]},"28":{"line":358,"type":"binary-expr","locations":[{"start":{"line":358,"column":20},"end":{"line":358,"column":36}},{"start":{"line":358,"column":40},"end":{"line":358,"column":54}}]},"29":{"line":381,"type":"if","locations":[{"start":{"line":381,"column":8},"end":{"line":381,"column":8}},{"start":{"line":381,"column":8},"end":{"line":381,"column":8}}]},"30":{"line":381,"type":"binary-expr","locations":[{"start":{"line":381,"column":12},"end":{"line":381,"column":16}},{"start":{"line":381,"column":20},"end":{"line":381,"column":24}}]},"31":{"line":382,"type":"cond-expr","locations":[{"start":{"line":383,"column":32},"end":{"line":383,"column":48}},{"start":{"line":384,"column":32},"end":{"line":384,"column":45}}]},"32":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":12},"end":{"line":389,"column":12}},{"start":{"line":389,"column":12},"end":{"line":389,"column":12}}]},"33":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":8},"end":{"line":413,"column":8}},{"start":{"line":413,"column":8},"end":{"line":413,"column":8}}]},"34":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":12}},{"start":{"line":415,"column":12},"end":{"line":415,"column":12}}]},"35":{"line":415,"type":"binary-expr","locations":[{"start":{"line":415,"column":16},"end":{"line":415,"column":19}},{"start":{"line":415,"column":23},"end":{"line":415,"column":48}}]},"36":{"line":431,"type":"if","locations":[{"start":{"line":431,"column":8},"end":{"line":431,"column":8}},{"start":{"line":431,"column":8},"end":{"line":431,"column":8}}]},"37":{"line":433,"type":"if","locations":[{"start":{"line":433,"column":12},"end":{"line":433,"column":12}},{"start":{"line":433,"column":12},"end":{"line":433,"column":12}}]},"38":{"line":433,"type":"binary-expr","locations":[{"start":{"line":433,"column":16},"end":{"line":433,"column":19}},{"start":{"line":433,"column":23},"end":{"line":433,"column":46}}]},"39":{"line":448,"type":"if","locations":[{"start":{"line":448,"column":8},"end":{"line":448,"column":8}},{"start":{"line":448,"column":8},"end":{"line":448,"column":8}}]},"40":{"line":464,"type":"if","locations":[{"start":{"line":464,"column":8},"end":{"line":464,"column":8}},{"start":{"line":464,"column":8},"end":{"line":464,"column":8}}]},"41":{"line":480,"type":"if","locations":[{"start":{"line":480,"column":8},"end":{"line":480,"column":8}},{"start":{"line":480,"column":8},"end":{"line":480,"column":8}}]},"42":{"line":496,"type":"if","locations":[{"start":{"line":496,"column":8},"end":{"line":496,"column":8}},{"start":{"line":496,"column":8},"end":{"line":496,"column":8}}]},"43":{"line":535,"type":"binary-expr","locations":[{"start":{"line":535,"column":15},"end":{"line":535,"column":38}},{"start":{"line":535,"column":42},"end":{"line":535,"column":68}}]},"44":{"line":549,"type":"binary-expr","locations":[{"start":{"line":549,"column":15},"end":{"line":549,"column":38}},{"start":{"line":549,"column":42},"end":{"line":549,"column":68}}]},"45":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":8},"end":{"line":562,"column":8}},{"start":{"line":562,"column":8},"end":{"line":562,"column":8}}]}},"code":["(function () { YUI.add('console-filters', function (Y, NAME) {","","/**"," *
Provides Plugin.ConsoleFilters plugin class.
"," *"," *
This plugin adds the ability to control which Console entries display by filtering on category and source. Two groups of checkboxes are added to the Console footer, one for categories and the other for sources. Only those messages that match a checked category or source are displayed.
"," *"," * @module console-filters"," * @namespace Plugin"," * @class ConsoleFilters"," */","","// Some common strings and functions","var getCN = Y.ClassNameManager.getClassName,"," CONSOLE = 'console',"," FILTERS = 'filters',"," FILTER = 'filter',"," CATEGORY = 'category',"," SOURCE = 'source',"," CATEGORY_DOT = 'category.',"," SOURCE_DOT = 'source.',",""," HOST = 'host',"," CHECKED = 'checked',"," DEF_VISIBILITY = 'defaultVisibility',",""," DOT = '.',"," EMPTY = '',",""," C_BODY = DOT + Y.Console.CHROME_CLASSES.console_bd_class,"," C_FOOT = DOT + Y.Console.CHROME_CLASSES.console_ft_class,",""," SEL_CHECK = 'input[type=checkbox].',",""," isString = Y.Lang.isString;","","function ConsoleFilters() {"," ConsoleFilters.superclass.constructor.apply(this,arguments);","}","","Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,","","// Y.Plugin.ConsoleFilters prototype","{"," /**"," * Collection of all log messages passed through since the plugin's"," * instantiation. This holds all messages regardless of filter status."," * Used as a single source of truth for repopulating the Console body when"," * filters are changed."," *"," * @property _entries"," * @type Array"," * @protected"," */"," _entries : null,",""," /**"," * Maximum number of entries to store in the message cache."," *"," * @property _cacheLimit"," * @type {Number}"," * @default Infinity"," * @protected"," */"," _cacheLimit : Number.POSITIVE_INFINITY,",""," /**"," * The container node created to house the category filters."," *"," * @property _categories"," * @type Node"," * @protected"," */"," _categories : null,",""," /**"," * The container node created to house the source filters."," *"," * @property _sources"," * @type Node"," * @protected"," */"," _sources : null,",""," /**"," * Initialize entries collection and attach listeners to host events and"," * methods."," *"," * @method initializer"," * @protected"," */"," initializer : function () {"," this._entries = [];",""," this.get(HOST).on(\"entry\", this._onEntry, this);",""," this.doAfter(\"renderUI\", this.renderUI);"," this.doAfter(\"syncUI\", this.syncUI);"," this.doAfter(\"bindUI\", this.bindUI);",""," this.doAfter(\"clearConsole\", this._afterClearConsole);",""," if (this.get(HOST).get('rendered')) {"," this.renderUI();"," this.syncUI();"," this.bindUI();"," }",""," this.after(\"cacheLimitChange\", this._afterCacheLimitChange);"," },",""," /**"," * Removes the plugin UI and unwires events."," *"," * @method destructor"," * @protected"," */"," destructor : function () {"," //TODO: grab last {consoleLimit} entries and update the console with"," //them (no filtering)"," this._entries = [];",""," if (this._categories) {"," this._categories.remove();"," }"," if (this._sources) {"," this._sources.remove();"," }"," },",""," /**"," * Adds the category and source filter sections to the Console footer."," *"," * @method renderUI"," * @protected"," */"," renderUI : function () {"," var foot = this.get(HOST).get('contentBox').one(C_FOOT),"," html;",""," if (foot) {"," html = Y.Lang.sub("," ConsoleFilters.CATEGORIES_TEMPLATE,"," ConsoleFilters.CHROME_CLASSES);",""," this._categories = foot.appendChild(Y.Node.create(html));",""," html = Y.Lang.sub("," ConsoleFilters.SOURCES_TEMPLATE,"," ConsoleFilters.CHROME_CLASSES);",""," this._sources = foot.appendChild(Y.Node.create(html));"," }"," },",""," /**"," * Binds to checkbox click events and internal attribute change events to"," * maintain the UI state."," *"," * @method bindUI"," * @protected"," */"," bindUI : function () {"," this._categories.on('click', Y.bind(this._onCategoryCheckboxClick, this));",""," this._sources.on('click', Y.bind(this._onSourceCheckboxClick, this));",""," this.after('categoryChange',this._afterCategoryChange);"," this.after('sourceChange', this._afterSourceChange);"," },",""," /**"," * Updates the UI to be in accordance with the current state of the plugin."," *"," * @method syncUI"," */"," syncUI : function () {"," Y.each(this.get(CATEGORY), function (v, k) {"," this._uiSetCheckbox(CATEGORY, k, v);"," }, this);",""," Y.each(this.get(SOURCE), function (v, k) {"," this._uiSetCheckbox(SOURCE, k, v);"," }, this);",""," this.refreshConsole();"," },",""," /**"," * Ensures a filter is set up for any new categories or sources and"," * collects the messages in _entries. If the message is stamped with a"," * category or source that is currently being filtered out, the message"," * will not pass to the Console's print buffer."," *"," * @method _onEntry"," * @param e {Event} the custom event object"," * @protected"," */"," _onEntry : function (e) {"," this._entries.push(e.message);",""," var cat = CATEGORY_DOT + e.message.category,"," src = SOURCE_DOT + e.message.source,"," cat_filter = this.get(cat),"," src_filter = this.get(src),"," overLimit = this._entries.length - this._cacheLimit,"," visible;",""," if (overLimit > 0) {"," this._entries.splice(0, overLimit);"," }",""," if (cat_filter === undefined) {"," visible = this.get(DEF_VISIBILITY);"," this.set(cat, visible);"," cat_filter = visible;"," }",""," if (src_filter === undefined) {"," visible = this.get(DEF_VISIBILITY);"," this.set(src, visible);"," src_filter = visible;"," }",""," if (!cat_filter || !src_filter) {"," e.preventDefault();"," }"," },",""," /**"," * Flushes the cached entries after a call to the Console's clearConsole()."," *"," * @method _afterClearConsole"," * @protected"," */"," _afterClearConsole : function () {"," this._entries = [];"," },",""," /**"," * Triggers the Console to update if a known category filter"," * changes value (e.g. visible => hidden). Updates the appropriate"," * checkbox's checked state if necessary."," *"," * @method _afterCategoryChange"," * @param e {Event} the attribute change event object"," * @protected"," */"," _afterCategoryChange : function (e) {"," var cat = e.subAttrName.replace(/category\\./, EMPTY),"," before = e.prevVal,"," after = e.newVal;",""," // Don't update the console for new categories"," if (!cat || before[cat] !== undefined) {"," this.refreshConsole();",""," this._filterBuffer();"," }",""," if (cat && !e.fromUI) {"," this._uiSetCheckbox(CATEGORY, cat, after[cat]);"," }"," },",""," /**"," * Triggers the Console to update if a known source filter"," * changes value (e.g. visible => hidden). Updates the appropriate"," * checkbox's checked state if necessary."," *"," * @method _afterSourceChange"," * @param e {Event} the attribute change event object"," * @protected"," */"," _afterSourceChange : function (e) {"," var src = e.subAttrName.replace(/source\\./, EMPTY),"," before = e.prevVal,"," after = e.newVal;",""," // Don't update the console for new sources"," if (!src || before[src] !== undefined) {"," this.refreshConsole();",""," this._filterBuffer();"," }",""," if (src && !e.fromUI) {"," this._uiSetCheckbox(SOURCE, src, after[src]);"," }"," },",""," /**"," * Flushes the Console's print buffer of any entries that have a category"," * or source that is currently being excluded."," *"," * @method _filterBuffer"," * @protected"," */"," _filterBuffer : function () {"," var cats = this.get(CATEGORY),"," srcs = this.get(SOURCE),"," buffer = this.get(HOST).buffer,"," start = null,"," i;",""," for (i = buffer.length - 1; i >= 0; --i) {"," if (!cats[buffer[i].category] || !srcs[buffer[i].source]) {"," start = start || i;"," } else if (start) {"," buffer.splice(i,(start - i));"," start = null;"," }"," }"," if (start) {"," buffer.splice(0,start + 1);"," }"," },",""," /**"," * Trims the cache of entries to the appropriate new length."," *"," * @method _afterCacheLimitChange"," * @param e {Event} the attribute change event object"," * @protected"," */"," _afterCacheLimitChange : function (e) {"," if (isFinite(e.newVal)) {"," var delta = this._entries.length - e.newVal;",""," if (delta > 0) {"," this._entries.splice(0,delta);"," }"," }"," },",""," /**"," * Repopulates the Console with entries appropriate to the current filter"," * settings."," *"," * @method refreshConsole"," */"," refreshConsole : function () {"," var entries = this._entries,"," host = this.get(HOST),"," body = host.get('contentBox').one(C_BODY),"," remaining = host.get('consoleLimit'),"," cats = this.get(CATEGORY),"," srcs = this.get(SOURCE),"," buffer = [],"," i,e;",""," if (body) {"," host._cancelPrintLoop();",""," // Evaluate all entries from latest to oldest"," for (i = entries.length - 1; i >= 0 && remaining >= 0; --i) {"," e = entries[i];"," if (cats[e.category] && srcs[e.source]) {"," buffer.unshift(e);"," --remaining;"," }"," }",""," body.setHTML(EMPTY);"," host.buffer = buffer;"," host.printBuffer();"," }"," },",""," /**"," * Updates the checked property of a filter checkbox of the specified type."," * If no checkbox is found for the input params, one is created."," *"," * @method _uiSetCheckbox"," * @param type {String} 'category' or 'source'"," * @param item {String} the name of the filter (e.g. 'info', 'event')"," * @param checked {Boolean} value to set the checkbox's checked property"," * @protected"," */"," _uiSetCheckbox : function (type, item, checked) {"," if (type && item) {"," var container = type === CATEGORY ?"," this._categories :"," this._sources,"," sel = SEL_CHECK + getCN(CONSOLE,FILTER,item),"," checkbox = container.one(sel),"," host;",""," if (!checkbox) {"," host = this.get(HOST);",""," this._createCheckbox(container, item);",""," checkbox = container.one(sel);",""," host._uiSetHeight(host.get('height'));"," }",""," checkbox.set(CHECKED, checked);"," }"," },",""," /**"," * Passes checkbox clicks on to the category attribute."," *"," * @method _onCategoryCheckboxClick"," * @param e {Event} the DOM event"," * @protected"," */"," _onCategoryCheckboxClick : function (e) {"," var t = e.target, cat;",""," if (t.hasClass(ConsoleFilters.CHROME_CLASSES.filter)) {"," cat = t.get('value');"," if (cat && cat in this.get(CATEGORY)) {"," this.set(CATEGORY_DOT + cat, t.get(CHECKED), { fromUI: true });"," }"," }"," },",""," /**"," * Passes checkbox clicks on to the source attribute."," *"," * @method _onSourceCheckboxClick"," * @param e {Event} the DOM event"," * @protected"," */"," _onSourceCheckboxClick : function (e) {"," var t = e.target, src;",""," if (t.hasClass(ConsoleFilters.CHROME_CLASSES.filter)) {"," src = t.get('value');"," if (src && src in this.get(SOURCE)) {"," this.set(SOURCE_DOT + src, t.get(CHECKED), { fromUI: true });"," }"," }"," },",""," /**"," * Hides any number of categories from the UI. Convenience method for"," * myConsole.filter.set('category.foo', false); set('category.bar', false);"," * and so on."," *"," * @method hideCategory"," * @param cat* {String} 1..n categories to filter out of the UI"," */"," hideCategory : function (cat, multiple) {"," if (isString(multiple)) {"," Y.Array.each(arguments, this.hideCategory, this);"," } else {"," this.set(CATEGORY_DOT + cat, false);"," }"," },",""," /**"," * Shows any number of categories in the UI. Convenience method for"," * myConsole.filter.set('category.foo', true); set('category.bar', true);"," * and so on."," *"," * @method showCategory"," * @param cat* {String} 1..n categories to allow to display in the UI"," */"," showCategory : function (cat, multiple) {"," if (isString(multiple)) {"," Y.Array.each(arguments, this.showCategory, this);"," } else {"," this.set(CATEGORY_DOT + cat, true);"," }"," },",""," /**"," * Hides any number of sources from the UI. Convenience method for"," * myConsole.filter.set('source.foo', false); set('source.bar', false);"," * and so on."," *"," * @method hideSource"," * @param src* {String} 1..n sources to filter out of the UI"," */"," hideSource : function (src, multiple) {"," if (isString(multiple)) {"," Y.Array.each(arguments, this.hideSource, this);"," } else {"," this.set(SOURCE_DOT + src, false);"," }"," },",""," /**"," * Shows any number of sources in the UI. Convenience method for"," * myConsole.filter.set('source.foo', true); set('source.bar', true);"," * and so on."," *"," * @method showSource"," * @param src* {String} 1..n sources to allow to display in the UI"," */"," showSource : function (src, multiple) {"," if (isString(multiple)) {"," Y.Array.each(arguments, this.showSource, this);"," } else {"," this.set(SOURCE_DOT + src, true);"," }"," },",""," /**"," * Creates a checkbox and label from the ConsoleFilters.FILTER_TEMPLATE for"," * the provided type and name. The checkbox and label are appended to the"," * container node passes as the first arg."," *"," * @method _createCheckbox"," * @param container {Node} the parentNode of the new checkbox and label"," * @param name {String} the identifier of the filter"," * @protected"," */"," _createCheckbox : function (container, name) {"," var info = Y.merge(ConsoleFilters.CHROME_CLASSES, {"," filter_name : name,"," filter_class : getCN(CONSOLE, FILTER, name)"," }),"," node = Y.Node.create("," Y.Lang.sub(ConsoleFilters.FILTER_TEMPLATE, info));",""," container.appendChild(node);"," },",""," /**"," * Validates category updates are objects and the subattribute is not too"," * deep."," *"," * @method _validateCategory"," * @param cat {String} the new category:visibility map"," * @param v {String} the subattribute path updated"," * @return Boolean"," * @protected"," */"," _validateCategory : function (cat, v) {"," return Y.Lang.isObject(v,true) && cat.split(/\\./).length < 3;"," },",""," /**"," * Validates source updates are objects and the subattribute is not too"," * deep."," *"," * @method _validateSource"," * @param cat {String} the new source:visibility map"," * @param v {String} the subattribute path updated"," * @return Boolean"," * @protected"," */"," _validateSource : function (src, v) {"," return Y.Lang.isObject(v,true) && src.split(/\\./).length < 3;"," },",""," /**"," * Setter method for cacheLimit attribute. Basically a validator to ensure"," * numeric input."," *"," * @method _setCacheLimit"," * @param v {Number} Maximum number of entries"," * @return {Number}"," * @protected"," */"," _setCacheLimit: function (v) {"," if (Y.Lang.isNumber(v)) {"," this._cacheLimit = v;"," return v;"," } else {"," return Y.Attribute.INVALID_VALUE;"," }"," }","},","","// Y.Plugin.ConsoleFilters static properties","{"," /**"," * Plugin name."," *"," * @property NAME"," * @type String"," * @static"," * @default 'consoleFilters'"," */"," NAME : 'consoleFilters',",""," /**"," * The namespace hung off the host object that this plugin will inhabit."," *"," * @property NS"," * @type String"," * @static"," * @default 'filter'"," */"," NS : FILTER,",""," /**"," * Markup template used to create the container for the category filters."," *"," * @property CATEGORIES_TEMPLATE"," * @type String"," * @static"," */"," CATEGORIES_TEMPLATE :"," '',",""," /**"," * Markup template used to create the container for the source filters."," *"," * @property SOURCES_TEMPLATE"," * @type String"," * @static"," */"," SOURCES_TEMPLATE :"," '',",""," /**"," * Markup template used to create the category and source filter checkboxes."," *"," * @property FILTER_TEMPLATE"," * @type String"," * @static"," */"," FILTER_TEMPLATE :"," // IE8 and FF3 don't permit breaking _between_ nowrap elements. IE8"," // doesn't understand (non spec) wbr tag, nor does it create text nodes"," // for spaces in innerHTML strings. The thin-space entity suffices to"," // create a breakable point."," ' ',",""," /**"," * Classnames used by the templates when creating nodes."," *"," * @property CHROME_CLASSES"," * @type Object"," * @static"," * @protected"," */"," CHROME_CLASSES : {"," categories : getCN(CONSOLE,FILTERS,'categories'),"," sources : getCN(CONSOLE,FILTERS,'sources'),"," category : getCN(CONSOLE,FILTER,CATEGORY),"," source : getCN(CONSOLE,FILTER,SOURCE),"," filter : getCN(CONSOLE,FILTER),"," filter_label : getCN(CONSOLE,FILTER,'label')"," },",""," ATTRS : {"," /**"," * Default visibility applied to new categories and sources."," *"," * @attribute defaultVisibility"," * @type {Boolean}"," * @default true"," */"," defaultVisibility : {"," value : true,"," validator : Y.Lang.isBoolean"," },",""," /**"," *
Map of entry categories to their visibility status. Update a"," * particular category's visibility by setting the subattribute to true"," * (visible) or false (hidden).
"," *"," *
For example, yconsole.filter.set('category.info', false) to hide"," * log entries with the category/logLevel of 'info'.
"," *"," *
Similarly, yconsole.filter.get('category.warn') will return a"," * boolean indicating whether that category is currently being included"," * in the UI.
"," *"," *
Unlike the YUI instance configuration's logInclude and logExclude"," * properties, filtered entries are only hidden from the UI, but"," * can be made visible again.
Map of entry sources to their visibility status. Update a"," * particular sources's visibility by setting the subattribute to true"," * (visible) or false (hidden).
"," *"," *
For example, yconsole.filter.set('sources.slider', false) to hide"," * log entries originating from Y.Slider.
"," *"," * @attribute source"," * @type Object"," */"," source : {"," value : {},"," validator : function (v,k) {"," return this._validateSource(k,v);"," }"," },",""," /**"," * Maximum number of entries to store in the message cache. Use this to"," * limit the memory footprint in environments with heavy log usage."," * By default, there is no limit (Number.POSITIVE_INFINITY)."," *"," * @attribute cacheLimit"," * @type {Number}"," * @default Number.POSITIVE_INFINITY"," */"," cacheLimit : {"," value : Number.POSITIVE_INFINITY,"," setter : function (v) {"," return this._setCacheLimit(v);"," }"," }"," }","});","","","}, '3.13.0', {\"requires\": [\"plugin\", \"console\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_GhuxxY3vI4WLGY2Y55bBWw = __coverage__['build/console-filters/console-filters.js'];
+__cov_GhuxxY3vI4WLGY2Y55bBWw.s['1']++;YUI.add('console-filters',function(Y,NAME){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['1']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['2']++;var getCN=Y.ClassNameManager.getClassName,CONSOLE='console',FILTERS='filters',FILTER='filter',CATEGORY='category',SOURCE='source',CATEGORY_DOT='category.',SOURCE_DOT='source.',HOST='host',CHECKED='checked',DEF_VISIBILITY='defaultVisibility',DOT='.',EMPTY='',C_BODY=DOT+Y.Console.CHROME_CLASSES.console_bd_class,C_FOOT=DOT+Y.Console.CHROME_CLASSES.console_ft_class,SEL_CHECK='input[type=checkbox].',isString=Y.Lang.isString;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['3']++;function ConsoleFilters(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['2']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['4']++;ConsoleFilters.superclass.constructor.apply(this,arguments);}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['5']++;Y.namespace('Plugin').ConsoleFilters=Y.extend(ConsoleFilters,Y.Plugin.Base,{_entries:null,_cacheLimit:Number.POSITIVE_INFINITY,_categories:null,_sources:null,initializer:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['3']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['6']++;this._entries=[];__cov_GhuxxY3vI4WLGY2Y55bBWw.s['7']++;this.get(HOST).on('entry',this._onEntry,this);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['8']++;this.doAfter('renderUI',this.renderUI);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['9']++;this.doAfter('syncUI',this.syncUI);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['10']++;this.doAfter('bindUI',this.bindUI);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['11']++;this.doAfter('clearConsole',this._afterClearConsole);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['12']++;if(this.get(HOST).get('rendered')){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['1'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['13']++;this.renderUI();__cov_GhuxxY3vI4WLGY2Y55bBWw.s['14']++;this.syncUI();__cov_GhuxxY3vI4WLGY2Y55bBWw.s['15']++;this.bindUI();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['1'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['16']++;this.after('cacheLimitChange',this._afterCacheLimitChange);},destructor:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['4']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['17']++;this._entries=[];__cov_GhuxxY3vI4WLGY2Y55bBWw.s['18']++;if(this._categories){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['2'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['19']++;this._categories.remove();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['2'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['20']++;if(this._sources){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['3'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['21']++;this._sources.remove();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['3'][1]++;}},renderUI:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['5']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['22']++;var foot=this.get(HOST).get('contentBox').one(C_FOOT),html;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['23']++;if(foot){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['4'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['24']++;html=Y.Lang.sub(ConsoleFilters.CATEGORIES_TEMPLATE,ConsoleFilters.CHROME_CLASSES);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['25']++;this._categories=foot.appendChild(Y.Node.create(html));__cov_GhuxxY3vI4WLGY2Y55bBWw.s['26']++;html=Y.Lang.sub(ConsoleFilters.SOURCES_TEMPLATE,ConsoleFilters.CHROME_CLASSES);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['27']++;this._sources=foot.appendChild(Y.Node.create(html));}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['4'][1]++;}},bindUI:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['6']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['28']++;this._categories.on('click',Y.bind(this._onCategoryCheckboxClick,this));__cov_GhuxxY3vI4WLGY2Y55bBWw.s['29']++;this._sources.on('click',Y.bind(this._onSourceCheckboxClick,this));__cov_GhuxxY3vI4WLGY2Y55bBWw.s['30']++;this.after('categoryChange',this._afterCategoryChange);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['31']++;this.after('sourceChange',this._afterSourceChange);},syncUI:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['7']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['32']++;Y.each(this.get(CATEGORY),function(v,k){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['8']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['33']++;this._uiSetCheckbox(CATEGORY,k,v);},this);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['34']++;Y.each(this.get(SOURCE),function(v,k){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['9']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['35']++;this._uiSetCheckbox(SOURCE,k,v);},this);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['36']++;this.refreshConsole();},_onEntry:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['10']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['37']++;this._entries.push(e.message);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['38']++;var cat=CATEGORY_DOT+e.message.category,src=SOURCE_DOT+e.message.source,cat_filter=this.get(cat),src_filter=this.get(src),overLimit=this._entries.length-this._cacheLimit,visible;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['39']++;if(overLimit>0){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['5'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['40']++;this._entries.splice(0,overLimit);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['5'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['41']++;if(cat_filter===undefined){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['6'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['42']++;visible=this.get(DEF_VISIBILITY);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['43']++;this.set(cat,visible);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['44']++;cat_filter=visible;}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['6'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['45']++;if(src_filter===undefined){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['7'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['46']++;visible=this.get(DEF_VISIBILITY);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['47']++;this.set(src,visible);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['48']++;src_filter=visible;}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['7'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['49']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['9'][0]++,!cat_filter)||(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['9'][1]++,!src_filter)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['8'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['50']++;e.preventDefault();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['8'][1]++;}},_afterClearConsole:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['11']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['51']++;this._entries=[];},_afterCategoryChange:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['12']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['52']++;var cat=e.subAttrName.replace(/category\./,EMPTY),before=e.prevVal,after=e.newVal;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['53']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['11'][0]++,!cat)||(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['11'][1]++,before[cat]!==undefined)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['10'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['54']++;this.refreshConsole();__cov_GhuxxY3vI4WLGY2Y55bBWw.s['55']++;this._filterBuffer();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['10'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['56']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['13'][0]++,cat)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['13'][1]++,!e.fromUI)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['12'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['57']++;this._uiSetCheckbox(CATEGORY,cat,after[cat]);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['12'][1]++;}},_afterSourceChange:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['13']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['58']++;var src=e.subAttrName.replace(/source\./,EMPTY),before=e.prevVal,after=e.newVal;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['59']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['15'][0]++,!src)||(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['15'][1]++,before[src]!==undefined)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['14'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['60']++;this.refreshConsole();__cov_GhuxxY3vI4WLGY2Y55bBWw.s['61']++;this._filterBuffer();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['14'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['62']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['17'][0]++,src)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['17'][1]++,!e.fromUI)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['16'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['63']++;this._uiSetCheckbox(SOURCE,src,after[src]);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['16'][1]++;}},_filterBuffer:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['14']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['64']++;var cats=this.get(CATEGORY),srcs=this.get(SOURCE),buffer=this.get(HOST).buffer,start=null,i;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['65']++;for(i=buffer.length-1;i>=0;--i){__cov_GhuxxY3vI4WLGY2Y55bBWw.s['66']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['19'][0]++,!cats[buffer[i].category])||(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['19'][1]++,!srcs[buffer[i].source])){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['18'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['67']++;start=(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['20'][0]++,start)||(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['20'][1]++,i);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['18'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['68']++;if(start){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['21'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['69']++;buffer.splice(i,start-i);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['70']++;start=null;}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['21'][1]++;}}}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['71']++;if(start){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['22'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['72']++;buffer.splice(0,start+1);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['22'][1]++;}},_afterCacheLimitChange:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['15']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['73']++;if(isFinite(e.newVal)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['23'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['74']++;var delta=this._entries.length-e.newVal;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['75']++;if(delta>0){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['24'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['76']++;this._entries.splice(0,delta);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['24'][1]++;}}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['23'][1]++;}},refreshConsole:function(){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['16']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['77']++;var entries=this._entries,host=this.get(HOST),body=host.get('contentBox').one(C_BODY),remaining=host.get('consoleLimit'),cats=this.get(CATEGORY),srcs=this.get(SOURCE),buffer=[],i,e;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['78']++;if(body){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['25'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['79']++;host._cancelPrintLoop();__cov_GhuxxY3vI4WLGY2Y55bBWw.s['80']++;for(i=entries.length-1;(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['26'][0]++,i>=0)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['26'][1]++,remaining>=0);--i){__cov_GhuxxY3vI4WLGY2Y55bBWw.s['81']++;e=entries[i];__cov_GhuxxY3vI4WLGY2Y55bBWw.s['82']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['28'][0]++,cats[e.category])&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['28'][1]++,srcs[e.source])){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['27'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['83']++;buffer.unshift(e);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['84']++;--remaining;}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['27'][1]++;}}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['85']++;body.setHTML(EMPTY);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['86']++;host.buffer=buffer;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['87']++;host.printBuffer();}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['25'][1]++;}},_uiSetCheckbox:function(type,item,checked){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['17']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['88']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['30'][0]++,type)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['30'][1]++,item)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['29'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['89']++;var container=type===CATEGORY?(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['31'][0]++,this._categories):(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['31'][1]++,this._sources),sel=SEL_CHECK+getCN(CONSOLE,FILTER,item),checkbox=container.one(sel),host;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['90']++;if(!checkbox){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['32'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['91']++;host=this.get(HOST);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['92']++;this._createCheckbox(container,item);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['93']++;checkbox=container.one(sel);__cov_GhuxxY3vI4WLGY2Y55bBWw.s['94']++;host._uiSetHeight(host.get('height'));}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['32'][1]++;}__cov_GhuxxY3vI4WLGY2Y55bBWw.s['95']++;checkbox.set(CHECKED,checked);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['29'][1]++;}},_onCategoryCheckboxClick:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['18']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['96']++;var t=e.target,cat;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['97']++;if(t.hasClass(ConsoleFilters.CHROME_CLASSES.filter)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['33'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['98']++;cat=t.get('value');__cov_GhuxxY3vI4WLGY2Y55bBWw.s['99']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['35'][0]++,cat)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['35'][1]++,cat in this.get(CATEGORY))){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['34'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['100']++;this.set(CATEGORY_DOT+cat,t.get(CHECKED),{fromUI:true});}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['34'][1]++;}}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['33'][1]++;}},_onSourceCheckboxClick:function(e){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['19']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['101']++;var t=e.target,src;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['102']++;if(t.hasClass(ConsoleFilters.CHROME_CLASSES.filter)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['36'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['103']++;src=t.get('value');__cov_GhuxxY3vI4WLGY2Y55bBWw.s['104']++;if((__cov_GhuxxY3vI4WLGY2Y55bBWw.b['38'][0]++,src)&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['38'][1]++,src in this.get(SOURCE))){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['37'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['105']++;this.set(SOURCE_DOT+src,t.get(CHECKED),{fromUI:true});}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['37'][1]++;}}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['36'][1]++;}},hideCategory:function(cat,multiple){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['20']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['106']++;if(isString(multiple)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['39'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['107']++;Y.Array.each(arguments,this.hideCategory,this);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['39'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['108']++;this.set(CATEGORY_DOT+cat,false);}},showCategory:function(cat,multiple){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['21']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['109']++;if(isString(multiple)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['40'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['110']++;Y.Array.each(arguments,this.showCategory,this);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['40'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['111']++;this.set(CATEGORY_DOT+cat,true);}},hideSource:function(src,multiple){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['22']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['112']++;if(isString(multiple)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['41'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['113']++;Y.Array.each(arguments,this.hideSource,this);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['41'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['114']++;this.set(SOURCE_DOT+src,false);}},showSource:function(src,multiple){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['23']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['115']++;if(isString(multiple)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['42'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['116']++;Y.Array.each(arguments,this.showSource,this);}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['42'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['117']++;this.set(SOURCE_DOT+src,true);}},_createCheckbox:function(container,name){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['24']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['118']++;var info=Y.merge(ConsoleFilters.CHROME_CLASSES,{filter_name:name,filter_class:getCN(CONSOLE,FILTER,name)}),node=Y.Node.create(Y.Lang.sub(ConsoleFilters.FILTER_TEMPLATE,info));__cov_GhuxxY3vI4WLGY2Y55bBWw.s['119']++;container.appendChild(node);},_validateCategory:function(cat,v){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['25']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['120']++;return(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['43'][0]++,Y.Lang.isObject(v,true))&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['43'][1]++,cat.split(/\./).length<3);},_validateSource:function(src,v){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['26']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['121']++;return(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['44'][0]++,Y.Lang.isObject(v,true))&&(__cov_GhuxxY3vI4WLGY2Y55bBWw.b['44'][1]++,src.split(/\./).length<3);},_setCacheLimit:function(v){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['27']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['122']++;if(Y.Lang.isNumber(v)){__cov_GhuxxY3vI4WLGY2Y55bBWw.b['45'][0]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['123']++;this._cacheLimit=v;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['124']++;return v;}else{__cov_GhuxxY3vI4WLGY2Y55bBWw.b['45'][1]++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['125']++;return Y.Attribute.INVALID_VALUE;}}},{NAME:'consoleFilters',NS:FILTER,CATEGORIES_TEMPLATE:'',SOURCES_TEMPLATE:'',FILTER_TEMPLATE:' ',CHROME_CLASSES:{categories:getCN(CONSOLE,FILTERS,'categories'),sources:getCN(CONSOLE,FILTERS,'sources'),category:getCN(CONSOLE,FILTER,CATEGORY),source:getCN(CONSOLE,FILTER,SOURCE),filter:getCN(CONSOLE,FILTER),filter_label:getCN(CONSOLE,FILTER,'label')},ATTRS:{defaultVisibility:{value:true,validator:Y.Lang.isBoolean},category:{value:{},validator:function(v,k){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['28']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['126']++;return this._validateCategory(k,v);}},source:{value:{},validator:function(v,k){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['29']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['127']++;return this._validateSource(k,v);}},cacheLimit:{value:Number.POSITIVE_INFINITY,setter:function(v){__cov_GhuxxY3vI4WLGY2Y55bBWw.f['30']++;__cov_GhuxxY3vI4WLGY2Y55bBWw.s['128']++;return this._setCacheLimit(v);}}}});},'3.13.0',{'requires':['plugin','console'],'skinnable':true});
diff --git a/lib/yuilib/3.12.0/console-filters/console-filters-debug.js b/lib/yuilib/3.13.0/console-filters/console-filters-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/console-filters/console-filters-debug.js
rename to lib/yuilib/3.13.0/console-filters/console-filters-debug.js
index 6ee94deb281..3c5b2cfecee
--- a/lib/yuilib/3.12.0/console-filters/console-filters-debug.js
+++ b/lib/yuilib/3.13.0/console-filters/console-filters-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -38,7 +38,7 @@ var getCN = Y.ClassNameManager.getClassName,
C_FOOT = DOT + Y.Console.CHROME_CLASSES.console_ft_class,
SEL_CHECK = 'input[type=checkbox].',
-
+
isString = Y.Lang.isString;
function ConsoleFilters() {
@@ -171,7 +171,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
this._categories.on('click', Y.bind(this._onCategoryCheckboxClick, this));
this._sources.on('click', Y.bind(this._onSourceCheckboxClick, this));
-
+
this.after('categoryChange',this._afterCategoryChange);
this.after('sourceChange', this._afterSourceChange);
},
@@ -205,7 +205,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
*/
_onEntry : function (e) {
this._entries.push(e.message);
-
+
var cat = CATEGORY_DOT + e.message.category,
src = SOURCE_DOT + e.message.source,
cat_filter = this.get(cat),
@@ -228,7 +228,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
this.set(src, visible);
src_filter = visible;
}
-
+
if (!cat_filter || !src_filter) {
e.preventDefault();
}
@@ -326,7 +326,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
/**
* Trims the cache of entries to the appropriate new length.
*
- * @method _afterCacheLimitChange
+ * @method _afterCacheLimitChange
* @param e {Event} the attribute change event object
* @protected
*/
@@ -392,7 +392,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
sel = SEL_CHECK + getCN(CONSOLE,FILTER,item),
checkbox = container.one(sel),
host;
-
+
if (!checkbox) {
host = this.get(HOST);
@@ -402,7 +402,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
host._uiSetHeight(host.get('height'));
}
-
+
checkbox.set(CHECKED, checked);
}
},
@@ -634,7 +634,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
'class="{filter} {filter_class}"> {filter_name}'+
' ',
- /**
+ /**
* Classnames used by the templates when creating nodes.
*
* @property CHROME_CLASSES
@@ -727,4 +727,4 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
});
-}, '3.12.0', {"requires": ["plugin", "console"], "skinnable": true});
+}, '3.13.0', {"requires": ["plugin", "console"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/console-filters/console-filters-min.js b/lib/yuilib/3.13.0/console-filters/console-filters-min.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/console-filters/console-filters-min.js
rename to lib/yuilib/3.13.0/console-filters/console-filters-min.js
index b2adc2e1b47..35614fc7c31
--- a/lib/yuilib/3.12.0/console-filters/console-filters-min.js
+++ b/lib/yuilib/3.13.0/console-filters/console-filters-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("console-filters",function(e,t){function b(){b.superclass.constructor.apply(this,arguments)}var n=e.ClassNameManager.getClassName,r="console",i="filters",s="filter",o="category",u="source",a="category.",f="source.",l="host",c="checked",h="defaultVisibility",p=".",d="",v=p+e.Console.CHROME_CLASSES.console_bd_class,m=p+e.Console.CHROME_CLASSES.console_ft_class,g="input[type=checkbox].",y=e.Lang.isString;e.namespace("Plugin").ConsoleFilters=e.extend(b,e.Plugin.Base,{_entries:null,_cacheLimit:Number.POSITIVE_INFINITY,_categories:null,_sources:null,initializer:function(){this._entries=[],this.get(l).on("entry",this._onEntry,this),this.doAfter("renderUI",this.renderUI),this.doAfter("syncUI",this.syncUI),this.doAfter("bindUI",this.bindUI),this.doAfter("clearConsole",this._afterClearConsole),this.get(l).get("rendered")&&(this.renderUI(),this.syncUI(),this.bindUI()),this.after("cacheLimitChange",this._afterCacheLimitChange)},destructor:function(){this._entries=[],this._categories&&this._categories.remove(),this._sources&&this._sources.remove()},renderUI:function(){var t=this.get(l).get("contentBox").one(m),n;t&&(n=e.Lang.sub(b.CATEGORIES_TEMPLATE,b.CHROME_CLASSES),this._categories=t.appendChild(e.Node.create(n)),n=e.Lang.sub(b.SOURCES_TEMPLATE,b.CHROME_CLASSES),this._sources=t.appendChild(e.Node.create(n)))},bindUI:function(){this._categories.on("click",e.bind(this._onCategoryCheckboxClick,this)),this._sources.on("click",e.bind(this._onSourceCheckboxClick,this)),this.after("categoryChange",this._afterCategoryChange),this.after("sourceChange",this._afterSourceChange)},syncUI:function(){e.each(this.get(o),function(e,t){this._uiSetCheckbox(o,t,e)},this),e.each(this.get(u),function(e,t){this._uiSetCheckbox(u,t,e)},this),this.refreshConsole()},_onEntry:function(e){this._entries.push(e.message);var t=a+e.message.category,n=f+e.message.source,r=this.get(t),i=this.get(n),s=this._entries.length-this._cacheLimit,o;s>0&&this._entries.splice(0,s),r===undefined&&(o=this.get(h),this.set(t,o),r=o),i===undefined&&(o=this.get(h),this.set(n,o),i=o),(!r||!i)&&e.preventDefault()},_afterClearConsole:function(){this._entries=[]},_afterCategoryChange:function(e){var t=e.subAttrName.replace(/category\./,d),n=e.prevVal,r=e.newVal;if(!t||n[t]!==undefined)this.refreshConsole(),this._filterBuffer();t&&!e.fromUI&&this._uiSetCheckbox(o,t,r[t])},_afterSourceChange:function(e){var t=e.subAttrName.replace(/source\./,d),n=e.prevVal,r=e.newVal;if(!t||n[t]!==undefined)this.refreshConsole(),this._filterBuffer();t&&!e.fromUI&&this._uiSetCheckbox(u,t,r[t])},_filterBuffer:function(){var e=this.get(o),t=this.get(u),n=this.get(l).buffer,r=null,i;for(i=n.length-1;i>=0;--i)!e[n[i].category]||!t[n[i].source]?r=r||i:r&&(n.splice(i,r-i),r=null);r&&n.splice(0,r+1)},_afterCacheLimitChange:function(e){if(isFinite(e.newVal)){var t=this._entries.length-e.newVal;t>0&&this._entries.splice(0,t)}},refreshConsole:function(){var e=this._entries,t=this.get(l),n=t.get("contentBox").one(v),r=t.get("consoleLimit"),i=this.get(o),s=this.get(u),a=[],f,c;if(n){t._cancelPrintLoop();for(f=e.length-1;f>=0&&r>=0;--f)c=e[f],i[c.category]&&s[c.source]&&(a.unshift(c),--r);n.setHTML(d),t.buffer=a,t.printBuffer()}},_uiSetCheckbox:function(e,t,i){if(e&&t){var u=e===o?this._categories:this._sources,a=g+n(r,s,t),f=u.one(a),h;f||(h=this.get(l),this._createCheckbox(u,t),f=u.one(a),h._uiSetHeight(h.get("height"))),f.set(c,i)}},_onCategoryCheckboxClick:function(e){var t=e.target,n;t.hasClass(b.CHROME_CLASSES.filter)&&(n=t.get("value"),n&&n in this.get(o)&&this.set(a+n,t.get(c),{fromUI:!0}))},_onSourceCheckboxClick:function(e){var t=e.target,n;t.hasClass(b.CHROME_CLASSES.filter)&&(n=t.get("value"),n&&n in this.get(u)&&this.set(f+n,t.get(c),{fromUI:!0}))},hideCategory:function(t,n){y(n)?e.Array.each(arguments,this.hideCategory,this):this.set(a+t,!1)},showCategory:function(t,n){y(n)?e.Array.each(arguments,this.showCategory,this):this.set(a+t,!0)},hideSource:function(t,n){y(n)?e.Array.each(arguments,this.hideSource,this):this.set(f+t,!1)},showSource:function(t,n){y(n)?e.Array.each(arguments,this.showSource,this):this.set(f+t,!0)},_createCheckbox:function(t,i){var o=e.merge(b.CHROME_CLASSES,{filter_name:i,filter_class:n(r,s,i)}),u=e.Node.create(e.Lang.sub(b.FILTER_TEMPLATE,o));t.appendChild(u)},_validateCategory:function(t,n){return e.Lang.isObject(n,!0)&&t.split(/\./).length<3},_validateSource:function(t,n){return e.Lang.isObject(n,!0)&&t.split(/\./).length<3},_setCacheLimit:function(t){return e.Lang.isNumber(t)?(this._cacheLimit=t,t):e.Attribute.INVALID_VALUE}},{NAME:"consoleFilters",NS:s,CATEGORIES_TEMPLATE:'',SOURCES_TEMPLATE:'',FILTER_TEMPLATE:' ',CHROME_CLASSES:{categories:n(r,i,"categories"),sources:n(r,i,"sources"),category:n(r,s,o),source:n(r,s,u),filter:n(r,s),filter_label:n(r,s,"label")},ATTRS:{defaultVisibility:{value:!0,validator:e.Lang.isBoolean},category:{value:{},validator:function(e,t){return this._validateCategory(t,e)}},source:{value:{},validator:function(e,t){return this._validateSource(t,e)}},cacheLimit:{value:Number.POSITIVE_INFINITY,setter:function(e){return this._setCacheLimit(e)}}}})},"3.12.0",{requires:["plugin","console"],skinnable:!0});
+YUI.add("console-filters",function(e,t){function b(){b.superclass.constructor.apply(this,arguments)}var n=e.ClassNameManager.getClassName,r="console",i="filters",s="filter",o="category",u="source",a="category.",f="source.",l="host",c="checked",h="defaultVisibility",p=".",d="",v=p+e.Console.CHROME_CLASSES.console_bd_class,m=p+e.Console.CHROME_CLASSES.console_ft_class,g="input[type=checkbox].",y=e.Lang.isString;e.namespace("Plugin").ConsoleFilters=e.extend(b,e.Plugin.Base,{_entries:null,_cacheLimit:Number.POSITIVE_INFINITY,_categories:null,_sources:null,initializer:function(){this._entries=[],this.get(l).on("entry",this._onEntry,this),this.doAfter("renderUI",this.renderUI),this.doAfter("syncUI",this.syncUI),this.doAfter("bindUI",this.bindUI),this.doAfter("clearConsole",this._afterClearConsole),this.get(l).get("rendered")&&(this.renderUI(),this.syncUI(),this.bindUI()),this.after("cacheLimitChange",this._afterCacheLimitChange)},destructor:function(){this._entries=[],this._categories&&this._categories.remove(),this._sources&&this._sources.remove()},renderUI:function(){var t=this.get(l).get("contentBox").one(m),n;t&&(n=e.Lang.sub(b.CATEGORIES_TEMPLATE,b.CHROME_CLASSES),this._categories=t.appendChild(e.Node.create(n)),n=e.Lang.sub(b.SOURCES_TEMPLATE,b.CHROME_CLASSES),this._sources=t.appendChild(e.Node.create(n)))},bindUI:function(){this._categories.on("click",e.bind(this._onCategoryCheckboxClick,this)),this._sources.on("click",e.bind(this._onSourceCheckboxClick,this)),this.after("categoryChange",this._afterCategoryChange),this.after("sourceChange",this._afterSourceChange)},syncUI:function(){e.each(this.get(o),function(e,t){this._uiSetCheckbox(o,t,e)},this),e.each(this.get(u),function(e,t){this._uiSetCheckbox(u,t,e)},this),this.refreshConsole()},_onEntry:function(e){this._entries.push(e.message);var t=a+e.message.category,n=f+e.message.source,r=this.get(t),i=this.get(n),s=this._entries.length-this._cacheLimit,o;s>0&&this._entries.splice(0,s),r===undefined&&(o=this.get(h),this.set(t,o),r=o),i===undefined&&(o=this.get(h),this.set(n,o),i=o),(!r||!i)&&e.preventDefault()},_afterClearConsole:function(){this._entries=[]},_afterCategoryChange:function(e){var t=e.subAttrName.replace(/category\./,d),n=e.prevVal,r=e.newVal;if(!t||n[t]!==undefined)this.refreshConsole(),this._filterBuffer();t&&!e.fromUI&&this._uiSetCheckbox(o,t,r[t])},_afterSourceChange:function(e){var t=e.subAttrName.replace(/source\./,d),n=e.prevVal,r=e.newVal;if(!t||n[t]!==undefined)this.refreshConsole(),this._filterBuffer();t&&!e.fromUI&&this._uiSetCheckbox(u,t,r[t])},_filterBuffer:function(){var e=this.get(o),t=this.get(u),n=this.get(l).buffer,r=null,i;for(i=n.length-1;i>=0;--i)!e[n[i].category]||!t[n[i].source]?r=r||i:r&&(n.splice(i,r-i),r=null);r&&n.splice(0,r+1)},_afterCacheLimitChange:function(e){if(isFinite(e.newVal)){var t=this._entries.length-e.newVal;t>0&&this._entries.splice(0,t)}},refreshConsole:function(){var e=this._entries,t=this.get(l),n=t.get("contentBox").one(v),r=t.get("consoleLimit"),i=this.get(o),s=this.get(u),a=[],f,c;if(n){t._cancelPrintLoop();for(f=e.length-1;f>=0&&r>=0;--f)c=e[f],i[c.category]&&s[c.source]&&(a.unshift(c),--r);n.setHTML(d),t.buffer=a,t.printBuffer()}},_uiSetCheckbox:function(e,t,i){if(e&&t){var u=e===o?this._categories:this._sources,a=g+n(r,s,t),f=u.one(a),h;f||(h=this.get(l),this._createCheckbox(u,t),f=u.one(a),h._uiSetHeight(h.get("height"))),f.set(c,i)}},_onCategoryCheckboxClick:function(e){var t=e.target,n;t.hasClass(b.CHROME_CLASSES.filter)&&(n=t.get("value"),n&&n in this.get(o)&&this.set(a+n,t.get(c),{fromUI:!0}))},_onSourceCheckboxClick:function(e){var t=e.target,n;t.hasClass(b.CHROME_CLASSES.filter)&&(n=t.get("value"),n&&n in this.get(u)&&this.set(f+n,t.get(c),{fromUI:!0}))},hideCategory:function(t,n){y(n)?e.Array.each(arguments,this.hideCategory,this):this.set(a+t,!1)},showCategory:function(t,n){y(n)?e.Array.each(arguments,this.showCategory,this):this.set(a+t,!0)},hideSource:function(t,n){y(n)?e.Array.each(arguments,this.hideSource,this):this.set(f+t,!1)},showSource:function(t,n){y(n)?e.Array.each(arguments,this.showSource,this):this.set(f+t,!0)},_createCheckbox:function(t,i){var o=e.merge(b.CHROME_CLASSES,{filter_name:i,filter_class:n(r,s,i)}),u=e.Node.create(e.Lang.sub(b.FILTER_TEMPLATE,o));t.appendChild(u)},_validateCategory:function(t,n){return e.Lang.isObject(n,!0)&&t.split(/\./).length<3},_validateSource:function(t,n){return e.Lang.isObject(n,!0)&&t.split(/\./).length<3},_setCacheLimit:function(t){return e.Lang.isNumber(t)?(this._cacheLimit=t,t):e.Attribute.INVALID_VALUE}},{NAME:"consoleFilters",NS:s,CATEGORIES_TEMPLATE:'',SOURCES_TEMPLATE:'',FILTER_TEMPLATE:' ',CHROME_CLASSES:{categories:n(r,i,"categories"),sources:n(r,i,"sources"),category:n(r,s,o),source:n(r,s,u),filter:n(r,s),filter_label:n(r,s,"label")},ATTRS:{defaultVisibility:{value:!0,validator:e.Lang.isBoolean},category:{value:{},validator:function(e,t){return this._validateCategory(t,e)}},source:{value:{},validator:function(e,t){return this._validateSource(t,e)}},cacheLimit:{value:Number.POSITIVE_INFINITY,setter:function(e){return this._setCacheLimit(e)}}}})},"3.13.0",{requires:["plugin","console"],skinnable:!0});
diff --git a/lib/yuilib/3.12.0/console-filters/console-filters.js b/lib/yuilib/3.13.0/console-filters/console-filters.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/console-filters/console-filters.js
rename to lib/yuilib/3.13.0/console-filters/console-filters.js
index 6ee94deb281..3c5b2cfecee
--- a/lib/yuilib/3.12.0/console-filters/console-filters.js
+++ b/lib/yuilib/3.13.0/console-filters/console-filters.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -38,7 +38,7 @@ var getCN = Y.ClassNameManager.getClassName,
C_FOOT = DOT + Y.Console.CHROME_CLASSES.console_ft_class,
SEL_CHECK = 'input[type=checkbox].',
-
+
isString = Y.Lang.isString;
function ConsoleFilters() {
@@ -171,7 +171,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
this._categories.on('click', Y.bind(this._onCategoryCheckboxClick, this));
this._sources.on('click', Y.bind(this._onSourceCheckboxClick, this));
-
+
this.after('categoryChange',this._afterCategoryChange);
this.after('sourceChange', this._afterSourceChange);
},
@@ -205,7 +205,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
*/
_onEntry : function (e) {
this._entries.push(e.message);
-
+
var cat = CATEGORY_DOT + e.message.category,
src = SOURCE_DOT + e.message.source,
cat_filter = this.get(cat),
@@ -228,7 +228,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
this.set(src, visible);
src_filter = visible;
}
-
+
if (!cat_filter || !src_filter) {
e.preventDefault();
}
@@ -326,7 +326,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
/**
* Trims the cache of entries to the appropriate new length.
*
- * @method _afterCacheLimitChange
+ * @method _afterCacheLimitChange
* @param e {Event} the attribute change event object
* @protected
*/
@@ -392,7 +392,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
sel = SEL_CHECK + getCN(CONSOLE,FILTER,item),
checkbox = container.one(sel),
host;
-
+
if (!checkbox) {
host = this.get(HOST);
@@ -402,7 +402,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
host._uiSetHeight(host.get('height'));
}
-
+
checkbox.set(CHECKED, checked);
}
},
@@ -634,7 +634,7 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
'class="{filter} {filter_class}"> {filter_name}'+
' ',
- /**
+ /**
* Classnames used by the templates when creating nodes.
*
* @property CHROME_CLASSES
@@ -727,4 +727,4 @@ Y.namespace('Plugin').ConsoleFilters = Y.extend(ConsoleFilters, Y.Plugin.Base,
});
-}, '3.12.0', {"requires": ["plugin", "console"], "skinnable": true});
+}, '3.13.0', {"requires": ["plugin", "console"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/console/assets/console-core.css b/lib/yuilib/3.13.0/console/assets/console-core.css
old mode 100644
new mode 100755
similarity index 81%
rename from lib/yuilib/3.12.0/console/assets/console-core.css
rename to lib/yuilib/3.13.0/console/assets/console-core.css
index ab09cf0948f..2287ac4300c
--- a/lib/yuilib/3.12.0/console/assets/console-core.css
+++ b/lib/yuilib/3.13.0/console/assets/console-core.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/console/assets/skins/sam/bg.png b/lib/yuilib/3.13.0/console/assets/skins/sam/bg.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/console/assets/skins/sam/bg.png
rename to lib/yuilib/3.13.0/console/assets/skins/sam/bg.png
diff --git a/lib/yuilib/3.12.0/console/assets/skins/sam/console-skin.css b/lib/yuilib/3.13.0/console/assets/skins/sam/console-skin.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/console/assets/skins/sam/console-skin.css
rename to lib/yuilib/3.13.0/console/assets/skins/sam/console-skin.css
index d378f97b53c..8be68b15d3d
--- a/lib/yuilib/3.12.0/console/assets/skins/sam/console-skin.css
+++ b/lib/yuilib/3.13.0/console/assets/skins/sam/console-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/console/assets/skins/sam/console.css b/lib/yuilib/3.13.0/console/assets/skins/sam/console.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/console/assets/skins/sam/console.css
rename to lib/yuilib/3.13.0/console/assets/skins/sam/console.css
index cfb47d29cbd..d981d377730
--- a/lib/yuilib/3.12.0/console/assets/skins/sam/console.css
+++ b/lib/yuilib/3.13.0/console/assets/skins/sam/console.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/console/assets/skins/sam/warn_error.png b/lib/yuilib/3.13.0/console/assets/skins/sam/warn_error.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/console/assets/skins/sam/warn_error.png
rename to lib/yuilib/3.13.0/console/assets/skins/sam/warn_error.png
diff --git a/lib/yuilib/3.12.0/console/assets/warn_error.png b/lib/yuilib/3.13.0/console/assets/warn_error.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/console/assets/warn_error.png
rename to lib/yuilib/3.13.0/console/assets/warn_error.png
diff --git a/lib/yuilib/3.13.0/console/console-coverage.js b/lib/yuilib/3.13.0/console/console-coverage.js
new file mode 100755
index 00000000000..640763bd78f
--- /dev/null
+++ b/lib/yuilib/3.13.0/console/console-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/console/console.js']) {
+ __coverage__['build/console/console.js'] = {"path":"build/console/console.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0,0],"43":[0,0],"44":[0,0,0],"45":[0,0],"46":[0,0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":19},"end":{"line":1,"column":38}}},"2":{"name":"Console","line":97,"loc":{"start":{"line":97,"column":0},"end":{"line":97,"column":19}}},"3":{"name":"(anonymous_3)","line":173,"loc":{"start":{"line":173,"column":10},"end":{"line":173,"column":22}}},"4":{"name":"(anonymous_4)","line":185,"loc":{"start":{"line":185,"column":19},"end":{"line":185,"column":31}}},"5":{"name":"(anonymous_5)","line":202,"loc":{"start":{"line":202,"column":12},"end":{"line":202,"column":24}}},"6":{"name":"(anonymous_6)","line":214,"loc":{"start":{"line":214,"column":15},"end":{"line":214,"column":27}}},"7":{"name":"(anonymous_7)","line":226,"loc":{"start":{"line":226,"column":13},"end":{"line":226,"column":25}}},"8":{"name":"(anonymous_8)","line":243,"loc":{"start":{"line":243,"column":17},"end":{"line":243,"column":34}}},"9":{"name":"(anonymous_9)","line":300,"loc":{"start":{"line":300,"column":18},"end":{"line":300,"column":30}}},"10":{"name":"(anonymous_10)","line":340,"loc":{"start":{"line":340,"column":17},"end":{"line":340,"column":29}}},"11":{"name":"(anonymous_11)","line":356,"loc":{"start":{"line":356,"column":15},"end":{"line":356,"column":27}}},"12":{"name":"(anonymous_12)","line":373,"loc":{"start":{"line":373,"column":13},"end":{"line":373,"column":25}}},"13":{"name":"(anonymous_13)","line":385,"loc":{"start":{"line":385,"column":13},"end":{"line":385,"column":25}}},"14":{"name":"(anonymous_14)","line":413,"loc":{"start":{"line":413,"column":16},"end":{"line":413,"column":28}}},"15":{"name":"(anonymous_15)","line":432,"loc":{"start":{"line":432,"column":16},"end":{"line":432,"column":28}}},"16":{"name":"(anonymous_16)","line":446,"loc":{"start":{"line":446,"column":16},"end":{"line":446,"column":28}}},"17":{"name":"(anonymous_17)","line":465,"loc":{"start":{"line":465,"column":20},"end":{"line":465,"column":33}}},"18":{"name":"(anonymous_18)","line":502,"loc":{"start":{"line":502,"column":24},"end":{"line":502,"column":37}}},"19":{"name":"(anonymous_19)","line":538,"loc":{"start":{"line":538,"column":21},"end":{"line":538,"column":33}}},"20":{"name":"(anonymous_20)","line":555,"loc":{"start":{"line":555,"column":23},"end":{"line":555,"column":36}}},"21":{"name":"(anonymous_21)","line":565,"loc":{"start":{"line":565,"column":12},"end":{"line":565,"column":31}}},"22":{"name":"(anonymous_22)","line":576,"loc":{"start":{"line":576,"column":21},"end":{"line":576,"column":33}}},"23":{"name":"(anonymous_23)","line":592,"loc":{"start":{"line":592,"column":25},"end":{"line":592,"column":38}}},"24":{"name":"(anonymous_24)","line":608,"loc":{"start":{"line":608,"column":22},"end":{"line":608,"column":34}}},"25":{"name":"(anonymous_25)","line":656,"loc":{"start":{"line":656,"column":18},"end":{"line":656,"column":31}}},"26":{"name":"(anonymous_26)","line":670,"loc":{"start":{"line":670,"column":23},"end":{"line":670,"column":35}}},"27":{"name":"(anonymous_27)","line":686,"loc":{"start":{"line":686,"column":21},"end":{"line":686,"column":38}}},"28":{"name":"(anonymous_28)","line":698,"loc":{"start":{"line":698,"column":20},"end":{"line":698,"column":33}}},"29":{"name":"(anonymous_29)","line":710,"loc":{"start":{"line":710,"column":20},"end":{"line":710,"column":33}}},"30":{"name":"(anonymous_30)","line":722,"loc":{"start":{"line":722,"column":23},"end":{"line":722,"column":36}}},"31":{"name":"(anonymous_31)","line":736,"loc":{"start":{"line":736,"column":24},"end":{"line":736,"column":37}}},"32":{"name":"(anonymous_32)","line":750,"loc":{"start":{"line":750,"column":19},"end":{"line":750,"column":32}}},"33":{"name":"(anonymous_33)","line":766,"loc":{"start":{"line":766,"column":27},"end":{"line":766,"column":39}}},"34":{"name":"(anonymous_34)","line":784,"loc":{"start":{"line":784,"column":27},"end":{"line":784,"column":40}}},"35":{"name":"(anonymous_35)","line":805,"loc":{"start":{"line":805,"column":19},"end":{"line":805,"column":32}}},"36":{"name":"(anonymous_36)","line":824,"loc":{"start":{"line":824,"column":16},"end":{"line":824,"column":27}}},"37":{"name":"(anonymous_37)","line":837,"loc":{"start":{"line":837,"column":26},"end":{"line":837,"column":39}}},"38":{"name":"(anonymous_38)","line":863,"loc":{"start":{"line":863,"column":25},"end":{"line":863,"column":38}}},"39":{"name":"(anonymous_39)","line":884,"loc":{"start":{"line":884,"column":22},"end":{"line":884,"column":36}}},"40":{"name":"(anonymous_40)","line":900,"loc":{"start":{"line":900,"column":31},"end":{"line":900,"column":43}}},"41":{"name":"(anonymous_41)","line":913,"loc":{"start":{"line":913,"column":28},"end":{"line":913,"column":41}}},"42":{"name":"(anonymous_42)","line":924,"loc":{"start":{"line":924,"column":25},"end":{"line":924,"column":38}}},"43":{"name":"(anonymous_43)","line":946,"loc":{"start":{"line":946,"column":26},"end":{"line":946,"column":39}}},"44":{"name":"(anonymous_44)","line":959,"loc":{"start":{"line":959,"column":28},"end":{"line":959,"column":41}}},"45":{"name":"(anonymous_45)","line":975,"loc":{"start":{"line":975,"column":18},"end":{"line":975,"column":31}}},"46":{"name":"(anonymous_46)","line":999,"loc":{"start":{"line":999,"column":18},"end":{"line":999,"column":30}}},"47":{"name":"(anonymous_47)","line":1013,"loc":{"start":{"line":1013,"column":18},"end":{"line":1013,"column":31}}},"48":{"name":"(anonymous_48)","line":1251,"loc":{"start":{"line":1251,"column":24},"end":{"line":1251,"column":37}}},"49":{"name":"(anonymous_49)","line":1272,"loc":{"start":{"line":1272,"column":21},"end":{"line":1272,"column":32}}},"50":{"name":"(anonymous_50)","line":1343,"loc":{"start":{"line":1343,"column":21},"end":{"line":1343,"column":34}}},"51":{"name":"(anonymous_51)","line":1489,"loc":{"start":{"line":1489,"column":21},"end":{"line":1489,"column":33}}},"52":{"name":"(anonymous_52)","line":1492,"loc":{"start":{"line":1492,"column":21},"end":{"line":1492,"column":34}}},"53":{"name":"(anonymous_53)","line":1508,"loc":{"start":{"line":1508,"column":24},"end":{"line":1508,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1517,"column":109}},"2":{"start":{"line":17,"column":0},"end":{"line":87,"column":28}},"3":{"start":{"line":97,"column":0},"end":{"line":99,"column":1}},"4":{"start":{"line":98,"column":4},"end":{"line":98,"column":57}},"5":{"start":{"line":101,"column":0},"end":{"line":1514,"column":3}},"6":{"start":{"line":174,"column":8},"end":{"line":174,"column":33}},"7":{"start":{"line":176,"column":8},"end":{"line":176,"column":20}},"8":{"start":{"line":187,"column":8},"end":{"line":187,"column":27}},"9":{"start":{"line":189,"column":8},"end":{"line":189,"column":32}},"10":{"start":{"line":191,"column":8},"end":{"line":191,"column":25}},"11":{"start":{"line":193,"column":8},"end":{"line":193,"column":20}},"12":{"start":{"line":203,"column":8},"end":{"line":203,"column":25}},"13":{"start":{"line":205,"column":8},"end":{"line":205,"column":20}},"14":{"start":{"line":215,"column":8},"end":{"line":215,"column":34}},"15":{"start":{"line":217,"column":8},"end":{"line":217,"column":20}},"16":{"start":{"line":227,"column":8},"end":{"line":227,"column":35}},"17":{"start":{"line":229,"column":8},"end":{"line":229,"column":20}},"18":{"start":{"line":244,"column":8},"end":{"line":250,"column":14}},"19":{"start":{"line":252,"column":8},"end":{"line":254,"column":9}},"20":{"start":{"line":253,"column":12},"end":{"line":253,"column":63}},"21":{"start":{"line":256,"column":8},"end":{"line":256,"column":70}},"22":{"start":{"line":259,"column":8},"end":{"line":259,"column":31}},"23":{"start":{"line":261,"column":8},"end":{"line":284,"column":9}},"24":{"start":{"line":263,"column":12},"end":{"line":265,"column":13}},"25":{"start":{"line":264,"column":16},"end":{"line":264,"column":69}},"26":{"start":{"line":267,"column":12},"end":{"line":269,"column":13}},"27":{"start":{"line":268,"column":16},"end":{"line":268,"column":40}},"28":{"start":{"line":271,"column":12},"end":{"line":283,"column":13}},"29":{"start":{"line":272,"column":16},"end":{"line":274,"column":17}},"30":{"start":{"line":273,"column":20},"end":{"line":273,"column":38}},"31":{"start":{"line":276,"column":16},"end":{"line":276,"column":74}},"32":{"start":{"line":278,"column":16},"end":{"line":280,"column":17}},"33":{"start":{"line":279,"column":20},"end":{"line":279,"column":42}},"34":{"start":{"line":282,"column":16},"end":{"line":282,"column":39}},"35":{"start":{"line":287,"column":8},"end":{"line":287,"column":31}},"36":{"start":{"line":289,"column":8},"end":{"line":289,"column":20}},"37":{"start":{"line":301,"column":8},"end":{"line":301,"column":43}},"38":{"start":{"line":303,"column":8},"end":{"line":303,"column":25}},"39":{"start":{"line":305,"column":8},"end":{"line":306,"column":61}},"40":{"start":{"line":320,"column":8},"end":{"line":320,"column":61}},"41":{"start":{"line":329,"column":8},"end":{"line":329,"column":61}},"42":{"start":{"line":331,"column":8},"end":{"line":331,"column":52}},"43":{"start":{"line":341,"column":8},"end":{"line":341,"column":41}},"44":{"start":{"line":343,"column":8},"end":{"line":343,"column":32}},"45":{"start":{"line":345,"column":8},"end":{"line":345,"column":57}},"46":{"start":{"line":347,"column":8},"end":{"line":347,"column":23}},"47":{"start":{"line":357,"column":8},"end":{"line":357,"column":25}},"48":{"start":{"line":358,"column":8},"end":{"line":358,"column":25}},"49":{"start":{"line":359,"column":8},"end":{"line":359,"column":25}},"50":{"start":{"line":362,"column":8},"end":{"line":362,"column":38}},"51":{"start":{"line":363,"column":8},"end":{"line":365,"column":9}},"52":{"start":{"line":364,"column":12},"end":{"line":364,"column":71}},"53":{"start":{"line":374,"column":8},"end":{"line":374,"column":47}},"54":{"start":{"line":375,"column":8},"end":{"line":375,"column":53}},"55":{"start":{"line":376,"column":8},"end":{"line":376,"column":44}},"56":{"start":{"line":386,"column":8},"end":{"line":387,"column":49}},"57":{"start":{"line":389,"column":8},"end":{"line":390,"column":46}},"58":{"start":{"line":392,"column":8},"end":{"line":393,"column":46}},"59":{"start":{"line":396,"column":8},"end":{"line":397,"column":38}},"60":{"start":{"line":398,"column":8},"end":{"line":399,"column":37}},"61":{"start":{"line":400,"column":8},"end":{"line":401,"column":43}},"62":{"start":{"line":402,"column":8},"end":{"line":403,"column":40}},"63":{"start":{"line":414,"column":8},"end":{"line":418,"column":23}},"64":{"start":{"line":420,"column":8},"end":{"line":420,"column":70}},"65":{"start":{"line":422,"column":8},"end":{"line":422,"column":57}},"66":{"start":{"line":433,"column":8},"end":{"line":435,"column":53}},"67":{"start":{"line":437,"column":8},"end":{"line":437,"column":54}},"68":{"start":{"line":447,"column":8},"end":{"line":451,"column":15}},"69":{"start":{"line":453,"column":8},"end":{"line":453,"column":70}},"70":{"start":{"line":455,"column":8},"end":{"line":455,"column":54}},"71":{"start":{"line":466,"column":8},"end":{"line":466,"column":52}},"72":{"start":{"line":468,"column":8},"end":{"line":479,"column":9}},"73":{"start":{"line":469,"column":12},"end":{"line":469,"column":30}},"74":{"start":{"line":471,"column":12},"end":{"line":473,"column":13}},"75":{"start":{"line":472,"column":16},"end":{"line":472,"column":40}},"76":{"start":{"line":475,"column":12},"end":{"line":478,"column":13}},"77":{"start":{"line":477,"column":16},"end":{"line":477,"column":29}},"78":{"start":{"line":481,"column":8},"end":{"line":481,"column":20}},"79":{"start":{"line":504,"column":8},"end":{"line":517,"column":14}},"80":{"start":{"line":520,"column":8},"end":{"line":521,"column":62}},"81":{"start":{"line":522,"column":8},"end":{"line":523,"column":72}},"82":{"start":{"line":524,"column":8},"end":{"line":524,"column":57}},"83":{"start":{"line":525,"column":8},"end":{"line":525,"column":58}},"84":{"start":{"line":527,"column":8},"end":{"line":527,"column":36}},"85":{"start":{"line":529,"column":8},"end":{"line":529,"column":17}},"86":{"start":{"line":539,"column":8},"end":{"line":544,"column":9}},"87":{"start":{"line":540,"column":12},"end":{"line":543,"column":62}},"88":{"start":{"line":556,"column":8},"end":{"line":562,"column":19}},"89":{"start":{"line":564,"column":8},"end":{"line":567,"column":15}},"90":{"start":{"line":566,"column":16},"end":{"line":566,"column":50}},"91":{"start":{"line":577,"column":8},"end":{"line":579,"column":59}},"92":{"start":{"line":581,"column":8},"end":{"line":581,"column":47}},"93":{"start":{"line":593,"column":8},"end":{"line":593,"column":56}},"94":{"start":{"line":594,"column":8},"end":{"line":594,"column":55}},"95":{"start":{"line":595,"column":8},"end":{"line":595,"column":64}},"96":{"start":{"line":596,"column":8},"end":{"line":596,"column":57}},"97":{"start":{"line":598,"column":8},"end":{"line":598,"column":17}},"98":{"start":{"line":611,"column":8},"end":{"line":611,"column":31}},"99":{"start":{"line":613,"column":8},"end":{"line":616,"column":26}},"100":{"start":{"line":618,"column":8},"end":{"line":642,"column":9}},"101":{"start":{"line":619,"column":12},"end":{"line":619,"column":42}},"102":{"start":{"line":620,"column":12},"end":{"line":620,"column":39}},"103":{"start":{"line":622,"column":12},"end":{"line":640,"column":13}},"104":{"start":{"line":623,"column":16},"end":{"line":628,"column":17}},"105":{"start":{"line":624,"column":20},"end":{"line":624,"column":30}},"106":{"start":{"line":625,"column":20},"end":{"line":625,"column":39}},"107":{"start":{"line":627,"column":20},"end":{"line":627,"column":26}},"108":{"start":{"line":630,"column":16},"end":{"line":630,"column":54}},"109":{"start":{"line":632,"column":16},"end":{"line":637,"column":17}},"110":{"start":{"line":633,"column":20},"end":{"line":633,"column":40}},"111":{"start":{"line":634,"column":20},"end":{"line":636,"column":21}},"112":{"start":{"line":635,"column":24},"end":{"line":635,"column":35}},"113":{"start":{"line":639,"column":16},"end":{"line":639,"column":50}},"114":{"start":{"line":644,"column":8},"end":{"line":644,"column":31}},"115":{"start":{"line":657,"column":8},"end":{"line":661,"column":14}},"116":{"start":{"line":671,"column":8},"end":{"line":674,"column":9}},"117":{"start":{"line":672,"column":12},"end":{"line":672,"column":37}},"118":{"start":{"line":673,"column":12},"end":{"line":673,"column":35}},"119":{"start":{"line":687,"column":8},"end":{"line":687,"column":79}},"120":{"start":{"line":699,"column":8},"end":{"line":699,"column":47}},"121":{"start":{"line":711,"column":8},"end":{"line":711,"column":28}},"122":{"start":{"line":723,"column":8},"end":{"line":723,"column":50}},"123":{"start":{"line":737,"column":8},"end":{"line":737,"column":44}},"124":{"start":{"line":751,"column":8},"end":{"line":753,"column":9}},"125":{"start":{"line":752,"column":12},"end":{"line":752,"column":32}},"126":{"start":{"line":755,"column":8},"end":{"line":755,"column":54}},"127":{"start":{"line":767,"column":8},"end":{"line":767,"column":46}},"128":{"start":{"line":768,"column":8},"end":{"line":769,"column":54}},"129":{"start":{"line":785,"column":8},"end":{"line":785,"column":46}},"130":{"start":{"line":786,"column":8},"end":{"line":792,"column":9}},"131":{"start":{"line":787,"column":12},"end":{"line":787,"column":20}},"132":{"start":{"line":788,"column":12},"end":{"line":788,"column":51}},"133":{"start":{"line":789,"column":12},"end":{"line":789,"column":21}},"134":{"start":{"line":791,"column":12},"end":{"line":791,"column":45}},"135":{"start":{"line":806,"column":8},"end":{"line":806,"column":62}},"136":{"start":{"line":808,"column":8},"end":{"line":814,"column":9}},"137":{"start":{"line":809,"column":12},"end":{"line":811,"column":51}},"138":{"start":{"line":813,"column":12},"end":{"line":813,"column":47}},"139":{"start":{"line":838,"column":8},"end":{"line":841,"column":30}},"140":{"start":{"line":843,"column":8},"end":{"line":845,"column":9}},"141":{"start":{"line":844,"column":12},"end":{"line":844,"column":61}},"142":{"start":{"line":847,"column":8},"end":{"line":849,"column":9}},"143":{"start":{"line":848,"column":12},"end":{"line":848,"column":59}},"144":{"start":{"line":851,"column":8},"end":{"line":853,"column":9}},"145":{"start":{"line":852,"column":12},"end":{"line":852,"column":57}},"146":{"start":{"line":864,"column":8},"end":{"line":864,"column":30}},"147":{"start":{"line":866,"column":8},"end":{"line":868,"column":9}},"148":{"start":{"line":867,"column":12},"end":{"line":867,"column":41}},"149":{"start":{"line":870,"column":8},"end":{"line":874,"column":9}},"150":{"start":{"line":871,"column":12},"end":{"line":871,"column":34}},"151":{"start":{"line":872,"column":15},"end":{"line":874,"column":9}},"152":{"start":{"line":873,"column":12},"end":{"line":873,"column":36}},"153":{"start":{"line":885,"column":8},"end":{"line":885,"column":67}},"154":{"start":{"line":887,"column":8},"end":{"line":889,"column":9}},"155":{"start":{"line":888,"column":12},"end":{"line":888,"column":33}},"156":{"start":{"line":901,"column":8},"end":{"line":901,"column":31}},"157":{"start":{"line":914,"column":8},"end":{"line":914,"column":42}},"158":{"start":{"line":925,"column":8},"end":{"line":928,"column":70}},"159":{"start":{"line":930,"column":8},"end":{"line":930,"column":32}},"160":{"start":{"line":932,"column":8},"end":{"line":934,"column":9}},"161":{"start":{"line":933,"column":12},"end":{"line":933,"column":32}},"162":{"start":{"line":936,"column":8},"end":{"line":936,"column":80}},"163":{"start":{"line":947,"column":8},"end":{"line":947,"column":69}},"164":{"start":{"line":949,"column":8},"end":{"line":949,"column":45}},"165":{"start":{"line":960,"column":8},"end":{"line":962,"column":9}},"166":{"start":{"line":961,"column":12},"end":{"line":961,"column":48}},"167":{"start":{"line":977,"column":8},"end":{"line":989,"column":9}},"168":{"start":{"line":979,"column":12},"end":{"line":979,"column":39}},"169":{"start":{"line":982,"column":12},"end":{"line":982,"column":35}},"170":{"start":{"line":984,"column":12},"end":{"line":986,"column":15}},"171":{"start":{"line":988,"column":12},"end":{"line":988,"column":35}},"172":{"start":{"line":1000,"column":8},"end":{"line":1000,"column":28}},"173":{"start":{"line":1001,"column":8},"end":{"line":1001,"column":40}},"174":{"start":{"line":1002,"column":8},"end":{"line":1002,"column":33}},"175":{"start":{"line":1003,"column":8},"end":{"line":1003,"column":31}},"176":{"start":{"line":1014,"column":8},"end":{"line":1017,"column":9}},"177":{"start":{"line":1015,"column":12},"end":{"line":1015,"column":40}},"178":{"start":{"line":1016,"column":12},"end":{"line":1016,"column":34}},"179":{"start":{"line":1252,"column":16},"end":{"line":1252,"column":50}},"180":{"start":{"line":1272,"column":34},"end":{"line":1272,"column":63}},"181":{"start":{"line":1344,"column":16},"end":{"line":1344,"column":44}},"182":{"start":{"line":1490,"column":16},"end":{"line":1490,"column":52}},"183":{"start":{"line":1493,"column":16},"end":{"line":1493,"column":53}},"184":{"start":{"line":1509,"column":16},"end":{"line":1509,"column":46}}},"branchMap":{"1":{"line":249,"type":"cond-expr","locations":[{"start":{"line":249,"column":40},"end":{"line":249,"column":68}},{"start":{"line":249,"column":71},"end":{"line":249,"column":75}}]},"2":{"line":252,"type":"if","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":8}},{"start":{"line":252,"column":8},"end":{"line":252,"column":8}}]},"3":{"line":256,"type":"binary-expr","locations":[{"start":{"line":256,"column":43},"end":{"line":256,"column":48}},{"start":{"line":256,"column":52},"end":{"line":256,"column":67}}]},"4":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":261,"column":8}},{"start":{"line":261,"column":8},"end":{"line":261,"column":8}}]},"5":{"line":261,"type":"binary-expr","locations":[{"start":{"line":261,"column":12},"end":{"line":261,"column":29}},{"start":{"line":261,"column":33},"end":{"line":261,"column":53}}]},"6":{"line":263,"type":"binary-expr","locations":[{"start":{"line":263,"column":24},"end":{"line":263,"column":33}},{"start":{"line":263,"column":37},"end":{"line":263,"column":52}}]},"7":{"line":267,"type":"if","locations":[{"start":{"line":267,"column":12},"end":{"line":267,"column":12}},{"start":{"line":267,"column":12},"end":{"line":267,"column":12}}]},"8":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":12},"end":{"line":271,"column":12}},{"start":{"line":271,"column":12},"end":{"line":271,"column":12}}]},"9":{"line":272,"type":"if","locations":[{"start":{"line":272,"column":16},"end":{"line":272,"column":16}},{"start":{"line":272,"column":16},"end":{"line":272,"column":16}}]},"10":{"line":278,"type":"if","locations":[{"start":{"line":278,"column":16},"end":{"line":278,"column":16}},{"start":{"line":278,"column":16},"end":{"line":278,"column":16}}]},"11":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":8},"end":{"line":363,"column":8}},{"start":{"line":363,"column":8},"end":{"line":363,"column":8}}]},"12":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":8},"end":{"line":468,"column":8}},{"start":{"line":468,"column":8},"end":{"line":468,"column":8}}]},"13":{"line":469,"type":"binary-expr","locations":[{"start":{"line":469,"column":18},"end":{"line":469,"column":21}},{"start":{"line":469,"column":25},"end":{"line":469,"column":29}}]},"14":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":12},"end":{"line":471,"column":12}},{"start":{"line":471,"column":12},"end":{"line":471,"column":12}}]},"15":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":12},"end":{"line":475,"column":12}},{"start":{"line":475,"column":12},"end":{"line":475,"column":12}}]},"16":{"line":475,"type":"binary-expr","locations":[{"start":{"line":475,"column":17},"end":{"line":475,"column":29}},{"start":{"line":475,"column":33},"end":{"line":475,"column":46}},{"start":{"line":476,"column":17},"end":{"line":476,"column":29}},{"start":{"line":476,"column":33},"end":{"line":476,"column":45}}]},"17":{"line":511,"type":"binary-expr","locations":[{"start":{"line":511,"column":34},"end":{"line":511,"column":37}},{"start":{"line":511,"column":41},"end":{"line":511,"column":68}}]},"18":{"line":512,"type":"binary-expr","locations":[{"start":{"line":512,"column":34},"end":{"line":512,"column":37}},{"start":{"line":512,"column":41},"end":{"line":512,"column":66}}]},"19":{"line":520,"type":"cond-expr","locations":[{"start":{"line":521,"column":32},"end":{"line":521,"column":41}},{"start":{"line":521,"column":44},"end":{"line":521,"column":61}}]},"20":{"line":522,"type":"cond-expr","locations":[{"start":{"line":523,"column":28},"end":{"line":523,"column":55}},{"start":{"line":523,"column":59},"end":{"line":523,"column":70}}]},"21":{"line":539,"type":"if","locations":[{"start":{"line":539,"column":8},"end":{"line":539,"column":8}},{"start":{"line":539,"column":8},"end":{"line":539,"column":8}}]},"22":{"line":539,"type":"binary-expr","locations":[{"start":{"line":539,"column":12},"end":{"line":539,"column":28}},{"start":{"line":539,"column":32},"end":{"line":539,"column":49}},{"start":{"line":539,"column":53},"end":{"line":539,"column":73}}]},"23":{"line":566,"type":"cond-expr","locations":[{"start":{"line":566,"column":36},"end":{"line":566,"column":44}},{"start":{"line":566,"column":47},"end":{"line":566,"column":49}}]},"24":{"line":577,"type":"cond-expr","locations":[{"start":{"line":578,"column":28},"end":{"line":578,"column":29}},{"start":{"line":579,"column":28},"end":{"line":579,"column":58}}]},"25":{"line":618,"type":"if","locations":[{"start":{"line":618,"column":8},"end":{"line":618,"column":8}},{"start":{"line":618,"column":8},"end":{"line":618,"column":8}}]},"26":{"line":622,"type":"if","locations":[{"start":{"line":622,"column":12},"end":{"line":622,"column":12}},{"start":{"line":622,"column":12},"end":{"line":622,"column":12}}]},"27":{"line":623,"type":"if","locations":[{"start":{"line":623,"column":16},"end":{"line":623,"column":16}},{"start":{"line":623,"column":16},"end":{"line":623,"column":16}}]},"28":{"line":634,"type":"if","locations":[{"start":{"line":634,"column":20},"end":{"line":634,"column":20}},{"start":{"line":634,"column":20},"end":{"line":634,"column":20}}]},"29":{"line":657,"type":"cond-expr","locations":[{"start":{"line":658,"column":12},"end":{"line":660,"column":36}},{"start":{"line":661,"column":12},"end":{"line":661,"column":13}}]},"30":{"line":671,"type":"if","locations":[{"start":{"line":671,"column":8},"end":{"line":671,"column":8}},{"start":{"line":671,"column":8},"end":{"line":671,"column":8}}]},"31":{"line":687,"type":"binary-expr","locations":[{"start":{"line":687,"column":15},"end":{"line":687,"column":33}},{"start":{"line":687,"column":37},"end":{"line":687,"column":54}},{"start":{"line":687,"column":58},"end":{"line":687,"column":78}}]},"32":{"line":737,"type":"binary-expr","locations":[{"start":{"line":737,"column":15},"end":{"line":737,"column":16}},{"start":{"line":737,"column":20},"end":{"line":737,"column":43}}]},"33":{"line":751,"type":"if","locations":[{"start":{"line":751,"column":8},"end":{"line":751,"column":8}},{"start":{"line":751,"column":8},"end":{"line":751,"column":8}}]},"34":{"line":755,"type":"cond-expr","locations":[{"start":{"line":755,"column":45},"end":{"line":755,"column":46}},{"start":{"line":755,"column":49},"end":{"line":755,"column":53}}]},"35":{"line":755,"type":"binary-expr","locations":[{"start":{"line":755,"column":16},"end":{"line":755,"column":26}},{"start":{"line":755,"column":30},"end":{"line":755,"column":41}}]},"36":{"line":768,"type":"cond-expr","locations":[{"start":{"line":769,"column":12},"end":{"line":769,"column":46}},{"start":{"line":769,"column":49},"end":{"line":769,"column":53}}]},"37":{"line":786,"type":"if","locations":[{"start":{"line":786,"column":8},"end":{"line":786,"column":8}},{"start":{"line":786,"column":8},"end":{"line":786,"column":8}}]},"38":{"line":808,"type":"if","locations":[{"start":{"line":808,"column":8},"end":{"line":808,"column":8}},{"start":{"line":808,"column":8},"end":{"line":808,"column":8}}]},"39":{"line":808,"type":"binary-expr","locations":[{"start":{"line":808,"column":12},"end":{"line":808,"column":22}},{"start":{"line":808,"column":26},"end":{"line":808,"column":36}}]},"40":{"line":838,"type":"cond-expr","locations":[{"start":{"line":838,"column":37},"end":{"line":838,"column":64}},{"start":{"line":838,"column":67},"end":{"line":838,"column":71}}]},"41":{"line":843,"type":"if","locations":[{"start":{"line":843,"column":8},"end":{"line":843,"column":8}},{"start":{"line":843,"column":8},"end":{"line":843,"column":8}}]},"42":{"line":843,"type":"binary-expr","locations":[{"start":{"line":843,"column":13},"end":{"line":843,"column":18}},{"start":{"line":843,"column":22},"end":{"line":843,"column":36}},{"start":{"line":843,"column":41},"end":{"line":843,"column":69}}]},"43":{"line":847,"type":"if","locations":[{"start":{"line":847,"column":8},"end":{"line":847,"column":8}},{"start":{"line":847,"column":8},"end":{"line":847,"column":8}}]},"44":{"line":847,"type":"binary-expr","locations":[{"start":{"line":847,"column":13},"end":{"line":847,"column":18}},{"start":{"line":847,"column":22},"end":{"line":847,"column":36}},{"start":{"line":847,"column":41},"end":{"line":847,"column":69}}]},"45":{"line":851,"type":"if","locations":[{"start":{"line":851,"column":8},"end":{"line":851,"column":8}},{"start":{"line":851,"column":8},"end":{"line":851,"column":8}}]},"46":{"line":851,"type":"binary-expr","locations":[{"start":{"line":851,"column":13},"end":{"line":851,"column":18}},{"start":{"line":851,"column":22},"end":{"line":851,"column":36}},{"start":{"line":851,"column":41},"end":{"line":851,"column":69}}]},"47":{"line":866,"type":"if","locations":[{"start":{"line":866,"column":8},"end":{"line":866,"column":8}},{"start":{"line":866,"column":8},"end":{"line":866,"column":8}}]},"48":{"line":870,"type":"if","locations":[{"start":{"line":870,"column":8},"end":{"line":870,"column":8}},{"start":{"line":870,"column":8},"end":{"line":870,"column":8}}]},"49":{"line":872,"type":"if","locations":[{"start":{"line":872,"column":15},"end":{"line":872,"column":15}},{"start":{"line":872,"column":15},"end":{"line":872,"column":15}}]},"50":{"line":887,"type":"if","locations":[{"start":{"line":887,"column":8},"end":{"line":887,"column":8}},{"start":{"line":887,"column":8},"end":{"line":887,"column":8}}]},"51":{"line":927,"type":"cond-expr","locations":[{"start":{"line":927,"column":25},"end":{"line":927,"column":35}},{"start":{"line":927,"column":38},"end":{"line":927,"column":51}}]},"52":{"line":928,"type":"cond-expr","locations":[{"start":{"line":928,"column":46},"end":{"line":928,"column":54}},{"start":{"line":928,"column":57},"end":{"line":928,"column":67}}]},"53":{"line":932,"type":"if","locations":[{"start":{"line":932,"column":8},"end":{"line":932,"column":8}},{"start":{"line":932,"column":8},"end":{"line":932,"column":8}}]},"54":{"line":936,"type":"cond-expr","locations":[{"start":{"line":936,"column":30},"end":{"line":936,"column":60}},{"start":{"line":936,"column":62},"end":{"line":936,"column":78}}]},"55":{"line":960,"type":"if","locations":[{"start":{"line":960,"column":8},"end":{"line":960,"column":8}},{"start":{"line":960,"column":8},"end":{"line":960,"column":8}}]},"56":{"line":977,"type":"if","locations":[{"start":{"line":977,"column":8},"end":{"line":977,"column":8}},{"start":{"line":977,"column":8},"end":{"line":977,"column":8}}]},"57":{"line":977,"type":"binary-expr","locations":[{"start":{"line":977,"column":12},"end":{"line":977,"column":31}},{"start":{"line":977,"column":35},"end":{"line":977,"column":56}}]},"58":{"line":1014,"type":"if","locations":[{"start":{"line":1014,"column":8},"end":{"line":1014,"column":8}},{"start":{"line":1014,"column":8},"end":{"line":1014,"column":8}}]},"59":{"line":1342,"type":"binary-expr","locations":[{"start":{"line":1342,"column":20},"end":{"line":1342,"column":37}},{"start":{"line":1342,"column":41},"end":{"line":1342,"column":45}}]}},"code":["(function () { YUI.add('console', function (Y, NAME) {","","/**"," * Console creates a visualization for messages logged through calls to a YUI"," * instance's Y.log( message, category, source ) method. The"," * debug versions of YUI modules will include logging statements to offer some"," * insight into the steps executed during that module's operation. Including"," * log statements in your code will cause those messages to also appear in the"," * Console. Use Console to aid in developing your page or application."," *"," * Entry categories "info", "warn", and "error""," * are also referred to as the log level, and entries are filtered against the"," * configured logLevel."," *"," * @module console"," */","var getCN = Y.ClassNameManager.getClassName,"," CHECKED = 'checked',"," CLEAR = 'clear',"," CLICK = 'click',"," COLLAPSED = 'collapsed',"," CONSOLE = 'console',"," CONTENT_BOX = 'contentBox',"," DISABLED = 'disabled',"," ENTRY = 'entry',"," ERROR = 'error',"," HEIGHT = 'height',"," INFO = 'info',"," LAST_TIME = 'lastTime',"," PAUSE = 'pause',"," PAUSED = 'paused',"," RESET = 'reset',"," START_TIME = 'startTime',"," TITLE = 'title',"," WARN = 'warn',",""," DOT = '.',",""," C_BUTTON = getCN(CONSOLE,'button'),"," C_CHECKBOX = getCN(CONSOLE,'checkbox'),"," C_CLEAR = getCN(CONSOLE,CLEAR),"," C_COLLAPSE = getCN(CONSOLE,'collapse'),"," C_COLLAPSED = getCN(CONSOLE,COLLAPSED),"," C_CONSOLE_CONTROLS = getCN(CONSOLE,'controls'),"," C_CONSOLE_HD = getCN(CONSOLE,'hd'),"," C_CONSOLE_BD = getCN(CONSOLE,'bd'),"," C_CONSOLE_FT = getCN(CONSOLE,'ft'),"," C_CONSOLE_TITLE = getCN(CONSOLE,TITLE),"," C_ENTRY = getCN(CONSOLE,ENTRY),"," C_ENTRY_CAT = getCN(CONSOLE,ENTRY,'cat'),"," C_ENTRY_CONTENT = getCN(CONSOLE,ENTRY,'content'),"," C_ENTRY_META = getCN(CONSOLE,ENTRY,'meta'),"," C_ENTRY_SRC = getCN(CONSOLE,ENTRY,'src'),"," C_ENTRY_TIME = getCN(CONSOLE,ENTRY,'time'),"," C_PAUSE = getCN(CONSOLE,PAUSE),"," C_PAUSE_LABEL = getCN(CONSOLE,PAUSE,'label'),",""," RE_INLINE_SOURCE = /^(\\S+)\\s/,"," RE_AMP = /&(?!#?[a-z0-9]+;)/g,"," RE_GT = />/g,"," RE_LT = /'+"," '
'+"," '',",""," L = Y.Lang,"," create = Y.Node.create,"," isNumber = L.isNumber,"," isString = L.isString,"," merge = Y.merge,"," substitute = Y.Lang.sub;","","/**","A basic console that displays messages logged throughout your application.","","@class Console","@constructor","@extends Widget","@param [config] {Object} Object literal specifying widget configuration properties.","**/","function Console() {"," Console.superclass.constructor.apply(this,arguments);","}","","Y.Console = Y.extend(Console, Y.Widget,","","// Y.Console prototype","{"," /**"," * Category to prefix all event subscriptions to allow for ease of detach"," * during destroy."," *"," * @property _evtCat"," * @type string"," * @protected"," */"," _evtCat : null,",""," /**"," * Reference to the Node instance containing the header contents."," *"," * @property _head"," * @type Node"," * @default null"," * @protected"," */"," _head : null,",""," /**"," * Reference to the Node instance that will house the console messages."," *"," * @property _body"," * @type Node"," * @default null"," * @protected"," */"," _body : null,",""," /**"," * Reference to the Node instance containing the footer contents."," *"," * @property _foot"," * @type Node"," * @default null"," * @protected"," */"," _foot : null,",""," /**"," * Holds the object API returned from Y.later for the print"," * loop interval."," *"," * @property _printLoop"," * @type Object"," * @default null"," * @protected"," */"," _printLoop : null,",""," /**"," * Array of normalized message objects awaiting printing."," *"," * @property buffer"," * @type Array"," * @default null"," * @protected"," */"," buffer : null,",""," /**"," * Wrapper for Y.log."," *"," * @method log"," * @param arg* {MIXED} (all arguments passed through to Y.log)"," * @chainable"," */"," log : function () {"," Y.log.apply(Y,arguments);",""," return this;"," },",""," /**"," * Clear the console of messages and flush the buffer of pending messages."," *"," * @method clearConsole"," * @chainable"," */"," clearConsole : function () {"," // TODO: clear event listeners from console contents"," this._body.empty();",""," this._cancelPrintLoop();",""," this.buffer = [];",""," return this;"," },",""," /**"," * Clears the console and resets internal timers."," *"," * @method reset"," * @chainable"," */"," reset : function () {"," this.fire(RESET);",""," return this;"," },",""," /**"," * Collapses the body and footer."," *"," * @method collapse"," * @chainable"," */"," collapse : function () {"," this.set(COLLAPSED, true);",""," return this;"," },",""," /**"," * Expands the body and footer if collapsed."," *"," * @method expand"," * @chainable"," */"," expand : function () {"," this.set(COLLAPSED, false);",""," return this;"," },",""," /**"," * Outputs buffered messages to the console UI. This is typically called"," * from a scheduled interval until the buffer is empty (referred to as the"," * print loop). The number of buffered messages output to the Console is"," * limited to the number provided as an argument. If no limit is passed,"," * all buffered messages are rendered."," *"," * @method printBuffer"," * @param limit {Number} (optional) max number of buffered entries to write"," * @chainable"," */"," printBuffer: function (limit) {"," var messages = this.buffer,"," debug = Y.config.debug,"," entries = [],"," consoleLimit= this.get('consoleLimit'),"," newestOnTop = this.get('newestOnTop'),"," anchor = newestOnTop ? this._body.get('firstChild') : null,"," i;",""," if (messages.length > consoleLimit) {"," messages.splice(0, messages.length - consoleLimit);"," }",""," limit = Math.min(messages.length, (limit || messages.length));",""," // turn off logging system"," Y.config.debug = false;",""," if (!this.get(PAUSED) && this.get('rendered')) {",""," for (i = 0; i < limit && messages.length; ++i) {"," entries[i] = this._createEntryHTML(messages.shift());"," }",""," if (!messages.length) {"," this._cancelPrintLoop();"," }",""," if (entries.length) {"," if (newestOnTop) {"," entries.reverse();"," }",""," this._body.insertBefore(create(entries.join('')), anchor);",""," if (this.get('scrollIntoView')) {"," this.scrollToLatest();"," }",""," this._trimOldEntries();"," }"," }",""," // restore logging system"," Y.config.debug = debug;",""," return this;"," },","",""," /**"," * Constructor code. Set up the buffer and entry template, publish"," * internal events, and subscribe to the configured logEvent."," *"," * @method initializer"," * @protected"," */"," initializer : function () {"," this._evtCat = Y.stamp(this) + '|';",""," this.buffer = [];",""," this.get('logSource').on(this._evtCat +"," this.get('logEvent'),Y.bind(\"_onLogEvent\",this));",""," /**"," * Transfers a received message to the print loop buffer. Default"," * behavior defined in _defEntryFn."," *"," * @event entry"," * @param event {Event.Facade} An Event Facade object with the following attribute specific properties added:"," *
"," *
message
"," *
The message data normalized into an object literal (see _normalizeMessage)
"," *
"," * @preventable _defEntryFn"," */"," this.publish(ENTRY, { defaultFn: this._defEntryFn });",""," /**"," * Triggers the reset behavior via the default logic in _defResetFn."," *"," * @event reset"," * @param event {Event.Facade} Event Facade object"," * @preventable _defResetFn"," */"," this.publish(RESET, { defaultFn: this._defResetFn });",""," this.after('rendered', this._schedulePrint);"," },",""," /**"," * Tears down the instance, flushing event subscriptions and purging the UI."," *"," * @method destructor"," * @protected"," */"," destructor : function () {"," var bb = this.get('boundingBox');",""," this._cancelPrintLoop();",""," this.get('logSource').detach(this._evtCat + '*');",""," bb.purge(true);"," },",""," /**"," * Generate the Console UI."," *"," * @method renderUI"," * @protected"," */"," renderUI : function () {"," this._initHead();"," this._initBody();"," this._initFoot();",""," // Apply positioning to the bounding box if appropriate"," var style = this.get('style');"," if (style !== 'block') {"," this.get('boundingBox').addClass(this.getClassName(style));"," }"," },",""," /**"," * Sync the UI state to the current attribute state."," *"," * @method syncUI"," */"," syncUI : function () {"," this._uiUpdatePaused(this.get(PAUSED));"," this._uiUpdateCollapsed(this.get(COLLAPSED));"," this._uiSetHeight(this.get(HEIGHT));"," },",""," /**"," * Set up event listeners to wire up the UI to the internal state."," *"," * @method bindUI"," * @protected"," */"," bindUI : function () {"," this.get(CONTENT_BOX).one('button.'+C_COLLAPSE)."," on(CLICK,this._onCollapseClick,this);",""," this.get(CONTENT_BOX).one('input[type=checkbox].'+C_PAUSE)."," on(CLICK,this._onPauseClick,this);",""," this.get(CONTENT_BOX).one('button.'+C_CLEAR)."," on(CLICK,this._onClearClick,this);",""," // Attribute changes"," this.after(this._evtCat + 'stringsChange',"," this._afterStringsChange);"," this.after(this._evtCat + 'pausedChange',"," this._afterPausedChange);"," this.after(this._evtCat + 'consoleLimitChange',"," this._afterConsoleLimitChange);"," this.after(this._evtCat + 'collapsedChange',"," this._afterCollapsedChange);"," },","",""," /**"," * Create the DOM structure for the header elements."," *"," * @method _initHead"," * @protected"," */"," _initHead : function () {"," var cb = this.get(CONTENT_BOX),"," info = merge(Console.CHROME_CLASSES, {"," str_collapse : this.get('strings.collapse'),"," str_title : this.get('strings.title')"," });",""," this._head = create(substitute(Console.HEADER_TEMPLATE,info));",""," cb.insertBefore(this._head,cb.get('firstChild'));"," },",""," /**"," * Create the DOM structure for the console body—where messages are"," * rendered."," *"," * @method _initBody"," * @protected"," */"," _initBody : function () {"," this._body = create(substitute("," Console.BODY_TEMPLATE,"," Console.CHROME_CLASSES));",""," this.get(CONTENT_BOX).appendChild(this._body);"," },",""," /**"," * Create the DOM structure for the footer elements."," *"," * @method _initFoot"," * @protected"," */"," _initFoot : function () {"," var info = merge(Console.CHROME_CLASSES, {"," id_guid : Y.guid(),"," str_pause : this.get('strings.pause'),"," str_clear : this.get('strings.clear')"," });",""," this._foot = create(substitute(Console.FOOTER_TEMPLATE,info));",""," this.get(CONTENT_BOX).appendChild(this._foot);"," },",""," /**"," * Determine if incoming log messages are within the configured logLevel"," * to be buffered for printing."," *"," * @method _isInLogLevel"," * @protected"," */"," _isInLogLevel : function (e) {"," var cat = e.cat, lvl = this.get('logLevel');",""," if (lvl !== INFO) {"," cat = cat || INFO;",""," if (isString(cat)) {"," cat = cat.toLowerCase();"," }",""," if ((cat === WARN && lvl === ERROR) ||"," (cat === INFO && lvl !== INFO)) {"," return false;"," }"," }",""," return true;"," },",""," /**"," * Create a log entry message from the inputs including the following keys:"," *
"," *
time - this moment
"," *
message - leg message
"," *
category - logLevel or custom category for the message
"," *
source - when provided, the widget or util calling Y.log
"," *
sourceAndDetail - same as source but can include instance info
"," *
localTime - readable version of time
"," *
elapsedTime - ms since last entry
"," *
totalTime - ms since Console was instantiated or reset
"," *
"," *"," * @method _normalizeMessage"," * @param e {Event} custom event containing the log message"," * @return Object the message object"," * @protected"," */"," _normalizeMessage : function (e) {",""," var msg = e.msg,"," cat = e.cat,"," src = e.src,",""," m = {"," time : new Date(),"," message : msg,"," category : cat || this.get('defaultCategory'),"," sourceAndDetail : src || this.get('defaultSource'),"," source : null,"," localTime : null,"," elapsedTime : null,"," totalTime : null"," };",""," // Extract m.source \"Foo\" from m.sourceAndDetail \"Foo bar baz\""," m.source = RE_INLINE_SOURCE.test(m.sourceAndDetail) ?"," RegExp.$1 : m.sourceAndDetail;"," m.localTime = m.time.toLocaleTimeString ?"," m.time.toLocaleTimeString() : (m.time + '');"," m.elapsedTime = m.time - this.get(LAST_TIME);"," m.totalTime = m.time - this.get(START_TIME);",""," this._set(LAST_TIME,m.time);",""," return m;"," },",""," /**"," * Sets an interval for buffered messages to be output to the console."," *"," * @method _schedulePrint"," * @protected"," */"," _schedulePrint : function () {"," if (!this._printLoop && !this.get(PAUSED) && this.get('rendered')) {"," this._printLoop = Y.later("," this.get('printTimeout'),"," this, this.printBuffer,"," this.get('printLimit'), true);"," }"," },",""," /**"," * Translates message meta into the markup for a console entry."," *"," * @method _createEntryHTML"," * @param m {Object} object literal containing normalized message metadata"," * @return String"," * @protected"," */"," _createEntryHTML : function (m) {"," m = merge("," this._htmlEscapeMessage(m),"," Console.ENTRY_CLASSES,"," {"," cat_class : this.getClassName(ENTRY,m.category),"," src_class : this.getClassName(ENTRY,m.source)"," });",""," return this.get('entryTemplate').replace(/\\{(\\w+)\\}/g,"," function (_,token) {"," return token in m ? m[token] : '';"," });"," },",""," /**"," * Scrolls to the most recent entry"," *"," * @method scrollToLatest"," * @chainable"," */"," scrollToLatest : function () {"," var scrollTop = this.get('newestOnTop') ?"," 0 :"," this._body.get('scrollHeight');",""," this._body.set('scrollTop', scrollTop);"," },",""," /**"," * Performs HTML escaping on strings in the message object."," *"," * @method _htmlEscapeMessage"," * @param m {Object} the normalized message object"," * @return Object the message object with proper escapement"," * @protected"," */"," _htmlEscapeMessage : function (m) {"," m.message = this._encodeHTML(m.message);"," m.source = this._encodeHTML(m.source);"," m.sourceAndDetail = this._encodeHTML(m.sourceAndDetail);"," m.category = this._encodeHTML(m.category);",""," return m;"," },",""," /**"," * Removes the oldest message entries from the UI to maintain the limit"," * specified in the consoleLimit configuration."," *"," * @method _trimOldEntries"," * @protected"," */"," _trimOldEntries : function () {"," // Turn off the logging system for the duration of this operation"," // to prevent an infinite loop"," Y.config.debug = false;",""," var bd = this._body,"," limit = this.get('consoleLimit'),"," debug = Y.config.debug,"," entries,e,i,l;",""," if (bd) {"," entries = bd.all(DOT+C_ENTRY);"," l = entries.size() - limit;",""," if (l > 0) {"," if (this.get('newestOnTop')) {"," i = limit;"," l = entries.size();"," } else {"," i = 0;"," }",""," this._body.setStyle('display','none');",""," for (;i < l; ++i) {"," e = entries.item(i);"," if (e) {"," e.remove();"," }"," }",""," this._body.setStyle('display','');"," }",""," }",""," Y.config.debug = debug;"," },",""," /**"," * Returns the input string with ampersands (&), <, and > encoded"," * as HTML entities."," *"," * @method _encodeHTML"," * @param s {String} the raw string"," * @return String the encoded string"," * @protected"," */"," _encodeHTML : function (s) {"," return isString(s) ?"," s.replace(RE_AMP,ESC_AMP)."," replace(RE_LT, ESC_LT)."," replace(RE_GT, ESC_GT) :"," s;"," },",""," /**"," * Clears the timeout for printing buffered messages."," *"," * @method _cancelPrintLoop"," * @protected"," */"," _cancelPrintLoop : function () {"," if (this._printLoop) {"," this._printLoop.cancel();"," this._printLoop = null;"," }"," },",""," /**"," * Validates input value for style attribute. Accepts only values 'inline',"," * 'block', and 'separate'."," *"," * @method _validateStyle"," * @param style {String} the proposed value"," * @return {Boolean} pass/fail"," * @protected"," */"," _validateStyle : function (style) {"," return style === 'inline' || style === 'block' || style === 'separate';"," },",""," /**"," * Event handler for clicking on the Pause checkbox to update the paused"," * attribute."," *"," * @method _onPauseClick"," * @param e {Event} DOM event facade for the click event"," * @protected"," */"," _onPauseClick : function (e) {"," this.set(PAUSED,e.target.get(CHECKED));"," },",""," /**"," * Event handler for clicking on the Clear button. Pass-through to"," * this.clearConsole()."," *"," * @method _onClearClick"," * @param e {Event} DOM event facade for the click event"," * @protected"," */"," _onClearClick : function (e) {"," this.clearConsole();"," },",""," /**"," * Event handler for clicking on the Collapse/Expand button. Sets the"," * "collapsed" attribute accordingly."," *"," * @method _onCollapseClick"," * @param e {Event} DOM event facade for the click event"," * @protected"," */"," _onCollapseClick : function (e) {"," this.set(COLLAPSED, !this.get(COLLAPSED));"," },","",""," /**"," * Validator for logSource attribute."," *"," * @method _validateLogSource"," * @param v {Object} the desired logSource"," * @return {Boolean} true if the input is an object with an on"," * method"," * @protected"," */"," _validateLogSource: function (v) {"," return v && Y.Lang.isFunction(v.on);"," },",""," /**"," * Setter method for logLevel attribute. Acceptable values are"," * "error", "warn", and "info" (case"," * insensitive). Other values are treated as "info"."," *"," * @method _setLogLevel"," * @param v {String} the desired log level"," * @return String One of Console.LOG_LEVEL_INFO, _WARN, or _ERROR"," * @protected"," */"," _setLogLevel : function (v) {"," if (isString(v)) {"," v = v.toLowerCase();"," }",""," return (v === WARN || v === ERROR) ? v : INFO;"," },",""," /**"," * Getter method for useBrowserConsole attribute. Just a pass through to"," * the YUI instance configuration setting."," *"," * @method _getUseBrowserConsole"," * @return {Boolean} or null if logSource is not a YUI instance"," * @protected"," */"," _getUseBrowserConsole: function () {"," var logSource = this.get('logSource');"," return logSource instanceof YUI ?"," logSource.config.useBrowserConsole : null;"," },",""," /**"," * Setter method for useBrowserConsole attributes. Only functional if the"," * logSource attribute points to a YUI instance. Passes the value down to"," * the YUI instance. NOTE: multiple Console instances cannot maintain"," * independent useBrowserConsole values, since it is just a pass through to"," * the YUI instance configuration."," *"," * @method _setUseBrowserConsole"," * @param v {Boolean} false to disable browser console printing (default)"," * @return {Boolean} true|false if logSource is a YUI instance"," * @protected"," */"," _setUseBrowserConsole: function (v) {"," var logSource = this.get('logSource');"," if (logSource instanceof YUI) {"," v = !!v;"," logSource.config.useBrowserConsole = v;"," return v;"," } else {"," return Y.Attribute.INVALID_VALUE;"," }"," },",""," /**"," * Set the height of the Console container. Set the body height to the"," * difference between the configured height and the calculated heights of"," * the header and footer."," * Overrides Widget.prototype._uiSetHeight."," *"," * @method _uiSetHeight"," * @param v {String|Number} the new height"," * @protected"," */"," _uiSetHeight : function (v) {"," Console.superclass._uiSetHeight.apply(this,arguments);",""," if (this._head && this._foot) {"," var h = this.get('boundingBox').get('offsetHeight') -"," this._head.get('offsetHeight') -"," this._foot.get('offsetHeight');",""," this._body.setStyle(HEIGHT,h+'px');"," }"," },",""," /**"," * Over-ride default content box sizing to do nothing, since we're sizing"," * the body section to fill out height ourselves."," *"," * @method _uiSizeCB"," * @protected"," */"," _uiSizeCB : function() {"," // Do Nothing. Ideally want to move to Widget-StdMod, which accounts for"," // _uiSizeCB"," },",""," /**"," * Updates the UI if changes are made to any of the strings in the strings"," * attribute."," *"," * @method _afterStringsChange"," * @param e {Event} Custom event for the attribute change"," * @protected"," */"," _afterStringsChange : function (e) {"," var prop = e.subAttrName ? e.subAttrName.split(DOT)[1] : null,"," cb = this.get(CONTENT_BOX),"," before = e.prevVal,"," after = e.newVal;",""," if ((!prop || prop === TITLE) && before.title !== after.title) {"," cb.all(DOT+C_CONSOLE_TITLE).setHTML(after.title);"," }",""," if ((!prop || prop === PAUSE) && before.pause !== after.pause) {"," cb.all(DOT+C_PAUSE_LABEL).setHTML(after.pause);"," }",""," if ((!prop || prop === CLEAR) && before.clear !== after.clear) {"," cb.all(DOT+C_CLEAR).set('value',after.clear);"," }"," },",""," /**"," * Updates the UI and schedules or cancels the print loop."," *"," * @method _afterPausedChange"," * @param e {Event} Custom event for the attribute change"," * @protected"," */"," _afterPausedChange : function (e) {"," var paused = e.newVal;",""," if (e.src !== Y.Widget.SRC_UI) {"," this._uiUpdatePaused(paused);"," }",""," if (!paused) {"," this._schedulePrint();"," } else if (this._printLoop) {"," this._cancelPrintLoop();"," }"," },",""," /**"," * Checks or unchecks the paused checkbox"," *"," * @method _uiUpdatePaused"," * @param on {Boolean} the new checked state"," * @protected"," */"," _uiUpdatePaused : function (on) {"," var node = this._foot.all('input[type=checkbox].'+C_PAUSE);",""," if (node) {"," node.set(CHECKED,on);"," }"," },",""," /**"," * Calls this._trimOldEntries() in response to changes in the configured"," * consoleLimit attribute."," *"," * @method _afterConsoleLimitChange"," * @param e {Event} Custom event for the attribute change"," * @protected"," */"," _afterConsoleLimitChange : function () {"," this._trimOldEntries();"," },","",""," /**"," * Updates the className of the contentBox, which should trigger CSS to"," * hide or show the body and footer sections depending on the new value."," *"," * @method _afterCollapsedChange"," * @param e {Event} Custom event for the attribute change"," * @protected"," */"," _afterCollapsedChange : function (e) {"," this._uiUpdateCollapsed(e.newVal);"," },",""," /**"," * Updates the UI to reflect the new Collapsed state"," *"," * @method _uiUpdateCollapsed"," * @param v {Boolean} true for collapsed, false for expanded"," * @protected"," */"," _uiUpdateCollapsed : function (v) {"," var bb = this.get('boundingBox'),"," button = bb.all('button.'+C_COLLAPSE),"," method = v ? 'addClass' : 'removeClass',"," str = this.get('strings.'+(v ? 'expand' : 'collapse'));",""," bb[method](C_COLLAPSED);",""," if (button) {"," button.setHTML(str);"," }",""," this._uiSetHeight(v ? this._head.get('offsetHeight'): this.get(HEIGHT));"," },",""," /**"," * Makes adjustments to the UI if needed when the Console is hidden or shown"," *"," * @method _afterVisibleChange"," * @param e {Event} the visibleChange event"," * @protected"," */"," _afterVisibleChange : function (e) {"," Console.superclass._afterVisibleChange.apply(this,arguments);",""," this._uiUpdateFromHideShow(e.newVal);"," },",""," /**"," * Recalculates dimensions and updates appropriately when shown"," *"," * @method _uiUpdateFromHideShow"," * @param v {Boolean} true for visible, false for hidden"," * @protected"," */"," _uiUpdateFromHideShow : function (v) {"," if (v) {"," this._uiSetHeight(this.get(HEIGHT));"," }"," },",""," /**"," * Responds to log events by normalizing qualifying messages and passing"," * them along through the entry event for buffering etc."," *"," * @method _onLogEvent"," * @param msg {String} the log message"," * @param cat {String} OPTIONAL the category or logLevel of the message"," * @param src {String} OPTIONAL the source of the message (e.g. widget name)"," * @protected"," */"," _onLogEvent : function (e) {",""," if (!this.get(DISABLED) && this._isInLogLevel(e)) {",""," var debug = Y.config.debug;",""," /* TODO: needed? */"," Y.config.debug = false;",""," this.fire(ENTRY, {"," message : this._normalizeMessage(e)"," });",""," Y.config.debug = debug;"," }"," },",""," /**"," * Clears the console, resets the startTime attribute, enables and"," * unpauses the widget."," *"," * @method _defResetFn"," * @protected"," */"," _defResetFn : function () {"," this.clearConsole();"," this.set(START_TIME,new Date());"," this.set(DISABLED,false);"," this.set(PAUSED,false);"," },",""," /**"," * Buffers incoming message objects and schedules the printing."," *"," * @method _defEntryFn"," * @param e {Event} The Custom event carrying the message in its payload"," * @protected"," */"," _defEntryFn : function (e) {"," if (e.message) {"," this.buffer.push(e.message);"," this._schedulePrint();"," }"," }","","},","","// Y.Console static properties","{"," /**"," * The identity of the widget."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME : CONSOLE,",""," /**"," * Static identifier for logLevel configuration setting to allow all"," * incoming messages to generate Console entries."," *"," * @property LOG_LEVEL_INFO"," * @type String"," * @static"," */"," LOG_LEVEL_INFO : INFO,",""," /**"," * Static identifier for logLevel configuration setting to allow only"," * incoming messages of logLevel "warn" or "error""," * to generate Console entries."," *"," * @property LOG_LEVEL_WARN"," * @type String"," * @static"," */"," LOG_LEVEL_WARN : WARN,",""," /**"," * Static identifier for logLevel configuration setting to allow only"," * incoming messages of logLevel "error" to generate"," * Console entries."," *"," * @property LOG_LEVEL_ERROR"," * @type String"," * @static"," */"," LOG_LEVEL_ERROR : ERROR,",""," /**"," * Map (object) of classNames used to populate the placeholders in the"," * Console.ENTRY_TEMPLATE markup when rendering a new Console entry."," *"," *
By default, the keys contained in the object are:
"," *
"," *
entry_class
"," *
entry_meta_class
"," *
entry_cat_class
"," *
entry_src_class
"," *
entry_time_class
"," *
entry_content_class
"," *
"," *"," * @property ENTRY_CLASSES"," * @type Object"," * @static"," */"," ENTRY_CLASSES : {"," entry_class : C_ENTRY,"," entry_meta_class : C_ENTRY_META,"," entry_cat_class : C_ENTRY_CAT,"," entry_src_class : C_ENTRY_SRC,"," entry_time_class : C_ENTRY_TIME,"," entry_content_class : C_ENTRY_CONTENT"," },",""," /**"," * Map (object) of classNames used to populate the placeholders in the"," * Console.HEADER_TEMPLATE, Console.BODY_TEMPLATE, and"," * Console.FOOTER_TEMPLATE markup when rendering the Console UI."," *"," *
By default, the keys contained in the object are:
"," *
"," *
console_hd_class
"," *
console_bd_class
"," *
console_ft_class
"," *
console_controls_class
"," *
console_checkbox_class
"," *
console_pause_class
"," *
console_pause_label_class
"," *
console_button_class
"," *
console_clear_class
"," *
console_collapse_class
"," *
console_title_class
"," *
"," *"," * @property CHROME_CLASSES"," * @type Object"," * @static"," */"," CHROME_CLASSES : {"," console_hd_class : C_CONSOLE_HD,"," console_bd_class : C_CONSOLE_BD,"," console_ft_class : C_CONSOLE_FT,"," console_controls_class : C_CONSOLE_CONTROLS,"," console_checkbox_class : C_CHECKBOX,"," console_pause_class : C_PAUSE,"," console_pause_label_class : C_PAUSE_LABEL,"," console_button_class : C_BUTTON,"," console_clear_class : C_CLEAR,"," console_collapse_class : C_COLLAPSE,"," console_title_class : C_CONSOLE_TITLE"," },",""," /**"," * Markup template used to generate the DOM structure for the header"," * section of the Console when it is rendered. The template includes"," * these {placeholder}s:"," *"," *
"," *
console_button_class - contributed by Console.CHROME_CLASSES
"," *
console_collapse_class - contributed by Console.CHROME_CLASSES
"," *
console_hd_class - contributed by Console.CHROME_CLASSES
"," *
console_title_class - contributed by Console.CHROME_CLASSES
"," *
str_collapse - pulled from attribute strings.collapse
',",""," /**"," * Markup template used to generate the DOM structure for the Console body"," * (where the messages are inserted) when it is rendered. The template"," * includes only the {placeholder} "console_bd_class", which is"," * constributed by Console.CHROME_CLASSES."," *"," * @property BODY_TEMPLATE"," * @type String"," * @static"," */"," BODY_TEMPLATE : '',",""," /**"," * Markup template used to generate the DOM structure for the footer"," * section of the Console when it is rendered. The template includes"," * many of the {placeholder}s from Console.CHROME_CLASSES as well as:"," *"," *
"," *
id_guid - generated unique id, relates the label and checkbox
',",""," /**"," * Default markup template used to create the DOM structure for Console"," * entries. The markup contains {placeholder}s for content and classes"," * that are replaced via Y.Lang.sub. The default template contains"," * the {placeholder}s identified in Console.ENTRY_CLASSES as well as the"," * following placeholders that will be populated by the log entry data:"," *"," *
"," *
cat_class
"," *
src_class
"," *
totalTime
"," *
elapsedTime
"," *
localTime
"," *
sourceAndDetail
"," *
message
"," *
"," *"," * @property ENTRY_TEMPLATE"," * @type String"," * @static"," */"," ENTRY_TEMPLATE : ENTRY_TEMPLATE_STR,",""," /**"," * Static property used to define the default attribute configuration of"," * the Widget."," *"," * @property ATTRS"," * @Type Object"," * @static"," */"," ATTRS : {",""," /**"," * Name of the custom event that will communicate log messages."," *"," * @attribute logEvent"," * @type String"," * @default \"yui:log\""," */"," logEvent : {"," value : 'yui:log',"," writeOnce : true,"," validator : isString"," },",""," /**"," * Object that will emit the log events. By default the YUI instance."," * To have a single Console capture events from all YUI instances, set"," * this to the Y.Global object."," *"," * @attribute logSource"," * @type EventTarget"," * @default Y"," */"," logSource : {"," value : Y,"," writeOnce : true,"," validator : function (v) {"," return this._validateLogSource(v);"," }"," },",""," /**"," * Collection of strings used to label elements in the Console UI."," * Default collection contains the following name:value pairs:"," *"," *
"," *
title : "Log Console"
"," *
pause : "Pause"
"," *
clear : "Clear"
"," *
collapse : "Collapse"
"," *
expand : "Expand"
"," *
"," *"," * @attribute strings"," * @type Object"," */"," strings : {"," valueFn: function() { return Y.Intl.get(\"console\"); }"," },",""," /**"," * Boolean to pause the outputting of new messages to the console."," * When paused, messages will accumulate in the buffer."," *"," * @attribute paused"," * @type boolean"," * @default false"," */"," paused : {"," value : false,"," validator : L.isBoolean"," },",""," /**"," * If a category is not specified in the Y.log(..) statement, this"," * category will be used. Categories "info","," * "warn", and "error" are also called log level."," *"," * @attribute defaultCategory"," * @type String"," * @default \"info\""," */"," defaultCategory : {"," value : INFO,"," validator : isString"," },",""," /**"," * If a source is not specified in the Y.log(..) statement, this"," * source will be used."," *"," * @attribute defaultSource"," * @type String"," * @default \"global\""," */"," defaultSource : {"," value : 'global',"," validator : isString"," },",""," /**"," * Markup template used to create the DOM structure for Console entries."," *"," * @attribute entryTemplate"," * @type String"," * @default Console.ENTRY_TEMPLATE"," */"," entryTemplate : {"," value : ENTRY_TEMPLATE_STR,"," validator : isString"," },",""," /**"," * Minimum entry log level to render into the Console. The initial"," * logLevel value for all Console instances defaults from the"," * Y.config.logLevel YUI configuration, or Console.LOG_LEVEL_INFO if"," * that configuration is not set."," *"," * Possible values are "info", "warn","," * "error" (case insensitive), or their corresponding statics"," * Console.LOG_LEVEL_INFO and so on."," *"," * @attribute logLevel"," * @type String"," * @default Y.config.logLevel or Console.LOG_LEVEL_INFO"," */"," logLevel : {"," value : Y.config.logLevel || INFO,"," setter : function (v) {"," return this._setLogLevel(v);"," }"," },",""," /**"," * Millisecond timeout between iterations of the print loop, moving"," * entries from the buffer to the UI."," *"," * @attribute printTimeout"," * @type Number"," * @default 100"," */"," printTimeout : {"," value : 100,"," validator : isNumber"," },",""," /**"," * Maximum number of entries printed in each iteration of the print"," * loop. This is used to prevent excessive logging locking the page UI."," *"," * @attribute printLimit"," * @type Number"," * @default 50"," */"," printLimit : {"," value : 50,"," validator : isNumber"," },",""," /**"," * Maximum number of Console entries allowed in the Console body at one"," * time. This is used to keep acquired messages from exploding the"," * DOM tree and impacting page performance."," *"," * @attribute consoleLimit"," * @type Number"," * @default 300"," */"," consoleLimit : {"," value : 300,"," validator : isNumber"," },",""," /**"," * New entries should display at the top of the Console or the bottom?"," *"," * @attribute newestOnTop"," * @type Boolean"," * @default true"," */"," newestOnTop : {"," value : true"," },",""," /**"," * When new entries are added to the Console UI, should they be"," * scrolled into view?"," *"," * @attribute scrollIntoView"," * @type Boolean"," * @default true"," */"," scrollIntoView : {"," value : true"," },",""," /**"," * The baseline time for this Console instance, used to measure elapsed"," * time from the moment the console module is used to the"," * moment each new entry is logged (not rendered)."," *"," * This value is reset by the instance method myConsole.reset()."," *"," * @attribute startTime"," * @type Date"," * @default The moment the console module is used"," */"," startTime : {"," value : new Date()"," },",""," /**"," * The precise time the last entry was logged. Used to measure elapsed"," * time between log messages."," *"," * @attribute lastTime"," * @type Date"," * @default The moment the console module is used"," */"," lastTime : {"," value : new Date(),"," readOnly: true"," },",""," /**"," * Controls the collapsed state of the Console"," *"," * @attribute collapsed"," * @type Boolean"," * @default false"," */"," collapsed : {"," value : false"," },",""," /**"," * String with units, or number, representing the height of the Console,"," * inclusive of header and footer. If a number is provided, the default"," * unit, defined by Widget's DEF_UNIT, property is used."," *"," * @attribute height"," * @default \"300px\""," * @type {String | Number}"," */"," height: {"," value: \"300px\""," },",""," /**"," * String with units, or number, representing the width of the Console."," * If a number is provided, the default unit, defined by Widget's"," * DEF_UNIT, property is used."," *"," * @attribute width"," * @default \"300px\""," * @type {String | Number}"," */"," width: {"," value: \"300px\""," },",""," /**"," * Pass through to the YUI instance useBrowserConsole configuration."," * By default this is set to false, which will disable logging to the"," * browser console when a Console instance is created. If the"," * logSource is not a YUI instance, this has no effect."," *"," * @attribute useBrowserConsole"," * @type {Boolean}"," * @default false"," */"," useBrowserConsole : {"," lazyAdd: false,"," value: false,"," getter : function () {"," return this._getUseBrowserConsole();"," },"," setter : function (v) {"," return this._setUseBrowserConsole(v);"," }"," },",""," /**"," * Allows the Console to flow in the document. Available values are"," * 'inline', 'block', and 'separate' (the default)."," *"," * @attribute style"," * @type {String}"," * @default 'separate'"," */"," style : {"," value : 'separate',"," writeOnce : true,"," validator : function (v) {"," return this._validateStyle(v);"," }"," }"," }","","});","","","}, '3.13.0', {\"requires\": [\"yui-log\", \"widget\"], \"skinnable\": true, \"lang\": [\"en\", \"es\", \"hu\", \"it\", \"ja\"]});","","}());"]};
+}
+var __cov_8J$sGdr5$xhQeErZZxQfdg = __coverage__['build/console/console.js'];
+__cov_8J$sGdr5$xhQeErZZxQfdg.s['1']++;YUI.add('console',function(Y,NAME){__cov_8J$sGdr5$xhQeErZZxQfdg.f['1']++;__cov_8J$sGdr5$xhQeErZZxQfdg.s['2']++;var getCN=Y.ClassNameManager.getClassName,CHECKED='checked',CLEAR='clear',CLICK='click',COLLAPSED='collapsed',CONSOLE='console',CONTENT_BOX='contentBox',DISABLED='disabled',ENTRY='entry',ERROR='error',HEIGHT='height',INFO='info',LAST_TIME='lastTime',PAUSE='pause',PAUSED='paused',RESET='reset',START_TIME='startTime',TITLE='title',WARN='warn',DOT='.',C_BUTTON=getCN(CONSOLE,'button'),C_CHECKBOX=getCN(CONSOLE,'checkbox'),C_CLEAR=getCN(CONSOLE,CLEAR),C_COLLAPSE=getCN(CONSOLE,'collapse'),C_COLLAPSED=getCN(CONSOLE,COLLAPSED),C_CONSOLE_CONTROLS=getCN(CONSOLE,'controls'),C_CONSOLE_HD=getCN(CONSOLE,'hd'),C_CONSOLE_BD=getCN(CONSOLE,'bd'),C_CONSOLE_FT=getCN(CONSOLE,'ft'),C_CONSOLE_TITLE=getCN(CONSOLE,TITLE),C_ENTRY=getCN(CONSOLE,ENTRY),C_ENTRY_CAT=getCN(CONSOLE,ENTRY,'cat'),C_ENTRY_CONTENT=getCN(CONSOLE,ENTRY,'content'),C_ENTRY_META=getCN(CONSOLE,ENTRY,'meta'),C_ENTRY_SRC=getCN(CONSOLE,ENTRY,'src'),C_ENTRY_TIME=getCN(CONSOLE,ENTRY,'time'),C_PAUSE=getCN(CONSOLE,PAUSE),C_PAUSE_LABEL=getCN(CONSOLE,PAUSE,'label'),RE_INLINE_SOURCE=/^(\S+)\s/,RE_AMP=/&(?!#?[a-z0-9]+;)/g,RE_GT=/>/g,RE_LT=/'+'
',ENTRY_TEMPLATE:$,ATTRS:{logEvent:{value:"yui:log",writeOnce:!0,validator:G},logSource:{value:e,writeOnce:!0,validator:function(e){return this._validateLogSource(e)}},strings:{valueFn:function(){return e.Intl.get("console")}},paused:{value:!1,validator:J.isBoolean},defaultCategory:{value:p,validator:G},defaultSource:{value:"global",validator:G},entryTemplate:{value:$,validator:G},logLevel:{value:e.config.logLevel||p,setter:function(e){return this._setLogLevel(e)}},printTimeout:{value:100,validator:Q},printLimit:{value:50,validator:Q},consoleLimit:{value:300,validator:Q},newestOnTop:{value:!0},scrollIntoView:{value:!0},startTime:{value:new Date},lastTime:{value:new Date,readOnly:!0},collapsed:{value:!1},height:{value:"300px"},width:{value:"300px"},useBrowserConsole:{lazyAdd:!1,value:!1,getter:function(){return this._getUseBrowserConsole()},setter:function(e){return this._setUseBrowserConsole(e)}},style:{value:"separate",writeOnce:!0,validator:function(e){return this._validateStyle(e)}}}})},"3.13.0",{requires:["yui-log","widget"],skinnable:!0,lang:["en","es","hu","it","ja"]});
diff --git a/lib/yuilib/3.12.0/console/console.js b/lib/yuilib/3.13.0/console/console.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/console/console.js
rename to lib/yuilib/3.13.0/console/console.js
index 6c4e5dc669c..4158de3d510
--- a/lib/yuilib/3.12.0/console/console.js
+++ b/lib/yuilib/3.13.0/console/console.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -70,7 +70,7 @@ var getCN = Y.ClassNameManager.getClassName,
ESC_AMP = '&',
ESC_GT = '>',
ESC_LT = '<',
-
+
ENTRY_TEMPLATE_STR =
'
'+
'
'+
@@ -92,7 +92,7 @@ var getCN = Y.ClassNameManager.getClassName,
isString = L.isString,
merge = Y.merge,
substitute = Y.Lang.sub;
-
+
/**
A basic console that displays messages logged throughout your application.
@@ -208,7 +208,7 @@ Y.Console = Y.extend(Console, Y.Widget,
*/
reset : function () {
this.fire(RESET);
-
+
return this;
},
@@ -242,7 +242,7 @@ Y.Console = Y.extend(Console, Y.Widget,
* print loop). The number of buffered messages output to the Console is
* limited to the number provided as an argument. If no limit is passed,
* all buffered messages are rendered.
- *
+ *
* @method printBuffer
* @param limit {Number} (optional) max number of buffered entries to write
* @chainable
@@ -261,7 +261,7 @@ Y.Console = Y.extend(Console, Y.Widget,
}
limit = Math.min(messages.length, (limit || messages.length));
-
+
// turn off logging system
Y.config.debug = false;
@@ -296,11 +296,11 @@ Y.Console = Y.extend(Console, Y.Widget,
return this;
},
-
+
/**
* Constructor code. Set up the buffer and entry template, publish
* internal events, and subscribe to the configured logEvent.
- *
+ *
* @method initializer
* @protected
*/
@@ -350,7 +350,7 @@ Y.Console = Y.extend(Console, Y.Widget,
this._cancelPrintLoop();
this.get('logSource').detach(this._evtCat + '*');
-
+
bb.purge(true);
},
@@ -410,7 +410,7 @@ Y.Console = Y.extend(Console, Y.Widget,
this._afterCollapsedChange);
},
-
+
/**
* Create the DOM structure for the header elements.
*
@@ -526,7 +526,7 @@ Y.Console = Y.extend(Console, Y.Widget,
// Extract m.source "Foo" from m.sourceAndDetail "Foo bar baz"
m.source = RE_INLINE_SOURCE.test(m.sourceAndDetail) ?
RegExp.$1 : m.sourceAndDetail;
- m.localTime = m.time.toLocaleTimeString ?
+ m.localTime = m.time.toLocaleTimeString ?
m.time.toLocaleTimeString() : (m.time + '');
m.elapsedTime = m.time - this.get(LAST_TIME);
m.totalTime = m.time - this.get(START_TIME);
@@ -758,7 +758,7 @@ Y.Console = Y.extend(Console, Y.Widget,
if (isString(v)) {
v = v.toLowerCase();
}
-
+
return (v === WARN || v === ERROR) ? v : INFO;
},
@@ -824,13 +824,13 @@ Y.Console = Y.extend(Console, Y.Widget,
/**
* Over-ride default content box sizing to do nothing, since we're sizing
* the body section to fill out height ourselves.
- *
+ *
* @method _uiSizeCB
* @protected
*/
_uiSizeCB : function() {
// Do Nothing. Ideally want to move to Widget-StdMod, which accounts for
- // _uiSizeCB
+ // _uiSizeCB
},
/**
@@ -899,7 +899,7 @@ Y.Console = Y.extend(Console, Y.Widget,
/**
* Calls this._trimOldEntries() in response to changes in the configured
* consoleLimit attribute.
- *
+ *
* @method _afterConsoleLimitChange
* @param e {Event} Custom event for the attribute change
* @protected
@@ -972,7 +972,7 @@ Y.Console = Y.extend(Console, Y.Widget,
/**
* Responds to log events by normalizing qualifying messages and passing
* them along through the entry event for buffering etc.
- *
+ *
* @method _onLogEvent
* @param msg {String} the log message
* @param cat {String} OPTIONAL the category or logLevel of the message
@@ -1485,7 +1485,7 @@ Y.Console = Y.extend(Console, Y.Widget,
* By default this is set to false, which will disable logging to the
* browser console when a Console instance is created. If the
* logSource is not a YUI instance, this has no effect.
- *
+ *
* @attribute useBrowserConsole
* @type {Boolean}
* @default false
@@ -1503,7 +1503,7 @@ Y.Console = Y.extend(Console, Y.Widget,
/**
* Allows the Console to flow in the document. Available values are
- * 'inline', 'block', and 'separate' (the default).
+ * 'inline', 'block', and 'separate' (the default).
*
* @attribute style
* @type {String}
@@ -1521,4 +1521,4 @@ Y.Console = Y.extend(Console, Y.Widget,
});
-}, '3.12.0', {"requires": ["yui-log", "widget"], "skinnable": true, "lang": ["en", "es", "hu", "it", "ja"]});
+}, '3.13.0', {"requires": ["yui-log", "widget"], "skinnable": true, "lang": ["en", "es", "hu", "it", "ja"]});
diff --git a/lib/yuilib/3.12.0/console/lang/console.js b/lib/yuilib/3.13.0/console/lang/console.js
old mode 100644
new mode 100755
similarity index 81%
rename from lib/yuilib/3.12.0/console/lang/console.js
rename to lib/yuilib/3.13.0/console/lang/console.js
index 530627e5498..bc21305defd
--- a/lib/yuilib/3.12.0/console/lang/console.js
+++ b/lib/yuilib/3.13.0/console/lang/console.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console",function(e){e.Intl.add("console","",{title:"Log Console",pause:"Pause",clear:"Clear",collapse:"Collapse",expand:"Expand"})},"3.12.0");
+YUI.add("lang/console",function(e){e.Intl.add("console","",{title:"Log Console",pause:"Pause",clear:"Clear",collapse:"Collapse",expand:"Expand"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/console/lang/console_en.js b/lib/yuilib/3.13.0/console/lang/console_en.js
old mode 100644
new mode 100755
similarity index 79%
rename from lib/yuilib/3.12.0/console/lang/console_en.js
rename to lib/yuilib/3.13.0/console/lang/console_en.js
index b43e2ea2831..605fa0291fd
--- a/lib/yuilib/3.12.0/console/lang/console_en.js
+++ b/lib/yuilib/3.13.0/console/lang/console_en.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console_en",function(e){e.Intl.add("console","en",{title:"Log Console",pause:"Pause",clear:"Clear",collapse:"Collapse",expand:"Expand"})},"3.12.0");
+YUI.add("lang/console_en",function(e){e.Intl.add("console","en",{title:"Log Console",pause:"Pause",clear:"Clear",collapse:"Collapse",expand:"Expand"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/console/lang/console_es.js b/lib/yuilib/3.13.0/console/lang/console_es.js
old mode 100644
new mode 100755
similarity index 75%
rename from lib/yuilib/3.12.0/console/lang/console_es.js
rename to lib/yuilib/3.13.0/console/lang/console_es.js
index 0dca40e5831..d44bb54e012
--- a/lib/yuilib/3.12.0/console/lang/console_es.js
+++ b/lib/yuilib/3.13.0/console/lang/console_es.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console_es",function(e){e.Intl.add("console","es",{title:"Consola de informaci\u00f3n",pause:"Pausa",clear:"Borrar",collapse:"Colapsar",expand:"Expandir"})},"3.12.0");
+YUI.add("lang/console_es",function(e){e.Intl.add("console","es",{title:"Consola de informaci\u00f3n",pause:"Pausa",clear:"Borrar",collapse:"Colapsar",expand:"Expandir"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/console/lang/console_hu.js b/lib/yuilib/3.13.0/console/lang/console_hu.js
old mode 100644
new mode 100755
similarity index 74%
rename from lib/yuilib/3.12.0/console/lang/console_hu.js
rename to lib/yuilib/3.13.0/console/lang/console_hu.js
index 0f35f4527a8..be2d0dd8139
--- a/lib/yuilib/3.12.0/console/lang/console_hu.js
+++ b/lib/yuilib/3.13.0/console/lang/console_hu.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console_hu",function(e){e.Intl.add("console","hu",{title:"Log Konzol",pause:"Sz\u00fcnet",clear:"T\u00f6r\u00f6l",collapse:"\u00d6sszecsuk",expand:"Kinyit"})},"3.12.0");
+YUI.add("lang/console_hu",function(e){e.Intl.add("console","hu",{title:"Log Konzol",pause:"Sz\u00fcnet",clear:"T\u00f6r\u00f6l",collapse:"\u00d6sszecsuk",expand:"Kinyit"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/console/lang/console_it.js b/lib/yuilib/3.13.0/console/lang/console_it.js
old mode 100644
new mode 100755
similarity index 76%
rename from lib/yuilib/3.12.0/console/lang/console_it.js
rename to lib/yuilib/3.13.0/console/lang/console_it.js
index 76e31c4c0c3..c31d5e0035e
--- a/lib/yuilib/3.12.0/console/lang/console_it.js
+++ b/lib/yuilib/3.13.0/console/lang/console_it.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console_it",function(e){e.Intl.add("console","it",{title:"Console dei messaggi",pause:"Pausa",clear:"Cancella",collapse:"Collassa",expand:"Espandi"})},"3.12.0");
+YUI.add("lang/console_it",function(e){e.Intl.add("console","it",{title:"Console dei messaggi",pause:"Pausa",clear:"Cancella",collapse:"Collassa",expand:"Espandi"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/console/lang/console_ja.js b/lib/yuilib/3.13.0/console/lang/console_ja.js
old mode 100644
new mode 100755
similarity index 80%
rename from lib/yuilib/3.12.0/console/lang/console_ja.js
rename to lib/yuilib/3.13.0/console/lang/console_ja.js
index 0f42a145025..ed214c2215b
--- a/lib/yuilib/3.12.0/console/lang/console_ja.js
+++ b/lib/yuilib/3.13.0/console/lang/console_ja.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/console_ja",function(e){e.Intl.add("console","ja",{title:"\u30ed\u30b0\u30b3\u30f3\u30bd\u30fc\u30eb",pause:"\u4e00\u6642\u505c\u6b62",clear:"\u30af\u30ea\u30a2",collapse:"\u9589\u3058\u308b",expand:"\u958b\u304f"})},"3.12.0");
+YUI.add("lang/console_ja",function(e){e.Intl.add("console","ja",{title:"\u30ed\u30b0\u30b3\u30f3\u30bd\u30fc\u30eb",pause:"\u4e00\u6642\u505c\u6b62",clear:"\u30af\u30ea\u30a2",collapse:"\u9589\u3058\u308b",expand:"\u958b\u304f"})},"3.13.0");
diff --git a/lib/yuilib/3.13.0/content-editable/content-editable-coverage.js b/lib/yuilib/3.13.0/content-editable/content-editable-coverage.js
new file mode 100755
index 00000000000..6e7a3f1b2f6
--- /dev/null
+++ b/lib/yuilib/3.13.0/content-editable/content-editable-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/content-editable/content-editable.js']) {
+ __coverage__['build/content-editable/content-editable.js'] = {"path":"build/content-editable/content-editable.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":28},"end":{"line":1,"column":47}}},"2":{"name":"(anonymous_2)","line":35,"loc":{"start":{"line":35,"column":22},"end":{"line":35,"column":33}}},"3":{"name":"(anonymous_3)","line":62,"loc":{"start":{"line":62,"column":21},"end":{"line":62,"column":32}}},"4":{"name":"(anonymous_4)","line":82,"loc":{"start":{"line":82,"column":20},"end":{"line":82,"column":31}}},"5":{"name":"(anonymous_5)","line":98,"loc":{"start":{"line":98,"column":21},"end":{"line":98,"column":33}}},"6":{"name":"(anonymous_6)","line":125,"loc":{"start":{"line":125,"column":19},"end":{"line":125,"column":31}}},"7":{"name":"(anonymous_7)","line":155,"loc":{"start":{"line":155,"column":29},"end":{"line":155,"column":40}}},"8":{"name":"(anonymous_8)","line":172,"loc":{"start":{"line":172,"column":21},"end":{"line":172,"column":32}}},"9":{"name":"(anonymous_9)","line":178,"loc":{"start":{"line":178,"column":16},"end":{"line":178,"column":37}}},"10":{"name":"(anonymous_10)","line":219,"loc":{"start":{"line":219,"column":25},"end":{"line":219,"column":41}}},"11":{"name":"(anonymous_11)","line":233,"loc":{"start":{"line":233,"column":33},"end":{"line":233,"column":44}}},"12":{"name":"(anonymous_12)","line":255,"loc":{"start":{"line":255,"column":26},"end":{"line":255,"column":37}}},"13":{"name":"(anonymous_13)","line":265,"loc":{"start":{"line":265,"column":17},"end":{"line":265,"column":28}}},"14":{"name":"(anonymous_14)","line":275,"loc":{"start":{"line":275,"column":22},"end":{"line":275,"column":33}}},"15":{"name":"(anonymous_15)","line":286,"loc":{"start":{"line":286,"column":18},"end":{"line":286,"column":29}}},"16":{"name":"(anonymous_16)","line":305,"loc":{"start":{"line":305,"column":23},"end":{"line":305,"column":38}}},"17":{"name":"(anonymous_17)","line":320,"loc":{"start":{"line":320,"column":18},"end":{"line":320,"column":33}}},"18":{"name":"(anonymous_18)","line":340,"loc":{"start":{"line":340,"column":23},"end":{"line":340,"column":37}}},"19":{"name":"(anonymous_19)","line":359,"loc":{"start":{"line":359,"column":17},"end":{"line":359,"column":33}}},"20":{"name":"(anonymous_20)","line":381,"loc":{"start":{"line":381,"column":22},"end":{"line":381,"column":36}}},"21":{"name":"(anonymous_21)","line":410,"loc":{"start":{"line":410,"column":18},"end":{"line":410,"column":34}}},"22":{"name":"(anonymous_22)","line":432,"loc":{"start":{"line":432,"column":25},"end":{"line":432,"column":40}}},"23":{"name":"(anonymous_23)","line":455,"loc":{"start":{"line":455,"column":28},"end":{"line":455,"column":44}}},"24":{"name":"(anonymous_24)","line":465,"loc":{"start":{"line":465,"column":13},"end":{"line":465,"column":24}}},"25":{"name":"(anonymous_25)","line":476,"loc":{"start":{"line":476,"column":26},"end":{"line":476,"column":37}}},"26":{"name":"(anonymous_26)","line":494,"loc":{"start":{"line":494,"column":18},"end":{"line":494,"column":48}}},"27":{"name":"(anonymous_27)","line":516,"loc":{"start":{"line":516,"column":21},"end":{"line":516,"column":32}}},"28":{"name":"(anonymous_28)","line":526,"loc":{"start":{"line":526,"column":16},"end":{"line":526,"column":31}}},"29":{"name":"(anonymous_29)","line":554,"loc":{"start":{"line":554,"column":24},"end":{"line":554,"column":35}}},"30":{"name":"(anonymous_30)","line":577,"loc":{"start":{"line":577,"column":15},"end":{"line":577,"column":26}}},"31":{"name":"(anonymous_31)","line":588,"loc":{"start":{"line":588,"column":14},"end":{"line":588,"column":25}}},"32":{"name":"(anonymous_32)","line":602,"loc":{"start":{"line":602,"column":14},"end":{"line":602,"column":25}}},"33":{"name":"(anonymous_33)","line":682,"loc":{"start":{"line":682,"column":24},"end":{"line":682,"column":36}}},"34":{"name":"(anonymous_34)","line":733,"loc":{"start":{"line":733,"column":24},"end":{"line":733,"column":37}}},"35":{"name":"(anonymous_35)","line":773,"loc":{"start":{"line":773,"column":24},"end":{"line":773,"column":35}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":796,"column":86}},"2":{"start":{"line":14,"column":4},"end":{"line":37,"column":6}},"3":{"start":{"line":36,"column":8},"end":{"line":36,"column":70}},"4":{"start":{"line":39,"column":4},"end":{"line":790,"column":7}},"5":{"start":{"line":63,"column":12},"end":{"line":63,"column":38}},"6":{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},"7":{"start":{"line":66,"column":16},"end":{"line":66,"column":34}},"8":{"start":{"line":69,"column":12},"end":{"line":69,"column":36}},"9":{"start":{"line":71,"column":12},"end":{"line":74,"column":15}},"10":{"start":{"line":83,"column":12},"end":{"line":83,"column":59}},"11":{"start":{"line":85,"column":12},"end":{"line":85,"column":62}},"12":{"start":{"line":99,"column":12},"end":{"line":99,"column":19}},"13":{"start":{"line":101,"column":12},"end":{"line":101,"column":36}},"14":{"start":{"line":103,"column":12},"end":{"line":110,"column":13}},"15":{"start":{"line":104,"column":16},"end":{"line":109,"column":17}},"16":{"start":{"line":105,"column":20},"end":{"line":105,"column":49}},"17":{"start":{"line":107,"column":20},"end":{"line":107,"column":37}},"18":{"start":{"line":108,"column":20},"end":{"line":108,"column":37}},"19":{"start":{"line":112,"column":12},"end":{"line":112,"column":37}},"20":{"start":{"line":113,"column":12},"end":{"line":113,"column":51}},"21":{"start":{"line":114,"column":12},"end":{"line":114,"column":29}},"22":{"start":{"line":116,"column":12},"end":{"line":116,"column":42}},"23":{"start":{"line":126,"column":12},"end":{"line":127,"column":52}},"24":{"start":{"line":129,"column":12},"end":{"line":131,"column":13}},"25":{"start":{"line":130,"column":16},"end":{"line":130,"column":47}},"26":{"start":{"line":133,"column":12},"end":{"line":135,"column":13}},"27":{"start":{"line":134,"column":16},"end":{"line":134,"column":60}},"28":{"start":{"line":137,"column":12},"end":{"line":146,"column":13}},"29":{"start":{"line":138,"column":16},"end":{"line":138,"column":55}},"30":{"start":{"line":140,"column":16},"end":{"line":145,"column":17}},"31":{"start":{"line":142,"column":20},"end":{"line":144,"column":21}},"32":{"start":{"line":143,"column":24},"end":{"line":143,"column":36}},"33":{"start":{"line":148,"column":12},"end":{"line":148,"column":37}},"34":{"start":{"line":149,"column":12},"end":{"line":149,"column":51}},"35":{"start":{"line":150,"column":12},"end":{"line":150,"column":29}},"36":{"start":{"line":152,"column":12},"end":{"line":162,"column":13}},"37":{"start":{"line":153,"column":16},"end":{"line":158,"column":18}},"38":{"start":{"line":156,"column":24},"end":{"line":156,"column":36}},"39":{"start":{"line":161,"column":16},"end":{"line":161,"column":39}},"40":{"start":{"line":164,"column":12},"end":{"line":164,"column":38}},"41":{"start":{"line":173,"column":12},"end":{"line":174,"column":48}},"42":{"start":{"line":176,"column":12},"end":{"line":198,"column":14}},"43":{"start":{"line":179,"column":20},"end":{"line":180,"column":132}},"44":{"start":{"line":182,"column":20},"end":{"line":184,"column":21}},"45":{"start":{"line":183,"column":24},"end":{"line":183,"column":54}},"46":{"start":{"line":186,"column":20},"end":{"line":195,"column":21}},"47":{"start":{"line":187,"column":24},"end":{"line":194,"column":25}},"48":{"start":{"line":188,"column":28},"end":{"line":193,"column":29}},"49":{"start":{"line":190,"column":32},"end":{"line":190,"column":91}},"50":{"start":{"line":192,"column":32},"end":{"line":192,"column":90}},"51":{"start":{"line":200,"column":12},"end":{"line":200,"column":43}},"52":{"start":{"line":202,"column":12},"end":{"line":206,"column":14}},"53":{"start":{"line":208,"column":12},"end":{"line":208,"column":34}},"54":{"start":{"line":210,"column":12},"end":{"line":210,"column":46}},"55":{"start":{"line":220,"column":12},"end":{"line":246,"column":13}},"56":{"start":{"line":221,"column":16},"end":{"line":221,"column":35}},"57":{"start":{"line":223,"column":16},"end":{"line":224,"column":50}},"58":{"start":{"line":226,"column":16},"end":{"line":226,"column":47}},"59":{"start":{"line":229,"column":16},"end":{"line":231,"column":17}},"60":{"start":{"line":230,"column":20},"end":{"line":230,"column":69}},"61":{"start":{"line":233,"column":16},"end":{"line":242,"column":26}},"62":{"start":{"line":235,"column":20},"end":{"line":239,"column":21}},"63":{"start":{"line":236,"column":24},"end":{"line":236,"column":90}},"64":{"start":{"line":238,"column":24},"end":{"line":238,"column":72}},"65":{"start":{"line":241,"column":20},"end":{"line":241,"column":43}},"66":{"start":{"line":245,"column":16},"end":{"line":245,"column":43}},"67":{"start":{"line":256,"column":12},"end":{"line":256,"column":54}},"68":{"start":{"line":266,"column":12},"end":{"line":266,"column":45}},"69":{"start":{"line":276,"column":12},"end":{"line":276,"column":50}},"70":{"start":{"line":287,"column":12},"end":{"line":287,"column":32}},"71":{"start":{"line":289,"column":12},"end":{"line":293,"column":13}},"72":{"start":{"line":290,"column":16},"end":{"line":290,"column":48}},"73":{"start":{"line":292,"column":16},"end":{"line":292,"column":49}},"74":{"start":{"line":295,"column":12},"end":{"line":295,"column":24}},"75":{"start":{"line":306,"column":12},"end":{"line":306,"column":38}},"76":{"start":{"line":308,"column":12},"end":{"line":310,"column":13}},"77":{"start":{"line":309,"column":16},"end":{"line":309,"column":38}},"78":{"start":{"line":321,"column":12},"end":{"line":328,"column":13}},"79":{"start":{"line":322,"column":16},"end":{"line":322,"column":52}},"80":{"start":{"line":324,"column":16},"end":{"line":324,"column":48}},"81":{"start":{"line":327,"column":16},"end":{"line":327,"column":82}},"82":{"start":{"line":330,"column":12},"end":{"line":330,"column":24}},"83":{"start":{"line":341,"column":12},"end":{"line":347,"column":13}},"84":{"start":{"line":342,"column":16},"end":{"line":342,"column":46}},"85":{"start":{"line":343,"column":16},"end":{"line":343,"column":34}},"86":{"start":{"line":346,"column":16},"end":{"line":346,"column":86}},"87":{"start":{"line":349,"column":12},"end":{"line":349,"column":23}},"88":{"start":{"line":360,"column":12},"end":{"line":360,"column":26}},"89":{"start":{"line":362,"column":12},"end":{"line":369,"column":13}},"90":{"start":{"line":363,"column":16},"end":{"line":363,"column":48}},"91":{"start":{"line":365,"column":16},"end":{"line":365,"column":53}},"92":{"start":{"line":368,"column":16},"end":{"line":368,"column":82}},"93":{"start":{"line":371,"column":12},"end":{"line":371,"column":25}},"94":{"start":{"line":382,"column":12},"end":{"line":398,"column":13}},"95":{"start":{"line":383,"column":16},"end":{"line":394,"column":17}},"96":{"start":{"line":384,"column":20},"end":{"line":385,"column":48}},"97":{"start":{"line":387,"column":20},"end":{"line":389,"column":21}},"98":{"start":{"line":388,"column":24},"end":{"line":388,"column":52}},"99":{"start":{"line":391,"column":20},"end":{"line":391,"column":84}},"100":{"start":{"line":393,"column":20},"end":{"line":393,"column":52}},"101":{"start":{"line":397,"column":16},"end":{"line":397,"column":85}},"102":{"start":{"line":400,"column":12},"end":{"line":400,"column":23}},"103":{"start":{"line":411,"column":12},"end":{"line":411,"column":26}},"104":{"start":{"line":413,"column":12},"end":{"line":420,"column":13}},"105":{"start":{"line":414,"column":16},"end":{"line":414,"column":48}},"106":{"start":{"line":416,"column":16},"end":{"line":416,"column":54}},"107":{"start":{"line":419,"column":16},"end":{"line":419,"column":83}},"108":{"start":{"line":422,"column":12},"end":{"line":422,"column":25}},"109":{"start":{"line":433,"column":12},"end":{"line":433,"column":34}},"110":{"start":{"line":435,"column":12},"end":{"line":435,"column":35}},"111":{"start":{"line":437,"column":12},"end":{"line":437,"column":48}},"112":{"start":{"line":439,"column":12},"end":{"line":445,"column":13}},"113":{"start":{"line":440,"column":16},"end":{"line":444,"column":32}},"114":{"start":{"line":442,"column":20},"end":{"line":442,"column":66}},"115":{"start":{"line":443,"column":20},"end":{"line":443,"column":70}},"116":{"start":{"line":456,"column":12},"end":{"line":456,"column":63}},"117":{"start":{"line":467,"column":12},"end":{"line":469,"column":33}},"118":{"start":{"line":471,"column":12},"end":{"line":473,"column":13}},"119":{"start":{"line":472,"column":16},"end":{"line":472,"column":38}},"120":{"start":{"line":475,"column":12},"end":{"line":480,"column":13}},"121":{"start":{"line":476,"column":16},"end":{"line":479,"column":19}},"122":{"start":{"line":478,"column":20},"end":{"line":478,"column":52}},"123":{"start":{"line":482,"column":12},"end":{"line":482,"column":48}},"124":{"start":{"line":495,"column":12},"end":{"line":495,"column":42}},"125":{"start":{"line":497,"column":12},"end":{"line":500,"column":13}},"126":{"start":{"line":499,"column":16},"end":{"line":499,"column":29}},"127":{"start":{"line":502,"column":12},"end":{"line":506,"column":13}},"128":{"start":{"line":503,"column":16},"end":{"line":503,"column":27}},"129":{"start":{"line":505,"column":16},"end":{"line":505,"column":43}},"130":{"start":{"line":508,"column":12},"end":{"line":508,"column":54}},"131":{"start":{"line":517,"column":12},"end":{"line":517,"column":34}},"132":{"start":{"line":527,"column":12},"end":{"line":527,"column":31}},"133":{"start":{"line":529,"column":12},"end":{"line":532,"column":13}},"134":{"start":{"line":531,"column":16},"end":{"line":531,"column":28}},"135":{"start":{"line":534,"column":12},"end":{"line":536,"column":13}},"136":{"start":{"line":535,"column":16},"end":{"line":535,"column":42}},"137":{"start":{"line":538,"column":12},"end":{"line":538,"column":44}},"138":{"start":{"line":540,"column":12},"end":{"line":546,"column":13}},"139":{"start":{"line":541,"column":16},"end":{"line":541,"column":63}},"140":{"start":{"line":543,"column":16},"end":{"line":543,"column":49}},"141":{"start":{"line":545,"column":16},"end":{"line":545,"column":47}},"142":{"start":{"line":548,"column":12},"end":{"line":548,"column":34}},"143":{"start":{"line":550,"column":12},"end":{"line":550,"column":65}},"144":{"start":{"line":552,"column":12},"end":{"line":552,"column":42}},"145":{"start":{"line":554,"column":12},"end":{"line":561,"column":21}},"146":{"start":{"line":555,"column":16},"end":{"line":555,"column":29}},"147":{"start":{"line":557,"column":16},"end":{"line":557,"column":43}},"148":{"start":{"line":560,"column":16},"end":{"line":560,"column":74}},"149":{"start":{"line":563,"column":12},"end":{"line":563,"column":26}},"150":{"start":{"line":565,"column":12},"end":{"line":565,"column":33}},"151":{"start":{"line":567,"column":12},"end":{"line":567,"column":24}},"152":{"start":{"line":578,"column":12},"end":{"line":578,"column":36}},"153":{"start":{"line":580,"column":12},"end":{"line":580,"column":24}},"154":{"start":{"line":589,"column":12},"end":{"line":589,"column":35}},"155":{"start":{"line":591,"column":12},"end":{"line":591,"column":25}},"156":{"start":{"line":593,"column":12},"end":{"line":593,"column":24}},"157":{"start":{"line":603,"column":12},"end":{"line":603,"column":35}},"158":{"start":{"line":605,"column":12},"end":{"line":605,"column":24}},"159":{"start":{"line":683,"column":20},"end":{"line":683,"column":47}},"160":{"start":{"line":685,"column":20},"end":{"line":685,"column":43}},"161":{"start":{"line":734,"column":20},"end":{"line":736,"column":21}},"162":{"start":{"line":735,"column":24},"end":{"line":735,"column":54}},"163":{"start":{"line":738,"column":20},"end":{"line":738,"column":30}},"164":{"start":{"line":774,"column":20},"end":{"line":774,"column":43}},"165":{"start":{"line":792,"column":4},"end":{"line":792,"column":26}},"166":{"start":{"line":794,"column":4},"end":{"line":794,"column":47}}},"branchMap":{"1":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":12}},{"start":{"line":65,"column":12},"end":{"line":65,"column":12}}]},"2":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":12},"end":{"line":103,"column":12}},{"start":{"line":103,"column":12},"end":{"line":103,"column":12}}]},"3":{"line":103,"type":"binary-expr","locations":[{"start":{"line":103,"column":16},"end":{"line":103,"column":27}},{"start":{"line":103,"column":31},"end":{"line":103,"column":42}}]},"4":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":16},"end":{"line":104,"column":16}},{"start":{"line":104,"column":16},"end":{"line":104,"column":16}}]},"5":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":12},"end":{"line":129,"column":12}},{"start":{"line":129,"column":12},"end":{"line":129,"column":12}}]},"6":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":12},"end":{"line":133,"column":12}},{"start":{"line":133,"column":12},"end":{"line":133,"column":12}}]},"7":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":12},"end":{"line":137,"column":12}},{"start":{"line":137,"column":12},"end":{"line":137,"column":12}}]},"8":{"line":140,"type":"if","locations":[{"start":{"line":140,"column":16},"end":{"line":140,"column":16}},{"start":{"line":140,"column":16},"end":{"line":140,"column":16}}]},"9":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":20},"end":{"line":142,"column":20}},{"start":{"line":142,"column":20},"end":{"line":142,"column":20}}]},"10":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":12},"end":{"line":152,"column":12}},{"start":{"line":152,"column":12},"end":{"line":152,"column":12}}]},"11":{"line":180,"type":"cond-expr","locations":[{"start":{"line":180,"column":80},"end":{"line":180,"column":125}},{"start":{"line":180,"column":128},"end":{"line":180,"column":130}}]},"12":{"line":180,"type":"binary-expr","locations":[{"start":{"line":180,"column":32},"end":{"line":180,"column":39}},{"start":{"line":180,"column":43},"end":{"line":180,"column":76}}]},"13":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":20},"end":{"line":182,"column":20}},{"start":{"line":182,"column":20},"end":{"line":182,"column":20}}]},"14":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":20},"end":{"line":186,"column":20}},{"start":{"line":186,"column":20},"end":{"line":186,"column":20}}]},"15":{"line":187,"type":"if","locations":[{"start":{"line":187,"column":24},"end":{"line":187,"column":24}},{"start":{"line":187,"column":24},"end":{"line":187,"column":24}}]},"16":{"line":187,"type":"binary-expr","locations":[{"start":{"line":187,"column":28},"end":{"line":187,"column":41}},{"start":{"line":187,"column":45},"end":{"line":187,"column":57}},{"start":{"line":187,"column":61},"end":{"line":187,"column":74}}]},"17":{"line":188,"type":"if","locations":[{"start":{"line":188,"column":28},"end":{"line":188,"column":28}},{"start":{"line":188,"column":28},"end":{"line":188,"column":28}}]},"18":{"line":220,"type":"if","locations":[{"start":{"line":220,"column":12},"end":{"line":220,"column":12}},{"start":{"line":220,"column":12},"end":{"line":220,"column":12}}]},"19":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":16},"end":{"line":229,"column":16}},{"start":{"line":229,"column":16},"end":{"line":229,"column":16}}]},"20":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":20},"end":{"line":235,"column":20}},{"start":{"line":235,"column":20},"end":{"line":235,"column":20}}]},"21":{"line":289,"type":"if","locations":[{"start":{"line":289,"column":12},"end":{"line":289,"column":12}},{"start":{"line":289,"column":12},"end":{"line":289,"column":12}}]},"22":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":12},"end":{"line":308,"column":12}},{"start":{"line":308,"column":12},"end":{"line":308,"column":12}}]},"23":{"line":321,"type":"if","locations":[{"start":{"line":321,"column":12},"end":{"line":321,"column":12}},{"start":{"line":321,"column":12},"end":{"line":321,"column":12}}]},"24":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":12}},{"start":{"line":341,"column":12},"end":{"line":341,"column":12}}]},"25":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":12},"end":{"line":362,"column":12}},{"start":{"line":362,"column":12},"end":{"line":362,"column":12}}]},"26":{"line":382,"type":"if","locations":[{"start":{"line":382,"column":12},"end":{"line":382,"column":12}},{"start":{"line":382,"column":12},"end":{"line":382,"column":12}}]},"27":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":16},"end":{"line":383,"column":16}},{"start":{"line":383,"column":16},"end":{"line":383,"column":16}}]},"28":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":20},"end":{"line":387,"column":20}},{"start":{"line":387,"column":20},"end":{"line":387,"column":20}}]},"29":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":12},"end":{"line":413,"column":12}},{"start":{"line":413,"column":12},"end":{"line":413,"column":12}}]},"30":{"line":439,"type":"if","locations":[{"start":{"line":439,"column":12},"end":{"line":439,"column":12}},{"start":{"line":439,"column":12},"end":{"line":439,"column":12}}]},"31":{"line":456,"type":"binary-expr","locations":[{"start":{"line":456,"column":19},"end":{"line":456,"column":39}},{"start":{"line":456,"column":43},"end":{"line":456,"column":62}}]},"32":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":12},"end":{"line":471,"column":12}},{"start":{"line":471,"column":12},"end":{"line":471,"column":12}}]},"33":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":12},"end":{"line":475,"column":12}},{"start":{"line":475,"column":12},"end":{"line":475,"column":12}}]},"34":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":12},"end":{"line":497,"column":12}},{"start":{"line":497,"column":12},"end":{"line":497,"column":12}}]},"35":{"line":502,"type":"if","locations":[{"start":{"line":502,"column":12},"end":{"line":502,"column":12}},{"start":{"line":502,"column":12},"end":{"line":502,"column":12}}]},"36":{"line":529,"type":"if","locations":[{"start":{"line":529,"column":12},"end":{"line":529,"column":12}},{"start":{"line":529,"column":12},"end":{"line":529,"column":12}}]},"37":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":12},"end":{"line":534,"column":12}},{"start":{"line":534,"column":12},"end":{"line":534,"column":12}}]},"38":{"line":540,"type":"if","locations":[{"start":{"line":540,"column":12},"end":{"line":540,"column":12}},{"start":{"line":540,"column":12},"end":{"line":540,"column":12}}]},"39":{"line":734,"type":"if","locations":[{"start":{"line":734,"column":20},"end":{"line":734,"column":20}},{"start":{"line":734,"column":20},"end":{"line":734,"column":20}}]}},"code":["(function () { YUI.add('content-editable', function (Y, NAME) {",""," /*jshint maxlen: 500 */"," /**"," * Creates a component to work with an elemment."," * @class ContentEditable"," * @for ContentEditable"," * @extends Y.Plugin.Base"," * @constructor"," * @module editor"," * @submodule content-editable"," */",""," var Lang = Y.Lang,"," YNode = Y.Node,",""," EVENT_CONTENT_READY = 'contentready',"," EVENT_READY = 'ready',",""," TAG_PARAGRAPH = 'p',",""," BLUR = 'blur',"," CONTAINER = 'container',"," CONTENT_EDITABLE = 'contentEditable',"," EMPTY = '',"," FOCUS = 'focus',"," HOST = 'host',"," INNER_HTML = 'innerHTML',"," KEY = 'key',"," PARENT_NODE = 'parentNode',"," PASTE = 'paste',"," TEXT = 'Text',"," USE = 'use',",""," ContentEditable = function() {"," ContentEditable.superclass.constructor.apply(this, arguments);"," };",""," Y.extend(ContentEditable, Y.Plugin.Base, {",""," /**"," * Internal reference set when render is called."," * @private"," * @property _rendered"," * @type Boolean"," */"," _rendered: null,",""," /**"," * Internal reference to the YUI instance bound to the element"," * @private"," * @property _instance"," * @type YUI"," */"," _instance: null,",""," /**"," * Initializes the ContentEditable instance"," * @protected"," * @method initializer"," */"," initializer: function() {"," var host = this.get(HOST);",""," if (host) {"," host.frame = this;"," }",""," this._eventHandles = [];",""," this.publish(EVENT_READY, {"," emitFacade: true,"," defaultFn: this._defReadyFn"," });"," },",""," /**"," * Destroys the instance."," * @protected"," * @method destructor"," */"," destructor: function() {"," new Y.EventHandle(this._eventHandles).detach();",""," this._container.removeAttribute(CONTENT_EDITABLE);"," },",""," /**"," * Generic handler for all DOM events fired by the Editor container. This handler"," * takes the current EventFacade and augments it to fire on the ContentEditable host. It adds two new properties"," * to the EventFacade called frameX and frameY which adds the scroll and xy position of the ContentEditable element"," * to the original pageX and pageY of the event so external nodes can be positioned over the element."," * In case of ContentEditable element these will be equal to pageX and pageY of the container."," * @private"," * @method _onDomEvent"," * @param {Event.Facade} e"," */"," _onDomEvent: function(e) {"," var xy;",""," e.frameX = e.frameY = 0;",""," if (e.pageX > 0 || e.pageY > 0) {"," if (e.type.substring(0, 3) !== KEY) {"," xy = this._container.getXY();",""," e.frameX = xy[0];"," e.frameY = xy[1];"," }"," }",""," e.frameTarget = e.target;"," e.frameCurrentTarget = e.currentTarget;"," e.frameEvent = e;",""," this.fire('dom:' + e.type, e);"," },",""," /**"," * Simple pass thru handler for the paste event so we can do content cleanup"," * @private"," * @method _DOMPaste"," * @param {Event.Facade} e"," */"," _DOMPaste: function(e) {"," var inst = this.getInstance(),"," data = EMPTY, win = inst.config.win;",""," if (e._event.originalTarget) {"," data = e._event.originalTarget;"," }",""," if (e._event.clipboardData) {"," data = e._event.clipboardData.getData(TEXT);"," }",""," if (win.clipboardData) {"," data = win.clipboardData.getData(TEXT);",""," if (data === EMPTY) { // Could be empty, or failed"," // Verify failure"," if (!win.clipboardData.setData(TEXT, data)) {"," data = null;"," }"," }"," }",""," e.frameTarget = e.target;"," e.frameCurrentTarget = e.currentTarget;"," e.frameEvent = e;",""," if (data) {"," e.clipboardData = {"," data: data,"," getData: function() {"," return data;"," }"," };"," } else {",""," e.clipboardData = null;"," }",""," this.fire('dom:paste', e);"," },",""," /**"," * Binds DOM events and fires the ready event"," * @private"," * @method _defReadyFn"," */"," _defReadyFn: function() {"," var inst = this.getInstance(),"," container = this.get(CONTAINER);",""," Y.each("," ContentEditable.DOM_EVENTS,"," function(value, key) {"," var fn = Y.bind(this._onDomEvent, this),"," kfn = ((Y.UA.ie && ContentEditable.THROTTLE_TIME > 0) ? Y.throttle(fn, ContentEditable.THROTTLE_TIME) : fn);",""," if (!inst.Node.DOM_EVENTS[key]) {"," inst.Node.DOM_EVENTS[key] = 1;"," }",""," if (value === 1) {"," if (key !== FOCUS && key !== BLUR && key !== PASTE) {"," if (key.substring(0, 3) === KEY) {"," //Throttle key events in IE"," this._eventHandles.push(container.on(key, kfn, container));"," } else {"," this._eventHandles.push(container.on(key, fn, container));"," }"," }"," }"," },"," this"," );",""," inst.Node.DOM_EVENTS.paste = 1;",""," this._eventHandles.push("," container.on(PASTE, Y.bind(this._DOMPaste, this), container),"," container.on(FOCUS, Y.bind(this._onDomEvent, this), container),"," container.on(BLUR, Y.bind(this._onDomEvent, this), container)"," );",""," inst.__use = inst.use;",""," inst.use = Y.bind(this.use, this);"," },",""," /**"," * Called once the content is available in the ContentEditable element and calls the final use call"," * @private"," * @method _onContentReady"," * on the internal instance so that the modules are loaded properly."," */"," _onContentReady: function(event) {"," if (!this._ready) {"," this._ready = true;",""," var inst = this.getInstance(),"," args = Y.clone(this.get(USE));",""," this.fire(EVENT_CONTENT_READY);","",""," if (event) {"," inst.config.doc = YNode.getDOMNode(event.target);"," }",""," args.push(Y.bind(function() {",""," if (inst.EditorSelection) {"," inst.EditorSelection.DEFAULT_BLOCK_TAG = this.get('defaultblock');",""," inst.EditorSelection.ROOT = this.get(CONTAINER);"," }",""," this.fire(EVENT_READY);"," }, this));","",""," inst.use.apply(inst, args);"," }"," },",""," /**"," * Retrieves defaultblock value from host attribute"," * @private"," * @method _getDefaultBlock"," * @return {String}"," */"," _getDefaultBlock: function() {"," return this._getHostValue('defaultblock');"," },",""," /**"," * Retrieves dir value from host attribute"," * @private"," * @method _getDir"," * @return {String}"," */"," _getDir: function() {"," return this._getHostValue('dir');"," },",""," /**"," * Retrieves extracss value from host attribute"," * @private"," * @method _getExtraCSS"," * @return {String}"," */"," _getExtraCSS: function() {"," return this._getHostValue('extracss');"," },",""," /**"," * Get the content from the container"," * @private"," * @method _getHTML"," * @param {String} html The raw HTML from the container."," * @return {String}"," */"," _getHTML: function() {"," var html, container;",""," if (this._ready) {"," container = this.get(CONTAINER);",""," html = container.get(INNER_HTML);"," }",""," return html;"," },",""," /**"," * Retrieves a value from host attribute"," * @private"," * @method _getHostValue"," * @param {attr} The attribute which value should be returned from the host"," * @return {String|Object}"," */"," _getHostValue: function(attr) {"," var host = this.get(HOST);",""," if (host) {"," return host.get(attr);"," }"," },",""," /**"," * Set the content of the container"," * @private"," * @method _setHTML"," * @param {String} html The raw HTML to set to the container."," * @return {String}"," */"," _setHTML: function(html) {"," if (this._ready) {"," var container = this.get(CONTAINER);",""," container.set(INNER_HTML, html);"," } else {"," //This needs to be wrapped in a contentready callback for the !_ready state"," this.once(EVENT_CONTENT_READY, Y.bind(this._setHTML, this, html));"," }",""," return html;"," },",""," /**"," * Set's the linked CSS on the instance."," * @private"," * @method _setLinkedCSS"," * @param {css} String The linkedcss value"," * @return {String}"," */"," _setLinkedCSS: function(css) {"," if (this._ready) {"," var inst = this.getInstance();"," inst.Get.css(css);"," } else {"," //This needs to be wrapped in a contentready callback for the !_ready state"," this.once(EVENT_CONTENT_READY, Y.bind(this._setLinkedCSS, this, css));"," }",""," return css;"," },",""," /**"," * Set's the dir (language direction) attribute on the container."," * @private"," * @method _setDir"," * @param {value} String The language direction"," * @return {String}"," */"," _setDir: function(value) {"," var container;",""," if (this._ready) {"," container = this.get(CONTAINER);",""," container.setAttribute('dir', value);"," } else {"," //This needs to be wrapped in a contentready callback for the !_ready state"," this.once(EVENT_CONTENT_READY, Y.bind(this._setDir, this, value));"," }",""," return value;"," },",""," /**"," * Set's the extra CSS on the instance."," * @private"," * @method _setExtraCSS"," * @param {css} String The CSS style to be set as extra css"," * @return {String}"," */"," _setExtraCSS: function(css) {"," if (this._ready) {"," if (css) {"," var inst = this.getInstance(),"," head = inst.one('head');",""," if (this._extraCSSNode) {"," this._extraCSSNode.remove();"," }",""," this._extraCSSNode = YNode.create('');",""," head.append(this._extraCSSNode);"," }"," } else {"," //This needs to be wrapped in a contentready callback for the !_ready state"," this.once(EVENT_CONTENT_READY, Y.bind(this._setExtraCSS, this, css));"," }",""," return css;"," },",""," /**"," * Set's the language value on the instance."," * @private"," * @method _setLang"," * @param {value} String The language to be set"," * @return {String}"," */"," _setLang: function(value) {"," var container;",""," if (this._ready) {"," container = this.get(CONTAINER);",""," container.setAttribute('lang', value);"," } else {"," //This needs to be wrapped in a contentready callback for the !_ready state"," this.once(EVENT_CONTENT_READY, Y.bind(this._setLang, this, value));"," }",""," return value;"," },",""," /**"," * Called from the first YUI instance that sets up the internal instance."," * This loads the content into the ContentEditable element and attaches the contentready event."," * @private"," * @method _instanceLoaded"," * @param {YUI} inst The internal YUI instance bound to the ContentEditable element"," */"," _instanceLoaded: function(inst) {"," this._instance = inst;",""," this._onContentReady();",""," var doc = this._instance.config.doc;",""," if (!Y.UA.ie) {"," try {"," //Force other browsers into non CSS styling"," doc.execCommand('styleWithCSS', false, false);"," doc.execCommand('insertbronreturn', false, false);"," } catch (err) {}"," }"," },","",""," /**"," * Validates linkedcss property"," *"," * @method _validateLinkedCSS"," * @private"," */"," _validateLinkedCSS: function(value) {"," return Lang.isString(value) || Lang.isArray(value);"," },",""," //BEGIN PUBLIC METHODS"," /**"," * This is a scoped version of the normal YUI.use method & is bound to the ContentEditable element"," * At setup, the inst.use method is mapped to this method."," * @method use"," */"," use: function() {",""," var inst = this.getInstance(),"," args = Y.Array(arguments),"," callback = false;",""," if (Lang.isFunction(args[args.length - 1])) {"," callback = args.pop();"," }",""," if (callback) {"," args.push(function() {",""," callback.apply(inst, arguments);"," });"," }",""," return inst.__use.apply(inst, args);"," },",""," /**"," * A delegate method passed to the instance's delegate method"," * @method delegate"," * @param {String} type The type of event to listen for"," * @param {Function} fn The method to attach"," * @param {String, Node} cont The container to act as a delegate, if no \"sel\" passed, the container is assumed."," * @param {String} sel The selector to match in the event (optional)"," * @return {EventHandle} The Event handle returned from Y.delegate"," */"," delegate: function(type, fn, cont, sel) {"," var inst = this.getInstance();",""," if (!inst) {",""," return false;"," }",""," if (!sel) {"," sel = cont;",""," cont = this.get(CONTAINER);"," }",""," return inst.delegate(type, fn, cont, sel);"," },",""," /**"," * Get a reference to the internal YUI instance."," * @method getInstance"," * @return {YUI} The internal YUI instance"," */"," getInstance: function() {"," return this._instance;"," },",""," /**"," * @method render"," * @param {String/HTMLElement/Node} node The node to render to"," * @return {ContentEditable}"," * @chainable"," */"," render: function(node) {"," var args, inst, fn;",""," if (this._rendered) {",""," return this;"," }",""," if (node) {"," this.set(CONTAINER, node);"," }",""," container = this.get(CONTAINER);",""," if (!container) {"," container = YNode.create(ContentEditable.HTML);",""," Y.one('body').prepend(container);",""," this.set(CONTAINER, container);"," }",""," this._rendered = true;",""," this._container.setAttribute(CONTENT_EDITABLE, true);",""," args = Y.clone(this.get(USE));",""," fn = Y.bind(function() {"," inst = YUI();",""," inst.host = this.get(HOST); //Cross reference to Editor","",""," inst.use('node-base', Y.bind(this._instanceLoaded, this));"," }, this);",""," args.push(fn);",""," Y.use.apply(Y, args);",""," return this;"," },",""," /**"," * Set the focus to the container"," * @method focus"," * @param {Function} fn Callback function to execute after focus happens"," * @return {ContentEditable}"," * @chainable"," */"," focus: function() {"," this._container.focus();",""," return this;"," },"," /**"," * Show the iframe instance"," * @method show"," * @return {ContentEditable}"," * @chainable"," */"," show: function() {"," this._container.show();",""," this.focus();",""," return this;"," },",""," /**"," * Hide the iframe instance"," * @method hide"," * @return {ContentEditable}"," * @chainable"," */"," hide: function() {"," this._container.hide();",""," return this;"," }"," },"," {"," /**"," * The throttle time for key events in IE"," * @static"," * @property THROTTLE_TIME"," * @type Number"," * @default 100"," */"," THROTTLE_TIME: 100,",""," /**"," * The DomEvents that the frame automatically attaches and bubbles"," * @static"," * @property DOM_EVENTS"," * @type Object"," */"," DOM_EVENTS: {"," click: 1,"," dblclick: 1,"," focusin: 1,"," focusout: 1,"," keydown: 1,"," keypress: 1,"," keyup: 1,"," mousedown: 1,"," mouseup: 1,"," paste: 1"," },",""," /**"," * The template string used to create the ContentEditable element"," * @static"," * @property HTML"," * @type String"," */"," HTML: '
',",""," /**"," * The name of the class (contentEditable)"," * @static"," * @property NAME"," * @type String"," */"," NAME: 'contentEditable',",""," /**"," * The namespace on which ContentEditable plugin will reside."," *"," * @property NS"," * @type String"," * @default 'contentEditable'"," * @static"," */"," NS: CONTENT_EDITABLE,",""," ATTRS: {"," /**"," * The default text direction for this ContentEditable element. Default: ltr"," * @attribute dir"," * @type String"," */"," dir: {"," lazyAdd: false,"," validator: Lang.isString,"," setter: '_setDir',"," valueFn: '_getDir'"," },",""," /**"," * The container to set contentEditable=true or to create on render."," * @attribute container"," * @type String/HTMLElement/Node"," */"," container: {"," setter: function(n) {"," this._container = Y.one(n);",""," return this._container;"," }"," },",""," /**"," * The string to inject as Editor content. Default ' '"," * @attribute content"," * @type String"," */"," content: {"," getter: '_getHTML',"," lazyAdd: false,"," setter: '_setHTML',"," validator: Lang.isString,"," value: ' '"," },",""," /**"," * The default tag to use for block level items, defaults to: p"," * @attribute defaultblock"," * @type String"," */"," defaultblock: {"," validator: Lang.isString,"," value: TAG_PARAGRAPH,"," valueFn: '_getDefaultBlock'"," },",""," /**"," * A string of CSS to add to the Head of the Editor"," * @attribute extracss"," * @type String"," */"," extracss: {"," lazyAdd: false,"," setter: '_setExtraCSS',"," validator: Lang.isString,"," valueFn: '_getExtraCSS'"," },",""," /**"," * Set the id of the new Node. (optional)"," * @attribute id"," * @type String"," * @writeonce"," */"," id: {"," writeOnce: true,"," getter: function(id) {"," if (!id) {"," id = 'inlineedit-' + Y.guid();"," }",""," return id;"," }"," },",""," /**"," * The default language. Default: en-US"," * @attribute lang"," * @type String"," */"," lang: {"," validator: Lang.isString,"," setter: '_setLang',"," lazyAdd: false,"," value: 'en-US'"," },",""," /**"," * An array of url's to external linked style sheets"," * @attribute linkedcss"," * @type String|Array"," */"," linkedcss: {"," setter: '_setLinkedCSS',"," validator: '_validateLinkedCSS'"," //value: ''"," },",""," /**"," * The Node instance of the container."," * @attribute node"," * @type Node"," */"," node: {"," readOnly: true,"," value: null,"," getter: function() {"," return this._container;"," }"," },",""," /**"," * Array of modules to include in the scoped YUI instance at render time. Default: ['node-base', 'editor-selection', 'stylesheet']"," * @attribute use"," * @writeonce"," * @type Array"," */"," use: {"," validator: Lang.isArray,"," writeOnce: true,"," value: ['node-base', 'editor-selection', 'stylesheet']"," }"," }"," });",""," Y.namespace('Plugin');",""," Y.Plugin.ContentEditable = ContentEditable;","","}, '3.13.0', {\"requires\": [\"node-base\", \"editor-selection\", \"stylesheet\", \"plugin\"]});","","}());"]};
+}
+var __cov_JaD2F9vkv6XkenGLkNklnQ = __coverage__['build/content-editable/content-editable.js'];
+__cov_JaD2F9vkv6XkenGLkNklnQ.s['1']++;YUI.add('content-editable',function(Y,NAME){__cov_JaD2F9vkv6XkenGLkNklnQ.f['1']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['2']++;var Lang=Y.Lang,YNode=Y.Node,EVENT_CONTENT_READY='contentready',EVENT_READY='ready',TAG_PARAGRAPH='p',BLUR='blur',CONTAINER='container',CONTENT_EDITABLE='contentEditable',EMPTY='',FOCUS='focus',HOST='host',INNER_HTML='innerHTML',KEY='key',PARENT_NODE='parentNode',PASTE='paste',TEXT='Text',USE='use',ContentEditable=function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['2']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['3']++;ContentEditable.superclass.constructor.apply(this,arguments);};__cov_JaD2F9vkv6XkenGLkNklnQ.s['4']++;Y.extend(ContentEditable,Y.Plugin.Base,{_rendered:null,_instance:null,initializer:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['3']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['5']++;var host=this.get(HOST);__cov_JaD2F9vkv6XkenGLkNklnQ.s['6']++;if(host){__cov_JaD2F9vkv6XkenGLkNklnQ.b['1'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['7']++;host.frame=this;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['1'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['8']++;this._eventHandles=[];__cov_JaD2F9vkv6XkenGLkNklnQ.s['9']++;this.publish(EVENT_READY,{emitFacade:true,defaultFn:this._defReadyFn});},destructor:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['4']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['10']++;new Y.EventHandle(this._eventHandles).detach();__cov_JaD2F9vkv6XkenGLkNklnQ.s['11']++;this._container.removeAttribute(CONTENT_EDITABLE);},_onDomEvent:function(e){__cov_JaD2F9vkv6XkenGLkNklnQ.f['5']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['12']++;var xy;__cov_JaD2F9vkv6XkenGLkNklnQ.s['13']++;e.frameX=e.frameY=0;__cov_JaD2F9vkv6XkenGLkNklnQ.s['14']++;if((__cov_JaD2F9vkv6XkenGLkNklnQ.b['3'][0]++,e.pageX>0)||(__cov_JaD2F9vkv6XkenGLkNklnQ.b['3'][1]++,e.pageY>0)){__cov_JaD2F9vkv6XkenGLkNklnQ.b['2'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['15']++;if(e.type.substring(0,3)!==KEY){__cov_JaD2F9vkv6XkenGLkNklnQ.b['4'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['16']++;xy=this._container.getXY();__cov_JaD2F9vkv6XkenGLkNklnQ.s['17']++;e.frameX=xy[0];__cov_JaD2F9vkv6XkenGLkNklnQ.s['18']++;e.frameY=xy[1];}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['4'][1]++;}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['2'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['19']++;e.frameTarget=e.target;__cov_JaD2F9vkv6XkenGLkNklnQ.s['20']++;e.frameCurrentTarget=e.currentTarget;__cov_JaD2F9vkv6XkenGLkNklnQ.s['21']++;e.frameEvent=e;__cov_JaD2F9vkv6XkenGLkNklnQ.s['22']++;this.fire('dom:'+e.type,e);},_DOMPaste:function(e){__cov_JaD2F9vkv6XkenGLkNklnQ.f['6']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['23']++;var inst=this.getInstance(),data=EMPTY,win=inst.config.win;__cov_JaD2F9vkv6XkenGLkNklnQ.s['24']++;if(e._event.originalTarget){__cov_JaD2F9vkv6XkenGLkNklnQ.b['5'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['25']++;data=e._event.originalTarget;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['5'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['26']++;if(e._event.clipboardData){__cov_JaD2F9vkv6XkenGLkNklnQ.b['6'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['27']++;data=e._event.clipboardData.getData(TEXT);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['6'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['28']++;if(win.clipboardData){__cov_JaD2F9vkv6XkenGLkNklnQ.b['7'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['29']++;data=win.clipboardData.getData(TEXT);__cov_JaD2F9vkv6XkenGLkNklnQ.s['30']++;if(data===EMPTY){__cov_JaD2F9vkv6XkenGLkNklnQ.b['8'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['31']++;if(!win.clipboardData.setData(TEXT,data)){__cov_JaD2F9vkv6XkenGLkNklnQ.b['9'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['32']++;data=null;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['9'][1]++;}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['8'][1]++;}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['7'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['33']++;e.frameTarget=e.target;__cov_JaD2F9vkv6XkenGLkNklnQ.s['34']++;e.frameCurrentTarget=e.currentTarget;__cov_JaD2F9vkv6XkenGLkNklnQ.s['35']++;e.frameEvent=e;__cov_JaD2F9vkv6XkenGLkNklnQ.s['36']++;if(data){__cov_JaD2F9vkv6XkenGLkNklnQ.b['10'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['37']++;e.clipboardData={data:data,getData:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['7']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['38']++;return data;}};}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['10'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['39']++;e.clipboardData=null;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['40']++;this.fire('dom:paste',e);},_defReadyFn:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['8']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['41']++;var inst=this.getInstance(),container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['42']++;Y.each(ContentEditable.DOM_EVENTS,function(value,key){__cov_JaD2F9vkv6XkenGLkNklnQ.f['9']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['43']++;var fn=Y.bind(this._onDomEvent,this),kfn=(__cov_JaD2F9vkv6XkenGLkNklnQ.b['12'][0]++,Y.UA.ie)&&(__cov_JaD2F9vkv6XkenGLkNklnQ.b['12'][1]++,ContentEditable.THROTTLE_TIME>0)?(__cov_JaD2F9vkv6XkenGLkNklnQ.b['11'][0]++,Y.throttle(fn,ContentEditable.THROTTLE_TIME)):(__cov_JaD2F9vkv6XkenGLkNklnQ.b['11'][1]++,fn);__cov_JaD2F9vkv6XkenGLkNklnQ.s['44']++;if(!inst.Node.DOM_EVENTS[key]){__cov_JaD2F9vkv6XkenGLkNklnQ.b['13'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['45']++;inst.Node.DOM_EVENTS[key]=1;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['13'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['46']++;if(value===1){__cov_JaD2F9vkv6XkenGLkNklnQ.b['14'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['47']++;if((__cov_JaD2F9vkv6XkenGLkNklnQ.b['16'][0]++,key!==FOCUS)&&(__cov_JaD2F9vkv6XkenGLkNklnQ.b['16'][1]++,key!==BLUR)&&(__cov_JaD2F9vkv6XkenGLkNklnQ.b['16'][2]++,key!==PASTE)){__cov_JaD2F9vkv6XkenGLkNklnQ.b['15'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['48']++;if(key.substring(0,3)===KEY){__cov_JaD2F9vkv6XkenGLkNklnQ.b['17'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['49']++;this._eventHandles.push(container.on(key,kfn,container));}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['17'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['50']++;this._eventHandles.push(container.on(key,fn,container));}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['15'][1]++;}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['14'][1]++;}},this);__cov_JaD2F9vkv6XkenGLkNklnQ.s['51']++;inst.Node.DOM_EVENTS.paste=1;__cov_JaD2F9vkv6XkenGLkNklnQ.s['52']++;this._eventHandles.push(container.on(PASTE,Y.bind(this._DOMPaste,this),container),container.on(FOCUS,Y.bind(this._onDomEvent,this),container),container.on(BLUR,Y.bind(this._onDomEvent,this),container));__cov_JaD2F9vkv6XkenGLkNklnQ.s['53']++;inst.__use=inst.use;__cov_JaD2F9vkv6XkenGLkNklnQ.s['54']++;inst.use=Y.bind(this.use,this);},_onContentReady:function(event){__cov_JaD2F9vkv6XkenGLkNklnQ.f['10']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['55']++;if(!this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['18'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['56']++;this._ready=true;__cov_JaD2F9vkv6XkenGLkNklnQ.s['57']++;var inst=this.getInstance(),args=Y.clone(this.get(USE));__cov_JaD2F9vkv6XkenGLkNklnQ.s['58']++;this.fire(EVENT_CONTENT_READY);__cov_JaD2F9vkv6XkenGLkNklnQ.s['59']++;if(event){__cov_JaD2F9vkv6XkenGLkNklnQ.b['19'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['60']++;inst.config.doc=YNode.getDOMNode(event.target);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['19'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['61']++;args.push(Y.bind(function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['11']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['62']++;if(inst.EditorSelection){__cov_JaD2F9vkv6XkenGLkNklnQ.b['20'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['63']++;inst.EditorSelection.DEFAULT_BLOCK_TAG=this.get('defaultblock');__cov_JaD2F9vkv6XkenGLkNklnQ.s['64']++;inst.EditorSelection.ROOT=this.get(CONTAINER);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['20'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['65']++;this.fire(EVENT_READY);},this));__cov_JaD2F9vkv6XkenGLkNklnQ.s['66']++;inst.use.apply(inst,args);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['18'][1]++;}},_getDefaultBlock:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['12']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['67']++;return this._getHostValue('defaultblock');},_getDir:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['13']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['68']++;return this._getHostValue('dir');},_getExtraCSS:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['14']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['69']++;return this._getHostValue('extracss');},_getHTML:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['15']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['70']++;var html,container;__cov_JaD2F9vkv6XkenGLkNklnQ.s['71']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['21'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['72']++;container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['73']++;html=container.get(INNER_HTML);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['21'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['74']++;return html;},_getHostValue:function(attr){__cov_JaD2F9vkv6XkenGLkNklnQ.f['16']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['75']++;var host=this.get(HOST);__cov_JaD2F9vkv6XkenGLkNklnQ.s['76']++;if(host){__cov_JaD2F9vkv6XkenGLkNklnQ.b['22'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['77']++;return host.get(attr);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['22'][1]++;}},_setHTML:function(html){__cov_JaD2F9vkv6XkenGLkNklnQ.f['17']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['78']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['23'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['79']++;var container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['80']++;container.set(INNER_HTML,html);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['23'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['81']++;this.once(EVENT_CONTENT_READY,Y.bind(this._setHTML,this,html));}__cov_JaD2F9vkv6XkenGLkNklnQ.s['82']++;return html;},_setLinkedCSS:function(css){__cov_JaD2F9vkv6XkenGLkNklnQ.f['18']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['83']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['24'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['84']++;var inst=this.getInstance();__cov_JaD2F9vkv6XkenGLkNklnQ.s['85']++;inst.Get.css(css);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['24'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['86']++;this.once(EVENT_CONTENT_READY,Y.bind(this._setLinkedCSS,this,css));}__cov_JaD2F9vkv6XkenGLkNklnQ.s['87']++;return css;},_setDir:function(value){__cov_JaD2F9vkv6XkenGLkNklnQ.f['19']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['88']++;var container;__cov_JaD2F9vkv6XkenGLkNklnQ.s['89']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['25'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['90']++;container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['91']++;container.setAttribute('dir',value);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['25'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['92']++;this.once(EVENT_CONTENT_READY,Y.bind(this._setDir,this,value));}__cov_JaD2F9vkv6XkenGLkNklnQ.s['93']++;return value;},_setExtraCSS:function(css){__cov_JaD2F9vkv6XkenGLkNklnQ.f['20']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['94']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['26'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['95']++;if(css){__cov_JaD2F9vkv6XkenGLkNklnQ.b['27'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['96']++;var inst=this.getInstance(),head=inst.one('head');__cov_JaD2F9vkv6XkenGLkNklnQ.s['97']++;if(this._extraCSSNode){__cov_JaD2F9vkv6XkenGLkNklnQ.b['28'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['98']++;this._extraCSSNode.remove();}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['28'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['99']++;this._extraCSSNode=YNode.create('');__cov_JaD2F9vkv6XkenGLkNklnQ.s['100']++;head.append(this._extraCSSNode);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['27'][1]++;}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['26'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['101']++;this.once(EVENT_CONTENT_READY,Y.bind(this._setExtraCSS,this,css));}__cov_JaD2F9vkv6XkenGLkNklnQ.s['102']++;return css;},_setLang:function(value){__cov_JaD2F9vkv6XkenGLkNklnQ.f['21']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['103']++;var container;__cov_JaD2F9vkv6XkenGLkNklnQ.s['104']++;if(this._ready){__cov_JaD2F9vkv6XkenGLkNklnQ.b['29'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['105']++;container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['106']++;container.setAttribute('lang',value);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['29'][1]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['107']++;this.once(EVENT_CONTENT_READY,Y.bind(this._setLang,this,value));}__cov_JaD2F9vkv6XkenGLkNklnQ.s['108']++;return value;},_instanceLoaded:function(inst){__cov_JaD2F9vkv6XkenGLkNklnQ.f['22']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['109']++;this._instance=inst;__cov_JaD2F9vkv6XkenGLkNklnQ.s['110']++;this._onContentReady();__cov_JaD2F9vkv6XkenGLkNklnQ.s['111']++;var doc=this._instance.config.doc;__cov_JaD2F9vkv6XkenGLkNklnQ.s['112']++;if(!Y.UA.ie){__cov_JaD2F9vkv6XkenGLkNklnQ.b['30'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['113']++;try{__cov_JaD2F9vkv6XkenGLkNklnQ.s['114']++;doc.execCommand('styleWithCSS',false,false);__cov_JaD2F9vkv6XkenGLkNklnQ.s['115']++;doc.execCommand('insertbronreturn',false,false);}catch(err){}}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['30'][1]++;}},_validateLinkedCSS:function(value){__cov_JaD2F9vkv6XkenGLkNklnQ.f['23']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['116']++;return(__cov_JaD2F9vkv6XkenGLkNklnQ.b['31'][0]++,Lang.isString(value))||(__cov_JaD2F9vkv6XkenGLkNklnQ.b['31'][1]++,Lang.isArray(value));},use:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['24']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['117']++;var inst=this.getInstance(),args=Y.Array(arguments),callback=false;__cov_JaD2F9vkv6XkenGLkNklnQ.s['118']++;if(Lang.isFunction(args[args.length-1])){__cov_JaD2F9vkv6XkenGLkNklnQ.b['32'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['119']++;callback=args.pop();}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['32'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['120']++;if(callback){__cov_JaD2F9vkv6XkenGLkNklnQ.b['33'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['121']++;args.push(function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['25']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['122']++;callback.apply(inst,arguments);});}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['33'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['123']++;return inst.__use.apply(inst,args);},delegate:function(type,fn,cont,sel){__cov_JaD2F9vkv6XkenGLkNklnQ.f['26']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['124']++;var inst=this.getInstance();__cov_JaD2F9vkv6XkenGLkNklnQ.s['125']++;if(!inst){__cov_JaD2F9vkv6XkenGLkNklnQ.b['34'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['126']++;return false;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['34'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['127']++;if(!sel){__cov_JaD2F9vkv6XkenGLkNklnQ.b['35'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['128']++;sel=cont;__cov_JaD2F9vkv6XkenGLkNklnQ.s['129']++;cont=this.get(CONTAINER);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['35'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['130']++;return inst.delegate(type,fn,cont,sel);},getInstance:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['27']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['131']++;return this._instance;},render:function(node){__cov_JaD2F9vkv6XkenGLkNklnQ.f['28']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['132']++;var args,inst,fn;__cov_JaD2F9vkv6XkenGLkNklnQ.s['133']++;if(this._rendered){__cov_JaD2F9vkv6XkenGLkNklnQ.b['36'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['134']++;return this;}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['36'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['135']++;if(node){__cov_JaD2F9vkv6XkenGLkNklnQ.b['37'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['136']++;this.set(CONTAINER,node);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['37'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['137']++;container=this.get(CONTAINER);__cov_JaD2F9vkv6XkenGLkNklnQ.s['138']++;if(!container){__cov_JaD2F9vkv6XkenGLkNklnQ.b['38'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['139']++;container=YNode.create(ContentEditable.HTML);__cov_JaD2F9vkv6XkenGLkNklnQ.s['140']++;Y.one('body').prepend(container);__cov_JaD2F9vkv6XkenGLkNklnQ.s['141']++;this.set(CONTAINER,container);}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['38'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['142']++;this._rendered=true;__cov_JaD2F9vkv6XkenGLkNklnQ.s['143']++;this._container.setAttribute(CONTENT_EDITABLE,true);__cov_JaD2F9vkv6XkenGLkNklnQ.s['144']++;args=Y.clone(this.get(USE));__cov_JaD2F9vkv6XkenGLkNklnQ.s['145']++;fn=Y.bind(function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['29']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['146']++;inst=YUI();__cov_JaD2F9vkv6XkenGLkNklnQ.s['147']++;inst.host=this.get(HOST);__cov_JaD2F9vkv6XkenGLkNklnQ.s['148']++;inst.use('node-base',Y.bind(this._instanceLoaded,this));},this);__cov_JaD2F9vkv6XkenGLkNklnQ.s['149']++;args.push(fn);__cov_JaD2F9vkv6XkenGLkNklnQ.s['150']++;Y.use.apply(Y,args);__cov_JaD2F9vkv6XkenGLkNklnQ.s['151']++;return this;},focus:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['30']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['152']++;this._container.focus();__cov_JaD2F9vkv6XkenGLkNklnQ.s['153']++;return this;},show:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['31']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['154']++;this._container.show();__cov_JaD2F9vkv6XkenGLkNklnQ.s['155']++;this.focus();__cov_JaD2F9vkv6XkenGLkNklnQ.s['156']++;return this;},hide:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['32']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['157']++;this._container.hide();__cov_JaD2F9vkv6XkenGLkNklnQ.s['158']++;return this;}},{THROTTLE_TIME:100,DOM_EVENTS:{click:1,dblclick:1,focusin:1,focusout:1,keydown:1,keypress:1,keyup:1,mousedown:1,mouseup:1,paste:1},HTML:'',NAME:'contentEditable',NS:CONTENT_EDITABLE,ATTRS:{dir:{lazyAdd:false,validator:Lang.isString,setter:'_setDir',valueFn:'_getDir'},container:{setter:function(n){__cov_JaD2F9vkv6XkenGLkNklnQ.f['33']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['159']++;this._container=Y.one(n);__cov_JaD2F9vkv6XkenGLkNklnQ.s['160']++;return this._container;}},content:{getter:'_getHTML',lazyAdd:false,setter:'_setHTML',validator:Lang.isString,value:' '},defaultblock:{validator:Lang.isString,value:TAG_PARAGRAPH,valueFn:'_getDefaultBlock'},extracss:{lazyAdd:false,setter:'_setExtraCSS',validator:Lang.isString,valueFn:'_getExtraCSS'},id:{writeOnce:true,getter:function(id){__cov_JaD2F9vkv6XkenGLkNklnQ.f['34']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['161']++;if(!id){__cov_JaD2F9vkv6XkenGLkNklnQ.b['39'][0]++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['162']++;id='inlineedit-'+Y.guid();}else{__cov_JaD2F9vkv6XkenGLkNklnQ.b['39'][1]++;}__cov_JaD2F9vkv6XkenGLkNklnQ.s['163']++;return id;}},lang:{validator:Lang.isString,setter:'_setLang',lazyAdd:false,value:'en-US'},linkedcss:{setter:'_setLinkedCSS',validator:'_validateLinkedCSS'},node:{readOnly:true,value:null,getter:function(){__cov_JaD2F9vkv6XkenGLkNklnQ.f['35']++;__cov_JaD2F9vkv6XkenGLkNklnQ.s['164']++;return this._container;}},use:{validator:Lang.isArray,writeOnce:true,value:['node-base','editor-selection','stylesheet']}}});__cov_JaD2F9vkv6XkenGLkNklnQ.s['165']++;Y.namespace('Plugin');__cov_JaD2F9vkv6XkenGLkNklnQ.s['166']++;Y.Plugin.ContentEditable=ContentEditable;},'3.13.0',{'requires':['node-base','editor-selection','stylesheet','plugin']});
diff --git a/lib/yuilib/3.13.0/content-editable/content-editable-debug.js b/lib/yuilib/3.13.0/content-editable/content-editable-debug.js
new file mode 100755
index 00000000000..9d317b72001
--- /dev/null
+++ b/lib/yuilib/3.13.0/content-editable/content-editable-debug.js
@@ -0,0 +1,814 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('content-editable', function (Y, NAME) {
+
+ /*jshint maxlen: 500 */
+ /**
+ * Creates a component to work with an elemment.
+ * @class ContentEditable
+ * @for ContentEditable
+ * @extends Y.Plugin.Base
+ * @constructor
+ * @module editor
+ * @submodule content-editable
+ */
+
+ var Lang = Y.Lang,
+ YNode = Y.Node,
+
+ EVENT_CONTENT_READY = 'contentready',
+ EVENT_READY = 'ready',
+
+ TAG_PARAGRAPH = 'p',
+
+ BLUR = 'blur',
+ CONTAINER = 'container',
+ CONTENT_EDITABLE = 'contentEditable',
+ EMPTY = '',
+ FOCUS = 'focus',
+ HOST = 'host',
+ INNER_HTML = 'innerHTML',
+ KEY = 'key',
+ PARENT_NODE = 'parentNode',
+ PASTE = 'paste',
+ TEXT = 'Text',
+ USE = 'use',
+
+ ContentEditable = function() {
+ ContentEditable.superclass.constructor.apply(this, arguments);
+ };
+
+ Y.extend(ContentEditable, Y.Plugin.Base, {
+
+ /**
+ * Internal reference set when render is called.
+ * @private
+ * @property _rendered
+ * @type Boolean
+ */
+ _rendered: null,
+
+ /**
+ * Internal reference to the YUI instance bound to the element
+ * @private
+ * @property _instance
+ * @type YUI
+ */
+ _instance: null,
+
+ /**
+ * Initializes the ContentEditable instance
+ * @protected
+ * @method initializer
+ */
+ initializer: function() {
+ var host = this.get(HOST);
+
+ if (host) {
+ host.frame = this;
+ }
+
+ this._eventHandles = [];
+
+ this.publish(EVENT_READY, {
+ emitFacade: true,
+ defaultFn: this._defReadyFn
+ });
+ },
+
+ /**
+ * Destroys the instance.
+ * @protected
+ * @method destructor
+ */
+ destructor: function() {
+ new Y.EventHandle(this._eventHandles).detach();
+
+ this._container.removeAttribute(CONTENT_EDITABLE);
+ },
+
+ /**
+ * Generic handler for all DOM events fired by the Editor container. This handler
+ * takes the current EventFacade and augments it to fire on the ContentEditable host. It adds two new properties
+ * to the EventFacade called frameX and frameY which adds the scroll and xy position of the ContentEditable element
+ * to the original pageX and pageY of the event so external nodes can be positioned over the element.
+ * In case of ContentEditable element these will be equal to pageX and pageY of the container.
+ * @private
+ * @method _onDomEvent
+ * @param {Event.Facade} e
+ */
+ _onDomEvent: function(e) {
+ var xy;
+
+ e.frameX = e.frameY = 0;
+
+ if (e.pageX > 0 || e.pageY > 0) {
+ if (e.type.substring(0, 3) !== KEY) {
+ xy = this._container.getXY();
+
+ e.frameX = xy[0];
+ e.frameY = xy[1];
+ }
+ }
+
+ e.frameTarget = e.target;
+ e.frameCurrentTarget = e.currentTarget;
+ e.frameEvent = e;
+
+ this.fire('dom:' + e.type, e);
+ },
+
+ /**
+ * Simple pass thru handler for the paste event so we can do content cleanup
+ * @private
+ * @method _DOMPaste
+ * @param {Event.Facade} e
+ */
+ _DOMPaste: function(e) {
+ var inst = this.getInstance(),
+ data = EMPTY, win = inst.config.win;
+
+ if (e._event.originalTarget) {
+ data = e._event.originalTarget;
+ }
+
+ if (e._event.clipboardData) {
+ data = e._event.clipboardData.getData(TEXT);
+ }
+
+ if (win.clipboardData) {
+ data = win.clipboardData.getData(TEXT);
+
+ if (data === EMPTY) { // Could be empty, or failed
+ // Verify failure
+ if (!win.clipboardData.setData(TEXT, data)) {
+ data = null;
+ }
+ }
+ }
+
+ e.frameTarget = e.target;
+ e.frameCurrentTarget = e.currentTarget;
+ e.frameEvent = e;
+
+ if (data) {
+ e.clipboardData = {
+ data: data,
+ getData: function() {
+ return data;
+ }
+ };
+ } else {
+ Y.log('Failed to collect clipboard data', 'warn', 'contenteditable');
+
+ e.clipboardData = null;
+ }
+
+ this.fire('dom:paste', e);
+ },
+
+ /**
+ * Binds DOM events and fires the ready event
+ * @private
+ * @method _defReadyFn
+ */
+ _defReadyFn: function() {
+ var inst = this.getInstance(),
+ container = this.get(CONTAINER);
+
+ Y.each(
+ ContentEditable.DOM_EVENTS,
+ function(value, key) {
+ var fn = Y.bind(this._onDomEvent, this),
+ kfn = ((Y.UA.ie && ContentEditable.THROTTLE_TIME > 0) ? Y.throttle(fn, ContentEditable.THROTTLE_TIME) : fn);
+
+ if (!inst.Node.DOM_EVENTS[key]) {
+ inst.Node.DOM_EVENTS[key] = 1;
+ }
+
+ if (value === 1) {
+ if (key !== FOCUS && key !== BLUR && key !== PASTE) {
+ if (key.substring(0, 3) === KEY) {
+ //Throttle key events in IE
+ this._eventHandles.push(container.on(key, kfn, container));
+ } else {
+ this._eventHandles.push(container.on(key, fn, container));
+ }
+ }
+ }
+ },
+ this
+ );
+
+ inst.Node.DOM_EVENTS.paste = 1;
+
+ this._eventHandles.push(
+ container.on(PASTE, Y.bind(this._DOMPaste, this), container),
+ container.on(FOCUS, Y.bind(this._onDomEvent, this), container),
+ container.on(BLUR, Y.bind(this._onDomEvent, this), container)
+ );
+
+ inst.__use = inst.use;
+
+ inst.use = Y.bind(this.use, this);
+ },
+
+ /**
+ * Called once the content is available in the ContentEditable element and calls the final use call
+ * @private
+ * @method _onContentReady
+ * on the internal instance so that the modules are loaded properly.
+ */
+ _onContentReady: function(event) {
+ if (!this._ready) {
+ this._ready = true;
+
+ var inst = this.getInstance(),
+ args = Y.clone(this.get(USE));
+
+ this.fire(EVENT_CONTENT_READY);
+
+ Y.log('On content available', 'info', 'contenteditable');
+
+ if (event) {
+ inst.config.doc = YNode.getDOMNode(event.target);
+ }
+
+ args.push(Y.bind(function() {
+ Y.log('Callback from final internal use call', 'info', 'contenteditable');
+
+ if (inst.EditorSelection) {
+ inst.EditorSelection.DEFAULT_BLOCK_TAG = this.get('defaultblock');
+
+ inst.EditorSelection.ROOT = this.get(CONTAINER);
+ }
+
+ this.fire(EVENT_READY);
+ }, this));
+
+ Y.log('Calling use on internal instance: ' + args, 'info', 'contentEditable');
+
+ inst.use.apply(inst, args);
+ }
+ },
+
+ /**
+ * Retrieves defaultblock value from host attribute
+ * @private
+ * @method _getDefaultBlock
+ * @return {String}
+ */
+ _getDefaultBlock: function() {
+ return this._getHostValue('defaultblock');
+ },
+
+ /**
+ * Retrieves dir value from host attribute
+ * @private
+ * @method _getDir
+ * @return {String}
+ */
+ _getDir: function() {
+ return this._getHostValue('dir');
+ },
+
+ /**
+ * Retrieves extracss value from host attribute
+ * @private
+ * @method _getExtraCSS
+ * @return {String}
+ */
+ _getExtraCSS: function() {
+ return this._getHostValue('extracss');
+ },
+
+ /**
+ * Get the content from the container
+ * @private
+ * @method _getHTML
+ * @param {String} html The raw HTML from the container.
+ * @return {String}
+ */
+ _getHTML: function() {
+ var html, container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ html = container.get(INNER_HTML);
+ }
+
+ return html;
+ },
+
+ /**
+ * Retrieves a value from host attribute
+ * @private
+ * @method _getHostValue
+ * @param {attr} The attribute which value should be returned from the host
+ * @return {String|Object}
+ */
+ _getHostValue: function(attr) {
+ var host = this.get(HOST);
+
+ if (host) {
+ return host.get(attr);
+ }
+ },
+
+ /**
+ * Set the content of the container
+ * @private
+ * @method _setHTML
+ * @param {String} html The raw HTML to set to the container.
+ * @return {String}
+ */
+ _setHTML: function(html) {
+ if (this._ready) {
+ var container = this.get(CONTAINER);
+
+ container.set(INNER_HTML, html);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setHTML, this, html));
+ }
+
+ return html;
+ },
+
+ /**
+ * Set's the linked CSS on the instance.
+ * @private
+ * @method _setLinkedCSS
+ * @param {css} String The linkedcss value
+ * @return {String}
+ */
+ _setLinkedCSS: function(css) {
+ if (this._ready) {
+ var inst = this.getInstance();
+ inst.Get.css(css);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setLinkedCSS, this, css));
+ }
+
+ return css;
+ },
+
+ /**
+ * Set's the dir (language direction) attribute on the container.
+ * @private
+ * @method _setDir
+ * @param {value} String The language direction
+ * @return {String}
+ */
+ _setDir: function(value) {
+ var container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ container.setAttribute('dir', value);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setDir, this, value));
+ }
+
+ return value;
+ },
+
+ /**
+ * Set's the extra CSS on the instance.
+ * @private
+ * @method _setExtraCSS
+ * @param {css} String The CSS style to be set as extra css
+ * @return {String}
+ */
+ _setExtraCSS: function(css) {
+ if (this._ready) {
+ if (css) {
+ var inst = this.getInstance(),
+ head = inst.one('head');
+
+ if (this._extraCSSNode) {
+ this._extraCSSNode.remove();
+ }
+
+ this._extraCSSNode = YNode.create('');
+
+ head.append(this._extraCSSNode);
+ }
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setExtraCSS, this, css));
+ }
+
+ return css;
+ },
+
+ /**
+ * Set's the language value on the instance.
+ * @private
+ * @method _setLang
+ * @param {value} String The language to be set
+ * @return {String}
+ */
+ _setLang: function(value) {
+ var container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ container.setAttribute('lang', value);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setLang, this, value));
+ }
+
+ return value;
+ },
+
+ /**
+ * Called from the first YUI instance that sets up the internal instance.
+ * This loads the content into the ContentEditable element and attaches the contentready event.
+ * @private
+ * @method _instanceLoaded
+ * @param {YUI} inst The internal YUI instance bound to the ContentEditable element
+ */
+ _instanceLoaded: function(inst) {
+ this._instance = inst;
+
+ this._onContentReady();
+
+ var doc = this._instance.config.doc;
+
+ if (!Y.UA.ie) {
+ try {
+ //Force other browsers into non CSS styling
+ doc.execCommand('styleWithCSS', false, false);
+ doc.execCommand('insertbronreturn', false, false);
+ } catch (err) {}
+ }
+ },
+
+
+ /**
+ * Validates linkedcss property
+ *
+ * @method _validateLinkedCSS
+ * @private
+ */
+ _validateLinkedCSS: function(value) {
+ return Lang.isString(value) || Lang.isArray(value);
+ },
+
+ //BEGIN PUBLIC METHODS
+ /**
+ * This is a scoped version of the normal YUI.use method & is bound to the ContentEditable element
+ * At setup, the inst.use method is mapped to this method.
+ * @method use
+ */
+ use: function() {
+ Y.log('Calling augmented use after ready', 'info', 'contenteditable');
+
+ var inst = this.getInstance(),
+ args = Y.Array(arguments),
+ callback = false;
+
+ if (Lang.isFunction(args[args.length - 1])) {
+ callback = args.pop();
+ }
+
+ if (callback) {
+ args.push(function() {
+ Y.log('Internal callback from augmented use', 'info', 'contenteditable');
+
+ callback.apply(inst, arguments);
+ });
+ }
+
+ return inst.__use.apply(inst, args);
+ },
+
+ /**
+ * A delegate method passed to the instance's delegate method
+ * @method delegate
+ * @param {String} type The type of event to listen for
+ * @param {Function} fn The method to attach
+ * @param {String, Node} cont The container to act as a delegate, if no "sel" passed, the container is assumed.
+ * @param {String} sel The selector to match in the event (optional)
+ * @return {EventHandle} The Event handle returned from Y.delegate
+ */
+ delegate: function(type, fn, cont, sel) {
+ var inst = this.getInstance();
+
+ if (!inst) {
+ Y.log('Delegate events can not be attached until after the ready event has fired.', 'error', 'contenteditable');
+
+ return false;
+ }
+
+ if (!sel) {
+ sel = cont;
+
+ cont = this.get(CONTAINER);
+ }
+
+ return inst.delegate(type, fn, cont, sel);
+ },
+
+ /**
+ * Get a reference to the internal YUI instance.
+ * @method getInstance
+ * @return {YUI} The internal YUI instance
+ */
+ getInstance: function() {
+ return this._instance;
+ },
+
+ /**
+ * @method render
+ * @param {String/HTMLElement/Node} node The node to render to
+ * @return {ContentEditable}
+ * @chainable
+ */
+ render: function(node) {
+ var args, inst, fn;
+
+ if (this._rendered) {
+ Y.log('Container already rendered.', 'warn', 'contentEditable');
+
+ return this;
+ }
+
+ if (node) {
+ this.set(CONTAINER, node);
+ }
+
+ container = this.get(CONTAINER);
+
+ if (!container) {
+ container = YNode.create(ContentEditable.HTML);
+
+ Y.one('body').prepend(container);
+
+ this.set(CONTAINER, container);
+ }
+
+ this._rendered = true;
+
+ this._container.setAttribute(CONTENT_EDITABLE, true);
+
+ args = Y.clone(this.get(USE));
+
+ fn = Y.bind(function() {
+ inst = YUI();
+
+ inst.host = this.get(HOST); //Cross reference to Editor
+
+ inst.log = Y.log; //Dump the instance logs to the parent instance.
+
+ Y.log('Creating new internal instance with node-base only', 'info', 'contenteditable');
+ inst.use('node-base', Y.bind(this._instanceLoaded, this));
+ }, this);
+
+ args.push(fn);
+
+ Y.log('Adding new modules to main instance: ' + args, 'info', 'contenteditable');
+ Y.use.apply(Y, args);
+
+ return this;
+ },
+
+ /**
+ * Set the focus to the container
+ * @method focus
+ * @param {Function} fn Callback function to execute after focus happens
+ * @return {ContentEditable}
+ * @chainable
+ */
+ focus: function() {
+ this._container.focus();
+
+ return this;
+ },
+ /**
+ * Show the iframe instance
+ * @method show
+ * @return {ContentEditable}
+ * @chainable
+ */
+ show: function() {
+ this._container.show();
+
+ this.focus();
+
+ return this;
+ },
+
+ /**
+ * Hide the iframe instance
+ * @method hide
+ * @return {ContentEditable}
+ * @chainable
+ */
+ hide: function() {
+ this._container.hide();
+
+ return this;
+ }
+ },
+ {
+ /**
+ * The throttle time for key events in IE
+ * @static
+ * @property THROTTLE_TIME
+ * @type Number
+ * @default 100
+ */
+ THROTTLE_TIME: 100,
+
+ /**
+ * The DomEvents that the frame automatically attaches and bubbles
+ * @static
+ * @property DOM_EVENTS
+ * @type Object
+ */
+ DOM_EVENTS: {
+ click: 1,
+ dblclick: 1,
+ focusin: 1,
+ focusout: 1,
+ keydown: 1,
+ keypress: 1,
+ keyup: 1,
+ mousedown: 1,
+ mouseup: 1,
+ paste: 1
+ },
+
+ /**
+ * The template string used to create the ContentEditable element
+ * @static
+ * @property HTML
+ * @type String
+ */
+ HTML: '',
+
+ /**
+ * The name of the class (contentEditable)
+ * @static
+ * @property NAME
+ * @type String
+ */
+ NAME: 'contentEditable',
+
+ /**
+ * The namespace on which ContentEditable plugin will reside.
+ *
+ * @property NS
+ * @type String
+ * @default 'contentEditable'
+ * @static
+ */
+ NS: CONTENT_EDITABLE,
+
+ ATTRS: {
+ /**
+ * The default text direction for this ContentEditable element. Default: ltr
+ * @attribute dir
+ * @type String
+ */
+ dir: {
+ lazyAdd: false,
+ validator: Lang.isString,
+ setter: '_setDir',
+ valueFn: '_getDir'
+ },
+
+ /**
+ * The container to set contentEditable=true or to create on render.
+ * @attribute container
+ * @type String/HTMLElement/Node
+ */
+ container: {
+ setter: function(n) {
+ this._container = Y.one(n);
+
+ return this._container;
+ }
+ },
+
+ /**
+ * The string to inject as Editor content. Default ' '
+ * @attribute content
+ * @type String
+ */
+ content: {
+ getter: '_getHTML',
+ lazyAdd: false,
+ setter: '_setHTML',
+ validator: Lang.isString,
+ value: ' '
+ },
+
+ /**
+ * The default tag to use for block level items, defaults to: p
+ * @attribute defaultblock
+ * @type String
+ */
+ defaultblock: {
+ validator: Lang.isString,
+ value: TAG_PARAGRAPH,
+ valueFn: '_getDefaultBlock'
+ },
+
+ /**
+ * A string of CSS to add to the Head of the Editor
+ * @attribute extracss
+ * @type String
+ */
+ extracss: {
+ lazyAdd: false,
+ setter: '_setExtraCSS',
+ validator: Lang.isString,
+ valueFn: '_getExtraCSS'
+ },
+
+ /**
+ * Set the id of the new Node. (optional)
+ * @attribute id
+ * @type String
+ * @writeonce
+ */
+ id: {
+ writeOnce: true,
+ getter: function(id) {
+ if (!id) {
+ id = 'inlineedit-' + Y.guid();
+ }
+
+ return id;
+ }
+ },
+
+ /**
+ * The default language. Default: en-US
+ * @attribute lang
+ * @type String
+ */
+ lang: {
+ validator: Lang.isString,
+ setter: '_setLang',
+ lazyAdd: false,
+ value: 'en-US'
+ },
+
+ /**
+ * An array of url's to external linked style sheets
+ * @attribute linkedcss
+ * @type String|Array
+ */
+ linkedcss: {
+ setter: '_setLinkedCSS',
+ validator: '_validateLinkedCSS'
+ //value: ''
+ },
+
+ /**
+ * The Node instance of the container.
+ * @attribute node
+ * @type Node
+ */
+ node: {
+ readOnly: true,
+ value: null,
+ getter: function() {
+ return this._container;
+ }
+ },
+
+ /**
+ * Array of modules to include in the scoped YUI instance at render time. Default: ['node-base', 'editor-selection', 'stylesheet']
+ * @attribute use
+ * @writeonce
+ * @type Array
+ */
+ use: {
+ validator: Lang.isArray,
+ writeOnce: true,
+ value: ['node-base', 'editor-selection', 'stylesheet']
+ }
+ }
+ });
+
+ Y.namespace('Plugin');
+
+ Y.Plugin.ContentEditable = ContentEditable;
+
+}, '3.13.0', {"requires": ["node-base", "editor-selection", "stylesheet", "plugin"]});
diff --git a/lib/yuilib/3.13.0/content-editable/content-editable-min.js b/lib/yuilib/3.13.0/content-editable/content-editable-min.js
new file mode 100755
index 00000000000..b30326c6fd8
--- /dev/null
+++ b/lib/yuilib/3.13.0/content-editable/content-editable-min.js
@@ -0,0 +1,8 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add("content-editable",function(e,t){var n=e.Lang,r=e.Node,i="contentready",s="ready",o="p",u="blur",a="container",f="contentEditable",l="",c="focus",h="host",p="innerHTML",d="key",v="parentNode",m="paste",g="Text",y="use",b=function(){b.superclass.constructor.apply(this,arguments)};e.extend(b,e.Plugin.Base,{_rendered:null,_instance:null,initializer:function(){var e=this.get(h);e&&(e.frame=this),this._eventHandles=[],this.publish(s,{emitFacade:!0,defaultFn:this._defReadyFn})},destructor:function(){(new e.EventHandle(this._eventHandles)).detach(),this._container.removeAttribute(f)},_onDomEvent:function(e){var t;e.frameX=e.frameY=0,(e.pageX>0||e.pageY>0)&&e.type.substring(0,3)!==d&&(t=this._container.getXY(),e.frameX=t[0],e.frameY=t[1]),e.frameTarget=e.target,e.frameCurrentTarget=e.currentTarget,e.frameEvent=e,this.fire("dom:"+e.type,e)},_DOMPaste:function(e){var t=this.getInstance(),n=l,r=t.config.win;e._event.originalTarget&&(n=e._event.originalTarget),e._event.clipboardData&&(n=e._event.clipboardData.getData(g)),r.clipboardData&&(n=r.clipboardData.getData(g),n===l&&(r.clipboardData.setData(g,n)||(n=null))),e.frameTarget=e.target,e.frameCurrentTarget=e.currentTarget,e.frameEvent=e,n?e.clipboardData={data:n,getData:function(){return n}}:e.clipboardData=null,this.fire("dom:paste",e)},_defReadyFn:function(){var t=this.getInstance(),n=this.get(a);e.each(b.DOM_EVENTS,function(r,i){var s=e.bind(this._onDomEvent,this),o=e.UA.ie&&b.THROTTLE_TIME>0?e.throttle(s,b.THROTTLE_TIME):s;t.Node.DOM_EVENTS[i]||(t.Node.DOM_EVENTS[i]=1),r===1&&i!==c&&i!==u&&i!==m&&(i.substring(0,3)===d?this._eventHandles.push(n.on(i,o,n)):this._eventHandles.push(n.on(i,s,n)))},this),t.Node.DOM_EVENTS.paste=1,this._eventHandles.push(n.on(m,e.bind(this._DOMPaste,this),n),n.on(c,e.bind(this._onDomEvent,this),n),n.on(u,e.bind(this._onDomEvent,this),n)),t.__use=t.use,t.use=e.bind(this.use,this)},_onContentReady:function(t){if(!this._ready){this._ready=!0;var n=this.getInstance(),o=e.clone(this.get(y));this.fire(i),t&&(n.config.doc=r.getDOMNode(t.target)),o.push(e.bind(function(){n.EditorSelection&&(n.EditorSelection.DEFAULT_BLOCK_TAG=this.get("defaultblock"),n.EditorSelection.ROOT=this.get(a)),this.fire(s)},this)),n.use.apply(n,o)}},_getDefaultBlock:function(){return this._getHostValue("defaultblock")},_getDir:function(){return this._getHostValue("dir")},_getExtraCSS:function(){return this._getHostValue("extracss")},_getHTML:function(){var e,t;return this._ready&&(t=this.get(a),e=t.get(p)),e},_getHostValue:function(e){var t=this.get(h);if(t)return t.get(e)},_setHTML:function(t){if(this._ready){var n=this.get(a);n.set(p,t)}else this.once(i,e.bind(this._setHTML,this,t));return t},_setLinkedCSS:function(t){if(this._ready){var n=this.getInstance();n.Get.css(t)}else this.once(i,e.bind(this._setLinkedCSS,this,t));return t},_setDir:function(t){var n;return this._ready?(n=this.get(a),n.setAttribute("dir",t)):this.once(i,e.bind(this._setDir,this,t)),t},_setExtraCSS:function(t){if(this._ready){if(t){var n=this.getInstance(),s=n.one("head");this._extraCSSNode&&this._extraCSSNode.remove(),this._extraCSSNode=r.create(""),s.append(this._extraCSSNode)}}else this.once(i,e.bind(this._setExtraCSS,this,t));return t},_setLang:function(t){var n;return this._ready?(n=this.get(a),n.setAttribute("lang",t)):this.once(i,e.bind(this._setLang,this,t)),t},_instanceLoaded:function(t){this._instance=t,this._onContentReady();var n=this._instance.config.doc;if(!e.UA.ie)try{n.execCommand("styleWithCSS",!1,!1),n.execCommand("insertbronreturn",!1,!1)}catch(r){}},_validateLinkedCSS:function(e){return n.isString(e)||n.isArray(e)},use:function(){var t=this.getInstance(),r=e.Array(arguments),i=!1;return n.isFunction(r[r.length-1])&&(i=r.pop()),i&&r.push(function(){i.apply(t,arguments)}),t.__use.apply(t,r)},delegate:function(e,t,n,r){var i=this.getInstance();return i?(r||(r=n,n=this.get(a)),i.delegate(e,t,n,r)):!1},getInstance:function(){return this._instance},render:function(t){var n,i,s;return this._rendered?this:(t&&this.set(a,t),container=this.get(a),container||(container=r.create(b.HTML),e.one("body").prepend(container),this.set(a,container)),this._rendered=!0,this._container.setAttribute(f,!0),n=e.clone(this.get(y)),s=e.bind(function(){i=YUI(),i.host=this.get(h),i.use("node-base",e.bind(this._instanceLoaded,this))},this),n.push(s),e.use.apply(e,n),this)},focus:function(){return this._container.focus(),this},show:function(){return this._container.show(),this.focus(),this},hide:function(){return this._container.hide(),this}},{THROTTLE_TIME:100,DOM_EVENTS:{click:1,dblclick:1,focusin:1,focusout:1,keydown:1,keypress:1,keyup:1,mousedown:1,mouseup:1,paste:1},HTML:"",NAME:"contentEditable",NS:f,ATTRS:{dir:{lazyAdd:!1,validator:n.isString,setter:"_setDir",valueFn:"_getDir"},container:{setter:function(t){return this._container=e.one(t),this._container}},content:{getter:"_getHTML",lazyAdd:!1,setter:"_setHTML",validator:n.isString,value:" "},defaultblock:{validator:n.isString,value:o,valueFn:"_getDefaultBlock"},extracss:{lazyAdd:!1,setter:"_setExtraCSS",validator:n.isString,valueFn:"_getExtraCSS"},id:{writeOnce:!0,getter:function(t){return t||(t="inlineedit-"+e.guid()),t}},lang:{validator:n.isString,setter:"_setLang",lazyAdd:!1,value:"en-US"},linkedcss:{setter:"_setLinkedCSS",validator:"_validateLinkedCSS"},node:{readOnly:!0,value:null,getter:function(){return this._container}},use:{validator:n.isArray,writeOnce:!0,value:["node-base","editor-selection","stylesheet"]}}}),e.namespace("Plugin"),e.Plugin.ContentEditable=b},"3.13.0",{requires:["node-base","editor-selection","stylesheet","plugin"]});
diff --git a/lib/yuilib/3.13.0/content-editable/content-editable.js b/lib/yuilib/3.13.0/content-editable/content-editable.js
new file mode 100755
index 00000000000..74b283aeceb
--- /dev/null
+++ b/lib/yuilib/3.13.0/content-editable/content-editable.js
@@ -0,0 +1,803 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('content-editable', function (Y, NAME) {
+
+ /*jshint maxlen: 500 */
+ /**
+ * Creates a component to work with an elemment.
+ * @class ContentEditable
+ * @for ContentEditable
+ * @extends Y.Plugin.Base
+ * @constructor
+ * @module editor
+ * @submodule content-editable
+ */
+
+ var Lang = Y.Lang,
+ YNode = Y.Node,
+
+ EVENT_CONTENT_READY = 'contentready',
+ EVENT_READY = 'ready',
+
+ TAG_PARAGRAPH = 'p',
+
+ BLUR = 'blur',
+ CONTAINER = 'container',
+ CONTENT_EDITABLE = 'contentEditable',
+ EMPTY = '',
+ FOCUS = 'focus',
+ HOST = 'host',
+ INNER_HTML = 'innerHTML',
+ KEY = 'key',
+ PARENT_NODE = 'parentNode',
+ PASTE = 'paste',
+ TEXT = 'Text',
+ USE = 'use',
+
+ ContentEditable = function() {
+ ContentEditable.superclass.constructor.apply(this, arguments);
+ };
+
+ Y.extend(ContentEditable, Y.Plugin.Base, {
+
+ /**
+ * Internal reference set when render is called.
+ * @private
+ * @property _rendered
+ * @type Boolean
+ */
+ _rendered: null,
+
+ /**
+ * Internal reference to the YUI instance bound to the element
+ * @private
+ * @property _instance
+ * @type YUI
+ */
+ _instance: null,
+
+ /**
+ * Initializes the ContentEditable instance
+ * @protected
+ * @method initializer
+ */
+ initializer: function() {
+ var host = this.get(HOST);
+
+ if (host) {
+ host.frame = this;
+ }
+
+ this._eventHandles = [];
+
+ this.publish(EVENT_READY, {
+ emitFacade: true,
+ defaultFn: this._defReadyFn
+ });
+ },
+
+ /**
+ * Destroys the instance.
+ * @protected
+ * @method destructor
+ */
+ destructor: function() {
+ new Y.EventHandle(this._eventHandles).detach();
+
+ this._container.removeAttribute(CONTENT_EDITABLE);
+ },
+
+ /**
+ * Generic handler for all DOM events fired by the Editor container. This handler
+ * takes the current EventFacade and augments it to fire on the ContentEditable host. It adds two new properties
+ * to the EventFacade called frameX and frameY which adds the scroll and xy position of the ContentEditable element
+ * to the original pageX and pageY of the event so external nodes can be positioned over the element.
+ * In case of ContentEditable element these will be equal to pageX and pageY of the container.
+ * @private
+ * @method _onDomEvent
+ * @param {Event.Facade} e
+ */
+ _onDomEvent: function(e) {
+ var xy;
+
+ e.frameX = e.frameY = 0;
+
+ if (e.pageX > 0 || e.pageY > 0) {
+ if (e.type.substring(0, 3) !== KEY) {
+ xy = this._container.getXY();
+
+ e.frameX = xy[0];
+ e.frameY = xy[1];
+ }
+ }
+
+ e.frameTarget = e.target;
+ e.frameCurrentTarget = e.currentTarget;
+ e.frameEvent = e;
+
+ this.fire('dom:' + e.type, e);
+ },
+
+ /**
+ * Simple pass thru handler for the paste event so we can do content cleanup
+ * @private
+ * @method _DOMPaste
+ * @param {Event.Facade} e
+ */
+ _DOMPaste: function(e) {
+ var inst = this.getInstance(),
+ data = EMPTY, win = inst.config.win;
+
+ if (e._event.originalTarget) {
+ data = e._event.originalTarget;
+ }
+
+ if (e._event.clipboardData) {
+ data = e._event.clipboardData.getData(TEXT);
+ }
+
+ if (win.clipboardData) {
+ data = win.clipboardData.getData(TEXT);
+
+ if (data === EMPTY) { // Could be empty, or failed
+ // Verify failure
+ if (!win.clipboardData.setData(TEXT, data)) {
+ data = null;
+ }
+ }
+ }
+
+ e.frameTarget = e.target;
+ e.frameCurrentTarget = e.currentTarget;
+ e.frameEvent = e;
+
+ if (data) {
+ e.clipboardData = {
+ data: data,
+ getData: function() {
+ return data;
+ }
+ };
+ } else {
+
+ e.clipboardData = null;
+ }
+
+ this.fire('dom:paste', e);
+ },
+
+ /**
+ * Binds DOM events and fires the ready event
+ * @private
+ * @method _defReadyFn
+ */
+ _defReadyFn: function() {
+ var inst = this.getInstance(),
+ container = this.get(CONTAINER);
+
+ Y.each(
+ ContentEditable.DOM_EVENTS,
+ function(value, key) {
+ var fn = Y.bind(this._onDomEvent, this),
+ kfn = ((Y.UA.ie && ContentEditable.THROTTLE_TIME > 0) ? Y.throttle(fn, ContentEditable.THROTTLE_TIME) : fn);
+
+ if (!inst.Node.DOM_EVENTS[key]) {
+ inst.Node.DOM_EVENTS[key] = 1;
+ }
+
+ if (value === 1) {
+ if (key !== FOCUS && key !== BLUR && key !== PASTE) {
+ if (key.substring(0, 3) === KEY) {
+ //Throttle key events in IE
+ this._eventHandles.push(container.on(key, kfn, container));
+ } else {
+ this._eventHandles.push(container.on(key, fn, container));
+ }
+ }
+ }
+ },
+ this
+ );
+
+ inst.Node.DOM_EVENTS.paste = 1;
+
+ this._eventHandles.push(
+ container.on(PASTE, Y.bind(this._DOMPaste, this), container),
+ container.on(FOCUS, Y.bind(this._onDomEvent, this), container),
+ container.on(BLUR, Y.bind(this._onDomEvent, this), container)
+ );
+
+ inst.__use = inst.use;
+
+ inst.use = Y.bind(this.use, this);
+ },
+
+ /**
+ * Called once the content is available in the ContentEditable element and calls the final use call
+ * @private
+ * @method _onContentReady
+ * on the internal instance so that the modules are loaded properly.
+ */
+ _onContentReady: function(event) {
+ if (!this._ready) {
+ this._ready = true;
+
+ var inst = this.getInstance(),
+ args = Y.clone(this.get(USE));
+
+ this.fire(EVENT_CONTENT_READY);
+
+
+ if (event) {
+ inst.config.doc = YNode.getDOMNode(event.target);
+ }
+
+ args.push(Y.bind(function() {
+
+ if (inst.EditorSelection) {
+ inst.EditorSelection.DEFAULT_BLOCK_TAG = this.get('defaultblock');
+
+ inst.EditorSelection.ROOT = this.get(CONTAINER);
+ }
+
+ this.fire(EVENT_READY);
+ }, this));
+
+
+ inst.use.apply(inst, args);
+ }
+ },
+
+ /**
+ * Retrieves defaultblock value from host attribute
+ * @private
+ * @method _getDefaultBlock
+ * @return {String}
+ */
+ _getDefaultBlock: function() {
+ return this._getHostValue('defaultblock');
+ },
+
+ /**
+ * Retrieves dir value from host attribute
+ * @private
+ * @method _getDir
+ * @return {String}
+ */
+ _getDir: function() {
+ return this._getHostValue('dir');
+ },
+
+ /**
+ * Retrieves extracss value from host attribute
+ * @private
+ * @method _getExtraCSS
+ * @return {String}
+ */
+ _getExtraCSS: function() {
+ return this._getHostValue('extracss');
+ },
+
+ /**
+ * Get the content from the container
+ * @private
+ * @method _getHTML
+ * @param {String} html The raw HTML from the container.
+ * @return {String}
+ */
+ _getHTML: function() {
+ var html, container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ html = container.get(INNER_HTML);
+ }
+
+ return html;
+ },
+
+ /**
+ * Retrieves a value from host attribute
+ * @private
+ * @method _getHostValue
+ * @param {attr} The attribute which value should be returned from the host
+ * @return {String|Object}
+ */
+ _getHostValue: function(attr) {
+ var host = this.get(HOST);
+
+ if (host) {
+ return host.get(attr);
+ }
+ },
+
+ /**
+ * Set the content of the container
+ * @private
+ * @method _setHTML
+ * @param {String} html The raw HTML to set to the container.
+ * @return {String}
+ */
+ _setHTML: function(html) {
+ if (this._ready) {
+ var container = this.get(CONTAINER);
+
+ container.set(INNER_HTML, html);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setHTML, this, html));
+ }
+
+ return html;
+ },
+
+ /**
+ * Set's the linked CSS on the instance.
+ * @private
+ * @method _setLinkedCSS
+ * @param {css} String The linkedcss value
+ * @return {String}
+ */
+ _setLinkedCSS: function(css) {
+ if (this._ready) {
+ var inst = this.getInstance();
+ inst.Get.css(css);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setLinkedCSS, this, css));
+ }
+
+ return css;
+ },
+
+ /**
+ * Set's the dir (language direction) attribute on the container.
+ * @private
+ * @method _setDir
+ * @param {value} String The language direction
+ * @return {String}
+ */
+ _setDir: function(value) {
+ var container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ container.setAttribute('dir', value);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setDir, this, value));
+ }
+
+ return value;
+ },
+
+ /**
+ * Set's the extra CSS on the instance.
+ * @private
+ * @method _setExtraCSS
+ * @param {css} String The CSS style to be set as extra css
+ * @return {String}
+ */
+ _setExtraCSS: function(css) {
+ if (this._ready) {
+ if (css) {
+ var inst = this.getInstance(),
+ head = inst.one('head');
+
+ if (this._extraCSSNode) {
+ this._extraCSSNode.remove();
+ }
+
+ this._extraCSSNode = YNode.create('');
+
+ head.append(this._extraCSSNode);
+ }
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setExtraCSS, this, css));
+ }
+
+ return css;
+ },
+
+ /**
+ * Set's the language value on the instance.
+ * @private
+ * @method _setLang
+ * @param {value} String The language to be set
+ * @return {String}
+ */
+ _setLang: function(value) {
+ var container;
+
+ if (this._ready) {
+ container = this.get(CONTAINER);
+
+ container.setAttribute('lang', value);
+ } else {
+ //This needs to be wrapped in a contentready callback for the !_ready state
+ this.once(EVENT_CONTENT_READY, Y.bind(this._setLang, this, value));
+ }
+
+ return value;
+ },
+
+ /**
+ * Called from the first YUI instance that sets up the internal instance.
+ * This loads the content into the ContentEditable element and attaches the contentready event.
+ * @private
+ * @method _instanceLoaded
+ * @param {YUI} inst The internal YUI instance bound to the ContentEditable element
+ */
+ _instanceLoaded: function(inst) {
+ this._instance = inst;
+
+ this._onContentReady();
+
+ var doc = this._instance.config.doc;
+
+ if (!Y.UA.ie) {
+ try {
+ //Force other browsers into non CSS styling
+ doc.execCommand('styleWithCSS', false, false);
+ doc.execCommand('insertbronreturn', false, false);
+ } catch (err) {}
+ }
+ },
+
+
+ /**
+ * Validates linkedcss property
+ *
+ * @method _validateLinkedCSS
+ * @private
+ */
+ _validateLinkedCSS: function(value) {
+ return Lang.isString(value) || Lang.isArray(value);
+ },
+
+ //BEGIN PUBLIC METHODS
+ /**
+ * This is a scoped version of the normal YUI.use method & is bound to the ContentEditable element
+ * At setup, the inst.use method is mapped to this method.
+ * @method use
+ */
+ use: function() {
+
+ var inst = this.getInstance(),
+ args = Y.Array(arguments),
+ callback = false;
+
+ if (Lang.isFunction(args[args.length - 1])) {
+ callback = args.pop();
+ }
+
+ if (callback) {
+ args.push(function() {
+
+ callback.apply(inst, arguments);
+ });
+ }
+
+ return inst.__use.apply(inst, args);
+ },
+
+ /**
+ * A delegate method passed to the instance's delegate method
+ * @method delegate
+ * @param {String} type The type of event to listen for
+ * @param {Function} fn The method to attach
+ * @param {String, Node} cont The container to act as a delegate, if no "sel" passed, the container is assumed.
+ * @param {String} sel The selector to match in the event (optional)
+ * @return {EventHandle} The Event handle returned from Y.delegate
+ */
+ delegate: function(type, fn, cont, sel) {
+ var inst = this.getInstance();
+
+ if (!inst) {
+
+ return false;
+ }
+
+ if (!sel) {
+ sel = cont;
+
+ cont = this.get(CONTAINER);
+ }
+
+ return inst.delegate(type, fn, cont, sel);
+ },
+
+ /**
+ * Get a reference to the internal YUI instance.
+ * @method getInstance
+ * @return {YUI} The internal YUI instance
+ */
+ getInstance: function() {
+ return this._instance;
+ },
+
+ /**
+ * @method render
+ * @param {String/HTMLElement/Node} node The node to render to
+ * @return {ContentEditable}
+ * @chainable
+ */
+ render: function(node) {
+ var args, inst, fn;
+
+ if (this._rendered) {
+
+ return this;
+ }
+
+ if (node) {
+ this.set(CONTAINER, node);
+ }
+
+ container = this.get(CONTAINER);
+
+ if (!container) {
+ container = YNode.create(ContentEditable.HTML);
+
+ Y.one('body').prepend(container);
+
+ this.set(CONTAINER, container);
+ }
+
+ this._rendered = true;
+
+ this._container.setAttribute(CONTENT_EDITABLE, true);
+
+ args = Y.clone(this.get(USE));
+
+ fn = Y.bind(function() {
+ inst = YUI();
+
+ inst.host = this.get(HOST); //Cross reference to Editor
+
+
+ inst.use('node-base', Y.bind(this._instanceLoaded, this));
+ }, this);
+
+ args.push(fn);
+
+ Y.use.apply(Y, args);
+
+ return this;
+ },
+
+ /**
+ * Set the focus to the container
+ * @method focus
+ * @param {Function} fn Callback function to execute after focus happens
+ * @return {ContentEditable}
+ * @chainable
+ */
+ focus: function() {
+ this._container.focus();
+
+ return this;
+ },
+ /**
+ * Show the iframe instance
+ * @method show
+ * @return {ContentEditable}
+ * @chainable
+ */
+ show: function() {
+ this._container.show();
+
+ this.focus();
+
+ return this;
+ },
+
+ /**
+ * Hide the iframe instance
+ * @method hide
+ * @return {ContentEditable}
+ * @chainable
+ */
+ hide: function() {
+ this._container.hide();
+
+ return this;
+ }
+ },
+ {
+ /**
+ * The throttle time for key events in IE
+ * @static
+ * @property THROTTLE_TIME
+ * @type Number
+ * @default 100
+ */
+ THROTTLE_TIME: 100,
+
+ /**
+ * The DomEvents that the frame automatically attaches and bubbles
+ * @static
+ * @property DOM_EVENTS
+ * @type Object
+ */
+ DOM_EVENTS: {
+ click: 1,
+ dblclick: 1,
+ focusin: 1,
+ focusout: 1,
+ keydown: 1,
+ keypress: 1,
+ keyup: 1,
+ mousedown: 1,
+ mouseup: 1,
+ paste: 1
+ },
+
+ /**
+ * The template string used to create the ContentEditable element
+ * @static
+ * @property HTML
+ * @type String
+ */
+ HTML: '',
+
+ /**
+ * The name of the class (contentEditable)
+ * @static
+ * @property NAME
+ * @type String
+ */
+ NAME: 'contentEditable',
+
+ /**
+ * The namespace on which ContentEditable plugin will reside.
+ *
+ * @property NS
+ * @type String
+ * @default 'contentEditable'
+ * @static
+ */
+ NS: CONTENT_EDITABLE,
+
+ ATTRS: {
+ /**
+ * The default text direction for this ContentEditable element. Default: ltr
+ * @attribute dir
+ * @type String
+ */
+ dir: {
+ lazyAdd: false,
+ validator: Lang.isString,
+ setter: '_setDir',
+ valueFn: '_getDir'
+ },
+
+ /**
+ * The container to set contentEditable=true or to create on render.
+ * @attribute container
+ * @type String/HTMLElement/Node
+ */
+ container: {
+ setter: function(n) {
+ this._container = Y.one(n);
+
+ return this._container;
+ }
+ },
+
+ /**
+ * The string to inject as Editor content. Default ' '
+ * @attribute content
+ * @type String
+ */
+ content: {
+ getter: '_getHTML',
+ lazyAdd: false,
+ setter: '_setHTML',
+ validator: Lang.isString,
+ value: ' '
+ },
+
+ /**
+ * The default tag to use for block level items, defaults to: p
+ * @attribute defaultblock
+ * @type String
+ */
+ defaultblock: {
+ validator: Lang.isString,
+ value: TAG_PARAGRAPH,
+ valueFn: '_getDefaultBlock'
+ },
+
+ /**
+ * A string of CSS to add to the Head of the Editor
+ * @attribute extracss
+ * @type String
+ */
+ extracss: {
+ lazyAdd: false,
+ setter: '_setExtraCSS',
+ validator: Lang.isString,
+ valueFn: '_getExtraCSS'
+ },
+
+ /**
+ * Set the id of the new Node. (optional)
+ * @attribute id
+ * @type String
+ * @writeonce
+ */
+ id: {
+ writeOnce: true,
+ getter: function(id) {
+ if (!id) {
+ id = 'inlineedit-' + Y.guid();
+ }
+
+ return id;
+ }
+ },
+
+ /**
+ * The default language. Default: en-US
+ * @attribute lang
+ * @type String
+ */
+ lang: {
+ validator: Lang.isString,
+ setter: '_setLang',
+ lazyAdd: false,
+ value: 'en-US'
+ },
+
+ /**
+ * An array of url's to external linked style sheets
+ * @attribute linkedcss
+ * @type String|Array
+ */
+ linkedcss: {
+ setter: '_setLinkedCSS',
+ validator: '_validateLinkedCSS'
+ //value: ''
+ },
+
+ /**
+ * The Node instance of the container.
+ * @attribute node
+ * @type Node
+ */
+ node: {
+ readOnly: true,
+ value: null,
+ getter: function() {
+ return this._container;
+ }
+ },
+
+ /**
+ * Array of modules to include in the scoped YUI instance at render time. Default: ['node-base', 'editor-selection', 'stylesheet']
+ * @attribute use
+ * @writeonce
+ * @type Array
+ */
+ use: {
+ validator: Lang.isArray,
+ writeOnce: true,
+ value: ['node-base', 'editor-selection', 'stylesheet']
+ }
+ }
+ });
+
+ Y.namespace('Plugin');
+
+ Y.Plugin.ContentEditable = ContentEditable;
+
+}, '3.13.0', {"requires": ["node-base", "editor-selection", "stylesheet", "plugin"]});
diff --git a/lib/yuilib/3.13.0/cookie/cookie-coverage.js b/lib/yuilib/3.13.0/cookie/cookie-coverage.js
new file mode 100755
index 00000000000..5cfeeef46d1
--- /dev/null
+++ b/lib/yuilib/3.13.0/cookie/cookie-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/cookie/cookie.js']) {
+ __coverage__['build/cookie/cookie.js'] = {"path":"build/cookie/cookie.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":18},"end":{"line":1,"column":37}}},"2":{"name":"error","line":27,"loc":{"start":{"line":27,"column":4},"end":{"line":27,"column":27}}},"3":{"name":"validateCookieName","line":34,"loc":{"start":{"line":34,"column":4},"end":{"line":34,"column":37}}},"4":{"name":"validateSubcookieName","line":43,"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}}},"5":{"name":"(anonymous_5)","line":71,"loc":{"start":{"line":71,"column":30},"end":{"line":71,"column":137}}},"6":{"name":"(anonymous_6)","line":114,"loc":{"start":{"line":114,"column":34},"end":{"line":114,"column":74}}},"7":{"name":"(anonymous_7)","line":121,"loc":{"start":{"line":121,"column":25},"end":{"line":121,"column":45}}},"8":{"name":"(anonymous_8)","line":138,"loc":{"start":{"line":138,"column":27},"end":{"line":138,"column":43}}},"9":{"name":"(anonymous_9)","line":164,"loc":{"start":{"line":164,"column":29},"end":{"line":164,"column":117}}},"10":{"name":"(anonymous_10)","line":170,"loc":{"start":{"line":170,"column":60},"end":{"line":170,"column":71}}},"11":{"name":"(anonymous_11)","line":218,"loc":{"start":{"line":218,"column":17},"end":{"line":218,"column":33}}},"12":{"name":"(anonymous_12)","line":234,"loc":{"start":{"line":234,"column":16},"end":{"line":234,"column":31}}},"13":{"name":"(anonymous_13)","line":259,"loc":{"start":{"line":259,"column":14},"end":{"line":259,"column":39}}},"14":{"name":"(anonymous_14)","line":306,"loc":{"start":{"line":306,"column":17},"end":{"line":306,"column":125}}},"15":{"name":"(anonymous_15)","line":338,"loc":{"start":{"line":338,"column":18},"end":{"line":338,"column":67}}},"16":{"name":"(anonymous_16)","line":361,"loc":{"start":{"line":361,"column":17},"end":{"line":361,"column":42}}},"17":{"name":"(anonymous_17)","line":386,"loc":{"start":{"line":386,"column":20},"end":{"line":386,"column":53}}},"18":{"name":"(anonymous_18)","line":433,"loc":{"start":{"line":433,"column":14},"end":{"line":433,"column":46}}},"19":{"name":"(anonymous_19)","line":460,"loc":{"start":{"line":460,"column":17},"end":{"line":460,"column":58}}},"20":{"name":"(anonymous_20)","line":493,"loc":{"start":{"line":493,"column":18},"end":{"line":493,"column":50}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":509,"column":41}},"2":{"start":{"line":9,"column":4},"end":{"line":22,"column":35}},"3":{"start":{"line":27,"column":4},"end":{"line":29,"column":5}},"4":{"start":{"line":28,"column":8},"end":{"line":28,"column":37}},"5":{"start":{"line":34,"column":4},"end":{"line":38,"column":5}},"6":{"start":{"line":35,"column":8},"end":{"line":37,"column":9}},"7":{"start":{"line":36,"column":12},"end":{"line":36,"column":61}},"8":{"start":{"line":43,"column":4},"end":{"line":47,"column":5}},"9":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"10":{"start":{"line":45,"column":12},"end":{"line":45,"column":64}},"11":{"start":{"line":54,"column":4},"end":{"line":506,"column":6}},"12":{"start":{"line":73,"column":12},"end":{"line":73,"column":36}},"13":{"start":{"line":75,"column":12},"end":{"line":78,"column":41}},"14":{"start":{"line":81,"column":12},"end":{"line":101,"column":13}},"15":{"start":{"line":83,"column":16},"end":{"line":85,"column":17}},"16":{"start":{"line":84,"column":20},"end":{"line":84,"column":65}},"17":{"start":{"line":88,"column":16},"end":{"line":90,"column":17}},"18":{"start":{"line":89,"column":20},"end":{"line":89,"column":45}},"19":{"start":{"line":93,"column":16},"end":{"line":95,"column":17}},"20":{"start":{"line":94,"column":20},"end":{"line":94,"column":49}},"21":{"start":{"line":98,"column":16},"end":{"line":100,"column":17}},"22":{"start":{"line":99,"column":20},"end":{"line":99,"column":39}},"23":{"start":{"line":103,"column":12},"end":{"line":103,"column":24}},"24":{"start":{"line":115,"column":12},"end":{"line":117,"column":13}},"25":{"start":{"line":116,"column":16},"end":{"line":116,"column":87}},"26":{"start":{"line":119,"column":12},"end":{"line":119,"column":37}},"27":{"start":{"line":121,"column":12},"end":{"line":125,"column":15}},"28":{"start":{"line":122,"column":16},"end":{"line":124,"column":17}},"29":{"start":{"line":123,"column":20},"end":{"line":123,"column":73}},"30":{"start":{"line":127,"column":12},"end":{"line":127,"column":34}},"31":{"start":{"line":140,"column":12},"end":{"line":142,"column":33}},"32":{"start":{"line":144,"column":12},"end":{"line":149,"column":13}},"33":{"start":{"line":145,"column":16},"end":{"line":148,"column":17}},"34":{"start":{"line":146,"column":20},"end":{"line":146,"column":55}},"35":{"start":{"line":147,"column":20},"end":{"line":147,"column":68}},"36":{"start":{"line":151,"column":12},"end":{"line":151,"column":24}},"37":{"start":{"line":166,"column":12},"end":{"line":166,"column":41}},"38":{"start":{"line":168,"column":12},"end":{"line":201,"column":13}},"39":{"start":{"line":170,"column":16},"end":{"line":174,"column":43}},"40":{"start":{"line":170,"column":72},"end":{"line":170,"column":81}},"41":{"start":{"line":176,"column":16},"end":{"line":199,"column":17}},"42":{"start":{"line":178,"column":20},"end":{"line":178,"column":72}},"43":{"start":{"line":179,"column":20},"end":{"line":190,"column":21}},"44":{"start":{"line":180,"column":24},"end":{"line":185,"column":25}},"45":{"start":{"line":181,"column":28},"end":{"line":181,"column":68}},"46":{"start":{"line":182,"column":28},"end":{"line":182,"column":109}},"47":{"start":{"line":188,"column":24},"end":{"line":188,"column":60}},"48":{"start":{"line":189,"column":24},"end":{"line":189,"column":41}},"49":{"start":{"line":192,"column":20},"end":{"line":198,"column":21}},"50":{"start":{"line":193,"column":24},"end":{"line":195,"column":25}},"51":{"start":{"line":194,"column":28},"end":{"line":194,"column":62}},"52":{"start":{"line":197,"column":24},"end":{"line":197,"column":58}},"53":{"start":{"line":203,"column":12},"end":{"line":203,"column":27}},"54":{"start":{"line":219,"column":12},"end":{"line":219,"column":25}},"55":{"start":{"line":236,"column":12},"end":{"line":236,"column":37}},"56":{"start":{"line":238,"column":12},"end":{"line":238,"column":68}},"57":{"start":{"line":240,"column":12},"end":{"line":240,"column":48}},"58":{"start":{"line":261,"column":12},"end":{"line":261,"column":37}},"59":{"start":{"line":263,"column":12},"end":{"line":265,"column":26}},"60":{"start":{"line":268,"column":12},"end":{"line":275,"column":13}},"61":{"start":{"line":269,"column":16},"end":{"line":269,"column":36}},"62":{"start":{"line":270,"column":16},"end":{"line":270,"column":29}},"63":{"start":{"line":271,"column":19},"end":{"line":275,"column":13}},"64":{"start":{"line":272,"column":16},"end":{"line":272,"column":46}},"65":{"start":{"line":274,"column":16},"end":{"line":274,"column":29}},"66":{"start":{"line":277,"column":12},"end":{"line":277,"column":81}},"67":{"start":{"line":278,"column":12},"end":{"line":278,"column":35}},"68":{"start":{"line":281,"column":12},"end":{"line":283,"column":13}},"69":{"start":{"line":282,"column":16},"end":{"line":282,"column":28}},"70":{"start":{"line":285,"column":12},"end":{"line":289,"column":13}},"71":{"start":{"line":286,"column":16},"end":{"line":286,"column":30}},"72":{"start":{"line":288,"column":16},"end":{"line":288,"column":41}},"73":{"start":{"line":308,"column":12},"end":{"line":308,"column":64}},"74":{"start":{"line":310,"column":12},"end":{"line":325,"column":13}},"75":{"start":{"line":312,"column":16},"end":{"line":312,"column":47}},"76":{"start":{"line":314,"column":16},"end":{"line":316,"column":17}},"77":{"start":{"line":315,"column":20},"end":{"line":315,"column":32}},"78":{"start":{"line":318,"column":16},"end":{"line":322,"column":17}},"79":{"start":{"line":319,"column":20},"end":{"line":319,"column":41}},"80":{"start":{"line":321,"column":20},"end":{"line":321,"column":52}},"81":{"start":{"line":324,"column":16},"end":{"line":324,"column":28}},"82":{"start":{"line":340,"column":12},"end":{"line":340,"column":37}},"83":{"start":{"line":342,"column":12},"end":{"line":342,"column":78}},"84":{"start":{"line":343,"column":12},"end":{"line":345,"column":13}},"85":{"start":{"line":344,"column":16},"end":{"line":344,"column":60}},"86":{"start":{"line":346,"column":12},"end":{"line":346,"column":24}},"87":{"start":{"line":363,"column":12},"end":{"line":363,"column":37}},"88":{"start":{"line":366,"column":12},"end":{"line":368,"column":15}},"89":{"start":{"line":371,"column":12},"end":{"line":371,"column":47}},"90":{"start":{"line":388,"column":12},"end":{"line":388,"column":37}},"91":{"start":{"line":390,"column":12},"end":{"line":390,"column":43}},"92":{"start":{"line":392,"column":12},"end":{"line":392,"column":36}},"93":{"start":{"line":395,"column":12},"end":{"line":395,"column":42}},"94":{"start":{"line":398,"column":12},"end":{"line":417,"column":13}},"95":{"start":{"line":399,"column":16},"end":{"line":399,"column":37}},"96":{"start":{"line":401,"column":16},"end":{"line":414,"column":17}},"97":{"start":{"line":404,"column":20},"end":{"line":404,"column":61}},"98":{"start":{"line":407,"column":20},"end":{"line":411,"column":21}},"99":{"start":{"line":408,"column":24},"end":{"line":410,"column":25}},"100":{"start":{"line":409,"column":28},"end":{"line":409,"column":69}},"101":{"start":{"line":413,"column":20},"end":{"line":413,"column":54}},"102":{"start":{"line":416,"column":16},"end":{"line":416,"column":26}},"103":{"start":{"line":435,"column":12},"end":{"line":435,"column":37}},"104":{"start":{"line":437,"column":12},"end":{"line":439,"column":13}},"105":{"start":{"line":438,"column":16},"end":{"line":438,"column":66}},"106":{"start":{"line":441,"column":12},"end":{"line":441,"column":36}},"107":{"start":{"line":443,"column":12},"end":{"line":443,"column":84}},"108":{"start":{"line":444,"column":12},"end":{"line":444,"column":30}},"109":{"start":{"line":445,"column":12},"end":{"line":445,"column":24}},"110":{"start":{"line":462,"column":12},"end":{"line":462,"column":37}},"111":{"start":{"line":464,"column":12},"end":{"line":464,"column":43}},"112":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"113":{"start":{"line":467,"column":16},"end":{"line":467,"column":79}},"114":{"start":{"line":470,"column":12},"end":{"line":470,"column":42}},"115":{"start":{"line":472,"column":12},"end":{"line":474,"column":13}},"116":{"start":{"line":473,"column":16},"end":{"line":473,"column":26}},"117":{"start":{"line":476,"column":12},"end":{"line":476,"column":34}},"118":{"start":{"line":478,"column":12},"end":{"line":478,"column":53}},"119":{"start":{"line":495,"column":12},"end":{"line":495,"column":37}},"120":{"start":{"line":497,"column":12},"end":{"line":499,"column":13}},"121":{"start":{"line":498,"column":16},"end":{"line":498,"column":75}},"122":{"start":{"line":501,"column":12},"end":{"line":501,"column":119}},"123":{"start":{"line":502,"column":12},"end":{"line":502,"column":30}},"124":{"start":{"line":503,"column":12},"end":{"line":503,"column":24}}},"branchMap":{"1":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":8}},{"start":{"line":35,"column":8},"end":{"line":35,"column":8}}]},"2":{"line":35,"type":"binary-expr","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":27}},{"start":{"line":35,"column":31},"end":{"line":35,"column":42}}]},"3":{"line":44,"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":44,"column":8}},{"start":{"line":44,"column":8},"end":{"line":44,"column":8}}]},"4":{"line":44,"type":"binary-expr","locations":[{"start":{"line":44,"column":12},"end":{"line":44,"column":30}},{"start":{"line":44,"column":34},"end":{"line":44,"column":48}}]},"5":{"line":73,"type":"binary-expr","locations":[{"start":{"line":73,"column":22},"end":{"line":73,"column":29}},{"start":{"line":73,"column":33},"end":{"line":73,"column":35}}]},"6":{"line":75,"type":"cond-expr","locations":[{"start":{"line":75,"column":71},"end":{"line":75,"column":84}},{"start":{"line":75,"column":87},"end":{"line":75,"column":92}}]},"7":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":12}},{"start":{"line":81,"column":12},"end":{"line":81,"column":12}}]},"8":{"line":83,"type":"if","locations":[{"start":{"line":83,"column":16},"end":{"line":83,"column":16}},{"start":{"line":83,"column":16},"end":{"line":83,"column":16}}]},"9":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":16},"end":{"line":88,"column":16}},{"start":{"line":88,"column":16},"end":{"line":88,"column":16}}]},"10":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":20},"end":{"line":88,"column":34}},{"start":{"line":88,"column":38},"end":{"line":88,"column":49}}]},"11":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":16},"end":{"line":93,"column":16}},{"start":{"line":93,"column":16},"end":{"line":93,"column":16}}]},"12":{"line":93,"type":"binary-expr","locations":[{"start":{"line":93,"column":20},"end":{"line":93,"column":36}},{"start":{"line":93,"column":40},"end":{"line":93,"column":53}}]},"13":{"line":98,"type":"if","locations":[{"start":{"line":98,"column":16},"end":{"line":98,"column":16}},{"start":{"line":98,"column":16},"end":{"line":98,"column":16}}]},"14":{"line":115,"type":"if","locations":[{"start":{"line":115,"column":12},"end":{"line":115,"column":12}},{"start":{"line":115,"column":12},"end":{"line":115,"column":12}}]},"15":{"line":122,"type":"if","locations":[{"start":{"line":122,"column":16},"end":{"line":122,"column":16}},{"start":{"line":122,"column":16},"end":{"line":122,"column":16}}]},"16":{"line":122,"type":"binary-expr","locations":[{"start":{"line":122,"column":20},"end":{"line":122,"column":38}},{"start":{"line":122,"column":42},"end":{"line":122,"column":61}}]},"17":{"line":144,"type":"if","locations":[{"start":{"line":144,"column":12},"end":{"line":144,"column":12}},{"start":{"line":144,"column":12},"end":{"line":144,"column":12}}]},"18":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":12},"end":{"line":168,"column":12}},{"start":{"line":168,"column":12},"end":{"line":168,"column":12}}]},"19":{"line":168,"type":"binary-expr","locations":[{"start":{"line":168,"column":16},"end":{"line":168,"column":30}},{"start":{"line":168,"column":34},"end":{"line":168,"column":49}}]},"20":{"line":170,"type":"cond-expr","locations":[{"start":{"line":170,"column":60},"end":{"line":170,"column":82}},{"start":{"line":170,"column":85},"end":{"line":170,"column":91}}]},"21":{"line":179,"type":"if","locations":[{"start":{"line":179,"column":20},"end":{"line":179,"column":20}},{"start":{"line":179,"column":20},"end":{"line":179,"column":20}}]},"22":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":20},"end":{"line":192,"column":20}},{"start":{"line":192,"column":20},"end":{"line":192,"column":20}}]},"23":{"line":192,"type":"binary-expr","locations":[{"start":{"line":192,"column":24},"end":{"line":192,"column":45}},{"start":{"line":192,"column":49},"end":{"line":192,"column":77}}]},"24":{"line":193,"type":"if","locations":[{"start":{"line":193,"column":24},"end":{"line":193,"column":24}},{"start":{"line":193,"column":24},"end":{"line":193,"column":24}}]},"25":{"line":268,"type":"if","locations":[{"start":{"line":268,"column":12},"end":{"line":268,"column":12}},{"start":{"line":268,"column":12},"end":{"line":268,"column":12}}]},"26":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":19},"end":{"line":271,"column":19}},{"start":{"line":271,"column":19},"end":{"line":271,"column":19}}]},"27":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":12}},{"start":{"line":281,"column":12},"end":{"line":281,"column":12}}]},"28":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":12},"end":{"line":285,"column":12}},{"start":{"line":285,"column":12},"end":{"line":285,"column":12}}]},"29":{"line":310,"type":"if","locations":[{"start":{"line":310,"column":12},"end":{"line":310,"column":12}},{"start":{"line":310,"column":12},"end":{"line":310,"column":12}}]},"30":{"line":314,"type":"if","locations":[{"start":{"line":314,"column":16},"end":{"line":314,"column":16}},{"start":{"line":314,"column":16},"end":{"line":314,"column":16}}]},"31":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":16},"end":{"line":318,"column":16}},{"start":{"line":318,"column":16},"end":{"line":318,"column":16}}]},"32":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":12},"end":{"line":343,"column":12}},{"start":{"line":343,"column":12},"end":{"line":343,"column":12}}]},"33":{"line":366,"type":"binary-expr","locations":[{"start":{"line":366,"column":30},"end":{"line":366,"column":37}},{"start":{"line":366,"column":41},"end":{"line":366,"column":43}}]},"34":{"line":392,"type":"binary-expr","locations":[{"start":{"line":392,"column":22},"end":{"line":392,"column":29}},{"start":{"line":392,"column":33},"end":{"line":392,"column":35}}]},"35":{"line":398,"type":"if","locations":[{"start":{"line":398,"column":12},"end":{"line":398,"column":12}},{"start":{"line":398,"column":12},"end":{"line":398,"column":12}}]},"36":{"line":398,"type":"binary-expr","locations":[{"start":{"line":398,"column":16},"end":{"line":398,"column":30}},{"start":{"line":398,"column":34},"end":{"line":398,"column":62}}]},"37":{"line":401,"type":"if","locations":[{"start":{"line":401,"column":16},"end":{"line":401,"column":16}},{"start":{"line":401,"column":16},"end":{"line":401,"column":16}}]},"38":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":24},"end":{"line":408,"column":24}},{"start":{"line":408,"column":24},"end":{"line":408,"column":24}}]},"39":{"line":408,"type":"binary-expr","locations":[{"start":{"line":408,"column":28},"end":{"line":408,"column":52}},{"start":{"line":408,"column":56},"end":{"line":408,"column":78}},{"start":{"line":408,"column":82},"end":{"line":408,"column":105}}]},"40":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":12},"end":{"line":437,"column":12}},{"start":{"line":437,"column":12},"end":{"line":437,"column":12}}]},"41":{"line":441,"type":"binary-expr","locations":[{"start":{"line":441,"column":22},"end":{"line":441,"column":29}},{"start":{"line":441,"column":33},"end":{"line":441,"column":35}}]},"42":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":12},"end":{"line":466,"column":12}},{"start":{"line":466,"column":12},"end":{"line":466,"column":12}}]},"43":{"line":472,"type":"if","locations":[{"start":{"line":472,"column":12},"end":{"line":472,"column":12}},{"start":{"line":472,"column":12},"end":{"line":472,"column":12}}]},"44":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":12},"end":{"line":497,"column":12}},{"start":{"line":497,"column":12},"end":{"line":497,"column":12}}]}},"code":["(function () { YUI.add('cookie', function (Y, NAME) {","","/**"," * Utilities for cookie management"," * @module cookie"," */",""," //shortcuts"," var L = Y.Lang,"," O = Y.Object,"," NULL = null,",""," //shortcuts to functions"," isString = L.isString,"," isObject = L.isObject,"," isUndefined = L.isUndefined,"," isFunction = L.isFunction,"," encode = encodeURIComponent,"," decode = decodeURIComponent,",""," //shortcut to document"," doc = Y.config.doc;",""," /*"," * Throws an error message."," */"," function error(message){"," throw new TypeError(message);"," }",""," /*"," * Checks the validity of a cookie name."," */"," function validateCookieName(name){"," if (!isString(name) || name === \"\"){"," error(\"Cookie name must be a non-empty string.\");"," }"," }",""," /*"," * Checks the validity of a subcookie name."," */"," function validateSubcookieName(subName){"," if (!isString(subName) || subName === \"\"){"," error(\"Subcookie name must be a non-empty string.\");"," }"," }",""," /**"," * Cookie utility."," * @class Cookie"," * @static"," */"," Y.Cookie = {",""," //-------------------------------------------------------------------------"," // Private Methods"," //-------------------------------------------------------------------------",""," /**"," * Creates a cookie string that can be assigned into document.cookie."," * @param {String} name The name of the cookie."," * @param {String} value The value of the cookie."," * @param {Boolean} encodeValue True to encode the value, false to leave as-is."," * @param {Object} options (Optional) Options for the cookie."," * @return {String} The formatted cookie string."," * @method _createCookieString"," * @private"," * @static"," */"," _createCookieString : function (name /*:String*/, value /*:Variant*/, encodeValue /*:Boolean*/, options /*:Object*/) /*:String*/ {",""," options = options || {};",""," var text /*:String*/ = encode(name) + \"=\" + (encodeValue ? encode(value) : value),"," expires = options.expires,"," path = options.path,"," domain = options.domain;","",""," if (isObject(options)){"," //expiration date"," if (expires instanceof Date){"," text += \"; expires=\" + expires.toUTCString();"," }",""," //path"," if (isString(path) && path !== \"\"){"," text += \"; path=\" + path;"," }",""," //domain"," if (isString(domain) && domain !== \"\"){"," text += \"; domain=\" + domain;"," }",""," //secure"," if (options.secure === true){"," text += \"; secure\";"," }"," }",""," return text;"," },",""," /**"," * Formats a cookie value for an object containing multiple values."," * @param {Object} hash An object of key-value pairs to create a string for."," * @return {String} A string suitable for use as a cookie value."," * @method _createCookieHashString"," * @private"," * @static"," */"," _createCookieHashString : function (hash /*:Object*/) /*:String*/ {"," if (!isObject(hash)){"," error(\"Cookie._createCookieHashString(): Argument must be an object.\");"," }",""," var text /*:Array*/ = [];",""," O.each(hash, function(value, key){"," if (!isFunction(value) && !isUndefined(value)){"," text.push(encode(key) + \"=\" + encode(String(value)));"," }"," });",""," return text.join(\"&\");"," },",""," /**"," * Parses a cookie hash string into an object."," * @param {String} text The cookie hash string to parse (format: n1=v1&n2=v2)."," * @return {Object} An object containing entries for each cookie value."," * @method _parseCookieHash"," * @private"," * @static"," */"," _parseCookieHash : function (text) {",""," var hashParts = text.split(\"&\"),"," hashPart = NULL,"," hash = {};",""," if (text.length){"," for (var i=0, len=hashParts.length; i < len; i++){"," hashPart = hashParts[i].split(\"=\");"," hash[decode(hashPart[0])] = decode(hashPart[1]);"," }"," }",""," return hash;"," },",""," /**"," * Parses a cookie string into an object representing all accessible cookies."," * @param {String} text The cookie string to parse."," * @param {Boolean} shouldDecode (Optional) Indicates if the cookie values should be decoded or not. Default is true."," * @param {Object} options (Optional) Contains settings for loading the cookie."," * @return {Object} An object containing entries for each accessible cookie."," * @method _parseCookieString"," * @private"," * @static"," */"," _parseCookieString : function (text /*:String*/, shouldDecode /*:Boolean*/, options /*:Object*/) /*:Object*/ {",""," var cookies /*:Object*/ = {};",""," if (isString(text) && text.length > 0) {",""," var decodeValue = (shouldDecode === false ? function(s){return s;} : decode),"," cookieParts = text.split(/;\\s/g),"," cookieName = NULL,"," cookieValue = NULL,"," cookieNameValue = NULL;",""," for (var i=0, len=cookieParts.length; i < len; i++){"," //check for normally-formatted cookie (name-value)"," cookieNameValue = cookieParts[i].match(/([^=]+)=/i);"," if (cookieNameValue instanceof Array){"," try {"," cookieName = decode(cookieNameValue[1]);"," cookieValue = decodeValue(cookieParts[i].substring(cookieNameValue[1].length+1));"," } catch (ex){"," //intentionally ignore the cookie - the encoding is wrong"," }"," } else {"," //means the cookie does not have an \"=\", so treat it as a boolean flag"," cookieName = decode(cookieParts[i]);"," cookieValue = \"\";"," }"," // don't overwrite an already loaded cookie if set by option"," if (!isUndefined(options) && options.reverseCookieLoading) {"," if (isUndefined(cookies[cookieName])) {"," cookies[cookieName] = cookieValue;"," }"," } else {"," cookies[cookieName] = cookieValue;"," }"," }",""," }",""," return cookies;"," },",""," /**"," * Sets the document object that the cookie utility uses for setting"," * cookies. This method is necessary to ensure that the cookie utility"," * unit tests can pass even when run on a domain instead of locally."," * This method should not be used otherwise; you should use"," * Y.config.doc to change the document that the cookie"," * utility uses for everyday purposes."," * @param {Object} newDoc The object to use as the document."," * @return {void}"," * @method _setDoc"," * @private"," */"," _setDoc: function(newDoc){"," doc = newDoc;"," },",""," //-------------------------------------------------------------------------"," // Public Methods"," //-------------------------------------------------------------------------",""," /**"," * Determines if the cookie with the given name exists. This is useful for"," * Boolean cookies (those that do not follow the name=value convention)."," * @param {String} name The name of the cookie to check."," * @return {Boolean} True if the cookie exists, false if not."," * @method exists"," * @static"," */"," exists: function(name) {",""," validateCookieName(name); //throws error",""," var cookies = this._parseCookieString(doc.cookie, true);",""," return cookies.hasOwnProperty(name);"," },",""," /**"," * Returns the cookie value for the given name."," * @param {String} name The name of the cookie to retrieve."," * @param {Function|Object} options (Optional) An object containing one or more"," * cookie options: raw (true/false), reverseCookieLoading (true/false)"," * and converter (a function)."," * The converter function is run on the value before returning it. The"," * function is not used if the cookie doesn't exist. The function can be"," * passed instead of the options object for backwards compatibility. When"," * raw is set to true, the cookie value is not URI decoded."," * @return {Variant} If no converter is specified, returns a string or null if"," * the cookie doesn't exist. If the converter is specified, returns the value"," * returned from the converter or null if the cookie doesn't exist."," * @method get"," * @static"," */"," get : function (name, options) {",""," validateCookieName(name); //throws error",""," var cookies,"," cookie,"," converter;",""," //if options is a function, then it's the converter"," if (isFunction(options)) {"," converter = options;"," options = {};"," } else if (isObject(options)) {"," converter = options.converter;"," } else {"," options = {};"," }",""," cookies = this._parseCookieString(doc.cookie, !options.raw, options);"," cookie = cookies[name];",""," //should return null, not undefined if the cookie doesn't exist"," if (isUndefined(cookie)) {"," return NULL;"," }",""," if (!isFunction(converter)){"," return cookie;"," } else {"," return converter(cookie);"," }"," },",""," /**"," * Returns the value of a subcookie."," * @param {String} name The name of the cookie to retrieve."," * @param {String} subName The name of the subcookie to retrieve."," * @param {Function} converter (Optional) A function to run on the value before returning"," * it. The function is not used if the cookie doesn't exist."," * @param {Object} options (Optional) Containing one or more settings for cookie parsing."," * @return {Variant} If the cookie doesn't exist, null is returned. If the subcookie"," * doesn't exist, null if also returned. If no converter is specified and the"," * subcookie exists, a string is returned. If a converter is specified and the"," * subcookie exists, the value returned from the converter is returned."," * @method getSub"," * @static"," */"," getSub : function (name /*:String*/, subName /*:String*/, converter /*:Function*/, options /*:Object*/) /*:Variant*/ {",""," var hash /*:Variant*/ = this.getSubs(name, options);",""," if (hash !== NULL) {",""," validateSubcookieName(subName); //throws error",""," if (isUndefined(hash[subName])){"," return NULL;"," }",""," if (!isFunction(converter)){"," return hash[subName];"," } else {"," return converter(hash[subName]);"," }"," } else {"," return NULL;"," }",""," },",""," /**"," * Returns an object containing name-value pairs stored in the cookie with the given name."," * @param {String} name The name of the cookie to retrieve."," * @param {Object} options (Optional) Containing one or more settings for cookie parsing."," * @return {Object} An object of name-value pairs if the cookie with the given name"," * exists, null if it does not."," * @method getSubs"," * @static"," */"," getSubs : function (name /*:String*/, options /*:Object*/) {",""," validateCookieName(name); //throws error",""," var cookies = this._parseCookieString(doc.cookie, false, options);"," if (isString(cookies[name])){"," return this._parseCookieHash(cookies[name]);"," }"," return NULL;"," },",""," /**"," * Removes a cookie from the machine by setting its expiration date to"," * sometime in the past."," * @param {String} name The name of the cookie to remove."," * @param {Object} options (Optional) An object containing one or more"," * cookie options: path (a string), domain (a string),"," * and secure (true/false). The expires option will be overwritten"," * by the method."," * @return {String} The created cookie string."," * @method remove"," * @static"," */"," remove : function (name, options) {",""," validateCookieName(name); //throws error",""," //set options"," options = Y.merge(options || {}, {"," expires: new Date(0)"," });",""," //set cookie"," return this.set(name, \"\", options);"," },",""," /**"," * Removes a sub cookie with a given name."," * @param {String} name The name of the cookie in which the subcookie exists."," * @param {String} subName The name of the subcookie to remove."," * @param {Object} options (Optional) An object containing one or more"," * cookie options: path (a string), domain (a string), expires (a Date object),"," * removeIfEmpty (true/false), and secure (true/false). This must be the same"," * settings as the original subcookie."," * @return {String} The created cookie string."," * @method removeSub"," * @static"," */"," removeSub : function(name, subName, options) {",""," validateCookieName(name); //throws error",""," validateSubcookieName(subName); //throws error",""," options = options || {};",""," //get all subcookies for this cookie"," var subs = this.getSubs(name);",""," //delete the indicated subcookie"," if (isObject(subs) && subs.hasOwnProperty(subName)){"," delete subs[subName];",""," if (!options.removeIfEmpty) {"," //reset the cookie",""," return this.setSubs(name, subs, options);"," } else {"," //reset the cookie if there are subcookies left, else remove"," for (var key in subs){"," if (subs.hasOwnProperty(key) && !isFunction(subs[key]) && !isUndefined(subs[key])){"," return this.setSubs(name, subs, options);"," }"," }",""," return this.remove(name, options);"," }"," } else {"," return \"\";"," }",""," },",""," /**"," * Sets a cookie with a given name and value."," * @param {String} name The name of the cookie to set."," * @param {Variant} value The value to set for the cookie."," * @param {Object} options (Optional) An object containing one or more"," * cookie options: path (a string), domain (a string), expires (a Date object),"," * secure (true/false), and raw (true/false). Setting raw to true indicates"," * that the cookie should not be URI encoded before being set."," * @return {String} The created cookie string."," * @method set"," * @static"," */"," set : function (name, value, options) {",""," validateCookieName(name); //throws error",""," if (isUndefined(value)){"," error(\"Cookie.set(): Value cannot be undefined.\");"," }",""," options = options || {};",""," var text = this._createCookieString(name, value, !options.raw, options);"," doc.cookie = text;"," return text;"," },",""," /**"," * Sets a sub cookie with a given name to a particular value."," * @param {String} name The name of the cookie to set."," * @param {String} subName The name of the subcookie to set."," * @param {Variant} value The value to set."," * @param {Object} options (Optional) An object containing one or more"," * cookie options: path (a string), domain (a string), expires (a Date object),"," * and secure (true/false)."," * @return {String} The created cookie string."," * @method setSub"," * @static"," */"," setSub : function (name, subName, value, options) {",""," validateCookieName(name); //throws error",""," validateSubcookieName(subName); //throws error",""," if (isUndefined(value)){"," error(\"Cookie.setSub(): Subcookie value cannot be undefined.\");"," }",""," var hash = this.getSubs(name);",""," if (!isObject(hash)){"," hash = {};"," }",""," hash[subName] = value;",""," return this.setSubs(name, hash, options);",""," },",""," /**"," * Sets a cookie with a given name to contain a hash of name-value pairs."," * @param {String} name The name of the cookie to set."," * @param {Object} value An object containing name-value pairs."," * @param {Object} options (Optional) An object containing one or more"," * cookie options: path (a string), domain (a string), expires (a Date object),"," * and secure (true/false)."," * @return {String} The created cookie string."," * @method setSubs"," * @static"," */"," setSubs : function (name, value, options) {",""," validateCookieName(name); //throws error",""," if (!isObject(value)){"," error(\"Cookie.setSubs(): Cookie value must be an object.\");"," }",""," var text /*:String*/ = this._createCookieString(name, this._createCookieHashString(value), false, options);"," doc.cookie = text;"," return text;"," }",""," };","","","}, '3.13.0', {\"requires\": [\"yui-base\"]});","","}());"]};
+}
+var __cov_UfmK$qhwjwcuv6JhJYTUZg = __coverage__['build/cookie/cookie.js'];
+__cov_UfmK$qhwjwcuv6JhJYTUZg.s['1']++;YUI.add('cookie',function(Y,NAME){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['1']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['2']++;var L=Y.Lang,O=Y.Object,NULL=null,isString=L.isString,isObject=L.isObject,isUndefined=L.isUndefined,isFunction=L.isFunction,encode=encodeURIComponent,decode=decodeURIComponent,doc=Y.config.doc;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['3']++;function error(message){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['2']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['4']++;throw new TypeError(message);}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['5']++;function validateCookieName(name){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['3']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['6']++;if((__cov_UfmK$qhwjwcuv6JhJYTUZg.b['2'][0]++,!isString(name))||(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['2'][1]++,name==='')){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['1'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['7']++;error('Cookie name must be a non-empty string.');}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['1'][1]++;}}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['8']++;function validateSubcookieName(subName){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['4']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['9']++;if((__cov_UfmK$qhwjwcuv6JhJYTUZg.b['4'][0]++,!isString(subName))||(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['4'][1]++,subName==='')){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['3'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['10']++;error('Subcookie name must be a non-empty string.');}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['3'][1]++;}}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['11']++;Y.Cookie={_createCookieString:function(name,value,encodeValue,options){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['5']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['12']++;options=(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['5'][0]++,options)||(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['5'][1]++,{});__cov_UfmK$qhwjwcuv6JhJYTUZg.s['13']++;var text=encode(name)+'='+(encodeValue?(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['6'][0]++,encode(value)):(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['6'][1]++,value)),expires=options.expires,path=options.path,domain=options.domain;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['14']++;if(isObject(options)){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['7'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['15']++;if(expires instanceof Date){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['8'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['16']++;text+='; expires='+expires.toUTCString();}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['8'][1]++;}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['17']++;if((__cov_UfmK$qhwjwcuv6JhJYTUZg.b['10'][0]++,isString(path))&&(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['10'][1]++,path!=='')){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['9'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['18']++;text+='; path='+path;}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['9'][1]++;}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['19']++;if((__cov_UfmK$qhwjwcuv6JhJYTUZg.b['12'][0]++,isString(domain))&&(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['12'][1]++,domain!=='')){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['11'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['20']++;text+='; domain='+domain;}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['11'][1]++;}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['21']++;if(options.secure===true){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['13'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['22']++;text+='; secure';}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['13'][1]++;}}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['7'][1]++;}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['23']++;return text;},_createCookieHashString:function(hash){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['6']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['24']++;if(!isObject(hash)){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['14'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['25']++;error('Cookie._createCookieHashString(): Argument must be an object.');}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['14'][1]++;}__cov_UfmK$qhwjwcuv6JhJYTUZg.s['26']++;var text=[];__cov_UfmK$qhwjwcuv6JhJYTUZg.s['27']++;O.each(hash,function(value,key){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['7']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['28']++;if((__cov_UfmK$qhwjwcuv6JhJYTUZg.b['16'][0]++,!isFunction(value))&&(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['16'][1]++,!isUndefined(value))){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['15'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['29']++;text.push(encode(key)+'='+encode(String(value)));}else{__cov_UfmK$qhwjwcuv6JhJYTUZg.b['15'][1]++;}});__cov_UfmK$qhwjwcuv6JhJYTUZg.s['30']++;return text.join('&');},_parseCookieHash:function(text){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['8']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['31']++;var hashParts=text.split('&'),hashPart=NULL,hash={};__cov_UfmK$qhwjwcuv6JhJYTUZg.s['32']++;if(text.length){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['17'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['33']++;for(var i=0,len=hashParts.length;i0)){__cov_UfmK$qhwjwcuv6JhJYTUZg.b['18'][0]++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['39']++;var decodeValue=shouldDecode===false?(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['20'][0]++,function(s){__cov_UfmK$qhwjwcuv6JhJYTUZg.f['10']++;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['40']++;return s;}):(__cov_UfmK$qhwjwcuv6JhJYTUZg.b['20'][1]++,decode),cookieParts=text.split(/;\s/g),cookieName=NULL,cookieValue=NULL,cookieNameValue=NULL;__cov_UfmK$qhwjwcuv6JhJYTUZg.s['41']++;for(var i=0,len=cookieParts.length;i0){var o=t===!1?function(e){return e}:l,a=e.split(/;\s/g),f=i,c=i,h=i;for(var p=0,d=a.length;p0){var o=t===!1?function(e){return e}:l,a=e.split(/;\s/g),f=i,c=i,h=i;for(var p=0,d=a.length;pcreatelink execCommand."," * @class Plugin.CreateLinkBase"," * @static"," * @submodule createlink-base"," * @module editor"," */",""," var CreateLinkBase = {};"," /**"," * Strings used by the plugin"," * @property STRINGS"," * @static"," */"," CreateLinkBase.STRINGS = {"," /**"," * String used for the Prompt"," * @property PROMPT"," * @static"," */"," PROMPT: 'Please enter the URL for the link to point to:',"," /**"," * String used as the default value of the Prompt"," * @property DEFAULT"," * @static"," */"," DEFAULT: 'http://'"," };",""," Y.namespace('Plugin');"," Y.Plugin.CreateLinkBase = CreateLinkBase;",""," Y.mix(Y.Plugin.ExecCommand.COMMANDS, {"," /**"," * Override for the createlink method from the CreateLinkBase plugin."," * @for ExecCommand"," * @method COMMANDS.createlink"," * @static"," * @param {String} cmd The command executed: createlink"," * @return {Node} Node instance of the item touched by this command."," */"," createlink: function(cmd) {"," var inst = this.get('host').getInstance(), out, a, sel, holder,"," url = prompt(CreateLinkBase.STRINGS.PROMPT, CreateLinkBase.STRINGS.DEFAULT);",""," if (url) {"," holder = inst.config.doc.createElement('div');"," url = url.replace(/\"/g, '').replace(/'/g, ''); //Remove single & double quotes"," url = inst.config.doc.createTextNode(url);"," holder.appendChild(url);"," url = holder.innerHTML;","",""," this.get('host')._execCommand(cmd, url);"," sel = new inst.EditorSelection();"," out = sel.getSelected();"," if (!sel.isCollapsed && out.size()) {"," //We have a selection"," a = out.item(0).one('a');"," if (a) {"," out.item(0).replace(a);"," }"," if (Y.UA.gecko) {"," if (a.get('parentNode').test('span')) {"," if (a.get('parentNode').one('br.yui-cursor')) {"," a.get('parentNode').insert(a, 'before');"," }"," }"," }"," } else {"," //No selection, insert a new node.."," this.get('host').execCommand('inserthtml', '' + url + '');"," }"," }"," return a;"," }"," });","","","","}, '3.13.0', {\"requires\": [\"editor-base\"]});","","}());"]};
+}
+var __cov_2ZvAdchrIK08s2OxY$TIGQ = __coverage__['build/createlink-base/createlink-base.js'];
+__cov_2ZvAdchrIK08s2OxY$TIGQ.s['1']++;YUI.add('createlink-base',function(Y,NAME){__cov_2ZvAdchrIK08s2OxY$TIGQ.f['1']++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['2']++;var CreateLinkBase={};__cov_2ZvAdchrIK08s2OxY$TIGQ.s['3']++;CreateLinkBase.STRINGS={PROMPT:'Please enter the URL for the link to point to:',DEFAULT:'http://'};__cov_2ZvAdchrIK08s2OxY$TIGQ.s['4']++;Y.namespace('Plugin');__cov_2ZvAdchrIK08s2OxY$TIGQ.s['5']++;Y.Plugin.CreateLinkBase=CreateLinkBase;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['6']++;Y.mix(Y.Plugin.ExecCommand.COMMANDS,{createlink:function(cmd){__cov_2ZvAdchrIK08s2OxY$TIGQ.f['2']++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['7']++;var inst=this.get('host').getInstance(),out,a,sel,holder,url=prompt(CreateLinkBase.STRINGS.PROMPT,CreateLinkBase.STRINGS.DEFAULT);__cov_2ZvAdchrIK08s2OxY$TIGQ.s['8']++;if(url){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['1'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['9']++;holder=inst.config.doc.createElement('div');__cov_2ZvAdchrIK08s2OxY$TIGQ.s['10']++;url=url.replace(/"/g,'').replace(/'/g,'');__cov_2ZvAdchrIK08s2OxY$TIGQ.s['11']++;url=inst.config.doc.createTextNode(url);__cov_2ZvAdchrIK08s2OxY$TIGQ.s['12']++;holder.appendChild(url);__cov_2ZvAdchrIK08s2OxY$TIGQ.s['13']++;url=holder.innerHTML;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['14']++;this.get('host')._execCommand(cmd,url);__cov_2ZvAdchrIK08s2OxY$TIGQ.s['15']++;sel=new inst.EditorSelection();__cov_2ZvAdchrIK08s2OxY$TIGQ.s['16']++;out=sel.getSelected();__cov_2ZvAdchrIK08s2OxY$TIGQ.s['17']++;if((__cov_2ZvAdchrIK08s2OxY$TIGQ.b['3'][0]++,!sel.isCollapsed)&&(__cov_2ZvAdchrIK08s2OxY$TIGQ.b['3'][1]++,out.size())){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['2'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['18']++;a=out.item(0).one('a');__cov_2ZvAdchrIK08s2OxY$TIGQ.s['19']++;if(a){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['4'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['20']++;out.item(0).replace(a);}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['4'][1]++;}__cov_2ZvAdchrIK08s2OxY$TIGQ.s['21']++;if(Y.UA.gecko){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['5'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['22']++;if(a.get('parentNode').test('span')){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['6'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['23']++;if(a.get('parentNode').one('br.yui-cursor')){__cov_2ZvAdchrIK08s2OxY$TIGQ.b['7'][0]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['24']++;a.get('parentNode').insert(a,'before');}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['7'][1]++;}}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['6'][1]++;}}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['5'][1]++;}}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['2'][1]++;__cov_2ZvAdchrIK08s2OxY$TIGQ.s['25']++;this.get('host').execCommand('inserthtml',''+url+'');}}else{__cov_2ZvAdchrIK08s2OxY$TIGQ.b['1'][1]++;}__cov_2ZvAdchrIK08s2OxY$TIGQ.s['26']++;return a;}});},'3.13.0',{'requires':['editor-base']});
diff --git a/lib/yuilib/3.12.0/createlink-base/createlink-base-debug.js b/lib/yuilib/3.13.0/createlink-base/createlink-base-debug.js
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/createlink-base/createlink-base-debug.js
rename to lib/yuilib/3.13.0/createlink-base/createlink-base-debug.js
index db39fa13367..3b96744443c
--- a/lib/yuilib/3.12.0/createlink-base/createlink-base-debug.js
+++ b/lib/yuilib/3.13.0/createlink-base/createlink-base-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -90,4 +90,4 @@ YUI.add('createlink-base', function (Y, NAME) {
-}, '3.12.0', {"requires": ["editor-base"]});
+}, '3.13.0', {"requires": ["editor-base"]});
diff --git a/lib/yuilib/3.12.0/createlink-base/createlink-base-min.js b/lib/yuilib/3.13.0/createlink-base/createlink-base-min.js
old mode 100644
new mode 100755
similarity index 93%
rename from lib/yuilib/3.12.0/createlink-base/createlink-base-min.js
rename to lib/yuilib/3.13.0/createlink-base/createlink-base-min.js
index 54275ef06af..733f30f57c2
--- a/lib/yuilib/3.12.0/createlink-base/createlink-base-min.js
+++ b/lib/yuilib/3.13.0/createlink-base/createlink-base-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("createlink-base",function(e,t){var n={};n.STRINGS={PROMPT:"Please enter the URL for the link to point to:",DEFAULT:"http://"},e.namespace("Plugin"),e.Plugin.CreateLinkBase=n,e.mix(e.Plugin.ExecCommand.COMMANDS,{createlink:function(t){var r=this.get("host").getInstance(),i,s,o,u,a=prompt(n.STRINGS.PROMPT,n.STRINGS.DEFAULT);return a&&(u=r.config.doc.createElement("div"),a=a.replace(/"/g,"").replace(/'/g,""),a=r.config.doc.createTextNode(a),u.appendChild(a),a=u.innerHTML,this.get("host")._execCommand(t,a),o=new r.EditorSelection,i=o.getSelected(),!o.isCollapsed&&i.size()?(s=i.item(0).one("a"),s&&i.item(0).replace(s),e.UA.gecko&&s.get("parentNode").test("span")&&s.get("parentNode").one("br.yui-cursor")&&s.get("parentNode").insert(s,"before")):this.get("host").execCommand("inserthtml",''+a+"")),s}})},"3.12.0",{requires:["editor-base"]});
+YUI.add("createlink-base",function(e,t){var n={};n.STRINGS={PROMPT:"Please enter the URL for the link to point to:",DEFAULT:"http://"},e.namespace("Plugin"),e.Plugin.CreateLinkBase=n,e.mix(e.Plugin.ExecCommand.COMMANDS,{createlink:function(t){var r=this.get("host").getInstance(),i,s,o,u,a=prompt(n.STRINGS.PROMPT,n.STRINGS.DEFAULT);return a&&(u=r.config.doc.createElement("div"),a=a.replace(/"/g,"").replace(/'/g,""),a=r.config.doc.createTextNode(a),u.appendChild(a),a=u.innerHTML,this.get("host")._execCommand(t,a),o=new r.EditorSelection,i=o.getSelected(),!o.isCollapsed&&i.size()?(s=i.item(0).one("a"),s&&i.item(0).replace(s),e.UA.gecko&&s.get("parentNode").test("span")&&s.get("parentNode").one("br.yui-cursor")&&s.get("parentNode").insert(s,"before")):this.get("host").execCommand("inserthtml",''+a+"")),s}})},"3.13.0",{requires:["editor-base"]});
diff --git a/lib/yuilib/3.12.0/createlink-base/createlink-base.js b/lib/yuilib/3.13.0/createlink-base/createlink-base.js
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/createlink-base/createlink-base.js
rename to lib/yuilib/3.13.0/createlink-base/createlink-base.js
index a787555e8a4..b01f2c79620
--- a/lib/yuilib/3.12.0/createlink-base/createlink-base.js
+++ b/lib/yuilib/3.13.0/createlink-base/createlink-base.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -89,4 +89,4 @@ YUI.add('createlink-base', function (Y, NAME) {
-}, '3.12.0', {"requires": ["editor-base"]});
+}, '3.13.0', {"requires": ["editor-base"]});
diff --git a/lib/yuilib/3.12.0/cssbase-context/cssbase-context-min.css b/lib/yuilib/3.13.0/cssbase-context/cssbase-context-min.css
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/cssbase-context/cssbase-context-min.css
rename to lib/yuilib/3.13.0/cssbase-context/cssbase-context-min.css
index a0ba0ecd1b6..2f1a03e21f9
--- a/lib/yuilib/3.12.0/cssbase-context/cssbase-context-min.css
+++ b/lib/yuilib/3.13.0/cssbase-context/cssbase-context-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssbase-context/cssbase-context.css b/lib/yuilib/3.13.0/cssbase-context/cssbase-context.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssbase-context/cssbase-context.css
rename to lib/yuilib/3.13.0/cssbase-context/cssbase-context.css
index 4960ec9d4af..1bc1113365e
--- a/lib/yuilib/3.12.0/cssbase-context/cssbase-context.css
+++ b/lib/yuilib/3.13.0/cssbase-context/cssbase-context.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssbase/cssbase-min.css b/lib/yuilib/3.13.0/cssbase/cssbase-min.css
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/cssbase/cssbase-min.css
rename to lib/yuilib/3.13.0/cssbase/cssbase-min.css
index 425539c17f3..4f50806d183
--- a/lib/yuilib/3.12.0/cssbase/cssbase-min.css
+++ b/lib/yuilib/3.13.0/cssbase/cssbase-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssbase/cssbase.css b/lib/yuilib/3.13.0/cssbase/cssbase.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssbase/cssbase.css
rename to lib/yuilib/3.13.0/cssbase/cssbase.css
index 848ca3dfc87..78f752e6cbd
--- a/lib/yuilib/3.12.0/cssbase/cssbase.css
+++ b/lib/yuilib/3.13.0/cssbase/cssbase.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssbutton/cssbutton-min.css b/lib/yuilib/3.13.0/cssbutton/cssbutton-min.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssbutton/cssbutton-min.css
rename to lib/yuilib/3.13.0/cssbutton/cssbutton-min.css
index 4e314b60792..98a43226afc
--- a/lib/yuilib/3.12.0/cssbutton/cssbutton-min.css
+++ b/lib/yuilib/3.13.0/cssbutton/cssbutton-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssbutton/cssbutton.css b/lib/yuilib/3.13.0/cssbutton/cssbutton.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssbutton/cssbutton.css
rename to lib/yuilib/3.13.0/cssbutton/cssbutton.css
index 5281bdc64eb..911a8d70e11
--- a/lib/yuilib/3.12.0/cssbutton/cssbutton.css
+++ b/lib/yuilib/3.13.0/cssbutton/cssbutton.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssfonts-context/cssfonts-context-min.css b/lib/yuilib/3.13.0/cssfonts-context/cssfonts-context-min.css
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/cssfonts-context/cssfonts-context-min.css
rename to lib/yuilib/3.13.0/cssfonts-context/cssfonts-context-min.css
index d0e55735ec7..b56f0d0a653
--- a/lib/yuilib/3.12.0/cssfonts-context/cssfonts-context-min.css
+++ b/lib/yuilib/3.13.0/cssfonts-context/cssfonts-context-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssfonts-context/cssfonts-context.css b/lib/yuilib/3.13.0/cssfonts-context/cssfonts-context.css
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/cssfonts-context/cssfonts-context.css
rename to lib/yuilib/3.13.0/cssfonts-context/cssfonts-context.css
index 512d0c1150a..950c52993c8
--- a/lib/yuilib/3.12.0/cssfonts-context/cssfonts-context.css
+++ b/lib/yuilib/3.13.0/cssfonts-context/cssfonts-context.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssfonts/cssfonts-min.css b/lib/yuilib/3.13.0/cssfonts/cssfonts-min.css
old mode 100644
new mode 100755
similarity index 94%
rename from lib/yuilib/3.12.0/cssfonts/cssfonts-min.css
rename to lib/yuilib/3.13.0/cssfonts/cssfonts-min.css
index 6a5a727db24..a9f170c7a87
--- a/lib/yuilib/3.12.0/cssfonts/cssfonts-min.css
+++ b/lib/yuilib/3.13.0/cssfonts/cssfonts-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssfonts/cssfonts.css b/lib/yuilib/3.13.0/cssfonts/cssfonts.css
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/cssfonts/cssfonts.css
rename to lib/yuilib/3.13.0/cssfonts/cssfonts.css
index 6e240242b73..d1b160c601f
--- a/lib/yuilib/3.12.0/cssfonts/cssfonts.css
+++ b/lib/yuilib/3.13.0/cssfonts/cssfonts.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-base/cssgrids-base-min.css b/lib/yuilib/3.13.0/cssgrids-base/cssgrids-base-min.css
old mode 100644
new mode 100755
similarity index 94%
rename from lib/yuilib/3.12.0/cssgrids-base/cssgrids-base-min.css
rename to lib/yuilib/3.13.0/cssgrids-base/cssgrids-base-min.css
index 12a0d1cc285..f46f5169142
--- a/lib/yuilib/3.12.0/cssgrids-base/cssgrids-base-min.css
+++ b/lib/yuilib/3.13.0/cssgrids-base/cssgrids-base-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-base/cssgrids-base.css b/lib/yuilib/3.13.0/cssgrids-base/cssgrids-base.css
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/cssgrids-base/cssgrids-base.css
rename to lib/yuilib/3.13.0/cssgrids-base/cssgrids-base.css
index 71c427f10dc..c6f4d7a74b8
--- a/lib/yuilib/3.12.0/cssgrids-base/cssgrids-base.css
+++ b/lib/yuilib/3.13.0/cssgrids-base/cssgrids-base.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive-min.css b/lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive-min.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive-min.css
rename to lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive-min.css
index ceff29101a1..46a1a2b3e8d
--- a/lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive-min.css
+++ b/lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive.css b/lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive.css
rename to lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive.css
index 7fff38b18ae..5a7300b9a33
--- a/lib/yuilib/3.12.0/cssgrids-responsive/cssgrids-responsive.css
+++ b/lib/yuilib/3.13.0/cssgrids-responsive/cssgrids-responsive.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-units/cssgrids-units-min.css b/lib/yuilib/3.13.0/cssgrids-units/cssgrids-units-min.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssgrids-units/cssgrids-units-min.css
rename to lib/yuilib/3.13.0/cssgrids-units/cssgrids-units-min.css
index 7e6cfb904b2..b7dc0c04ef5
--- a/lib/yuilib/3.12.0/cssgrids-units/cssgrids-units-min.css
+++ b/lib/yuilib/3.13.0/cssgrids-units/cssgrids-units-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids-units/cssgrids-units.css b/lib/yuilib/3.13.0/cssgrids-units/cssgrids-units.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssgrids-units/cssgrids-units.css
rename to lib/yuilib/3.13.0/cssgrids-units/cssgrids-units.css
index d81b56944a8..1bff51e5258
--- a/lib/yuilib/3.12.0/cssgrids-units/cssgrids-units.css
+++ b/lib/yuilib/3.13.0/cssgrids-units/cssgrids-units.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids/cssgrids-min.css b/lib/yuilib/3.13.0/cssgrids/cssgrids-min.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssgrids/cssgrids-min.css
rename to lib/yuilib/3.13.0/cssgrids/cssgrids-min.css
index 2b296d96320..75051f02f38
--- a/lib/yuilib/3.12.0/cssgrids/cssgrids-min.css
+++ b/lib/yuilib/3.13.0/cssgrids/cssgrids-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssgrids/cssgrids.css b/lib/yuilib/3.13.0/cssgrids/cssgrids.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssgrids/cssgrids.css
rename to lib/yuilib/3.13.0/cssgrids/cssgrids.css
index 7936eae37d6..e51d17ede69
--- a/lib/yuilib/3.12.0/cssgrids/cssgrids.css
+++ b/lib/yuilib/3.13.0/cssgrids/cssgrids.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context-min.css b/lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context-min.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context-min.css
rename to lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context-min.css
index a49f985aee0..0a534cac495
--- a/lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context-min.css
+++ b/lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context.css b/lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context.css
rename to lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context.css
index 08c028a4ffc..e41015fb6c4
--- a/lib/yuilib/3.12.0/cssnormalize-context/cssnormalize-context.css
+++ b/lib/yuilib/3.13.0/cssnormalize-context/cssnormalize-context.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssnormalize/cssnormalize-min.css b/lib/yuilib/3.13.0/cssnormalize/cssnormalize-min.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssnormalize/cssnormalize-min.css
rename to lib/yuilib/3.13.0/cssnormalize/cssnormalize-min.css
index f1e35d73346..015d7ffa972
--- a/lib/yuilib/3.12.0/cssnormalize/cssnormalize-min.css
+++ b/lib/yuilib/3.13.0/cssnormalize/cssnormalize-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssnormalize/cssnormalize.css b/lib/yuilib/3.13.0/cssnormalize/cssnormalize.css
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/cssnormalize/cssnormalize.css
rename to lib/yuilib/3.13.0/cssnormalize/cssnormalize.css
index 6a01a0167d1..599678962f4
--- a/lib/yuilib/3.12.0/cssnormalize/cssnormalize.css
+++ b/lib/yuilib/3.13.0/cssnormalize/cssnormalize.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssreset-context/cssreset-context-min.css b/lib/yuilib/3.13.0/cssreset-context/cssreset-context-min.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssreset-context/cssreset-context-min.css
rename to lib/yuilib/3.13.0/cssreset-context/cssreset-context-min.css
index b465e0c6c72..8e9c3e1fa2f
--- a/lib/yuilib/3.12.0/cssreset-context/cssreset-context-min.css
+++ b/lib/yuilib/3.13.0/cssreset-context/cssreset-context-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssreset-context/cssreset-context.css b/lib/yuilib/3.13.0/cssreset-context/cssreset-context.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssreset-context/cssreset-context.css
rename to lib/yuilib/3.13.0/cssreset-context/cssreset-context.css
index f342b0d48c0..4777e22dbf6
--- a/lib/yuilib/3.12.0/cssreset-context/cssreset-context.css
+++ b/lib/yuilib/3.13.0/cssreset-context/cssreset-context.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssreset/cssreset-min.css b/lib/yuilib/3.13.0/cssreset/cssreset-min.css
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/cssreset/cssreset-min.css
rename to lib/yuilib/3.13.0/cssreset/cssreset-min.css
index c43b7849175..5ee8a9e53a5
--- a/lib/yuilib/3.12.0/cssreset/cssreset-min.css
+++ b/lib/yuilib/3.13.0/cssreset/cssreset-min.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/cssreset/cssreset.css b/lib/yuilib/3.13.0/cssreset/cssreset.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/cssreset/cssreset.css
rename to lib/yuilib/3.13.0/cssreset/cssreset.css
index 438d7b20ec1..8e66665b66a
--- a/lib/yuilib/3.12.0/cssreset/cssreset.css
+++ b/lib/yuilib/3.13.0/cssreset/cssreset.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.13.0/dataschema-array/dataschema-array-coverage.js b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-coverage.js
new file mode 100755
index 00000000000..6317e6b6255
--- /dev/null
+++ b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/dataschema-array/dataschema-array.js']) {
+ __coverage__['build/dataschema-array/dataschema-array.js'] = {"path":"build/dataschema-array/dataschema-array.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":0,"2":0,"3":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":28},"end":{"line":1,"column":47}}},"2":{"name":"(anonymous_2)","line":121,"loc":{"start":{"line":121,"column":15},"end":{"line":121,"column":38}}},"3":{"name":"(anonymous_3)","line":152,"loc":{"start":{"line":152,"column":23},"end":{"line":152,"column":60}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":186,"column":48}},"2":{"start":{"line":21,"column":0},"end":{"line":181,"column":6}},"3":{"start":{"line":122,"column":12},"end":{"line":123,"column":48}},"4":{"start":{"line":125,"column":12},"end":{"line":136,"column":13}},"5":{"start":{"line":126,"column":16},"end":{"line":132,"column":17}},"6":{"start":{"line":128,"column":20},"end":{"line":128,"column":108}},"7":{"start":{"line":131,"column":20},"end":{"line":131,"column":47}},"8":{"start":{"line":135,"column":16},"end":{"line":135,"column":73}},"9":{"start":{"line":138,"column":12},"end":{"line":138,"column":28}},"10":{"start":{"line":153,"column":12},"end":{"line":154,"column":60}},"11":{"start":{"line":156,"column":12},"end":{"line":176,"column":13}},"12":{"start":{"line":157,"column":16},"end":{"line":157,"column":28}},"13":{"start":{"line":158,"column":16},"end":{"line":158,"column":35}},"14":{"start":{"line":159,"column":16},"end":{"line":159,"column":135}},"15":{"start":{"line":160,"column":16},"end":{"line":174,"column":17}},"16":{"start":{"line":161,"column":20},"end":{"line":166,"column":21}},"17":{"start":{"line":162,"column":24},"end":{"line":162,"column":42}},"18":{"start":{"line":163,"column":24},"end":{"line":163,"column":81}},"19":{"start":{"line":164,"column":24},"end":{"line":164,"column":85}},"20":{"start":{"line":165,"column":24},"end":{"line":165,"column":87}},"21":{"start":{"line":168,"column":21},"end":{"line":174,"column":17}},"22":{"start":{"line":169,"column":20},"end":{"line":169,"column":34}},"23":{"start":{"line":173,"column":20},"end":{"line":173,"column":34}},"24":{"start":{"line":175,"column":16},"end":{"line":175,"column":36}},"25":{"start":{"line":177,"column":12},"end":{"line":177,"column":39}},"26":{"start":{"line":179,"column":12},"end":{"line":179,"column":28}},"27":{"start":{"line":183,"column":0},"end":{"line":183,"column":59}}},"branchMap":{"1":{"line":125,"type":"if","locations":[{"start":{"line":125,"column":12},"end":{"line":125,"column":12}},{"start":{"line":125,"column":12},"end":{"line":125,"column":12}}]},"2":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":16},"end":{"line":126,"column":16}},{"start":{"line":126,"column":16},"end":{"line":126,"column":16}}]},"3":{"line":126,"type":"binary-expr","locations":[{"start":{"line":126,"column":19},"end":{"line":126,"column":25}},{"start":{"line":126,"column":29},"end":{"line":126,"column":62}}]},"4":{"line":159,"type":"cond-expr","locations":[{"start":{"line":159,"column":73},"end":{"line":159,"column":74}},{"start":{"line":159,"column":77},"end":{"line":159,"column":134}}]},"5":{"line":159,"type":"binary-expr","locations":[{"start":{"line":159,"column":24},"end":{"line":159,"column":43}},{"start":{"line":159,"column":47},"end":{"line":159,"column":69}}]},"6":{"line":159,"type":"cond-expr","locations":[{"start":{"line":159,"column":100},"end":{"line":159,"column":101}},{"start":{"line":159,"column":104},"end":{"line":159,"column":134}}]},"7":{"line":159,"type":"cond-expr","locations":[{"start":{"line":159,"column":128},"end":{"line":159,"column":129}},{"start":{"line":159,"column":132},"end":{"line":159,"column":134}}]},"8":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":16},"end":{"line":160,"column":16}},{"start":{"line":160,"column":16},"end":{"line":160,"column":16}}]},"9":{"line":163,"type":"cond-expr","locations":[{"start":{"line":163,"column":63},"end":{"line":163,"column":72}},{"start":{"line":163,"column":75},"end":{"line":163,"column":80}}]},"10":{"line":164,"type":"cond-expr","locations":[{"start":{"line":164,"column":65},"end":{"line":164,"column":74}},{"start":{"line":164,"column":77},"end":{"line":164,"column":84}}]},"11":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":21},"end":{"line":168,"column":21}},{"start":{"line":168,"column":21},"end":{"line":168,"column":21}}]}},"code":["(function () { YUI.add('dataschema-array', function (Y, NAME) {","","/**"," * Provides a DataSchema implementation which can be used to work with data"," * stored in arrays."," *"," * @module dataschema"," * @submodule dataschema-array"," */","","/**","Provides a DataSchema implementation which can be used to work with data","stored in arrays.","","See the `apply` method below for usage.","","@class DataSchema.Array","@extends DataSchema.Base","@static","**/","var LANG = Y.Lang,",""," SchemaArray = {",""," ////////////////////////////////////////////////////////////////////////"," //"," // DataSchema.Array static methods"," //"," ////////////////////////////////////////////////////////////////////////",""," /**"," Applies a schema to an array of data, returning a normalized object"," with results in the `results` property. The `meta` property of the"," response object is present for consistency, but is assigned an empty"," object. If the input data is absent or not an array, an `error`"," property will be added.",""," The input array is expected to contain objects, arrays, or strings.",""," If _schema_ is not specified or _schema.resultFields_ is not an array,"," `response.results` will be assigned the input array unchanged.",""," When a _schema_ is specified, the following will occur:",""," If the input array contains strings, they will be copied as-is into the"," `response.results` array.",""," If the input array contains arrays, `response.results` will contain an"," array of objects with key:value pairs assuming the fields in"," _schema.resultFields_ are ordered in accordance with the data array"," values.",""," If the input array contains objects, the identified"," _schema.resultFields_ will be used to extract a value from those"," objects for the output result.",""," _schema.resultFields_ field identifiers are objects with the following properties:",""," * `key` : (required) The locator name (String)"," * `parser`: A function or the name of a function on `Y.Parsers` used"," to convert the input value into a normalized type. Parser"," functions are passed the value as input and are expected to"," return a value.",""," If no value parsing is needed, you can use strings as identifiers"," instead of objects (see example below).",""," @example"," // Process array of arrays"," var schema = { resultFields: [ 'fruit', 'color' ] },"," data = ["," [ 'Banana', 'yellow' ],"," [ 'Orange', 'orange' ],"," [ 'Eggplant', 'purple' ]"," ];",""," var response = Y.DataSchema.Array.apply(schema, data);",""," // response.results[0] is { fruit: \"Banana\", color: \"yellow\" }","",""," // Process array of objects"," data = ["," { fruit: 'Banana', color: 'yellow', price: '1.96' },"," { fruit: 'Orange', color: 'orange', price: '2.04' },"," { fruit: 'Eggplant', color: 'purple', price: '4.31' }"," ];",""," response = Y.DataSchema.Array.apply(schema, data);",""," // response.results[0] is { fruit: \"Banana\", color: \"yellow\" }","",""," // Use parsers"," schema.resultFields = ["," {"," key: 'fruit',"," parser: function (val) { return val.toUpperCase(); }"," },"," {"," key: 'price',"," parser: 'number' // Uses Y.Parsers.number"," }"," ];",""," response = Y.DataSchema.Array.apply(schema, data);",""," // Note price was converted from a numeric string to a number"," // response.results[0] looks like { fruit: \"BANANA\", price: 1.96 }",""," @method apply"," @param {Object} [schema] Schema to apply. Supported configuration"," properties are:"," @param {Array} [schema.resultFields] Field identifiers to"," locate/assign values in the response records. See above for"," details."," @param {Array} data Array data."," @return {Object} An Object with properties `results` and `meta`"," @static"," **/"," apply: function(schema, data) {"," var data_in = data,"," data_out = {results:[],meta:{}};",""," if(LANG.isArray(data_in)) {"," if(schema && LANG.isArray(schema.resultFields)) {"," // Parse results data"," data_out = SchemaArray._parseResults.call(this, schema.resultFields, data_in, data_out);"," }"," else {"," data_out.results = data_in;"," }"," }"," else {"," data_out.error = new Error(\"Array schema parse failure\");"," }",""," return data_out;"," },",""," /**"," * Schema-parsed list of results from full data"," *"," * @method _parseResults"," * @param fields {Array} Schema to parse against."," * @param array_in {Array} Array to parse."," * @param data_out {Object} In-progress parsed data to update."," * @return {Object} Parsed data object."," * @static"," * @protected"," */"," _parseResults: function(fields, array_in, data_out) {"," var results = [],"," result, item, type, field, key, value, i, j;",""," for(i=array_in.length-1; i>-1; i--) {"," result = {};"," item = array_in[i];"," type = (LANG.isObject(item) && !LANG.isFunction(item)) ? 2 : (LANG.isArray(item)) ? 1 : (LANG.isString(item)) ? 0 : -1;"," if(type > 0) {"," for(j=fields.length-1; j>-1; j--) {"," field = fields[j];"," key = (!LANG.isUndefined(field.key)) ? field.key : field;"," value = (!LANG.isUndefined(item[key])) ? item[key] : item[j];"," result[key] = Y.DataSchema.Base.parse.call(this, value, field);"," }"," }"," else if(type === 0) {"," result = item;"," }"," else {"," //TODO: null or {}?"," result = null;"," }"," results[i] = result;"," }"," data_out.results = results;",""," return data_out;"," }"," };","","Y.DataSchema.Array = Y.mix(SchemaArray, Y.DataSchema.Base);","","","}, '3.13.0', {\"requires\": [\"dataschema-base\"]});","","}());"]};
+}
+var __cov_vYlnaMgz3BdRYKf0PsHDOg = __coverage__['build/dataschema-array/dataschema-array.js'];
+__cov_vYlnaMgz3BdRYKf0PsHDOg.s['1']++;YUI.add('dataschema-array',function(Y,NAME){__cov_vYlnaMgz3BdRYKf0PsHDOg.f['1']++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['2']++;var LANG=Y.Lang,SchemaArray={apply:function(schema,data){__cov_vYlnaMgz3BdRYKf0PsHDOg.f['2']++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['3']++;var data_in=data,data_out={results:[],meta:{}};__cov_vYlnaMgz3BdRYKf0PsHDOg.s['4']++;if(LANG.isArray(data_in)){__cov_vYlnaMgz3BdRYKf0PsHDOg.b['1'][0]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['5']++;if((__cov_vYlnaMgz3BdRYKf0PsHDOg.b['3'][0]++,schema)&&(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['3'][1]++,LANG.isArray(schema.resultFields))){__cov_vYlnaMgz3BdRYKf0PsHDOg.b['2'][0]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['6']++;data_out=SchemaArray._parseResults.call(this,schema.resultFields,data_in,data_out);}else{__cov_vYlnaMgz3BdRYKf0PsHDOg.b['2'][1]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['7']++;data_out.results=data_in;}}else{__cov_vYlnaMgz3BdRYKf0PsHDOg.b['1'][1]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['8']++;data_out.error=new Error('Array schema parse failure');}__cov_vYlnaMgz3BdRYKf0PsHDOg.s['9']++;return data_out;},_parseResults:function(fields,array_in,data_out){__cov_vYlnaMgz3BdRYKf0PsHDOg.f['3']++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['10']++;var results=[],result,item,type,field,key,value,i,j;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['11']++;for(i=array_in.length-1;i>-1;i--){__cov_vYlnaMgz3BdRYKf0PsHDOg.s['12']++;result={};__cov_vYlnaMgz3BdRYKf0PsHDOg.s['13']++;item=array_in[i];__cov_vYlnaMgz3BdRYKf0PsHDOg.s['14']++;type=(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['5'][0]++,LANG.isObject(item))&&(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['5'][1]++,!LANG.isFunction(item))?(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['4'][0]++,2):(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['4'][1]++,LANG.isArray(item)?(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['6'][0]++,1):(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['6'][1]++,LANG.isString(item)?(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['7'][0]++,0):(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['7'][1]++,-1)));__cov_vYlnaMgz3BdRYKf0PsHDOg.s['15']++;if(type>0){__cov_vYlnaMgz3BdRYKf0PsHDOg.b['8'][0]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['16']++;for(j=fields.length-1;j>-1;j--){__cov_vYlnaMgz3BdRYKf0PsHDOg.s['17']++;field=fields[j];__cov_vYlnaMgz3BdRYKf0PsHDOg.s['18']++;key=!LANG.isUndefined(field.key)?(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['9'][0]++,field.key):(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['9'][1]++,field);__cov_vYlnaMgz3BdRYKf0PsHDOg.s['19']++;value=!LANG.isUndefined(item[key])?(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['10'][0]++,item[key]):(__cov_vYlnaMgz3BdRYKf0PsHDOg.b['10'][1]++,item[j]);__cov_vYlnaMgz3BdRYKf0PsHDOg.s['20']++;result[key]=Y.DataSchema.Base.parse.call(this,value,field);}}else{__cov_vYlnaMgz3BdRYKf0PsHDOg.b['8'][1]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['21']++;if(type===0){__cov_vYlnaMgz3BdRYKf0PsHDOg.b['11'][0]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['22']++;result=item;}else{__cov_vYlnaMgz3BdRYKf0PsHDOg.b['11'][1]++;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['23']++;result=null;}}__cov_vYlnaMgz3BdRYKf0PsHDOg.s['24']++;results[i]=result;}__cov_vYlnaMgz3BdRYKf0PsHDOg.s['25']++;data_out.results=results;__cov_vYlnaMgz3BdRYKf0PsHDOg.s['26']++;return data_out;}};__cov_vYlnaMgz3BdRYKf0PsHDOg.s['27']++;Y.DataSchema.Array=Y.mix(SchemaArray,Y.DataSchema.Base);},'3.13.0',{'requires':['dataschema-base']});
diff --git a/lib/yuilib/3.12.0/dataschema-array/dataschema-array-debug.js b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-array/dataschema-array-debug.js
rename to lib/yuilib/3.13.0/dataschema-array/dataschema-array-debug.js
index bcc0b28696b..188a546db3b
--- a/lib/yuilib/3.12.0/dataschema-array/dataschema-array-debug.js
+++ b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -85,7 +85,7 @@ var LANG = Y.Lang,
// response.results[0] is { fruit: "Banana", color: "yellow" }
-
+
// Process array of objects
data = [
{ fruit: 'Banana', color: 'yellow', price: '1.96' },
@@ -114,7 +114,7 @@ var LANG = Y.Lang,
// Note price was converted from a numeric string to a number
// response.results[0] looks like { fruit: "BANANA", price: 1.96 }
-
+
@method apply
@param {Object} [schema] Schema to apply. Supported configuration
properties are:
@@ -193,4 +193,4 @@ var LANG = Y.Lang,
Y.DataSchema.Array = Y.mix(SchemaArray, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-array/dataschema-array-min.js b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-min.js
old mode 100644
new mode 100755
similarity index 89%
rename from lib/yuilib/3.12.0/dataschema-array/dataschema-array-min.js
rename to lib/yuilib/3.13.0/dataschema-array/dataschema-array-min.js
index d6d5e4cd30c..54b0596bb61
--- a/lib/yuilib/3.12.0/dataschema-array/dataschema-array-min.js
+++ b/lib/yuilib/3.13.0/dataschema-array/dataschema-array-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("dataschema-array",function(e,t){var n=e.Lang,r={apply:function(e,t){var i=t,s={results:[],meta:{}};return n.isArray(i)?e&&n.isArray(e.resultFields)?s=r._parseResults.call(this,e.resultFields,i,s):s.results=i:s.error=new Error("Array schema parse failure"),s},_parseResults:function(t,r,i){var s=[],o,u,a,f,l,c,h,p;for(h=r.length-1;h>-1;h--){o={},u=r[h],a=n.isObject(u)&&!n.isFunction(u)?2:n.isArray(u)?1:n.isString(u)?0:-1;if(a>0)for(p=t.length-1;p>-1;p--)f=t[p],l=n.isUndefined(f.key)?f:f.key,c=n.isUndefined(u[l])?u[p]:u[l],o[l]=e.DataSchema.Base.parse.call(this,c,f);else a===0?o=u:o=null;s[h]=o}return i.results=s,i}};e.DataSchema.Array=e.mix(r,e.DataSchema.Base)},"3.12.0",{requires:["dataschema-base"]});
+YUI.add("dataschema-array",function(e,t){var n=e.Lang,r={apply:function(e,t){var i=t,s={results:[],meta:{}};return n.isArray(i)?e&&n.isArray(e.resultFields)?s=r._parseResults.call(this,e.resultFields,i,s):s.results=i:s.error=new Error("Array schema parse failure"),s},_parseResults:function(t,r,i){var s=[],o,u,a,f,l,c,h,p;for(h=r.length-1;h>-1;h--){o={},u=r[h],a=n.isObject(u)&&!n.isFunction(u)?2:n.isArray(u)?1:n.isString(u)?0:-1;if(a>0)for(p=t.length-1;p>-1;p--)f=t[p],l=n.isUndefined(f.key)?f:f.key,c=n.isUndefined(u[l])?u[p]:u[l],o[l]=e.DataSchema.Base.parse.call(this,c,f);else a===0?o=u:o=null;s[h]=o}return i.results=s,i}};e.DataSchema.Array=e.mix(r,e.DataSchema.Base)},"3.13.0",{requires:["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-array/dataschema-array.js b/lib/yuilib/3.13.0/dataschema-array/dataschema-array.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-array/dataschema-array.js
rename to lib/yuilib/3.13.0/dataschema-array/dataschema-array.js
index c22c671c3ea..aac2941c8a5
--- a/lib/yuilib/3.12.0/dataschema-array/dataschema-array.js
+++ b/lib/yuilib/3.13.0/dataschema-array/dataschema-array.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -85,7 +85,7 @@ var LANG = Y.Lang,
// response.results[0] is { fruit: "Banana", color: "yellow" }
-
+
// Process array of objects
data = [
{ fruit: 'Banana', color: 'yellow', price: '1.96' },
@@ -114,7 +114,7 @@ var LANG = Y.Lang,
// Note price was converted from a numeric string to a number
// response.results[0] looks like { fruit: "BANANA", price: 1.96 }
-
+
@method apply
@param {Object} [schema] Schema to apply. Supported configuration
properties are:
@@ -190,4 +190,4 @@ var LANG = Y.Lang,
Y.DataSchema.Array = Y.mix(SchemaArray, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.13.0/dataschema-base/dataschema-base-coverage.js b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-coverage.js
new file mode 100755
index 00000000000..03c87edd5c9
--- /dev/null
+++ b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/dataschema-base/dataschema-base.js']) {
+ __coverage__['build/dataschema-base/dataschema-base.js'] = {"path":"build/dataschema-base/dataschema-base.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0]},"f":{"1":0,"2":0,"3":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"(anonymous_2)","line":36,"loc":{"start":{"line":36,"column":11},"end":{"line":36,"column":34}}},"3":{"name":"(anonymous_3)","line":48,"loc":{"start":{"line":48,"column":11},"end":{"line":48,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":66,"column":37}},"2":{"start":{"line":20,"column":0},"end":{"line":60,"column":2}},"3":{"start":{"line":37,"column":8},"end":{"line":37,"column":20}},"4":{"start":{"line":49,"column":8},"end":{"line":57,"column":9}},"5":{"start":{"line":50,"column":12},"end":{"line":51,"column":54}},"6":{"start":{"line":52,"column":12},"end":{"line":56,"column":13}},"7":{"start":{"line":53,"column":16},"end":{"line":53,"column":49}},"8":{"start":{"line":58,"column":8},"end":{"line":58,"column":21}},"9":{"start":{"line":62,"column":0},"end":{"line":62,"column":44}},"10":{"start":{"line":63,"column":0},"end":{"line":63,"column":23}}},"branchMap":{"1":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":49,"column":8}},{"start":{"line":49,"column":8},"end":{"line":49,"column":8}}]},"2":{"line":50,"type":"cond-expr","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":24}},{"start":{"line":51,"column":27},"end":{"line":51,"column":53}}]},"3":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":12}},{"start":{"line":52,"column":12},"end":{"line":52,"column":12}}]}},"code":["(function () { YUI.add('dataschema-base', function (Y, NAME) {","","/**"," * The DataSchema utility provides a common configurable interface for widgets to"," * apply a given schema to a variety of data."," *"," * @module dataschema"," * @main dataschema"," */","","/**"," * Provides the base DataSchema implementation, which can be extended to"," * create DataSchemas for specific data formats, such XML, JSON, text and"," * arrays."," *"," * @module dataschema"," * @submodule dataschema-base"," */","","var LANG = Y.Lang,","/**"," * Base class for the YUI DataSchema Utility."," * @class DataSchema.Base"," * @static"," */"," SchemaBase = {"," /**"," * Overridable method returns data as-is."," *"," * @method apply"," * @param schema {Object} Schema to apply."," * @param data {Object} Data."," * @return {Object} Schema-parsed data."," * @static"," */"," apply: function(schema, data) {"," return data;"," },",""," /**"," * Applies field parser, if defined"," *"," * @method parse"," * @param value {Object} Original value."," * @param field {Object} Field."," * @return {Object} Type-converted value."," */"," parse: function(value, field) {"," if(field.parser) {"," var parser = (LANG.isFunction(field.parser)) ?"," field.parser : Y.Parsers[field.parser+''];"," if(parser) {"," value = parser.call(this, value);"," }"," else {"," }"," }"," return value;"," }","};","","Y.namespace(\"DataSchema\").Base = SchemaBase;","Y.namespace(\"Parsers\");","","","}, '3.13.0', {\"requires\": [\"base\"]});","","}());"]};
+}
+var __cov_ogg_CNcIcpOXPnOEm1joVQ = __coverage__['build/dataschema-base/dataschema-base.js'];
+__cov_ogg_CNcIcpOXPnOEm1joVQ.s['1']++;YUI.add('dataschema-base',function(Y,NAME){__cov_ogg_CNcIcpOXPnOEm1joVQ.f['1']++;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['2']++;var LANG=Y.Lang,SchemaBase={apply:function(schema,data){__cov_ogg_CNcIcpOXPnOEm1joVQ.f['2']++;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['3']++;return data;},parse:function(value,field){__cov_ogg_CNcIcpOXPnOEm1joVQ.f['3']++;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['4']++;if(field.parser){__cov_ogg_CNcIcpOXPnOEm1joVQ.b['1'][0]++;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['5']++;var parser=LANG.isFunction(field.parser)?(__cov_ogg_CNcIcpOXPnOEm1joVQ.b['2'][0]++,field.parser):(__cov_ogg_CNcIcpOXPnOEm1joVQ.b['2'][1]++,Y.Parsers[field.parser+'']);__cov_ogg_CNcIcpOXPnOEm1joVQ.s['6']++;if(parser){__cov_ogg_CNcIcpOXPnOEm1joVQ.b['3'][0]++;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['7']++;value=parser.call(this,value);}else{__cov_ogg_CNcIcpOXPnOEm1joVQ.b['3'][1]++;}}else{__cov_ogg_CNcIcpOXPnOEm1joVQ.b['1'][1]++;}__cov_ogg_CNcIcpOXPnOEm1joVQ.s['8']++;return value;}};__cov_ogg_CNcIcpOXPnOEm1joVQ.s['9']++;Y.namespace('DataSchema').Base=SchemaBase;__cov_ogg_CNcIcpOXPnOEm1joVQ.s['10']++;Y.namespace('Parsers');},'3.13.0',{'requires':['base']});
diff --git a/lib/yuilib/3.12.0/dataschema-base/dataschema-base-debug.js b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-debug.js
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/dataschema-base/dataschema-base-debug.js
rename to lib/yuilib/3.13.0/dataschema-base/dataschema-base-debug.js
index 381ec4dddc8..68ac62fcfe4
--- a/lib/yuilib/3.12.0/dataschema-base/dataschema-base-debug.js
+++ b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -16,7 +16,7 @@ YUI.add('dataschema-base', function (Y, NAME) {
*/
/**
- * Provides the base DataSchema implementation, which can be extended to
+ * Provides the base DataSchema implementation, which can be extended to
* create DataSchemas for specific data formats, such XML, JSON, text and
* arrays.
*
@@ -43,7 +43,7 @@ var LANG = Y.Lang,
apply: function(schema, data) {
return data;
},
-
+
/**
* Applies field parser, if defined
*
@@ -71,4 +71,4 @@ Y.namespace("DataSchema").Base = SchemaBase;
Y.namespace("Parsers");
-}, '3.12.0', {"requires": ["base"]});
+}, '3.13.0', {"requires": ["base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-base/dataschema-base-min.js b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-min.js
old mode 100644
new mode 100755
similarity index 83%
rename from lib/yuilib/3.12.0/dataschema-base/dataschema-base-min.js
rename to lib/yuilib/3.13.0/dataschema-base/dataschema-base-min.js
index 9bb340352fe..d66bdc72d54
--- a/lib/yuilib/3.12.0/dataschema-base/dataschema-base-min.js
+++ b/lib/yuilib/3.13.0/dataschema-base/dataschema-base-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("dataschema-base",function(e,t){var n=e.Lang,r={apply:function(e,t){return t},parse:function(t,r){if(r.parser){var i=n.isFunction(r.parser)?r.parser:e.Parsers[r.parser+""];i&&(t=i.call(this,t))}return t}};e.namespace("DataSchema").Base=r,e.namespace("Parsers")},"3.12.0",{requires:["base"]});
+YUI.add("dataschema-base",function(e,t){var n=e.Lang,r={apply:function(e,t){return t},parse:function(t,r){if(r.parser){var i=n.isFunction(r.parser)?r.parser:e.Parsers[r.parser+""];i&&(t=i.call(this,t))}return t}};e.namespace("DataSchema").Base=r,e.namespace("Parsers")},"3.13.0",{requires:["base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-base/dataschema-base.js b/lib/yuilib/3.13.0/dataschema-base/dataschema-base.js
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/dataschema-base/dataschema-base.js
rename to lib/yuilib/3.13.0/dataschema-base/dataschema-base.js
index bca167f910c..769326698a5
--- a/lib/yuilib/3.12.0/dataschema-base/dataschema-base.js
+++ b/lib/yuilib/3.13.0/dataschema-base/dataschema-base.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -16,7 +16,7 @@ YUI.add('dataschema-base', function (Y, NAME) {
*/
/**
- * Provides the base DataSchema implementation, which can be extended to
+ * Provides the base DataSchema implementation, which can be extended to
* create DataSchemas for specific data formats, such XML, JSON, text and
* arrays.
*
@@ -43,7 +43,7 @@ var LANG = Y.Lang,
apply: function(schema, data) {
return data;
},
-
+
/**
* Applies field parser, if defined
*
@@ -70,4 +70,4 @@ Y.namespace("DataSchema").Base = SchemaBase;
Y.namespace("Parsers");
-}, '3.12.0', {"requires": ["base"]});
+}, '3.13.0', {"requires": ["base"]});
diff --git a/lib/yuilib/3.13.0/dataschema-json/dataschema-json-coverage.js b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-coverage.js
new file mode 100755
index 00000000000..29f89b314d9
--- /dev/null
+++ b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/dataschema-json/dataschema-json.js']) {
+ __coverage__['build/dataschema-json/dataschema-json.js'] = {"path":"build/dataschema-json/dataschema-json.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"(anonymous_2)","line":44,"loc":{"start":{"line":44,"column":13},"end":{"line":44,"column":31}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":16},"end":{"line":56,"column":35}}},"4":{"name":"(anonymous_4)","line":58,"loc":{"start":{"line":58,"column":16},"end":{"line":58,"column":32}}},"5":{"name":"(anonymous_5)","line":88,"loc":{"start":{"line":88,"column":22},"end":{"line":88,"column":44}}},"6":{"name":"(anonymous_6)","line":221,"loc":{"start":{"line":221,"column":11},"end":{"line":221,"column":34}}},"7":{"name":"(anonymous_7)","line":263,"loc":{"start":{"line":263,"column":19},"end":{"line":263,"column":55}}},"8":{"name":"(anonymous_8)","line":303,"loc":{"start":{"line":303,"column":21},"end":{"line":303,"column":58}}},"9":{"name":"(anonymous_9)","line":416,"loc":{"start":{"line":416,"column":16},"end":{"line":416,"column":56}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":439,"column":56}},"2":{"start":{"line":19,"column":0},"end":{"line":27,"column":15}},"3":{"start":{"line":29,"column":0},"end":{"line":433,"column":2}},"4":{"start":{"line":45,"column":8},"end":{"line":47,"column":18}},"5":{"start":{"line":49,"column":8},"end":{"line":75,"column":9}},"6":{"start":{"line":54,"column":12},"end":{"line":59,"column":34}},"7":{"start":{"line":56,"column":36},"end":{"line":56,"column":47}},"8":{"start":{"line":56,"column":47},"end":{"line":56,"column":65}},"9":{"start":{"line":58,"column":33},"end":{"line":58,"column":59}},"10":{"start":{"line":58,"column":59},"end":{"line":58,"column":77}},"11":{"start":{"line":65,"column":12},"end":{"line":65,"column":38}},"12":{"start":{"line":66,"column":12},"end":{"line":70,"column":13}},"13":{"start":{"line":67,"column":16},"end":{"line":69,"column":17}},"14":{"start":{"line":68,"column":20},"end":{"line":68,"column":67}},"15":{"start":{"line":76,"column":8},"end":{"line":76,"column":20}},"16":{"start":{"line":89,"column":8},"end":{"line":90,"column":30}},"17":{"start":{"line":91,"column":8},"end":{"line":98,"column":9}},"18":{"start":{"line":92,"column":12},"end":{"line":97,"column":13}},"19":{"start":{"line":93,"column":16},"end":{"line":93,"column":37}},"20":{"start":{"line":95,"column":16},"end":{"line":95,"column":33}},"21":{"start":{"line":96,"column":16},"end":{"line":96,"column":22}},"22":{"start":{"line":99,"column":8},"end":{"line":99,"column":20}},"23":{"start":{"line":222,"column":8},"end":{"line":223,"column":49}},"24":{"start":{"line":226,"column":8},"end":{"line":234,"column":9}},"25":{"start":{"line":227,"column":12},"end":{"line":233,"column":13}},"26":{"start":{"line":228,"column":16},"end":{"line":228,"column":45}},"27":{"start":{"line":231,"column":16},"end":{"line":231,"column":35}},"28":{"start":{"line":232,"column":16},"end":{"line":232,"column":32}},"29":{"start":{"line":236,"column":8},"end":{"line":247,"column":9}},"30":{"start":{"line":238,"column":12},"end":{"line":238,"column":86}},"31":{"start":{"line":241,"column":12},"end":{"line":243,"column":13}},"32":{"start":{"line":242,"column":16},"end":{"line":242,"column":87}},"33":{"start":{"line":246,"column":12},"end":{"line":246,"column":68}},"34":{"start":{"line":249,"column":8},"end":{"line":249,"column":24}},"35":{"start":{"line":264,"column":8},"end":{"line":272,"column":32}},"36":{"start":{"line":274,"column":8},"end":{"line":287,"column":9}},"37":{"start":{"line":279,"column":12},"end":{"line":283,"column":13}},"38":{"start":{"line":280,"column":16},"end":{"line":280,"column":105}},"39":{"start":{"line":282,"column":16},"end":{"line":282,"column":43}},"40":{"start":{"line":284,"column":15},"end":{"line":287,"column":9}},"41":{"start":{"line":285,"column":12},"end":{"line":285,"column":34}},"42":{"start":{"line":286,"column":12},"end":{"line":286,"column":73}},"43":{"start":{"line":289,"column":8},"end":{"line":289,"column":24}},"44":{"start":{"line":304,"column":8},"end":{"line":309,"column":27}},"45":{"start":{"line":312,"column":8},"end":{"line":347,"column":9}},"46":{"start":{"line":313,"column":12},"end":{"line":313,"column":30}},"47":{"start":{"line":314,"column":12},"end":{"line":314,"column":37}},"48":{"start":{"line":315,"column":12},"end":{"line":315,"column":43}},"49":{"start":{"line":318,"column":12},"end":{"line":318,"column":47}},"50":{"start":{"line":319,"column":12},"end":{"line":333,"column":13}},"51":{"start":{"line":320,"column":16},"end":{"line":331,"column":17}},"52":{"start":{"line":321,"column":20},"end":{"line":324,"column":23}},"53":{"start":{"line":326,"column":20},"end":{"line":330,"column":23}},"54":{"start":{"line":337,"column":12},"end":{"line":339,"column":53}},"55":{"start":{"line":341,"column":12},"end":{"line":346,"column":13}},"56":{"start":{"line":342,"column":16},"end":{"line":345,"column":19}},"57":{"start":{"line":351,"column":8},"end":{"line":400,"column":9}},"58":{"start":{"line":352,"column":12},"end":{"line":352,"column":24}},"59":{"start":{"line":353,"column":12},"end":{"line":353,"column":33}},"60":{"start":{"line":354,"column":12},"end":{"line":399,"column":13}},"61":{"start":{"line":356,"column":16},"end":{"line":378,"column":17}},"62":{"start":{"line":357,"column":20},"end":{"line":357,"column":43}},"63":{"start":{"line":358,"column":20},"end":{"line":358,"column":73}},"64":{"start":{"line":359,"column":20},"end":{"line":374,"column":21}},"65":{"start":{"line":360,"column":24},"end":{"line":360,"column":82}},"66":{"start":{"line":364,"column":24},"end":{"line":373,"column":25}},"67":{"start":{"line":365,"column":28},"end":{"line":368,"column":31}},"68":{"start":{"line":371,"column":28},"end":{"line":371,"column":53}},"69":{"start":{"line":372,"column":28},"end":{"line":372,"column":37}},"70":{"start":{"line":376,"column":20},"end":{"line":377,"column":80}},"71":{"start":{"line":381,"column":16},"end":{"line":387,"column":17}},"72":{"start":{"line":382,"column":20},"end":{"line":382,"column":42}},"73":{"start":{"line":384,"column":20},"end":{"line":386,"column":66}},"74":{"start":{"line":390,"column":16},"end":{"line":397,"column":17}},"75":{"start":{"line":391,"column":20},"end":{"line":391,"column":46}},"76":{"start":{"line":392,"column":20},"end":{"line":392,"column":81}},"77":{"start":{"line":394,"column":20},"end":{"line":396,"column":21}},"78":{"start":{"line":395,"column":24},"end":{"line":395,"column":43}},"79":{"start":{"line":398,"column":16},"end":{"line":398,"column":36}},"80":{"start":{"line":401,"column":8},"end":{"line":401,"column":35}},"81":{"start":{"line":402,"column":8},"end":{"line":402,"column":24}},"82":{"start":{"line":417,"column":8},"end":{"line":430,"column":9}},"83":{"start":{"line":418,"column":12},"end":{"line":418,"column":26}},"84":{"start":{"line":419,"column":12},"end":{"line":426,"column":13}},"85":{"start":{"line":420,"column":16},"end":{"line":425,"column":17}},"86":{"start":{"line":421,"column":20},"end":{"line":421,"column":63}},"87":{"start":{"line":422,"column":20},"end":{"line":424,"column":21}},"88":{"start":{"line":423,"column":24},"end":{"line":423,"column":88}},"89":{"start":{"line":429,"column":12},"end":{"line":429,"column":75}},"90":{"start":{"line":431,"column":8},"end":{"line":431,"column":24}},"91":{"start":{"line":436,"column":0},"end":{"line":436,"column":44}}},"branchMap":{"1":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":49,"column":8}},{"start":{"line":49,"column":8},"end":{"line":49,"column":8}}]},"2":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":16},"end":{"line":67,"column":16}},{"start":{"line":67,"column":16},"end":{"line":67,"column":16}}]},"3":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":12}},{"start":{"line":92,"column":12},"end":{"line":92,"column":12}}]},"4":{"line":92,"type":"binary-expr","locations":[{"start":{"line":92,"column":16},"end":{"line":92,"column":30}},{"start":{"line":92,"column":35},"end":{"line":92,"column":50}}]},"5":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":226,"column":8}},{"start":{"line":226,"column":8},"end":{"line":226,"column":8}}]},"6":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":236,"column":8}},{"start":{"line":236,"column":8},"end":{"line":236,"column":8}}]},"7":{"line":236,"type":"binary-expr","locations":[{"start":{"line":236,"column":12},"end":{"line":236,"column":29}},{"start":{"line":236,"column":33},"end":{"line":236,"column":39}}]},"8":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":12},"end":{"line":241,"column":12}},{"start":{"line":241,"column":12},"end":{"line":241,"column":12}}]},"9":{"line":267,"type":"cond-expr","locations":[{"start":{"line":268,"column":25},"end":{"line":270,"column":61}},{"start":{"line":272,"column":24},"end":{"line":272,"column":31}}]},"10":{"line":268,"type":"binary-expr","locations":[{"start":{"line":268,"column":25},"end":{"line":268,"column":48}},{"start":{"line":270,"column":28},"end":{"line":270,"column":61}}]},"11":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":8},"end":{"line":274,"column":8}},{"start":{"line":274,"column":8},"end":{"line":274,"column":8}}]},"12":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":12},"end":{"line":279,"column":12}},{"start":{"line":279,"column":12},"end":{"line":279,"column":12}}]},"13":{"line":284,"type":"if","locations":[{"start":{"line":284,"column":15},"end":{"line":284,"column":15}},{"start":{"line":284,"column":15},"end":{"line":284,"column":15}}]},"14":{"line":314,"type":"binary-expr","locations":[{"start":{"line":314,"column":18},"end":{"line":314,"column":27}},{"start":{"line":314,"column":31},"end":{"line":314,"column":36}}]},"15":{"line":315,"type":"binary-expr","locations":[{"start":{"line":315,"column":22},"end":{"line":315,"column":35}},{"start":{"line":315,"column":39},"end":{"line":315,"column":42}}]},"16":{"line":319,"type":"if","locations":[{"start":{"line":319,"column":12},"end":{"line":319,"column":12}},{"start":{"line":319,"column":12},"end":{"line":319,"column":12}}]},"17":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":16},"end":{"line":320,"column":16}},{"start":{"line":320,"column":16},"end":{"line":320,"column":16}}]},"18":{"line":337,"type":"cond-expr","locations":[{"start":{"line":338,"column":24},"end":{"line":338,"column":36}},{"start":{"line":339,"column":24},"end":{"line":339,"column":52}}]},"19":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":12}},{"start":{"line":341,"column":12},"end":{"line":341,"column":12}}]},"20":{"line":354,"type":"if","locations":[{"start":{"line":354,"column":12},"end":{"line":354,"column":12}},{"start":{"line":354,"column":12},"end":{"line":354,"column":12}}]},"21":{"line":359,"type":"if","locations":[{"start":{"line":359,"column":20},"end":{"line":359,"column":20}},{"start":{"line":359,"column":20},"end":{"line":359,"column":20}}]},"22":{"line":364,"type":"if","locations":[{"start":{"line":364,"column":24},"end":{"line":364,"column":24}},{"start":{"line":364,"column":24},"end":{"line":364,"column":24}}]},"23":{"line":385,"type":"cond-expr","locations":[{"start":{"line":386,"column":28},"end":{"line":386,"column":37}},{"start":{"line":386,"column":40},"end":{"line":386,"column":57}}]},"24":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":20},"end":{"line":394,"column":20}},{"start":{"line":394,"column":20},"end":{"line":394,"column":20}}]},"25":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":8},"end":{"line":417,"column":8}},{"start":{"line":417,"column":8},"end":{"line":417,"column":8}}]},"26":{"line":420,"type":"if","locations":[{"start":{"line":420,"column":16},"end":{"line":420,"column":16}},{"start":{"line":420,"column":16},"end":{"line":420,"column":16}}]},"27":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":20},"end":{"line":422,"column":20}},{"start":{"line":422,"column":20},"end":{"line":422,"column":20}}]},"28":{"line":422,"type":"binary-expr","locations":[{"start":{"line":422,"column":24},"end":{"line":422,"column":28}},{"start":{"line":422,"column":32},"end":{"line":422,"column":39}}]}},"code":["(function () { YUI.add('dataschema-json', function (Y, NAME) {","","/**","Provides a DataSchema implementation which can be used to work with JSON data.","","@module dataschema","@submodule dataschema-json","**/","","/**","Provides a DataSchema implementation which can be used to work with JSON data.","","See the `apply` method for usage.","","@class DataSchema.JSON","@extends DataSchema.Base","@static","**/","var LANG = Y.Lang,"," isFunction = LANG.isFunction,"," isObject = LANG.isObject,"," isArray = LANG.isArray,"," // TODO: I don't think the calls to Base.* need to be done via Base since"," // Base is mixed into SchemaJSON. Investigate for later."," Base = Y.DataSchema.Base,",""," SchemaJSON;","","SchemaJSON = {","","/////////////////////////////////////////////////////////////////////////////","//","// DataSchema.JSON static methods","//","/////////////////////////////////////////////////////////////////////////////"," /**"," * Utility function converts JSON locator strings into walkable paths"," *"," * @method getPath"," * @param locator {String} JSON value locator."," * @return {String[]} Walkable path to data value."," * @static"," */"," getPath: function(locator) {"," var path = null,"," keys = [],"," i = 0;",""," if (locator) {"," // Strip the [\"string keys\"] and [1] array indexes"," // TODO: the first two steps can probably be reduced to one with"," // /\\[\\s*(['\"])?(.*?)\\1\\s*\\]/g, but the array indices would be"," // stored as strings. This is not likely an issue."," locator = locator."," replace(/\\[\\s*(['\"])(.*?)\\1\\s*\\]/g,"," function (x,$1,$2) {keys[i]=$2;return '.@'+(i++);})."," replace(/\\[(\\d+)\\]/g,"," function (x,$1) {keys[i]=parseInt($1,10)|0;return '.@'+(i++);})."," replace(/^\\./,''); // remove leading dot",""," // Validate against problematic characters."," // commented out because the path isn't sent to eval, so it"," // should be safe. I'm not sure what makes a locator invalid."," //if (!/[^\\w\\.\\$@]/.test(locator)) {"," path = locator.split('.');"," for (i=path.length-1; i >= 0; --i) {"," if (path[i].charAt(0) === '@') {"," path[i] = keys[parseInt(path[i].substr(1),10)];"," }"," }"," /*}"," else {"," }"," */"," }"," return path;"," },",""," /**"," * Utility function to walk a path and return the value located there."," *"," * @method getLocationValue"," * @param path {String[]} Locator path."," * @param data {String} Data to traverse."," * @return {Object} Data value at location."," * @static"," */"," getLocationValue: function (path, data) {"," var i = 0,"," len = path.length;"," for (;i(required) The path locator (String)"," * `parser`: A function or the name of a function on `Y.Parsers` used"," to convert the input value into a normalized type. Parser"," functions are passed the value as input and are expected to"," return a value.",""," If no value parsing is needed, you can use path locators (strings)"," instead of field identifiers (objects) -- see example below.",""," If no processing of the result list array is needed, _schema.resultFields_"," can be omitted; the `response.results` will point directly to the array.",""," If the result list contains arrays, `response.results` will contain an"," array of objects with key:value pairs assuming the fields in"," _schema.resultFields_ are ordered in accordance with the data array"," values.",""," If the result list contains objects, the identified _schema.resultFields_"," will be used to extract a value from those objects for the output result.",""," To extract additional information from the JSON, include an array of"," path locators in _schema.metaFields_. The collected values will be"," stored in `response.meta`.","",""," @example"," // Process array of arrays"," var schema = {"," resultListLocator: 'produce.fruit',"," resultFields: [ 'name', 'color' ]"," },"," data = {"," produce: {"," fruit: ["," [ 'Banana', 'yellow' ],"," [ 'Orange', 'orange' ],"," [ 'Eggplant', 'purple' ]"," ]"," }"," };",""," var response = Y.DataSchema.JSON.apply(schema, data);",""," // response.results[0] is { name: \"Banana\", color: \"yellow\" }","",""," // Process array of objects + some metadata"," schema.metaFields = [ 'lastInventory' ];",""," data = {"," produce: {"," fruit: ["," { name: 'Banana', color: 'yellow', price: '1.96' },"," { name: 'Orange', color: 'orange', price: '2.04' },"," { name: 'Eggplant', color: 'purple', price: '4.31' }"," ]"," },"," lastInventory: '2011-07-19'"," };",""," response = Y.DataSchema.JSON.apply(schema, data);",""," // response.results[0] is { name: \"Banana\", color: \"yellow\" }"," // response.meta.lastInventory is '2001-07-19'","",""," // Use parsers"," schema.resultFields = ["," {"," key: 'name',"," parser: function (val) { return val.toUpperCase(); }"," },"," {"," key: 'price',"," parser: 'number' // Uses Y.Parsers.number"," }"," ];",""," response = Y.DataSchema.JSON.apply(schema, data);",""," // Note price was converted from a numeric string to a number"," // response.results[0] looks like { fruit: \"BANANA\", price: 1.96 }",""," @method apply"," @param {Object} [schema] Schema to apply. Supported configuration"," properties are:"," @param {String} [schema.resultListLocator] Path locator for the"," location of the array of records to flatten into `response.results`"," @param {Array} [schema.resultFields] Field identifiers to"," locate/assign values in the response records. See above for"," details."," @param {Array} [schema.metaFields] Path locators to extract extra"," non-record related information from the data object."," @param {Object|Array|String} data JSON data or its string serialization."," @return {Object} An Object with properties `results` and `meta`"," @static"," **/"," apply: function(schema, data) {"," var data_in = data,"," data_out = { results: [], meta: {} };",""," // Convert incoming JSON strings"," if (!isObject(data)) {"," try {"," data_in = Y.JSON.parse(data);"," }"," catch(e) {"," data_out.error = e;"," return data_out;"," }"," }",""," if (isObject(data_in) && schema) {"," // Parse results data"," data_out = SchemaJSON._parseResults.call(this, schema, data_in, data_out);",""," // Parse meta data"," if (schema.metaFields !== undefined) {"," data_out = SchemaJSON._parseMeta(schema.metaFields, data_in, data_out);"," }"," }"," else {"," data_out.error = new Error(\"JSON schema parse failure\");"," }",""," return data_out;"," },",""," /**"," * Schema-parsed list of results from full data"," *"," * @method _parseResults"," * @param schema {Object} Schema to parse against."," * @param json_in {Object} JSON to parse."," * @param data_out {Object} In-progress parsed data to update."," * @return {Object} Parsed data object."," * @static"," * @protected"," */"," _parseResults: function(schema, json_in, data_out) {"," var getPath = SchemaJSON.getPath,"," getValue = SchemaJSON.getLocationValue,"," path = getPath(schema.resultListLocator),"," results = path ?"," (getValue(path, json_in) ||"," // Fall back to treat resultListLocator as a simple key"," json_in[schema.resultListLocator]) :"," // Or if no resultListLocator is supplied, use the input"," json_in;",""," if (isArray(results)) {"," // if no result fields are passed in, then just take"," // the results array whole-hog Sometimes you're getting"," // an array of strings, or want the whole object, so"," // resultFields don't make sense."," if (isArray(schema.resultFields)) {"," data_out = SchemaJSON._getFieldValues.call(this, schema.resultFields, results, data_out);"," } else {"," data_out.results = results;"," }"," } else if (schema.resultListLocator) {"," data_out.results = [];"," data_out.error = new Error(\"JSON results retrieval failure\");"," }",""," return data_out;"," },",""," /**"," * Get field data values out of list of full results"," *"," * @method _getFieldValues"," * @param fields {Array} Fields to find."," * @param array_in {Array} Results to parse."," * @param data_out {Object} In-progress parsed data to update."," * @return {Object} Parsed data object."," * @static"," * @protected"," */"," _getFieldValues: function(fields, array_in, data_out) {"," var results = [],"," len = fields.length,"," i, j,"," field, key, locator, path, parser, val,"," simplePaths = [], complexPaths = [], fieldParsers = [],"," result, record;",""," // First collect hashes of simple paths, complex paths, and parsers"," for (i=0; i=0; --i) {"," record = {};"," result = array_in[i];"," if(result) {"," // Cycle through complexLocators"," for (j=complexPaths.length - 1; j>=0; --j) {"," path = complexPaths[j];"," val = SchemaJSON.getLocationValue(path.path, result);"," if (val === undefined) {"," val = SchemaJSON.getLocationValue([path.locator], result);"," // Fail over keys like \"foo.bar\" from nested parsing"," // to single token parsing if a value is found in"," // results[\"foo.bar\"]"," if (val !== undefined) {"," simplePaths.push({"," key: path.key,"," path: path.locator"," });"," // Don't try to process the path as complex"," // for further results"," complexPaths.splice(i,1);"," continue;"," }"," }",""," record[path.key] = Base.parse.call(this,"," (SchemaJSON.getLocationValue(path.path, result)), path);"," }",""," // Cycle through simpleLocators"," for (j = simplePaths.length - 1; j >= 0; --j) {"," path = simplePaths[j];"," // Bug 1777850: The result might be an array instead of object"," record[path.key] = Base.parse.call(this,"," ((result[path.path] === undefined) ?"," result[j] : result[path.path]), path);"," }",""," // Cycle through fieldParsers"," for (j=fieldParsers.length-1; j>=0; --j) {"," key = fieldParsers[j].key;"," record[key] = fieldParsers[j].parser.call(this, record[key]);"," // Safety net"," if (record[key] === undefined) {"," record[key] = null;"," }"," }"," results[i] = record;"," }"," }"," data_out.results = results;"," return data_out;"," },",""," /**"," * Parses results data according to schema"," *"," * @method _parseMeta"," * @param metaFields {Object} Metafields definitions."," * @param json_in {Object} JSON to parse."," * @param data_out {Object} In-progress parsed data to update."," * @return {Object} Schema-parsed meta data."," * @static"," * @protected"," */"," _parseMeta: function(metaFields, json_in, data_out) {"," if (isObject(metaFields)) {"," var key, path;"," for(key in metaFields) {"," if (metaFields.hasOwnProperty(key)) {"," path = SchemaJSON.getPath(metaFields[key]);"," if (path && json_in) {"," data_out.meta[key] = SchemaJSON.getLocationValue(path, json_in);"," }"," }"," }"," }"," else {"," data_out.error = new Error(\"JSON meta data retrieval failure\");"," }"," return data_out;"," }","};","","// TODO: Y.Object + mix() might be better here","Y.DataSchema.JSON = Y.mix(SchemaJSON, Base);","","","}, '3.13.0', {\"requires\": [\"dataschema-base\", \"json\"]});","","}());"]};
+}
+var __cov_GxUuHPQ8FEO1Q4S85u1HAw = __coverage__['build/dataschema-json/dataschema-json.js'];
+__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['1']++;YUI.add('dataschema-json',function(Y,NAME){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['1']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['2']++;var LANG=Y.Lang,isFunction=LANG.isFunction,isObject=LANG.isObject,isArray=LANG.isArray,Base=Y.DataSchema.Base,SchemaJSON;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['3']++;SchemaJSON={getPath:function(locator){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['2']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['4']++;var path=null,keys=[],i=0;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['5']++;if(locator){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['1'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['6']++;locator=locator.replace(/\[\s*(['"])(.*?)\1\s*\]/g,function(x,$1,$2){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['3']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['7']++;keys[i]=$2;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['8']++;return'.@'+i++;}).replace(/\[(\d+)\]/g,function(x,$1){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['4']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['9']++;keys[i]=parseInt($1,10)|0;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['10']++;return'.@'+i++;}).replace(/^\./,'');__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['11']++;path=locator.split('.');__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['12']++;for(i=path.length-1;i>=0;--i){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['13']++;if(path[i].charAt(0)==='@'){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['2'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['14']++;path[i]=keys[parseInt(path[i].substr(1),10)];}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['2'][1]++;}}}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['1'][1]++;}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['15']++;return path;},getLocationValue:function(path,data){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['5']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['16']++;var i=0,len=path.length;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['17']++;for(;i=0;--i){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['58']++;record={};__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['59']++;result=array_in[i];__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['60']++;if(result){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['20'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['61']++;for(j=complexPaths.length-1;j>=0;--j){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['62']++;path=complexPaths[j];__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['63']++;val=SchemaJSON.getLocationValue(path.path,result);__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['64']++;if(val===undefined){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['21'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['65']++;val=SchemaJSON.getLocationValue([path.locator],result);__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['66']++;if(val!==undefined){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['22'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['67']++;simplePaths.push({key:path.key,path:path.locator});__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['68']++;complexPaths.splice(i,1);__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['69']++;continue;}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['22'][1]++;}}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['21'][1]++;}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['70']++;record[path.key]=Base.parse.call(this,SchemaJSON.getLocationValue(path.path,result),path);}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['71']++;for(j=simplePaths.length-1;j>=0;--j){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['72']++;path=simplePaths[j];__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['73']++;record[path.key]=Base.parse.call(this,result[path.path]===undefined?(__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['23'][0]++,result[j]):(__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['23'][1]++,result[path.path]),path);}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['74']++;for(j=fieldParsers.length-1;j>=0;--j){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['75']++;key=fieldParsers[j].key;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['76']++;record[key]=fieldParsers[j].parser.call(this,record[key]);__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['77']++;if(record[key]===undefined){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['24'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['78']++;record[key]=null;}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['24'][1]++;}}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['79']++;results[i]=record;}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['20'][1]++;}}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['80']++;data_out.results=results;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['81']++;return data_out;},_parseMeta:function(metaFields,json_in,data_out){__cov_GxUuHPQ8FEO1Q4S85u1HAw.f['9']++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['82']++;if(isObject(metaFields)){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['25'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['83']++;var key,path;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['84']++;for(key in metaFields){__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['85']++;if(metaFields.hasOwnProperty(key)){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['26'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['86']++;path=SchemaJSON.getPath(metaFields[key]);__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['87']++;if((__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['28'][0]++,path)&&(__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['28'][1]++,json_in)){__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['27'][0]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['88']++;data_out.meta[key]=SchemaJSON.getLocationValue(path,json_in);}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['27'][1]++;}}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['26'][1]++;}}}else{__cov_GxUuHPQ8FEO1Q4S85u1HAw.b['25'][1]++;__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['89']++;data_out.error=new Error('JSON meta data retrieval failure');}__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['90']++;return data_out;}};__cov_GxUuHPQ8FEO1Q4S85u1HAw.s['91']++;Y.DataSchema.JSON=Y.mix(SchemaJSON,Base);},'3.13.0',{'requires':['dataschema-base','json']});
diff --git a/lib/yuilib/3.12.0/dataschema-json/dataschema-json-debug.js b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/dataschema-json/dataschema-json-debug.js
rename to lib/yuilib/3.13.0/dataschema-json/dataschema-json-debug.js
index 86b777676a5..9e224e98ec3
--- a/lib/yuilib/3.12.0/dataschema-json/dataschema-json-debug.js
+++ b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -32,7 +32,7 @@ var LANG = Y.Lang,
Base = Y.DataSchema.Base,
SchemaJSON;
-
+
SchemaJSON = {
/////////////////////////////////////////////////////////////////////////////
@@ -135,7 +135,7 @@ SchemaJSON = {
functions are passed the value as input and are expected to
return a value.
- If no value parsing is needed, you can use path locators (strings)
+ If no value parsing is needed, you can use path locators (strings)
instead of field identifiers (objects) -- see example below.
If no processing of the result list array is needed, _schema.resultFields_
@@ -174,7 +174,7 @@ SchemaJSON = {
// response.results[0] is { name: "Banana", color: "yellow" }
-
+
// Process array of objects + some metadata
schema.metaFields = [ 'lastInventory' ];
@@ -211,7 +211,7 @@ SchemaJSON = {
// Note price was converted from a numeric string to a number
// response.results[0] looks like { fruit: "BANANA", price: 1.96 }
-
+
@method apply
@param {Object} [schema] Schema to apply. Supported configuration
properties are:
@@ -447,4 +447,4 @@ SchemaJSON = {
Y.DataSchema.JSON = Y.mix(SchemaJSON, Base);
-}, '3.12.0', {"requires": ["dataschema-base", "json"]});
+}, '3.13.0', {"requires": ["dataschema-base", "json"]});
diff --git a/lib/yuilib/3.12.0/dataschema-json/dataschema-json-min.js b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-min.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/dataschema-json/dataschema-json-min.js
rename to lib/yuilib/3.13.0/dataschema-json/dataschema-json-min.js
index 62049abda07..dc2ef1f19a6
--- a/lib/yuilib/3.12.0/dataschema-json/dataschema-json-min.js
+++ b/lib/yuilib/3.13.0/dataschema-json/dataschema-json-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("dataschema-json",function(e,t){var n=e.Lang,r=n.isFunction,i=n.isObject,s=n.isArray,o=e.DataSchema.Base,u;u={getPath:function(e){var t=null,n=[],r=0;if(e){e=e.replace(/\[\s*(['"])(.*?)\1\s*\]/g,function(e,t,i){return n[r]=i,".@"+r++}).replace(/\[(\d+)\]/g,function(e,t){return n[r]=parseInt(t,10)|0,".@"+r++}).replace(/^\./,""),t=e.split(".");for(r=t.length-1;r>=0;--r)t[r].charAt(0)==="@"&&(t[r]=n[parseInt(t[r].substr(1),10)])}return t},getLocationValue:function(e,t){var n=0,r=e.length;for(;n=0;--f){E={},w=n[f];if(w){for(l=y.length-1;l>=0;--l){d=y[l],m=u.getLocationValue(d.path,w);if(m===undefined){m=u.getLocationValue([d.locator],w);if(m!==undefined){g.push({key:d.key,path:d.locator}),y.splice(f,1);continue}}E[d.key]=o.parse.call(this,u.getLocationValue(d.path,w),d)}for(l=g.length-1;l>=0;--l)d=g[l],E[d.key]=o.parse.call(this,w[d.path]===undefined?w[l]:w[d.path],d);for(l=b.length-1;l>=0;--l)h=b[l].key,E[h]=b[l].parser.call(this,E[h]),E[h]===undefined&&(E[h]=null);s[f]=E}}return i.results=s,i},_parseMeta:function(e,t,n){if(i(e)){var r,s;for(r in e)e.hasOwnProperty(r)&&(s=u.getPath(e[r]),s&&t&&(n.meta[r]=u.getLocationValue(s,t)))}else n.error=new Error("JSON meta data retrieval failure");return n}},e.DataSchema.JSON=e.mix(u,o)},"3.12.0",{requires:["dataschema-base","json"]});
+YUI.add("dataschema-json",function(e,t){var n=e.Lang,r=n.isFunction,i=n.isObject,s=n.isArray,o=e.DataSchema.Base,u;u={getPath:function(e){var t=null,n=[],r=0;if(e){e=e.replace(/\[\s*(['"])(.*?)\1\s*\]/g,function(e,t,i){return n[r]=i,".@"+r++}).replace(/\[(\d+)\]/g,function(e,t){return n[r]=parseInt(t,10)|0,".@"+r++}).replace(/^\./,""),t=e.split(".");for(r=t.length-1;r>=0;--r)t[r].charAt(0)==="@"&&(t[r]=n[parseInt(t[r].substr(1),10)])}return t},getLocationValue:function(e,t){var n=0,r=e.length;for(;n=0;--f){E={},w=n[f];if(w){for(l=y.length-1;l>=0;--l){d=y[l],m=u.getLocationValue(d.path,w);if(m===undefined){m=u.getLocationValue([d.locator],w);if(m!==undefined){g.push({key:d.key,path:d.locator}),y.splice(f,1);continue}}E[d.key]=o.parse.call(this,u.getLocationValue(d.path,w),d)}for(l=g.length-1;l>=0;--l)d=g[l],E[d.key]=o.parse.call(this,w[d.path]===undefined?w[l]:w[d.path],d);for(l=b.length-1;l>=0;--l)h=b[l].key,E[h]=b[l].parser.call(this,E[h]),E[h]===undefined&&(E[h]=null);s[f]=E}}return i.results=s,i},_parseMeta:function(e,t,n){if(i(e)){var r,s;for(r in e)e.hasOwnProperty(r)&&(s=u.getPath(e[r]),s&&t&&(n.meta[r]=u.getLocationValue(s,t)))}else n.error=new Error("JSON meta data retrieval failure");return n}},e.DataSchema.JSON=e.mix(u,o)},"3.13.0",{requires:["dataschema-base","json"]});
diff --git a/lib/yuilib/3.12.0/dataschema-json/dataschema-json.js b/lib/yuilib/3.13.0/dataschema-json/dataschema-json.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/dataschema-json/dataschema-json.js
rename to lib/yuilib/3.13.0/dataschema-json/dataschema-json.js
index eb896d939ad..a319d6dccd3
--- a/lib/yuilib/3.12.0/dataschema-json/dataschema-json.js
+++ b/lib/yuilib/3.13.0/dataschema-json/dataschema-json.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -32,7 +32,7 @@ var LANG = Y.Lang,
Base = Y.DataSchema.Base,
SchemaJSON;
-
+
SchemaJSON = {
/////////////////////////////////////////////////////////////////////////////
@@ -134,7 +134,7 @@ SchemaJSON = {
functions are passed the value as input and are expected to
return a value.
- If no value parsing is needed, you can use path locators (strings)
+ If no value parsing is needed, you can use path locators (strings)
instead of field identifiers (objects) -- see example below.
If no processing of the result list array is needed, _schema.resultFields_
@@ -173,7 +173,7 @@ SchemaJSON = {
// response.results[0] is { name: "Banana", color: "yellow" }
-
+
// Process array of objects + some metadata
schema.metaFields = [ 'lastInventory' ];
@@ -210,7 +210,7 @@ SchemaJSON = {
// Note price was converted from a numeric string to a number
// response.results[0] looks like { fruit: "BANANA", price: 1.96 }
-
+
@method apply
@param {Object} [schema] Schema to apply. Supported configuration
properties are:
@@ -443,4 +443,4 @@ SchemaJSON = {
Y.DataSchema.JSON = Y.mix(SchemaJSON, Base);
-}, '3.12.0', {"requires": ["dataschema-base", "json"]});
+}, '3.13.0', {"requires": ["dataschema-base", "json"]});
diff --git a/lib/yuilib/3.13.0/dataschema-text/dataschema-text-coverage.js b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-coverage.js
new file mode 100755
index 00000000000..2f7585fd3de
--- /dev/null
+++ b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/dataschema-text/dataschema-text.js']) {
+ __coverage__['build/dataschema-text/dataschema-text.js'] = {"path":"build/dataschema-text/dataschema-text.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]},"f":{"1":0,"2":0,"3":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"(anonymous_2)","line":105,"loc":{"start":{"line":105,"column":15},"end":{"line":105,"column":38}}},"3":{"name":"(anonymous_3)","line":130,"loc":{"start":{"line":130,"column":23},"end":{"line":130,"column":59}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":182,"column":48}},"2":{"start":{"line":22,"column":0},"end":{"line":177,"column":6}},"3":{"start":{"line":106,"column":12},"end":{"line":107,"column":53}},"4":{"start":{"line":109,"column":12},"end":{"line":114,"column":13}},"5":{"start":{"line":111,"column":16},"end":{"line":111,"column":90}},"6":{"start":{"line":113,"column":16},"end":{"line":113,"column":72}},"7":{"start":{"line":116,"column":12},"end":{"line":116,"column":28}},"8":{"start":{"line":131,"column":12},"end":{"line":138,"column":40}},"9":{"start":{"line":141,"column":12},"end":{"line":143,"column":13}},"10":{"start":{"line":142,"column":16},"end":{"line":142,"column":64}},"11":{"start":{"line":146,"column":12},"end":{"line":146,"column":63}},"12":{"start":{"line":148,"column":12},"end":{"line":171,"column":13}},"13":{"start":{"line":149,"column":16},"end":{"line":168,"column":17}},"14":{"start":{"line":150,"column":20},"end":{"line":150,"column":32}},"15":{"start":{"line":151,"column":20},"end":{"line":151,"column":41}},"16":{"start":{"line":153,"column":20},"end":{"line":153,"column":66}},"17":{"start":{"line":155,"column":20},"end":{"line":165,"column":21}},"18":{"start":{"line":156,"column":24},"end":{"line":156,"column":42}},"19":{"start":{"line":157,"column":24},"end":{"line":157,"column":72}},"20":{"start":{"line":160,"column":24},"end":{"line":162,"column":49}},"21":{"start":{"line":164,"column":24},"end":{"line":164,"column":69}},"22":{"start":{"line":167,"column":20},"end":{"line":167,"column":40}},"23":{"start":{"line":170,"column":16},"end":{"line":170,"column":37}},"24":{"start":{"line":173,"column":12},"end":{"line":173,"column":39}},"25":{"start":{"line":175,"column":12},"end":{"line":175,"column":28}},"26":{"start":{"line":179,"column":0},"end":{"line":179,"column":57}}},"branchMap":{"1":{"line":109,"type":"if","locations":[{"start":{"line":109,"column":12},"end":{"line":109,"column":12}},{"start":{"line":109,"column":12},"end":{"line":109,"column":12}}]},"2":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":16},"end":{"line":109,"column":30}},{"start":{"line":109,"column":34},"end":{"line":109,"column":40}},{"start":{"line":109,"column":44},"end":{"line":109,"column":76}}]},"3":{"line":132,"type":"binary-expr","locations":[{"start":{"line":132,"column":30},"end":{"line":132,"column":61}},{"start":{"line":133,"column":32},"end":{"line":133,"column":53}}]},"4":{"line":134,"type":"binary-expr","locations":[{"start":{"line":134,"column":30},"end":{"line":134,"column":49}},{"start":{"line":134,"column":53},"end":{"line":134,"column":55}}]},"5":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":12},"end":{"line":141,"column":12}},{"start":{"line":141,"column":12},"end":{"line":141,"column":12}}]},"6":{"line":148,"type":"if","locations":[{"start":{"line":148,"column":12},"end":{"line":148,"column":12}},{"start":{"line":148,"column":12},"end":{"line":148,"column":12}}]},"7":{"line":157,"type":"cond-expr","locations":[{"start":{"line":157,"column":54},"end":{"line":157,"column":63}},{"start":{"line":157,"column":66},"end":{"line":157,"column":71}}]},"8":{"line":160,"type":"cond-expr","locations":[{"start":{"line":161,"column":36},"end":{"line":161,"column":50}},{"start":{"line":162,"column":36},"end":{"line":162,"column":48}}]}},"code":["(function () { YUI.add('dataschema-text', function (Y, NAME) {","","/**"," * Provides a DataSchema implementation which can be used to work with"," * delimited text data."," *"," * @module dataschema"," * @submodule dataschema-text"," */","","/**","Provides a DataSchema implementation which can be used to work with","delimited text data.","","See the `apply` method for usage.","","@class DataSchema.Text","@extends DataSchema.Base","@static","**/","","var Lang = Y.Lang,"," isString = Lang.isString,"," isUndef = Lang.isUndefined,",""," SchemaText = {",""," ////////////////////////////////////////////////////////////////////////"," //"," // DataSchema.Text static methods"," //"," ////////////////////////////////////////////////////////////////////////"," /**"," Applies a schema to a string of delimited data, returning a normalized"," object with results in the `results` property. The `meta` property of"," the response object is present for consistency, but is assigned an"," empty object. If the input data is absent or not a string, an `error`"," property will be added.",""," Use _schema.resultDelimiter_ and _schema.fieldDelimiter_ to instruct"," `apply` how to split up the string into an array of data arrays for"," processing.",""," Use _schema.resultFields_ to specify the keys in the generated result"," objects in `response.results`. The key:value pairs will be assigned"," in the order of the _schema.resultFields_ array, assuming the values"," in the data records are defined in the same order.",""," _schema.resultFields_ field identifiers are objects with the following"," properties:",""," * `key` : (required) The property name you want"," the data value assigned to in the result object (String)"," * `parser`: A function or the name of a function on `Y.Parsers` used"," to convert the input value into a normalized type. Parser"," functions are passed the value as input and are expected to"," return a value.",""," If no value parsing is needed, you can use just the desired property"," name string as the field identifier instead of an object (see example"," below).",""," @example"," // Process simple csv"," var schema = {"," resultDelimiter: \"\\n\","," fieldDelimiter: \",\","," resultFields: [ 'fruit', 'color' ]"," },"," data = \"Banana,yellow\\nOrange,orange\\nEggplant,purple\";",""," var response = Y.DataSchema.Text.apply(schema, data);",""," // response.results[0] is { fruit: \"Banana\", color: \"yellow\" }","",""," // Use parsers"," schema.resultFields = ["," {"," key: 'fruit',"," parser: function (val) { return val.toUpperCase(); }"," },"," 'color' // mix and match objects and strings"," ];",""," response = Y.DataSchema.Text.apply(schema, data);",""," // response.results[0] is { fruit: \"BANANA\", color: \"yellow\" }",""," @method apply"," @param {Object} schema Schema to apply. Supported configuration"," properties are:"," @param {String} schema.resultDelimiter Character or character"," sequence that marks the end of one record and the start of"," another."," @param {String} [schema.fieldDelimiter] Character or character"," sequence that marks the end of a field and the start of"," another within the same record."," @param {Array} [schema.resultFields] Field identifiers to"," assign values in the response records. See above for details."," @param {String} data Text data."," @return {Object} An Object with properties `results` and `meta`"," @static"," **/"," apply: function(schema, data) {"," var data_in = data,"," data_out = { results: [], meta: {} };",""," if (isString(data) && schema && isString(schema.resultDelimiter)) {"," // Parse results data"," data_out = SchemaText._parseResults.call(this, schema, data_in, data_out);"," } else {"," data_out.error = new Error(\"Text schema parse failure\");"," }",""," return data_out;"," },",""," /**"," * Schema-parsed list of results from full data"," *"," * @method _parseResults"," * @param schema {Array} Schema to parse against."," * @param text_in {String} Text to parse."," * @param data_out {Object} In-progress parsed data to update."," * @return {Object} Parsed data object."," * @static"," * @protected"," */"," _parseResults: function(schema, text_in, data_out) {"," var resultDelim = schema.resultDelimiter,"," fieldDelim = isString(schema.fieldDelimiter) &&"," schema.fieldDelimiter,"," fields = schema.resultFields || [],"," results = [],"," parse = Y.DataSchema.Base.parse,"," results_in, fields_in, result, item,"," field, key, value, i, j;",""," // Delete final delimiter at end of string if there"," if (text_in.slice(-resultDelim.length) === resultDelim) {"," text_in = text_in.slice(0, -resultDelim.length);"," }",""," // Split into results"," results_in = text_in.split(schema.resultDelimiter);",""," if (fieldDelim) {"," for (i = results_in.length - 1; i >= 0; --i) {"," result = {};"," item = results_in[i];",""," fields_in = item.split(schema.fieldDelimiter);",""," for (j = fields.length - 1; j >= 0; --j) {"," field = fields[j];"," key = (!isUndef(field.key)) ? field.key : field;"," // FIXME: unless the key is an array index, this test"," // for fields_in[key] is useless."," value = (!isUndef(fields_in[key])) ?"," fields_in[key] :"," fields_in[j];",""," result[key] = parse.call(this, value, field);"," }",""," results[i] = result;"," }"," } else {"," results = results_in;"," }",""," data_out.results = results;",""," return data_out;"," }"," };","","Y.DataSchema.Text = Y.mix(SchemaText, Y.DataSchema.Base);","","","}, '3.13.0', {\"requires\": [\"dataschema-base\"]});","","}());"]};
+}
+var __cov_t9Zl0HGBv1_SMaP7xxdYRQ = __coverage__['build/dataschema-text/dataschema-text.js'];
+__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['1']++;YUI.add('dataschema-text',function(Y,NAME){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.f['1']++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['2']++;var Lang=Y.Lang,isString=Lang.isString,isUndef=Lang.isUndefined,SchemaText={apply:function(schema,data){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.f['2']++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['3']++;var data_in=data,data_out={results:[],meta:{}};__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['4']++;if((__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['2'][0]++,isString(data))&&(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['2'][1]++,schema)&&(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['2'][2]++,isString(schema.resultDelimiter))){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['1'][0]++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['5']++;data_out=SchemaText._parseResults.call(this,schema,data_in,data_out);}else{__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['1'][1]++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['6']++;data_out.error=new Error('Text schema parse failure');}__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['7']++;return data_out;},_parseResults:function(schema,text_in,data_out){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.f['3']++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['8']++;var resultDelim=schema.resultDelimiter,fieldDelim=(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['3'][0]++,isString(schema.fieldDelimiter))&&(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['3'][1]++,schema.fieldDelimiter),fields=(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['4'][0]++,schema.resultFields)||(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['4'][1]++,[]),results=[],parse=Y.DataSchema.Base.parse,results_in,fields_in,result,item,field,key,value,i,j;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['9']++;if(text_in.slice(-resultDelim.length)===resultDelim){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['5'][0]++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['10']++;text_in=text_in.slice(0,-resultDelim.length);}else{__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['5'][1]++;}__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['11']++;results_in=text_in.split(schema.resultDelimiter);__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['12']++;if(fieldDelim){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['6'][0]++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['13']++;for(i=results_in.length-1;i>=0;--i){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['14']++;result={};__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['15']++;item=results_in[i];__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['16']++;fields_in=item.split(schema.fieldDelimiter);__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['17']++;for(j=fields.length-1;j>=0;--j){__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['18']++;field=fields[j];__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['19']++;key=!isUndef(field.key)?(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['7'][0]++,field.key):(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['7'][1]++,field);__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['20']++;value=!isUndef(fields_in[key])?(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['8'][0]++,fields_in[key]):(__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['8'][1]++,fields_in[j]);__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['21']++;result[key]=parse.call(this,value,field);}__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['22']++;results[i]=result;}}else{__cov_t9Zl0HGBv1_SMaP7xxdYRQ.b['6'][1]++;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['23']++;results=results_in;}__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['24']++;data_out.results=results;__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['25']++;return data_out;}};__cov_t9Zl0HGBv1_SMaP7xxdYRQ.s['26']++;Y.DataSchema.Text=Y.mix(SchemaText,Y.DataSchema.Base);},'3.13.0',{'requires':['dataschema-base']});
diff --git a/lib/yuilib/3.12.0/dataschema-text/dataschema-text-debug.js b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-text/dataschema-text-debug.js
rename to lib/yuilib/3.13.0/dataschema-text/dataschema-text-debug.js
index 3779fc0f791..8e32a659cb9
--- a/lib/yuilib/3.12.0/dataschema-text/dataschema-text-debug.js
+++ b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -93,7 +93,7 @@ var Lang = Y.Lang,
response = Y.DataSchema.Text.apply(schema, data);
// response.results[0] is { fruit: "BANANA", color: "yellow" }
-
+
@method apply
@param {Object} schema Schema to apply. Supported configuration
properties are:
@@ -187,4 +187,4 @@ var Lang = Y.Lang,
Y.DataSchema.Text = Y.mix(SchemaText, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-text/dataschema-text-min.js b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-min.js
old mode 100644
new mode 100755
similarity index 90%
rename from lib/yuilib/3.12.0/dataschema-text/dataschema-text-min.js
rename to lib/yuilib/3.13.0/dataschema-text/dataschema-text-min.js
index d0f9c32c17a..6c260fa04aa
--- a/lib/yuilib/3.12.0/dataschema-text/dataschema-text-min.js
+++ b/lib/yuilib/3.13.0/dataschema-text/dataschema-text-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("dataschema-text",function(e,t){var n=e.Lang,r=n.isString,i=n.isUndefined,s={apply:function(e,t){var n=t,i={results:[],meta:{}};return r(t)&&e&&r(e.resultDelimiter)?i=s._parseResults.call(this,e,n,i):i.error=new Error("Text schema parse failure"),i},_parseResults:function(t,n,s){var o=t.resultDelimiter,u=r(t.fieldDelimiter)&&t.fieldDelimiter,a=t.resultFields||[],f=[],l=e.DataSchema.Base.parse,c,h,p,d,v,m,g,y,b;n.slice(-o.length)===o&&(n=n.slice(0,-o.length)),c=n.split(t.resultDelimiter);if(u)for(y=c.length-1;y>=0;--y){p={},d=c[y],h=d.split(t.fieldDelimiter);for(b=a.length-1;b>=0;--b)v=a[b],m=i(v.key)?v:v.key,g=i(h[m])?h[b]:h[m],p[m]=l.call(this,g,v);f[y]=p}else f=c;return s.results=f,s}};e.DataSchema.Text=e.mix(s,e.DataSchema.Base)},"3.12.0",{requires:["dataschema-base"]});
+YUI.add("dataschema-text",function(e,t){var n=e.Lang,r=n.isString,i=n.isUndefined,s={apply:function(e,t){var n=t,i={results:[],meta:{}};return r(t)&&e&&r(e.resultDelimiter)?i=s._parseResults.call(this,e,n,i):i.error=new Error("Text schema parse failure"),i},_parseResults:function(t,n,s){var o=t.resultDelimiter,u=r(t.fieldDelimiter)&&t.fieldDelimiter,a=t.resultFields||[],f=[],l=e.DataSchema.Base.parse,c,h,p,d,v,m,g,y,b;n.slice(-o.length)===o&&(n=n.slice(0,-o.length)),c=n.split(t.resultDelimiter);if(u)for(y=c.length-1;y>=0;--y){p={},d=c[y],h=d.split(t.fieldDelimiter);for(b=a.length-1;b>=0;--b)v=a[b],m=i(v.key)?v:v.key,g=i(h[m])?h[b]:h[m],p[m]=l.call(this,g,v);f[y]=p}else f=c;return s.results=f,s}};e.DataSchema.Text=e.mix(s,e.DataSchema.Base)},"3.13.0",{requires:["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-text/dataschema-text.js b/lib/yuilib/3.13.0/dataschema-text/dataschema-text.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-text/dataschema-text.js
rename to lib/yuilib/3.13.0/dataschema-text/dataschema-text.js
index 998897746f2..4e0cb14dcfc
--- a/lib/yuilib/3.12.0/dataschema-text/dataschema-text.js
+++ b/lib/yuilib/3.13.0/dataschema-text/dataschema-text.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -93,7 +93,7 @@ var Lang = Y.Lang,
response = Y.DataSchema.Text.apply(schema, data);
// response.results[0] is { fruit: "BANANA", color: "yellow" }
-
+
@method apply
@param {Object} schema Schema to apply. Supported configuration
properties are:
@@ -186,4 +186,4 @@ var Lang = Y.Lang,
Y.DataSchema.Text = Y.mix(SchemaText, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-coverage.js b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-coverage.js
new file mode 100755
index 00000000000..7d96325fe76
--- /dev/null
+++ b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/dataschema-xml/dataschema-xml.js']) {
+ __coverage__['build/dataschema-xml/dataschema-xml.js'] = {"path":"build/dataschema-xml/dataschema-xml.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0,0],"4":[0,0],"5":[0,0,0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"(anonymous_2)","line":116,"loc":{"start":{"line":116,"column":11},"end":{"line":116,"column":34}}},"3":{"name":"(anonymous_3)","line":143,"loc":{"start":{"line":143,"column":23},"end":{"line":143,"column":48}}},"4":{"name":"(anonymous_4)","line":180,"loc":{"start":{"line":180,"column":21},"end":{"line":180,"column":56}}},"5":{"name":"(anonymous_5)","line":254,"loc":{"start":{"line":254,"column":29},"end":{"line":254,"column":40}}},"6":{"name":"(anonymous_6)","line":276,"loc":{"start":{"line":276,"column":17},"end":{"line":276,"column":50}}},"7":{"name":"(anonymous_7)","line":300,"loc":{"start":{"line":300,"column":16},"end":{"line":300,"column":58}}},"8":{"name":"(anonymous_8)","line":324,"loc":{"start":{"line":324,"column":18},"end":{"line":324,"column":44}}},"9":{"name":"(anonymous_9)","line":346,"loc":{"start":{"line":346,"column":19},"end":{"line":346,"column":55}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":383,"column":48}},"2":{"start":{"line":19,"column":0},"end":{"line":27,"column":14}},"3":{"start":{"line":29,"column":0},"end":{"line":378,"column":2}},"4":{"start":{"line":117,"column":8},"end":{"line":118,"column":49}},"5":{"start":{"line":120,"column":8},"end":{"line":128,"column":9}},"6":{"start":{"line":122,"column":12},"end":{"line":122,"column":73}},"7":{"start":{"line":125,"column":12},"end":{"line":125,"column":81}},"8":{"start":{"line":127,"column":12},"end":{"line":127,"column":67}},"9":{"start":{"line":130,"column":8},"end":{"line":130,"column":24}},"10":{"start":{"line":144,"column":8},"end":{"line":146,"column":38}},"11":{"start":{"line":148,"column":8},"end":{"line":163,"column":9}},"12":{"start":{"line":149,"column":12},"end":{"line":149,"column":73}},"13":{"start":{"line":150,"column":12},"end":{"line":152,"column":13}},"14":{"start":{"line":151,"column":16},"end":{"line":151,"column":107}},"15":{"start":{"line":161,"column":12},"end":{"line":161,"column":68}},"16":{"start":{"line":165,"column":8},"end":{"line":165,"column":20}},"17":{"start":{"line":182,"column":8},"end":{"line":263,"column":9}},"18":{"start":{"line":183,"column":12},"end":{"line":183,"column":176}},"19":{"start":{"line":188,"column":12},"end":{"line":188,"column":122}},"20":{"start":{"line":191,"column":12},"end":{"line":248,"column":13}},"21":{"start":{"line":193,"column":16},"end":{"line":195,"column":30}},"22":{"start":{"line":194,"column":19},"end":{"line":194,"column":68}},"23":{"start":{"line":197,"column":16},"end":{"line":197,"column":54}},"24":{"start":{"line":202,"column":16},"end":{"line":232,"column":17}},"25":{"start":{"line":203,"column":20},"end":{"line":203,"column":47}},"26":{"start":{"line":206,"column":20},"end":{"line":231,"column":21}},"27":{"start":{"line":207,"column":24},"end":{"line":207,"column":96}},"28":{"start":{"line":209,"column":24},"end":{"line":209,"column":33}},"29":{"start":{"line":210,"column":24},"end":{"line":210,"column":59}},"30":{"start":{"line":211,"column":24},"end":{"line":211,"column":37}},"31":{"start":{"line":214,"column":25},"end":{"line":231,"column":21}},"32":{"start":{"line":215,"column":24},"end":{"line":215,"column":72}},"33":{"start":{"line":216,"column":24},"end":{"line":216,"column":99}},"34":{"start":{"line":219,"column":25},"end":{"line":231,"column":21}},"35":{"start":{"line":220,"column":24},"end":{"line":220,"column":82}},"36":{"start":{"line":221,"column":24},"end":{"line":221,"column":83}},"37":{"start":{"line":224,"column":25},"end":{"line":231,"column":21}},"38":{"start":{"line":225,"column":24},"end":{"line":230,"column":25}},"39":{"start":{"line":226,"column":28},"end":{"line":229,"column":29}},"40":{"start":{"line":227,"column":32},"end":{"line":227,"column":64}},"41":{"start":{"line":228,"column":32},"end":{"line":228,"column":39}},"42":{"start":{"line":234,"column":16},"end":{"line":247,"column":17}},"43":{"start":{"line":236,"column":20},"end":{"line":246,"column":21}},"44":{"start":{"line":237,"column":24},"end":{"line":237,"column":53}},"45":{"start":{"line":240,"column":25},"end":{"line":246,"column":21}},"46":{"start":{"line":241,"column":24},"end":{"line":241,"column":63}},"47":{"start":{"line":245,"column":24},"end":{"line":245,"column":70}},"48":{"start":{"line":251,"column":12},"end":{"line":262,"column":14}},"49":{"start":{"line":255,"column":20},"end":{"line":255,"column":77}},"50":{"start":{"line":255,"column":59},"end":{"line":255,"column":76}},"51":{"start":{"line":256,"column":20},"end":{"line":256,"column":57}},"52":{"start":{"line":257,"column":20},"end":{"line":257,"column":36}},"53":{"start":{"line":258,"column":20},"end":{"line":258,"column":34}},"54":{"start":{"line":277,"column":8},"end":{"line":278,"column":19}},"55":{"start":{"line":280,"column":8},"end":{"line":287,"column":9}},"56":{"start":{"line":281,"column":12},"end":{"line":281,"column":47}},"57":{"start":{"line":282,"column":12},"end":{"line":282,"column":76}},"58":{"start":{"line":284,"column":12},"end":{"line":284,"column":41}},"59":{"start":{"line":286,"column":12},"end":{"line":286,"column":70}},"60":{"start":{"line":301,"column":8},"end":{"line":310,"column":9}},"61":{"start":{"line":302,"column":12},"end":{"line":303,"column":62}},"62":{"start":{"line":305,"column":12},"end":{"line":309,"column":13}},"63":{"start":{"line":306,"column":16},"end":{"line":308,"column":17}},"64":{"start":{"line":307,"column":20},"end":{"line":307,"column":94}},"65":{"start":{"line":311,"column":8},"end":{"line":311,"column":24}},"66":{"start":{"line":325,"column":8},"end":{"line":325,"column":27}},"67":{"start":{"line":328,"column":8},"end":{"line":330,"column":9}},"68":{"start":{"line":329,"column":12},"end":{"line":329,"column":62}},"69":{"start":{"line":332,"column":8},"end":{"line":332,"column":22}},"70":{"start":{"line":347,"column":8},"end":{"line":375,"column":9}},"71":{"start":{"line":348,"column":12},"end":{"line":351,"column":36}},"72":{"start":{"line":353,"column":12},"end":{"line":368,"column":13}},"73":{"start":{"line":354,"column":16},"end":{"line":354,"column":82}},"74":{"start":{"line":357,"column":16},"end":{"line":359,"column":17}},"75":{"start":{"line":358,"column":20},"end":{"line":358,"column":77}},"76":{"start":{"line":361,"column":16},"end":{"line":361,"column":96}},"77":{"start":{"line":364,"column":16},"end":{"line":367,"column":17}},"78":{"start":{"line":365,"column":20},"end":{"line":365,"column":70}},"79":{"start":{"line":366,"column":20},"end":{"line":366,"column":27}},"80":{"start":{"line":370,"column":12},"end":{"line":374,"column":13}},"81":{"start":{"line":371,"column":16},"end":{"line":371,"column":43}},"82":{"start":{"line":373,"column":16},"end":{"line":373,"column":88}},"83":{"start":{"line":376,"column":8},"end":{"line":376,"column":24}},"84":{"start":{"line":380,"column":0},"end":{"line":380,"column":55}}},"branchMap":{"1":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":120,"column":8}},{"start":{"line":120,"column":8},"end":{"line":120,"column":8}}]},"2":{"line":120,"type":"binary-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":18}},{"start":{"line":120,"column":22},"end":{"line":120,"column":49}},{"start":{"line":120,"column":53},"end":{"line":120,"column":59}}]},"3":{"line":144,"type":"binary-expr","locations":[{"start":{"line":144,"column":22},"end":{"line":144,"column":35}},{"start":{"line":144,"column":39},"end":{"line":144,"column":48}},{"start":{"line":144,"column":52},"end":{"line":144,"column":57}}]},"4":{"line":145,"type":"binary-expr","locations":[{"start":{"line":145,"column":21},"end":{"line":145,"column":42}},{"start":{"line":145,"column":46},"end":{"line":145,"column":53}}]},"5":{"line":151,"type":"binary-expr","locations":[{"start":{"line":151,"column":24},"end":{"line":151,"column":39}},{"start":{"line":151,"column":43},"end":{"line":151,"column":52}},{"start":{"line":151,"column":56},"end":{"line":151,"column":64}},{"start":{"line":151,"column":68},"end":{"line":151,"column":81}},{"start":{"line":151,"column":85},"end":{"line":151,"column":98}},{"start":{"line":151,"column":102},"end":{"line":151,"column":106}}]},"6":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":8},"end":{"line":182,"column":8}},{"start":{"line":182,"column":8},"end":{"line":182,"column":8}}]},"7":{"line":183,"type":"cond-expr","locations":[{"start":{"line":183,"column":101},"end":{"line":183,"column":138}},{"start":{"line":183,"column":141},"end":{"line":183,"column":164}}]},"8":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":23},"end":{"line":202,"column":26}},{"start":{"line":202,"column":30},"end":{"line":202,"column":37}}]},"9":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":20},"end":{"line":206,"column":20}},{"start":{"line":206,"column":20},"end":{"line":206,"column":20}}]},"10":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":25},"end":{"line":206,"column":51}},{"start":{"line":206,"column":57},"end":{"line":206,"column":83}}]},"11":{"line":214,"type":"if","locations":[{"start":{"line":214,"column":25},"end":{"line":214,"column":25}},{"start":{"line":214,"column":25},"end":{"line":214,"column":25}}]},"12":{"line":216,"type":"cond-expr","locations":[{"start":{"line":216,"column":43},"end":{"line":216,"column":88}},{"start":{"line":216,"column":91},"end":{"line":216,"column":98}}]},"13":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":25},"end":{"line":219,"column":25}},{"start":{"line":219,"column":25},"end":{"line":219,"column":25}}]},"14":{"line":221,"type":"cond-expr","locations":[{"start":{"line":221,"column":50},"end":{"line":221,"column":75}},{"start":{"line":221,"column":78},"end":{"line":221,"column":82}}]},"15":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":25},"end":{"line":224,"column":25}},{"start":{"line":224,"column":25},"end":{"line":224,"column":25}}]},"16":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":28},"end":{"line":226,"column":28}},{"start":{"line":226,"column":28},"end":{"line":226,"column":28}}]},"17":{"line":234,"type":"if","locations":[{"start":{"line":234,"column":16},"end":{"line":234,"column":16}},{"start":{"line":234,"column":16},"end":{"line":234,"column":16}}]},"18":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":20},"end":{"line":236,"column":20}},{"start":{"line":236,"column":20},"end":{"line":236,"column":20}}]},"19":{"line":240,"type":"if","locations":[{"start":{"line":240,"column":25},"end":{"line":240,"column":25}},{"start":{"line":240,"column":25},"end":{"line":240,"column":25}}]},"20":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":20},"end":{"line":255,"column":20}},{"start":{"line":255,"column":20},"end":{"line":255,"column":20}}]},"21":{"line":277,"type":"binary-expr","locations":[{"start":{"line":277,"column":18},"end":{"line":277,"column":27}},{"start":{"line":277,"column":31},"end":{"line":277,"column":36}}]},"22":{"line":280,"type":"if","locations":[{"start":{"line":280,"column":8},"end":{"line":280,"column":8}},{"start":{"line":280,"column":8},"end":{"line":280,"column":8}}]},"23":{"line":301,"type":"if","locations":[{"start":{"line":301,"column":8},"end":{"line":301,"column":8}},{"start":{"line":301,"column":8},"end":{"line":301,"column":8}}]},"24":{"line":303,"type":"binary-expr","locations":[{"start":{"line":303,"column":25},"end":{"line":303,"column":48}},{"start":{"line":303,"column":52},"end":{"line":303,"column":61}}]},"25":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":16},"end":{"line":306,"column":16}},{"start":{"line":306,"column":16},"end":{"line":306,"column":16}}]},"26":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":8},"end":{"line":347,"column":8}},{"start":{"line":347,"column":8},"end":{"line":347,"column":8}}]},"27":{"line":347,"type":"binary-expr","locations":[{"start":{"line":347,"column":12},"end":{"line":347,"column":36}},{"start":{"line":347,"column":40},"end":{"line":347,"column":73}}]},"28":{"line":348,"type":"binary-expr","locations":[{"start":{"line":348,"column":25},"end":{"line":348,"column":46}},{"start":{"line":348,"column":50},"end":{"line":348,"column":57}}]},"29":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":12}},{"start":{"line":353,"column":12},"end":{"line":353,"column":12}}]},"30":{"line":370,"type":"if","locations":[{"start":{"line":370,"column":12},"end":{"line":370,"column":12}},{"start":{"line":370,"column":12},"end":{"line":370,"column":12}}]}},"code":["(function () { YUI.add('dataschema-xml', function (Y, NAME) {","","/**","Provides a DataSchema implementation which can be used to work with XML data.","","@module dataschema","@submodule dataschema-xml","**/","","/**","Provides a DataSchema implementation which can be used to work with XML data.","","See the `apply` method for usage.","","@class DataSchema.XML","@extends DataSchema.Base","@static","**/","var Lang = Y.Lang,",""," okNodeType = {"," 1 : true,"," 9 : true,"," 11: true"," },",""," SchemaXML;","","SchemaXML = {",""," ////////////////////////////////////////////////////////////////////////////"," //"," // DataSchema.XML static methods"," //"," ////////////////////////////////////////////////////////////////////////////"," /**"," Applies a schema to an XML data tree, returning a normalized object with"," results in the `results` property. Additional information can be parsed out"," of the XML for inclusion in the `meta` property of the response object. If"," an error is encountered during processing, an `error` property will be"," added.",""," Field data in the nodes captured by the XPath in _schema.resultListLocator_"," is extracted with the field identifiers described in _schema.resultFields_."," Field identifiers are objects with the following properties:",""," * `key` : (required) The desired property name to use"," store the retrieved value in the result object. If `locator` is"," not specified, `key` is also used as the XPath locator (String)"," * `locator`: The XPath locator to the node or attribute within each"," result node found by _schema.resultListLocator_ containing the"," desired field data (String)"," * `parser` : A function or the name of a function on `Y.Parsers` used"," to convert the input value into a normalized type. Parser"," functions are passed the value as input and are expected to"," return a value."," * `schema` : Used to retrieve nested field data into an array for"," assignment as the result field value. This object follows the same"," conventions as _schema_.",""," If no value parsing or nested parsing is needed, you can use XPath locators"," (strings) instead of field identifiers (objects) -- see example below.",""," `response.results` will contain an array of objects with key:value pairs."," The keys are the field identifier `key`s, and the values are the data"," values extracted from the nodes or attributes found by the field `locator`"," (or `key` fallback).",""," To extract additional information from the XML, include an array of"," XPath locators in _schema.metaFields_. The collected values will be"," stored in `response.meta` with the XPath locator as keys.",""," @example"," var schema = {"," resultListLocator: '//produce/item',"," resultFields: ["," {"," locator: 'name',"," key: 'name'"," },"," {"," locator: 'color',"," key: 'color',"," parser: function (val) { return val.toUpperCase(); }"," }"," ]"," };",""," // Assumes data like"," // "," // "," // Bananayellow"," // Orangeorange"," // Eggplantpurple"," // "," // ",""," var response = Y.DataSchema.JSON.apply(schema, data);",""," // response.results[0] is { name: \"Banana\", color: \"YELLOW\" }",""," @method apply"," @param {Object} schema Schema to apply. Supported configuration"," properties are:"," @param {String} [schema.resultListLocator] XPath locator for the"," XML nodes that contain the data to flatten into `response.results`"," @param {Array} [schema.resultFields] Field identifiers to"," locate/assign values in the response records. See above for"," details."," @param {Array} [schema.metaFields] XPath locators to extract extra"," non-record related information from the XML data"," @param {XMLDoc} data XML data to parse"," @return {Object} An Object with properties `results` and `meta`"," @static"," **/"," apply: function(schema, data) {"," var xmldoc = data, // unnecessary variables"," data_out = { results: [], meta: {} };",""," if (xmldoc && okNodeType[xmldoc.nodeType] && schema) {"," // Parse results data"," data_out = SchemaXML._parseResults(schema, xmldoc, data_out);",""," // Parse meta data"," data_out = SchemaXML._parseMeta(schema.metaFields, xmldoc, data_out);"," } else {"," data_out.error = new Error(\"XML schema parse failure\");"," }",""," return data_out;"," },",""," /**"," * Get an XPath-specified value for a given field from an XML node or document."," *"," * @method _getLocationValue"," * @param field {String | Object} Field definition."," * @param context {Object} XML node or document to search within."," * @return {Object} Data value or null."," * @static"," * @protected"," */"," _getLocationValue: function(field, context) {"," var locator = field.locator || field.key || field,"," xmldoc = context.ownerDocument || context,"," result, res, value = null;",""," try {"," result = SchemaXML._getXPathResult(locator, context, xmldoc);"," while ((res = result.iterateNext())) {"," value = res.textContent || res.value || res.text || res.innerHTML || res.innerText || null;"," }",""," // FIXME: Why defer to a method that is mixed into this object?"," // DSchema.Base is mixed into DSchema.XML (et al), so"," // DSchema.XML.parse(...) will work. This supports the use case"," // where DSchema.Base.parse is changed, and that change is then"," // seen by all DSchema.* implementations, but does not support the"," // case where redefining DSchema.XML.parse changes behavior. In"," // fact, DSchema.XML.parse is never even called."," return Y.DataSchema.Base.parse.call(this, value, field);"," } catch (e) {"," }",""," return null;"," },",""," /**"," * Fetches the XPath-specified result for a given location in an XML node"," * or document."," *"," * @method _getXPathResult"," * @param locator {String} The XPath location."," * @param context {Object} XML node or document to search within."," * @param xmldoc {Object} XML document to resolve namespace."," * @return {Object} Data collection or null."," * @static"," * @protected"," */"," _getXPathResult: function(locator, context, xmldoc) {"," // Standards mode"," if (! Lang.isUndefined(xmldoc.evaluate)) {"," return xmldoc.evaluate(locator, context, xmldoc.createNSResolver(context.ownerDocument ? context.ownerDocument.documentElement : context.documentElement), 0, null);",""," }"," // IE mode"," else {"," var values=[], locatorArray = locator.split(/\\b\\/\\b/), i=0, l=locatorArray.length, location, subloc, m, isNth;",""," // XPath is supported"," try {"," // this fixes the IE 5.5+ issue where childnode selectors begin at 0 instead of 1"," try {"," xmldoc.setProperty(\"SelectionLanguage\", \"XPath\");"," } catch (e) {}",""," values = context.selectNodes(locator);"," }"," // Fallback for DOM nodes and fragments"," catch (e) {"," // Iterate over each locator piece"," for (; i -1) && (location.indexOf(\"]\") > -1)) {"," subloc = location.slice(location.indexOf(\"[\")+1, location.indexOf(\"]\"));"," //XPath is 1-based while DOM is 0-based"," subloc--;"," context = context.children[subloc];"," isNth = true;"," }"," // grab attribute value @"," else if (location.indexOf(\"@\") > -1) {"," subloc = location.substr(location.indexOf(\"@\"));"," context = subloc ? context.getAttribute(subloc.replace('@', '')) : context;"," }"," // grab that last instance of tagName"," else if (-1 < location.indexOf(\"//\")) {"," subloc = context.getElementsByTagName(location.substr(2));"," context = subloc.length ? subloc[subloc.length - 1] : null;"," }"," // find the last matching location in children"," else if (l != i + 1) {"," for (m=context.childNodes.length-1; 0 <= m; m-=1) {"," if (location === context.childNodes[m].tagName) {"," context = context.childNodes[m];"," m = -1;"," }"," }"," }"," }",""," if (context) {"," // attribute"," if (Lang.isString(context)) {"," values[0] = {value: context};"," }"," // nth child"," else if (isNth) {"," values[0] = {value: context.innerHTML};"," }"," // all children"," else {"," values = Y.Array(context.childNodes, 0, true);"," }"," }"," }",""," // returning a mock-standard object for IE"," return {"," index: 0,",""," iterateNext: function() {"," if (this.index >= this.values.length) {return undefined;}"," var result = this.values[this.index];"," this.index += 1;"," return result;"," },",""," values: values"," };"," }"," },",""," /**"," * Schema-parsed result field."," *"," * @method _parseField"," * @param field {String | Object} Required. Field definition."," * @param result {Object} Required. Schema parsed data object."," * @param context {Object} Required. XML node or document to search within."," * @static"," * @protected"," */"," _parseField: function(field, result, context) {"," var key = field.key || field,"," parsed;",""," if (field.schema) {"," parsed = { results: [], meta: {} };"," parsed = SchemaXML._parseResults(field.schema, context, parsed);",""," result[key] = parsed.results;"," } else {"," result[key] = SchemaXML._getLocationValue(field, context);"," }"," },",""," /**"," * Parses results data according to schema"," *"," * @method _parseMeta"," * @param xmldoc_in {Object} XML document parse."," * @param data_out {Object} In-progress schema-parsed data to update."," * @return {Object} Schema-parsed data."," * @static"," * @protected"," */"," _parseMeta: function(metaFields, xmldoc_in, data_out) {"," if(Lang.isObject(metaFields)) {"," var key,"," xmldoc = xmldoc_in.ownerDocument || xmldoc_in;",""," for(key in metaFields) {"," if (metaFields.hasOwnProperty(key)) {"," data_out.meta[key] = SchemaXML._getLocationValue(metaFields[key], xmldoc);"," }"," }"," }"," return data_out;"," },",""," /**"," * Schema-parsed result to add to results list."," *"," * @method _parseResult"," * @param fields {Array} Required. A collection of field definition."," * @param context {Object} Required. XML node or document to search within."," * @return {Object} Schema-parsed data."," * @static"," * @protected"," */"," _parseResult: function(fields, context) {"," var result = {}, j;",""," // Find each field value"," for (j=fields.length-1; 0 <= j; j--) {"," SchemaXML._parseField(fields[j], result, context);"," }",""," return result;"," },",""," /**"," * Schema-parsed list of results from full data"," *"," * @method _parseResults"," * @param schema {Object} Schema to parse against."," * @param context {Object} XML node or document to parse."," * @param data_out {Object} In-progress schema-parsed data to update."," * @return {Object} Schema-parsed data."," * @static"," * @protected"," */"," _parseResults: function(schema, context, data_out) {"," if (schema.resultListLocator && Lang.isArray(schema.resultFields)) {"," var xmldoc = context.ownerDocument || context,"," fields = schema.resultFields,"," results = [],"," node, nodeList, i=0;",""," if (schema.resultListLocator.match(/^[:\\-\\w]+$/)) {"," nodeList = context.getElementsByTagName(schema.resultListLocator);",""," // loop through each result node"," for (i = nodeList.length - 1; i >= 0; --i) {"," results[i] = SchemaXML._parseResult(fields, nodeList[i]);"," }"," } else {"," nodeList = SchemaXML._getXPathResult(schema.resultListLocator, context, xmldoc);",""," // loop through the nodelist"," while ((node = nodeList.iterateNext())) {"," results[i] = SchemaXML._parseResult(fields, node);"," i += 1;"," }"," }",""," if (results.length) {"," data_out.results = results;"," } else {"," data_out.error = new Error(\"XML schema result nodes retrieval failure\");"," }"," }"," return data_out;"," }","};","","Y.DataSchema.XML = Y.mix(SchemaXML, Y.DataSchema.Base);","","","}, '3.13.0', {\"requires\": [\"dataschema-base\"]});","","}());"]};
+}
+var __cov_Ot5UvIBjmGYbilejedAlAw = __coverage__['build/dataschema-xml/dataschema-xml.js'];
+__cov_Ot5UvIBjmGYbilejedAlAw.s['1']++;YUI.add('dataschema-xml',function(Y,NAME){__cov_Ot5UvIBjmGYbilejedAlAw.f['1']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['2']++;var Lang=Y.Lang,okNodeType={1:true,9:true,11:true},SchemaXML;__cov_Ot5UvIBjmGYbilejedAlAw.s['3']++;SchemaXML={apply:function(schema,data){__cov_Ot5UvIBjmGYbilejedAlAw.f['2']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['4']++;var xmldoc=data,data_out={results:[],meta:{}};__cov_Ot5UvIBjmGYbilejedAlAw.s['5']++;if((__cov_Ot5UvIBjmGYbilejedAlAw.b['2'][0]++,xmldoc)&&(__cov_Ot5UvIBjmGYbilejedAlAw.b['2'][1]++,okNodeType[xmldoc.nodeType])&&(__cov_Ot5UvIBjmGYbilejedAlAw.b['2'][2]++,schema)){__cov_Ot5UvIBjmGYbilejedAlAw.b['1'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['6']++;data_out=SchemaXML._parseResults(schema,xmldoc,data_out);__cov_Ot5UvIBjmGYbilejedAlAw.s['7']++;data_out=SchemaXML._parseMeta(schema.metaFields,xmldoc,data_out);}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['1'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['8']++;data_out.error=new Error('XML schema parse failure');}__cov_Ot5UvIBjmGYbilejedAlAw.s['9']++;return data_out;},_getLocationValue:function(field,context){__cov_Ot5UvIBjmGYbilejedAlAw.f['3']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['10']++;var locator=(__cov_Ot5UvIBjmGYbilejedAlAw.b['3'][0]++,field.locator)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['3'][1]++,field.key)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['3'][2]++,field),xmldoc=(__cov_Ot5UvIBjmGYbilejedAlAw.b['4'][0]++,context.ownerDocument)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['4'][1]++,context),result,res,value=null;__cov_Ot5UvIBjmGYbilejedAlAw.s['11']++;try{__cov_Ot5UvIBjmGYbilejedAlAw.s['12']++;result=SchemaXML._getXPathResult(locator,context,xmldoc);__cov_Ot5UvIBjmGYbilejedAlAw.s['13']++;while(res=result.iterateNext()){__cov_Ot5UvIBjmGYbilejedAlAw.s['14']++;value=(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][0]++,res.textContent)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][1]++,res.value)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][2]++,res.text)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][3]++,res.innerHTML)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][4]++,res.innerText)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['5'][5]++,null);}__cov_Ot5UvIBjmGYbilejedAlAw.s['15']++;return Y.DataSchema.Base.parse.call(this,value,field);}catch(e){}__cov_Ot5UvIBjmGYbilejedAlAw.s['16']++;return null;},_getXPathResult:function(locator,context,xmldoc){__cov_Ot5UvIBjmGYbilejedAlAw.f['4']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['17']++;if(!Lang.isUndefined(xmldoc.evaluate)){__cov_Ot5UvIBjmGYbilejedAlAw.b['6'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['18']++;return xmldoc.evaluate(locator,context,xmldoc.createNSResolver(context.ownerDocument?(__cov_Ot5UvIBjmGYbilejedAlAw.b['7'][0]++,context.ownerDocument.documentElement):(__cov_Ot5UvIBjmGYbilejedAlAw.b['7'][1]++,context.documentElement)),0,null);}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['6'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['19']++;var values=[],locatorArray=locator.split(/\b\/\b/),i=0,l=locatorArray.length,location,subloc,m,isNth;__cov_Ot5UvIBjmGYbilejedAlAw.s['20']++;try{__cov_Ot5UvIBjmGYbilejedAlAw.s['21']++;try{__cov_Ot5UvIBjmGYbilejedAlAw.s['22']++;xmldoc.setProperty('SelectionLanguage','XPath');}catch(e){}__cov_Ot5UvIBjmGYbilejedAlAw.s['23']++;values=context.selectNodes(locator);}catch(e){__cov_Ot5UvIBjmGYbilejedAlAw.s['24']++;for(;(__cov_Ot5UvIBjmGYbilejedAlAw.b['8'][0]++,i-1)&&(__cov_Ot5UvIBjmGYbilejedAlAw.b['10'][1]++,location.indexOf(']')>-1)){__cov_Ot5UvIBjmGYbilejedAlAw.b['9'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['27']++;subloc=location.slice(location.indexOf('[')+1,location.indexOf(']'));__cov_Ot5UvIBjmGYbilejedAlAw.s['28']++;subloc--;__cov_Ot5UvIBjmGYbilejedAlAw.s['29']++;context=context.children[subloc];__cov_Ot5UvIBjmGYbilejedAlAw.s['30']++;isNth=true;}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['9'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['31']++;if(location.indexOf('@')>-1){__cov_Ot5UvIBjmGYbilejedAlAw.b['11'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['32']++;subloc=location.substr(location.indexOf('@'));__cov_Ot5UvIBjmGYbilejedAlAw.s['33']++;context=subloc?(__cov_Ot5UvIBjmGYbilejedAlAw.b['12'][0]++,context.getAttribute(subloc.replace('@',''))):(__cov_Ot5UvIBjmGYbilejedAlAw.b['12'][1]++,context);}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['11'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['34']++;if(-1=this.values.length){__cov_Ot5UvIBjmGYbilejedAlAw.b['20'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['50']++;return undefined;}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['20'][1]++;}__cov_Ot5UvIBjmGYbilejedAlAw.s['51']++;var result=this.values[this.index];__cov_Ot5UvIBjmGYbilejedAlAw.s['52']++;this.index+=1;__cov_Ot5UvIBjmGYbilejedAlAw.s['53']++;return result;},values:values};}},_parseField:function(field,result,context){__cov_Ot5UvIBjmGYbilejedAlAw.f['6']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['54']++;var key=(__cov_Ot5UvIBjmGYbilejedAlAw.b['21'][0]++,field.key)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['21'][1]++,field),parsed;__cov_Ot5UvIBjmGYbilejedAlAw.s['55']++;if(field.schema){__cov_Ot5UvIBjmGYbilejedAlAw.b['22'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['56']++;parsed={results:[],meta:{}};__cov_Ot5UvIBjmGYbilejedAlAw.s['57']++;parsed=SchemaXML._parseResults(field.schema,context,parsed);__cov_Ot5UvIBjmGYbilejedAlAw.s['58']++;result[key]=parsed.results;}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['22'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['59']++;result[key]=SchemaXML._getLocationValue(field,context);}},_parseMeta:function(metaFields,xmldoc_in,data_out){__cov_Ot5UvIBjmGYbilejedAlAw.f['7']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['60']++;if(Lang.isObject(metaFields)){__cov_Ot5UvIBjmGYbilejedAlAw.b['23'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['61']++;var key,xmldoc=(__cov_Ot5UvIBjmGYbilejedAlAw.b['24'][0]++,xmldoc_in.ownerDocument)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['24'][1]++,xmldoc_in);__cov_Ot5UvIBjmGYbilejedAlAw.s['62']++;for(key in metaFields){__cov_Ot5UvIBjmGYbilejedAlAw.s['63']++;if(metaFields.hasOwnProperty(key)){__cov_Ot5UvIBjmGYbilejedAlAw.b['25'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['64']++;data_out.meta[key]=SchemaXML._getLocationValue(metaFields[key],xmldoc);}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['25'][1]++;}}}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['23'][1]++;}__cov_Ot5UvIBjmGYbilejedAlAw.s['65']++;return data_out;},_parseResult:function(fields,context){__cov_Ot5UvIBjmGYbilejedAlAw.f['8']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['66']++;var result={},j;__cov_Ot5UvIBjmGYbilejedAlAw.s['67']++;for(j=fields.length-1;0<=j;j--){__cov_Ot5UvIBjmGYbilejedAlAw.s['68']++;SchemaXML._parseField(fields[j],result,context);}__cov_Ot5UvIBjmGYbilejedAlAw.s['69']++;return result;},_parseResults:function(schema,context,data_out){__cov_Ot5UvIBjmGYbilejedAlAw.f['9']++;__cov_Ot5UvIBjmGYbilejedAlAw.s['70']++;if((__cov_Ot5UvIBjmGYbilejedAlAw.b['27'][0]++,schema.resultListLocator)&&(__cov_Ot5UvIBjmGYbilejedAlAw.b['27'][1]++,Lang.isArray(schema.resultFields))){__cov_Ot5UvIBjmGYbilejedAlAw.b['26'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['71']++;var xmldoc=(__cov_Ot5UvIBjmGYbilejedAlAw.b['28'][0]++,context.ownerDocument)||(__cov_Ot5UvIBjmGYbilejedAlAw.b['28'][1]++,context),fields=schema.resultFields,results=[],node,nodeList,i=0;__cov_Ot5UvIBjmGYbilejedAlAw.s['72']++;if(schema.resultListLocator.match(/^[:\-\w]+$/)){__cov_Ot5UvIBjmGYbilejedAlAw.b['29'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['73']++;nodeList=context.getElementsByTagName(schema.resultListLocator);__cov_Ot5UvIBjmGYbilejedAlAw.s['74']++;for(i=nodeList.length-1;i>=0;--i){__cov_Ot5UvIBjmGYbilejedAlAw.s['75']++;results[i]=SchemaXML._parseResult(fields,nodeList[i]);}}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['29'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['76']++;nodeList=SchemaXML._getXPathResult(schema.resultListLocator,context,xmldoc);__cov_Ot5UvIBjmGYbilejedAlAw.s['77']++;while(node=nodeList.iterateNext()){__cov_Ot5UvIBjmGYbilejedAlAw.s['78']++;results[i]=SchemaXML._parseResult(fields,node);__cov_Ot5UvIBjmGYbilejedAlAw.s['79']++;i+=1;}}__cov_Ot5UvIBjmGYbilejedAlAw.s['80']++;if(results.length){__cov_Ot5UvIBjmGYbilejedAlAw.b['30'][0]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['81']++;data_out.results=results;}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['30'][1]++;__cov_Ot5UvIBjmGYbilejedAlAw.s['82']++;data_out.error=new Error('XML schema result nodes retrieval failure');}}else{__cov_Ot5UvIBjmGYbilejedAlAw.b['26'][1]++;}__cov_Ot5UvIBjmGYbilejedAlAw.s['83']++;return data_out;}};__cov_Ot5UvIBjmGYbilejedAlAw.s['84']++;Y.DataSchema.XML=Y.mix(SchemaXML,Y.DataSchema.Base);},'3.13.0',{'requires':['dataschema-base']});
diff --git a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-debug.js b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-debug.js
rename to lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-debug.js
index 61654474194..d6806bab3f1
--- a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-debug.js
+++ b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -72,7 +72,7 @@ SchemaXML = {
The keys are the field identifier `key`s, and the values are the data
values extracted from the nodes or attributes found by the field `locator`
(or `key` fallback).
-
+
To extract additional information from the XML, include an array of
XPath locators in _schema.metaFields_. The collected values will be
stored in `response.meta` with the XPath locator as keys.
@@ -105,7 +105,7 @@ SchemaXML = {
var response = Y.DataSchema.JSON.apply(schema, data);
// response.results[0] is { name: "Banana", color: "YELLOW" }
-
+
@method apply
@param {Object} schema Schema to apply. Supported configuration
properties are:
@@ -177,7 +177,7 @@ SchemaXML = {
/**
* Fetches the XPath-specified result for a given location in an XML node
* or document.
- *
+ *
* @method _getXPathResult
* @param locator {String} The XPath location.
* @param context {Object} XML node or document to search within.
@@ -190,19 +190,19 @@ SchemaXML = {
// Standards mode
if (! Lang.isUndefined(xmldoc.evaluate)) {
return xmldoc.evaluate(locator, context, xmldoc.createNSResolver(context.ownerDocument ? context.ownerDocument.documentElement : context.documentElement), 0, null);
-
+
}
// IE mode
else {
var values=[], locatorArray = locator.split(/\b\/\b/), i=0, l=locatorArray.length, location, subloc, m, isNth;
-
+
// XPath is supported
try {
// this fixes the IE 5.5+ issue where childnode selectors begin at 0 instead of 1
try {
xmldoc.setProperty("SelectionLanguage", "XPath");
} catch (e) {}
-
+
values = context.selectNodes(locator);
}
// Fallback for DOM nodes and fragments
@@ -239,7 +239,7 @@ SchemaXML = {
}
}
}
-
+
if (context) {
// attribute
if (Lang.isString(context)) {
@@ -259,7 +259,7 @@ SchemaXML = {
// returning a mock-standard object for IE
return {
index: 0,
-
+
iterateNext: function() {
if (this.index >= this.values.length) {return undefined;}
var result = this.values[this.index];
@@ -361,7 +361,7 @@ SchemaXML = {
if (schema.resultListLocator.match(/^[:\-\w]+$/)) {
nodeList = context.getElementsByTagName(schema.resultListLocator);
-
+
// loop through each result node
for (i = nodeList.length - 1; i >= 0; --i) {
results[i] = SchemaXML._parseResult(fields, nodeList[i]);
@@ -389,4 +389,4 @@ SchemaXML = {
Y.DataSchema.XML = Y.mix(SchemaXML, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-min.js b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-min.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-min.js
rename to lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-min.js
index 650bba6b041..40ca59df96b
--- a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml-min.js
+++ b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("dataschema-xml",function(e,t){var n=e.Lang,r={1:!0,9:!0,11:!0},i;i={apply:function(e,t){var n=t,s={results:[],meta:{}};return n&&r[n.nodeType]&&e?(s=i._parseResults(e,n,s),s=i._parseMeta(e.metaFields,n,s)):s.error=new Error("XML schema parse failure"),s},_getLocationValue:function(t,n){var r=t.locator||t.key||t,s=n.ownerDocument||n,o,u,a=null;try{o=i._getXPathResult(r,n,s);while(u=o.iterateNext())a=u.textContent||u.value||u.text||u.innerHTML||u.innerText||null;return e.DataSchema.Base.parse.call(this,a,t)}catch(f){}return null},_getXPathResult:function(t,r,i){if(!n.isUndefined(i.evaluate))return i.evaluate(t,r,i.createNSResolver(r.ownerDocument?r.ownerDocument.documentElement:r.documentElement),0,null);var s=[],o=t.split(/\b\/\b/),u=0,a=o.length,f,l,c,h;try{try{i.setProperty("SelectionLanguage","XPath")}catch(p){}s=r.selectNodes(t)}catch(p){for(;u-1&&f.indexOf("]")>-1)l=f.slice(f.indexOf("[")+1,f.indexOf("]")),l--,r=r.children[l],h=!0;else if(f.indexOf("@")>-1)l=f.substr(f.indexOf("@")),r=l?r.getAttribute(l.replace("@","")):r;else if(-1=this.values.length)return undefined;var e=this.values[this.index];return this.index+=1,e},values:s}},_parseField:function(e,t,n){var r=e.key||e,s;e.schema?(s={results:[],meta:{}},s=i._parseResults(e.schema,n,s),t[r]=s.results):t[r]=i._getLocationValue(e,n)},_parseMeta:function(e,t,r){if(n.isObject(e)){var s,o=t.ownerDocument||t;for(s in e)e.hasOwnProperty(s)&&(r.meta[s]=i._getLocationValue(e[s],o))}return r},_parseResult:function(e,t){var n={},r;for(r=e.length-1;0<=r;r--)i._parseField(e[r],n,t);return n},_parseResults:function(e,t,r){if(e.resultListLocator&&n.isArray(e.resultFields)){var s=t.ownerDocument||t,o=e.resultFields,u=[],a,f,l=0;if(e.resultListLocator.match(/^[:\-\w]+$/)){f=t.getElementsByTagName(e.resultListLocator);for(l=f.length-1;l>=0;--l)u[l]=i._parseResult(o,f[l])}else{f=i._getXPathResult(e.resultListLocator,t,s);while(a=f.iterateNext())u[l]=i._parseResult(o,a),l+=1}u.length?r.results=u:r.error=new Error("XML schema result nodes retrieval failure")}return r}},e.DataSchema.XML=e.mix(i,e.DataSchema.Base)},"3.12.0",{requires:["dataschema-base"]});
+YUI.add("dataschema-xml",function(e,t){var n=e.Lang,r={1:!0,9:!0,11:!0},i;i={apply:function(e,t){var n=t,s={results:[],meta:{}};return n&&r[n.nodeType]&&e?(s=i._parseResults(e,n,s),s=i._parseMeta(e.metaFields,n,s)):s.error=new Error("XML schema parse failure"),s},_getLocationValue:function(t,n){var r=t.locator||t.key||t,s=n.ownerDocument||n,o,u,a=null;try{o=i._getXPathResult(r,n,s);while(u=o.iterateNext())a=u.textContent||u.value||u.text||u.innerHTML||u.innerText||null;return e.DataSchema.Base.parse.call(this,a,t)}catch(f){}return null},_getXPathResult:function(t,r,i){if(!n.isUndefined(i.evaluate))return i.evaluate(t,r,i.createNSResolver(r.ownerDocument?r.ownerDocument.documentElement:r.documentElement),0,null);var s=[],o=t.split(/\b\/\b/),u=0,a=o.length,f,l,c,h;try{try{i.setProperty("SelectionLanguage","XPath")}catch(p){}s=r.selectNodes(t)}catch(p){for(;u-1&&f.indexOf("]")>-1)l=f.slice(f.indexOf("[")+1,f.indexOf("]")),l--,r=r.children[l],h=!0;else if(f.indexOf("@")>-1)l=f.substr(f.indexOf("@")),r=l?r.getAttribute(l.replace("@","")):r;else if(-1=this.values.length)return undefined;var e=this.values[this.index];return this.index+=1,e},values:s}},_parseField:function(e,t,n){var r=e.key||e,s;e.schema?(s={results:[],meta:{}},s=i._parseResults(e.schema,n,s),t[r]=s.results):t[r]=i._getLocationValue(e,n)},_parseMeta:function(e,t,r){if(n.isObject(e)){var s,o=t.ownerDocument||t;for(s in e)e.hasOwnProperty(s)&&(r.meta[s]=i._getLocationValue(e[s],o))}return r},_parseResult:function(e,t){var n={},r;for(r=e.length-1;0<=r;r--)i._parseField(e[r],n,t);return n},_parseResults:function(e,t,r){if(e.resultListLocator&&n.isArray(e.resultFields)){var s=t.ownerDocument||t,o=e.resultFields,u=[],a,f,l=0;if(e.resultListLocator.match(/^[:\-\w]+$/)){f=t.getElementsByTagName(e.resultListLocator);for(l=f.length-1;l>=0;--l)u[l]=i._parseResult(o,f[l])}else{f=i._getXPathResult(e.resultListLocator,t,s);while(a=f.iterateNext())u[l]=i._parseResult(o,a),l+=1}u.length?r.results=u:r.error=new Error("XML schema result nodes retrieval failure")}return r}},e.DataSchema.XML=e.mix(i,e.DataSchema.Base)},"3.13.0",{requires:["dataschema-base"]});
diff --git a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml.js b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/dataschema-xml/dataschema-xml.js
rename to lib/yuilib/3.13.0/dataschema-xml/dataschema-xml.js
index f0186a77697..3d7ae2f2b9a
--- a/lib/yuilib/3.12.0/dataschema-xml/dataschema-xml.js
+++ b/lib/yuilib/3.13.0/dataschema-xml/dataschema-xml.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -72,7 +72,7 @@ SchemaXML = {
The keys are the field identifier `key`s, and the values are the data
values extracted from the nodes or attributes found by the field `locator`
(or `key` fallback).
-
+
To extract additional information from the XML, include an array of
XPath locators in _schema.metaFields_. The collected values will be
stored in `response.meta` with the XPath locator as keys.
@@ -105,7 +105,7 @@ SchemaXML = {
var response = Y.DataSchema.JSON.apply(schema, data);
// response.results[0] is { name: "Banana", color: "YELLOW" }
-
+
@method apply
@param {Object} schema Schema to apply. Supported configuration
properties are:
@@ -175,7 +175,7 @@ SchemaXML = {
/**
* Fetches the XPath-specified result for a given location in an XML node
* or document.
- *
+ *
* @method _getXPathResult
* @param locator {String} The XPath location.
* @param context {Object} XML node or document to search within.
@@ -188,19 +188,19 @@ SchemaXML = {
// Standards mode
if (! Lang.isUndefined(xmldoc.evaluate)) {
return xmldoc.evaluate(locator, context, xmldoc.createNSResolver(context.ownerDocument ? context.ownerDocument.documentElement : context.documentElement), 0, null);
-
+
}
// IE mode
else {
var values=[], locatorArray = locator.split(/\b\/\b/), i=0, l=locatorArray.length, location, subloc, m, isNth;
-
+
// XPath is supported
try {
// this fixes the IE 5.5+ issue where childnode selectors begin at 0 instead of 1
try {
xmldoc.setProperty("SelectionLanguage", "XPath");
} catch (e) {}
-
+
values = context.selectNodes(locator);
}
// Fallback for DOM nodes and fragments
@@ -237,7 +237,7 @@ SchemaXML = {
}
}
}
-
+
if (context) {
// attribute
if (Lang.isString(context)) {
@@ -257,7 +257,7 @@ SchemaXML = {
// returning a mock-standard object for IE
return {
index: 0,
-
+
iterateNext: function() {
if (this.index >= this.values.length) {return undefined;}
var result = this.values[this.index];
@@ -359,7 +359,7 @@ SchemaXML = {
if (schema.resultListLocator.match(/^[:\-\w]+$/)) {
nodeList = context.getElementsByTagName(schema.resultListLocator);
-
+
// loop through each result node
for (i = nodeList.length - 1; i >= 0; --i) {
results[i] = SchemaXML._parseResult(fields, nodeList[i]);
@@ -387,4 +387,4 @@ SchemaXML = {
Y.DataSchema.XML = Y.mix(SchemaXML, Y.DataSchema.Base);
-}, '3.12.0', {"requires": ["dataschema-base"]});
+}, '3.13.0', {"requires": ["dataschema-base"]});
diff --git a/lib/yuilib/3.13.0/datasource-arrayschema/datasource-arrayschema-coverage.js b/lib/yuilib/3.13.0/datasource-arrayschema/datasource-arrayschema-coverage.js
new file mode 100755
index 00000000000..681404bf45f
--- /dev/null
+++ b/lib/yuilib/3.13.0/datasource-arrayschema/datasource-arrayschema-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datasource-arrayschema/datasource-arrayschema.js']) {
+ __coverage__['build/datasource-arrayschema/datasource-arrayschema.js'] = {"path":"build/datasource-arrayschema/datasource-arrayschema.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":34},"end":{"line":1,"column":53}}},"2":{"name":"(anonymous_2)","line":15,"loc":{"start":{"line":15,"column":28},"end":{"line":15,"column":39}}},"3":{"name":"(anonymous_3)","line":64,"loc":{"start":{"line":64,"column":17},"end":{"line":64,"column":34}}},"4":{"name":"(anonymous_4)","line":82,"loc":{"start":{"line":82,"column":22},"end":{"line":82,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":106,"column":79}},"2":{"start":{"line":15,"column":0},"end":{"line":17,"column":2}},"3":{"start":{"line":16,"column":4},"end":{"line":16,"column":72}},"4":{"start":{"line":19,"column":0},"end":{"line":54,"column":3}},"5":{"start":{"line":56,"column":0},"end":{"line":101,"column":3}},"6":{"start":{"line":65,"column":8},"end":{"line":65,"column":59}},"7":{"start":{"line":83,"column":8},"end":{"line":85,"column":35}},"8":{"start":{"line":88,"column":8},"end":{"line":93,"column":9}},"9":{"start":{"line":89,"column":12},"end":{"line":92,"column":14}},"10":{"start":{"line":95,"column":8},"end":{"line":95,"column":36}},"11":{"start":{"line":97,"column":8},"end":{"line":97,"column":51}},"12":{"start":{"line":99,"column":8},"end":{"line":99,"column":79}},"13":{"start":{"line":103,"column":0},"end":{"line":103,"column":68}}},"branchMap":{"1":{"line":83,"type":"cond-expr","locations":[{"start":{"line":83,"column":128},"end":{"line":83,"column":147}},{"start":{"line":83,"column":150},"end":{"line":83,"column":156}}]},"2":{"line":83,"type":"binary-expr","locations":[{"start":{"line":83,"column":20},"end":{"line":83,"column":35}},{"start":{"line":83,"column":40},"end":{"line":83,"column":83}},{"start":{"line":83,"column":88},"end":{"line":83,"column":124}}]},"3":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":8}},{"start":{"line":88,"column":8},"end":{"line":88,"column":8}}]}},"code":["(function () { YUI.add('datasource-arrayschema', function (Y, NAME) {","","/**"," * Extends DataSource with schema-parsing on array data."," *"," * @module datasource"," * @submodule datasource-arrayschema"," */","","/**"," * Adds schema-parsing to the DataSource Utility."," * @class DataSourceArraySchema"," * @extends Plugin.Base"," */","var DataSourceArraySchema = function() {"," DataSourceArraySchema.superclass.constructor.apply(this, arguments);","};","","Y.mix(DataSourceArraySchema, {"," /**"," * The namespace for the plugin. This will be the property on the host which"," * references the plugin instance."," *"," * @property NS"," * @type String"," * @static"," * @final"," * @value \"schema\""," */"," NS: \"schema\",",""," /**"," * Class name."," *"," * @property NAME"," * @type String"," * @static"," * @final"," * @value \"dataSourceArraySchema\""," */"," NAME: \"dataSourceArraySchema\",",""," /////////////////////////////////////////////////////////////////////////////"," //"," // DataSourceArraySchema Attributes"," //"," /////////////////////////////////////////////////////////////////////////////",""," ATTRS: {"," schema: {"," //value: {}"," }"," }","});","","Y.extend(DataSourceArraySchema, Y.Plugin.Base, {"," /**"," * Internal init() handler."," *"," * @method initializer"," * @param config {Object} Config object."," * @private"," */"," initializer: function(config) {"," this.doBefore(\"_defDataFn\", this._beforeDefDataFn);"," },",""," /**"," * Parses raw data into a normalized response."," *"," * @method _beforeDefDataFn"," * @param tId {Number} Unique transaction ID."," * @param request {Object} The request."," * @param callback {Object} The callback object with the following properties:"," *
`. Those objects may contain a","`children` property containing a similarly structured array to indicate the","nested cells should be grouped under the parent column's colspan in a separate","row of header cells. E.g.","","
","","This would translate to the following visualization:","","
","---------------------","| | name |","| |---------------","| id | First | Last |","---------------------","
","","Supported properties of the column objects include:",""," * `label` - The HTML content of the header cell."," * `key` - If `label` is not specified, the `key` is used for content."," * `children` - Array of columns to appear below this column in the next"," row."," * `headerTemplate` - Overrides the instance's `CELL_TEMPLATE` for cells in this"," column only."," * `abbr` - The content of the 'abbr' attribute of the `
`"," * `title` - The content of the 'title' attribute of the `
`"," * `className` - Adds this string of CSS classes to the column header","","Through the life of instantiation and rendering, the column objects will have","the following properties added to them:",""," * `id` - (Defaulted by DataTable) The id to assign the rendered column"," * `_colspan` - To supply the `
` attribute"," * `_rowspan` - To supply the `
` attribute"," * `_parent` - (Added by DataTable) If the column is a child of another"," column, this points to its parent column","","The column object is also used to provide values for {placeholder} tokens in the","instance's `CELL_TEMPLATE`, so you can modify the template and include other","column object properties to populate them.","","@class HeaderView","@namespace DataTable","@extends View","@since 3.5.0","**/","Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {"," // -- Instance properties -------------------------------------------------",""," /**"," Template used to create the table's header cell markup. Override this to"," customize how header cell markup is created.",""," @property CELL_TEMPLATE"," @type {HTML}"," @default '
{content}
'"," @since 3.5.0"," **/"," CELL_TEMPLATE:"," '
{content}
',",""," /**"," The data representation of the header rows to render. This is assigned by"," parsing the `columns` configuration array, and is used by the render()"," method.",""," @property columns"," @type {Array[]}"," @default (initially unset)"," @since 3.5.0"," **/"," //TODO: should this be protected?"," //columns: null,",""," /**"," Template used to create the table's header row markup. Override this to"," customize the row markup.",""," @property ROW_TEMPLATE"," @type {HTML}"," @default '
{content}
'"," @since 3.5.0"," **/"," ROW_TEMPLATE:"," '
{content}
',",""," /**"," The object that serves as the source of truth for column and row data."," This property is assigned at instantiation from the `source` property of"," the configuration object passed to the constructor.",""," @property source"," @type {Object}"," @default (initially unset)"," @since 3.5.0"," **/"," //TODO: should this be protected?"," //source: null,",""," /**"," HTML templates used to create the `` containing the table headers.",""," @property THEAD_TEMPLATE"," @type {HTML}"," @default '{content}'"," @since 3.6.0"," **/"," THEAD_TEMPLATE: '',",""," // -- Public methods ------------------------------------------------------",""," /**"," Returns the generated CSS classname based on the input. If the `host`"," attribute is configured, it will attempt to relay to its `getClassName`"," or use its static `NAME` property as a string base.",""," If `host` is absent or has neither method nor `NAME`, a CSS classname"," will be generated using this class's `NAME`.",""," @method getClassName"," @param {String} token* Any number of token strings to assemble the"," classname from."," @return {String}"," @protected"," **/"," getClassName: function () {"," // TODO: add attribute with setter? to host to use property this.host"," // for performance"," var host = this.host,"," NAME = (host && host.constructor.NAME) ||"," this.constructor.NAME;",""," if (host && host.getClassName) {"," return host.getClassName.apply(host, arguments);"," } else {"," return Y.ClassNameManager.getClassName"," .apply(Y.ClassNameManager,"," [NAME].concat(toArray(arguments, 0, true)));"," }"," },",""," /**"," Creates the `` Node content by assembling markup generated by"," populating the `ROW_TEMPLATE` and `CELL_TEMPLATE` templates with content"," from the `columns` property.",""," @method render"," @return {HeaderView} The instance"," @chainable"," @since 3.5.0"," **/"," render: function () {"," var table = this.get('container'),"," thead = this.theadNode ||"," (this.theadNode = this._createTHeadNode()),"," columns = this.columns,"," defaults = {"," _colspan: 1,"," _rowspan: 1,"," abbr: '',"," title: ''"," },"," i, len, j, jlen, col, html, content, values;",""," if (thead && columns) {"," html = '';",""," if (columns.length) {"," for (i = 0, len = columns.length; i < len; ++i) {"," content = '';",""," for (j = 0, jlen = columns[i].length; j < jlen; ++j) {"," col = columns[i][j];"," values = Y.merge("," defaults,"," col, {"," className: this.getClassName('header'),"," content : col.label || col.key ||"," (\"Column \" + (j + 1))"," }"," );",""," values._id = col._id ?"," ' data-yui3-col-id=\"' + col._id + '\"' : '';",""," if (col.abbr) {"," values.abbr = ' abbr=\"' + col.abbr + '\"';"," }",""," if (col.title) {"," values.title = ' title=\"' + col.title + '\"';"," }",""," if (col.className) {"," values.className += ' ' + col.className;"," }",""," if (col._first) {"," values.className += ' ' + this.getClassName('first', 'header');"," }",""," if (col._id) {"," values.className +="," ' ' + this.getClassName('col', col._id);"," }",""," content += fromTemplate("," col.headerTemplate || this.CELL_TEMPLATE, values);"," }",""," html += fromTemplate(this.ROW_TEMPLATE, {"," content: content"," });"," }"," }",""," thead.setHTML(html);",""," if (thead.get('parentNode') !== table) {"," table.insertBefore(thead, table.one('tfoot, tbody'));"," }"," }",""," this.bindUI();",""," return this;"," },",""," // -- Protected and private properties and methods ------------------------",""," /**"," Handles changes in the source's columns attribute. Redraws the headers.",""," @method _afterColumnsChange"," @param {EventFacade} e The `columnsChange` event object"," @protected"," @since 3.5.0"," **/"," _afterColumnsChange: function (e) {"," this.columns = this._parseColumns(e.newVal);",""," this.render();"," },",""," /**"," Binds event subscriptions from the UI and the source (if assigned).",""," @method bindUI"," @protected"," @since 3.5.0"," **/"," bindUI: function () {"," if (!this._eventHandles.columnsChange) {"," // TODO: How best to decouple this?"," this._eventHandles.columnsChange ="," this.after('columnsChange',"," Y.bind('_afterColumnsChange', this));"," }"," },",""," /**"," Creates the `` node that will store the header rows and cells.",""," @method _createTHeadNode"," @return {Node}"," @protected"," @since 3.6.0"," **/"," _createTHeadNode: function () {"," return Y.Node.create(fromTemplate(this.THEAD_TEMPLATE, {"," className: this.getClassName('columns')"," }));"," },",""," /**"," Destroys the instance.",""," @method destructor"," @protected"," @since 3.5.0"," **/"," destructor: function () {"," (new Y.EventHandle(Y.Object.values(this._eventHandles))).detach();"," },",""," /**"," Holds the event subscriptions needing to be detached when the instance is"," `destroy()`ed.",""," @property _eventHandles"," @type {Object}"," @default undefined (initially unset)"," @protected"," @since 3.5.0"," **/"," //_eventHandles: null,",""," /**"," Initializes the instance. Reads the following configuration properties:",""," * `columns` - (REQUIRED) The initial column information"," * `host` - The object to serve as source of truth for column info",""," @method initializer"," @param {Object} config Configuration data"," @protected"," @since 3.5.0"," **/"," initializer: function (config) {"," this.host = config.host;"," this.columns = this._parseColumns(config.columns);",""," this._eventHandles = [];"," },",""," /**"," Translate the input column format into a structure useful for rendering a"," ``, rows, and cells. The structure of the input is expected to be a"," single array of objects, where each object corresponds to a `
`. Those"," objects may contain a `children` property containing a similarly structured"," array to indicate the nested cells should be grouped under the parent"," column's colspan in a separate row of header cells. E.g.","","
",""," would indicate two header rows with the first column 'id' being assigned a"," `rowspan` of `2`, the 'name' column appearing in the first row with a"," `colspan` of `2`, and the 'firstName' and 'lastName' columns appearing in"," the second row, below the 'name' column.","","
"," ---------------------"," | | name |"," | |---------------"," | id | First | Last |"," ---------------------","
",""," Supported properties of the column objects include:",""," * `label` - The HTML content of the header cell."," * `key` - If `label` is not specified, the `key` is used for content."," * `children` - Array of columns to appear below this column in the next"," row."," * `abbr` - The content of the 'abbr' attribute of the `
`"," * `title` - The content of the 'title' attribute of the `
`"," * `headerTemplate` - Overrides the instance's `CELL_TEMPLATE` for cells"," in this column only.",""," The output structure is basically a simulation of the `` structure"," with arrays for rows and objects for cells. Column objects have the"," following properties added to them:",""," * `id` - (Defaulted by DataTable) The id to assign the rendered"," column"," * `_colspan` - Per the `
` attribute"," * `_rowspan` - Per the `
` attribute"," * `_parent` - (Added by DataTable) If the column is a child of another"," column, this points to its parent column",""," The column object is also used to provide values for {placeholder}"," replacement in the `CELL_TEMPLATE`, so you can modify the template and"," include other column object properties to populate them.",""," @method _parseColumns"," @param {Object[]} data Array of column object data"," @return {Array[]} An array of arrays corresponding to the header row"," structure to render"," @protected"," @since 3.5.0"," **/"," _parseColumns: function (data) {"," var columns = [],"," stack = [],"," rowSpan = 1,"," entry, row, col, children, parent, i, len, j;",""," if (isArray(data) && data.length) {"," // don't modify the input array"," data = data.slice();",""," // First pass, assign colspans and calculate row count for"," // non-nested headers' rowspan"," stack.push([data, -1]);",""," while (stack.length) {"," entry = stack[stack.length - 1];"," row = entry[0];"," i = entry[1] + 1;",""," for (len = row.length; i < len; ++i) {"," row[i] = col = Y.merge(row[i]);"," children = col.children;",""," Y.stamp(col);",""," if (!col.id) {"," col.id = Y.guid();"," }",""," if (isArray(children) && children.length) {"," stack.push([children, -1]);"," entry[1] = i;",""," rowSpan = Math.max(rowSpan, stack.length);",""," // break to let the while loop process the children"," break;"," } else {"," col._colspan = 1;"," }"," }",""," if (i >= len) {"," // All columns in this row are processed"," if (stack.length > 1) {"," entry = stack[stack.length - 2];"," parent = entry[0][entry[1]];",""," parent._colspan = 0;",""," for (i = 0, len = row.length; i < len; ++i) {"," // Can't use .length because in 3+ rows, colspan"," // needs to aggregate the colspans of children"," row[i]._parent = parent;"," parent._colspan += row[i]._colspan;"," }"," }"," stack.pop();"," }"," }",""," // Second pass, build row arrays and assign rowspan"," for (i = 0; i < rowSpan; ++i) {"," columns.push([]);"," }",""," stack.push([data, -1]);",""," while (stack.length) {"," entry = stack[stack.length - 1];"," row = entry[0];"," i = entry[1] + 1;",""," for (len = row.length; i < len; ++i) {"," col = row[i];"," children = col.children;",""," columns[stack.length - 1].push(col);",""," entry[1] = i;",""," // collect the IDs of parent cols"," col._headers = [col.id];",""," for (j = stack.length - 2; j >= 0; --j) {"," parent = stack[j][0][stack[j][1]];",""," col._headers.unshift(parent.id);"," }",""," if (children && children.length) {"," // parent cells must assume rowspan 1 (long story)",""," // break to let the while loop process the children"," stack.push([children, -1]);"," break;"," } else {"," col._rowspan = rowSpan - stack.length + 1;"," }"," }",""," if (i >= len) {"," // All columns in this row are processed"," stack.pop();"," }"," }"," }",""," for (i = 0, len = columns.length; i < len; i += col._rowspan) {"," col = columns[i][0];",""," col._first = true;"," }",""," return columns;"," }","});","","","}, '3.13.0', {\"requires\": [\"datatable-core\", \"view\", \"classnamemanager\"]});","","}());"]};
+}
+var __cov_oz_EZwVpuABhbsLfLpaJeQ = __coverage__['build/datatable-head/datatable-head.js'];
+__cov_oz_EZwVpuABhbsLfLpaJeQ.s['1']++;YUI.add('datatable-head',function(Y,NAME){__cov_oz_EZwVpuABhbsLfLpaJeQ.f['1']++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['2']++;var Lang=Y.Lang,fromTemplate=Lang.sub,isArray=Lang.isArray,toArray=Y.Array;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['3']++;Y.namespace('DataTable').HeaderView=Y.Base.create('tableHeader',Y.View,[],{CELL_TEMPLATE:'
{content}
',ROW_TEMPLATE:'
{content}
',THEAD_TEMPLATE:'',getClassName:function(){__cov_oz_EZwVpuABhbsLfLpaJeQ.f['2']++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['4']++;var host=this.host,NAME=(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['1'][0]++,host)&&(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['1'][1]++,host.constructor.NAME)||(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['1'][2]++,this.constructor.NAME);__cov_oz_EZwVpuABhbsLfLpaJeQ.s['5']++;if((__cov_oz_EZwVpuABhbsLfLpaJeQ.b['3'][0]++,host)&&(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['3'][1]++,host.getClassName)){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['2'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['6']++;return host.getClassName.apply(host,arguments);}else{__cov_oz_EZwVpuABhbsLfLpaJeQ.b['2'][1]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['7']++;return Y.ClassNameManager.getClassName.apply(Y.ClassNameManager,[NAME].concat(toArray(arguments,0,true)));}},render:function(){__cov_oz_EZwVpuABhbsLfLpaJeQ.f['3']++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['8']++;var table=this.get('container'),thead=(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['4'][0]++,this.theadNode)||(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['4'][1]++,this.theadNode=this._createTHeadNode()),columns=this.columns,defaults={_colspan:1,_rowspan:1,abbr:'',title:''},i,len,j,jlen,col,html,content,values;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['9']++;if((__cov_oz_EZwVpuABhbsLfLpaJeQ.b['6'][0]++,thead)&&(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['6'][1]++,columns)){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['5'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['10']++;html='';__cov_oz_EZwVpuABhbsLfLpaJeQ.s['11']++;if(columns.length){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['7'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['12']++;for(i=0,len=columns.length;i=len){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['23'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['65']++;if(stack.length>1){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['24'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['66']++;entry=stack[stack.length-2];__cov_oz_EZwVpuABhbsLfLpaJeQ.s['67']++;parent=entry[0][entry[1]];__cov_oz_EZwVpuABhbsLfLpaJeQ.s['68']++;parent._colspan=0;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['69']++;for(i=0,len=row.length;i=0;--j){__cov_oz_EZwVpuABhbsLfLpaJeQ.s['87']++;parent=stack[j][0][stack[j][1]];__cov_oz_EZwVpuABhbsLfLpaJeQ.s['88']++;col._headers.unshift(parent.id);}__cov_oz_EZwVpuABhbsLfLpaJeQ.s['89']++;if((__cov_oz_EZwVpuABhbsLfLpaJeQ.b['26'][0]++,children)&&(__cov_oz_EZwVpuABhbsLfLpaJeQ.b['26'][1]++,children.length)){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['25'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['90']++;stack.push([children,-1]);__cov_oz_EZwVpuABhbsLfLpaJeQ.s['91']++;break;}else{__cov_oz_EZwVpuABhbsLfLpaJeQ.b['25'][1]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['92']++;col._rowspan=rowSpan-stack.length+1;}}__cov_oz_EZwVpuABhbsLfLpaJeQ.s['93']++;if(i>=len){__cov_oz_EZwVpuABhbsLfLpaJeQ.b['27'][0]++;__cov_oz_EZwVpuABhbsLfLpaJeQ.s['94']++;stack.pop();}else{__cov_oz_EZwVpuABhbsLfLpaJeQ.b['27'][1]++;}}}else{__cov_oz_EZwVpuABhbsLfLpaJeQ.b['18'][1]++;}__cov_oz_EZwVpuABhbsLfLpaJeQ.s['95']++;for(i=0,len=columns.length;i` based on the data in those objects.
-
+
The structure of the column data is expected to be a single array of objects,
where each object corresponds to a `
`. Those objects may contain a
@@ -155,7 +155,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
Returns the generated CSS classname based on the input. If the `host`
attribute is configured, it will attempt to relay to its `getClassName`
or use its static `NAME` property as a string base.
-
+
If `host` is absent or has neither method nor `NAME`, a CSS classname
will be generated using this class's `NAME`.
@@ -185,7 +185,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
Creates the `` Node content by assembling markup generated by
populating the `ROW_TEMPLATE` and `CELL_TEMPLATE` templates with content
from the `columns` property.
-
+
@method render
@return {HeaderView} The instance
@chainable
@@ -313,7 +313,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
className: this.getClassName('columns')
}));
},
-
+
/**
Destroys the instance.
@@ -399,7 +399,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
The output structure is basically a simulation of the `` structure
with arrays for rows and objects for cells. Column objects have the
following properties added to them:
-
+
* `id` - (Defaulted by DataTable) The id to assign the rendered
column
* `_colspan` - Per the `
` attribute
@@ -423,7 +423,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
stack = [],
rowSpan = 1,
entry, row, col, children, parent, i, len, j;
-
+
if (isArray(data) && data.length) {
// don't modify the input array
data = data.slice();
@@ -537,4 +537,4 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
});
-}, '3.12.0', {"requires": ["datatable-core", "view", "classnamemanager"]});
+}, '3.13.0', {"requires": ["datatable-core", "view", "classnamemanager"]});
diff --git a/lib/yuilib/3.12.0/datatable-head/datatable-head-min.js b/lib/yuilib/3.13.0/datatable-head/datatable-head-min.js
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/datatable-head/datatable-head-min.js
rename to lib/yuilib/3.13.0/datatable-head/datatable-head-min.js
index 65ec2e6b84f..6929d0ed471
--- a/lib/yuilib/3.12.0/datatable-head/datatable-head-min.js
+++ b/lib/yuilib/3.13.0/datatable-head/datatable-head-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("datatable-head",function(e,t){var n=e.Lang,r=n.sub,i=n.isArray,s=e.Array;e.namespace("DataTable").HeaderView=e.Base.create("tableHeader",e.View,[],{CELL_TEMPLATE:'
",THEAD_TEMPLATE:'',getClassName:function(){var t=this.host,n=t&&t.constructor.NAME||this.constructor.NAME;return t&&t.getClassName?t.getClassName.apply(t,arguments):e.ClassNameManager.getClassName.apply(e.ClassNameManager,[n].concat(s(arguments,0,!0)))},render:function(){var t=this.get("container"),n=this.theadNode||(this.theadNode=this._createTHeadNode()),i=this.columns,s={_colspan:1,_rowspan:1,abbr:"",title:""},o,u,a,f,l,c,h,p;if(n&&i){c="";if(i.length)for(o=0,u=i.length;o=h){if(r.length>1){o=r[r.length-2],l=o[0][o[1]],l._colspan=0;for(c=0,h=u.length;c=0;--p)l=r[p][0][r[p][1]],a._headers.unshift(l.id);if(f&&f.length){r.push([f,-1]);break}a._rowspan=s-r.length+1}c>=h&&r.pop()}}for(c=0,h=n.length;c` based on the data in those objects.
-
+
The structure of the column data is expected to be a single array of objects,
where each object corresponds to a `
`. Those objects may contain a
@@ -155,7 +155,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
Returns the generated CSS classname based on the input. If the `host`
attribute is configured, it will attempt to relay to its `getClassName`
or use its static `NAME` property as a string base.
-
+
If `host` is absent or has neither method nor `NAME`, a CSS classname
will be generated using this class's `NAME`.
@@ -185,7 +185,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
Creates the `` Node content by assembling markup generated by
populating the `ROW_TEMPLATE` and `CELL_TEMPLATE` templates with content
from the `columns` property.
-
+
@method render
@return {HeaderView} The instance
@chainable
@@ -313,7 +313,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
className: this.getClassName('columns')
}));
},
-
+
/**
Destroys the instance.
@@ -399,7 +399,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
The output structure is basically a simulation of the `` structure
with arrays for rows and objects for cells. Column objects have the
following properties added to them:
-
+
* `id` - (Defaulted by DataTable) The id to assign the rendered
column
* `_colspan` - Per the `
` attribute
@@ -423,7 +423,7 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
stack = [],
rowSpan = 1,
entry, row, col, children, parent, i, len, j;
-
+
if (isArray(data) && data.length) {
// don't modify the input array
data = data.slice();
@@ -537,4 +537,4 @@ Y.namespace('DataTable').HeaderView = Y.Base.create('tableHeader', Y.View, [], {
});
-}, '3.12.0', {"requires": ["datatable-core", "view", "classnamemanager"]});
+}, '3.13.0', {"requires": ["datatable-core", "view", "classnamemanager"]});
diff --git a/lib/yuilib/3.13.0/datatable-highlight/assets/datatable-highlight-core.css b/lib/yuilib/3.13.0/datatable-highlight/assets/datatable-highlight-core.css
new file mode 100755
index 00000000000..93292903400
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/assets/datatable-highlight-core.css
@@ -0,0 +1,33 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+.yui3-datatable tr td {
+ -webkit-transition: background-color 0.05s ease-in;
+ -moz-transition: background-color 0.05s ease-in;
+ -o-transition: background-color 0.05s ease-in;
+ transition: background-color 0.05s ease-in;
+}
+.yui3-datatable .yui3-datatable-highlight-row td {
+ -webkit-transition: background-color 0.1s ease-out;
+ -moz-transition: background-color 0.1s ease-out;
+ -o-transition: background-color 0.1s ease-out;
+ transition: background-color 0.1s ease-out;
+}
+
+.yui3-datatable tr .yui3-datatable-highlight-col {
+ -webkit-transition: background-color 0.1s ease-out;
+ -moz-transition: background-color 0.1s ease-out;
+ -o-transition: background-color 0.1s ease-out;
+ transition: background-color 0.1s ease-out;
+}
+
+.yui3-datatable tr .yui3-datatable-highlight-cell {
+ -webkit-transition: background-color 0.1s ease-out;
+ -moz-transition: background-color 0.1s ease-out;
+ -o-transition: background-color 0.1s ease-out;
+ transition: background-color 0.1s ease-out;
+}
\ No newline at end of file
diff --git a/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight-skin.css b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight-skin.css
new file mode 100755
index 00000000000..8bfdb7c2fe4
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight-skin.css
@@ -0,0 +1,18 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+.yui3-skin-night .yui3-datatable .yui3-datatable-highlight-row td {
+ background-color: #38383f;
+}
+
+.yui3-skin-night .yui3-datatable tr .yui3-datatable-highlight-col {
+ background-color: #38383f;
+}
+
+.yui3-skin-night .yui3-datatable tr .yui3-datatable-highlight-cell {
+ background-color: #38383f;
+}
\ No newline at end of file
diff --git a/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight.css b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight.css
new file mode 100755
index 00000000000..09bbb09f89b
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/night/datatable-highlight.css
@@ -0,0 +1,8 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+.yui3-datatable tr td{-webkit-transition:background-color .05s ease-in;-moz-transition:background-color .05s ease-in;-o-transition:background-color .05s ease-in;transition:background-color .05s ease-in}.yui3-datatable .yui3-datatable-highlight-row td{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-datatable tr .yui3-datatable-highlight-col{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-datatable tr .yui3-datatable-highlight-cell{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-skin-night .yui3-datatable .yui3-datatable-highlight-row td{background-color:#38383f}.yui3-skin-night .yui3-datatable tr .yui3-datatable-highlight-col{background-color:#38383f}.yui3-skin-night .yui3-datatable tr .yui3-datatable-highlight-cell{background-color:#38383f}#yui3-css-stamp.skin-night-datatable-highlight{display:none}
diff --git a/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight-skin.css b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight-skin.css
new file mode 100755
index 00000000000..810c4df7255
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight-skin.css
@@ -0,0 +1,18 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+.yui3-skin-sam .yui3-datatable .yui3-datatable-highlight-row td {
+ background-color: #fef2cd;
+}
+
+.yui3-skin-sam .yui3-datatable tr .yui3-datatable-highlight-col {
+ background-color: #fef2cd;
+}
+
+.yui3-skin-sam .yui3-datatable tr .yui3-datatable-highlight-cell {
+ background-color: #fef2cd;
+}
\ No newline at end of file
diff --git a/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight.css b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight.css
new file mode 100755
index 00000000000..fafa8a4a445
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/assets/skins/sam/datatable-highlight.css
@@ -0,0 +1,8 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+.yui3-datatable tr td{-webkit-transition:background-color .05s ease-in;-moz-transition:background-color .05s ease-in;-o-transition:background-color .05s ease-in;transition:background-color .05s ease-in}.yui3-datatable .yui3-datatable-highlight-row td{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-datatable tr .yui3-datatable-highlight-col{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-datatable tr .yui3-datatable-highlight-cell{-webkit-transition:background-color .1s ease-out;-moz-transition:background-color .1s ease-out;-o-transition:background-color .1s ease-out;transition:background-color .1s ease-out}.yui3-skin-sam .yui3-datatable .yui3-datatable-highlight-row td{background-color:#fef2cd}.yui3-skin-sam .yui3-datatable tr .yui3-datatable-highlight-col{background-color:#fef2cd}.yui3-skin-sam .yui3-datatable tr .yui3-datatable-highlight-cell{background-color:#fef2cd}#yui3-css-stamp.skin-sam-datatable-highlight{display:none}
diff --git a/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-coverage.js b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-coverage.js
new file mode 100755
index 00000000000..24d01c8fb73
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-highlight/datatable-highlight.js']) {
+ __coverage__['build/datatable-highlight/datatable-highlight.js'] = {"path":"build/datatable-highlight/datatable-highlight.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":50}}},"2":{"name":"Highlight","line":18,"loc":{"start":{"line":18,"column":0},"end":{"line":18,"column":21}}},"3":{"name":"(anonymous_3)","line":131,"loc":{"start":{"line":131,"column":23},"end":{"line":131,"column":38}}},"4":{"name":"(anonymous_4)","line":160,"loc":{"start":{"line":160,"column":23},"end":{"line":160,"column":38}}},"5":{"name":"(anonymous_5)","line":189,"loc":{"start":{"line":189,"column":24},"end":{"line":189,"column":39}}},"6":{"name":"(anonymous_6)","line":218,"loc":{"start":{"line":218,"column":19},"end":{"line":218,"column":32}}},"7":{"name":"(anonymous_7)","line":233,"loc":{"start":{"line":233,"column":19},"end":{"line":233,"column":31}}},"8":{"name":"(anonymous_8)","line":254,"loc":{"start":{"line":254,"column":20},"end":{"line":254,"column":32}}},"9":{"name":"(anonymous_9)","line":267,"loc":{"start":{"line":267,"column":23},"end":{"line":267,"column":35}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":282,"column":81}},"2":{"start":{"line":12,"column":0},"end":{"line":12,"column":51}},"3":{"start":{"line":18,"column":0},"end":{"line":18,"column":23}},"4":{"start":{"line":20,"column":0},"end":{"line":62,"column":2}},"5":{"start":{"line":65,"column":0},"end":{"line":275,"column":2}},"6":{"start":{"line":132,"column":8},"end":{"line":132,"column":43}},"7":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"8":{"start":{"line":135,"column":12},"end":{"line":135,"column":29}},"9":{"start":{"line":138,"column":8},"end":{"line":143,"column":9}},"10":{"start":{"line":139,"column":12},"end":{"line":142,"column":24}},"11":{"start":{"line":145,"column":8},"end":{"line":145,"column":19}},"12":{"start":{"line":161,"column":8},"end":{"line":161,"column":43}},"13":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"14":{"start":{"line":164,"column":12},"end":{"line":164,"column":29}},"15":{"start":{"line":167,"column":8},"end":{"line":174,"column":9}},"16":{"start":{"line":168,"column":12},"end":{"line":168,"column":37}},"17":{"start":{"line":170,"column":12},"end":{"line":173,"column":21}},"18":{"start":{"line":190,"column":8},"end":{"line":190,"column":43}},"19":{"start":{"line":192,"column":8},"end":{"line":194,"column":9}},"20":{"start":{"line":193,"column":12},"end":{"line":193,"column":30}},"21":{"start":{"line":196,"column":8},"end":{"line":202,"column":9}},"22":{"start":{"line":198,"column":12},"end":{"line":201,"column":24}},"23":{"start":{"line":204,"column":8},"end":{"line":204,"column":19}},"24":{"start":{"line":219,"column":8},"end":{"line":219,"column":88}},"25":{"start":{"line":234,"column":8},"end":{"line":238,"column":15}},"26":{"start":{"line":240,"column":8},"end":{"line":240,"column":106}},"27":{"start":{"line":255,"column":8},"end":{"line":255,"column":89}},"28":{"start":{"line":268,"column":8},"end":{"line":269,"column":18}},"29":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"30":{"start":{"line":272,"column":12},"end":{"line":272,"column":90}},"31":{"start":{"line":277,"column":0},"end":{"line":277,"column":34}},"32":{"start":{"line":279,"column":0},"end":{"line":279,"column":49}}},"branchMap":{"1":{"line":134,"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":134,"column":8}},{"start":{"line":134,"column":8},"end":{"line":134,"column":8}}]},"2":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":8}},{"start":{"line":138,"column":8},"end":{"line":138,"column":8}}]},"3":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":163,"column":8}},{"start":{"line":163,"column":8},"end":{"line":163,"column":8}}]},"4":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":8},"end":{"line":167,"column":8}},{"start":{"line":167,"column":8},"end":{"line":167,"column":8}}]},"5":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":8}},{"start":{"line":192,"column":8},"end":{"line":192,"column":8}}]},"6":{"line":196,"type":"if","locations":[{"start":{"line":196,"column":8},"end":{"line":196,"column":8}},{"start":{"line":196,"column":8},"end":{"line":196,"column":8}}]},"7":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":271,"column":8}},{"start":{"line":271,"column":8},"end":{"line":271,"column":8}}]}},"code":["(function () { YUI.add('datatable-highlight', function (Y, NAME) {","","/**"," Adds support for highlighting columns with the mouse in a DataTable",""," @module datatable"," @submodule datatable-highlight"," @since 3.13.0"," */","","","var getClassName = Y.ClassNameManager.getClassName;","","/**"," @class DataTable.Highlight"," @since 3.13.0"," */","function Highlight() {}","","Highlight.ATTRS = {"," /**"," Setting this to true will create a delegate on the DataTable adding the"," default classname to the row when the mouse is over the row.",""," @attribute highlightRows"," @default false"," @since 3.13.0"," */"," highlightRows: {"," value: false,"," setter: '_setHighlightRows',"," validator: Y.Lang.isBoolean"," },",""," /**"," Setting this to true will create a delegate on the DataTable adding the"," default classname to the column when the mouse is over the column.",""," @attribute highlightCols"," @default false"," @since 3.13.0"," */"," highlightCols: {"," value: false,"," setter: '_setHighlightCols',"," validator: Y.Lang.isBoolean"," },",""," /**"," Setting this to true will create a delegate on the DataTable adding the"," default classname to the cell when the mouse is over it.",""," @attribute highlightCells"," @default false"," @since 3.13.0"," */"," highlightCells: {"," value: false,"," setter: '_setHighlightCells',"," validator: Y.Lang.isBoolean"," }","};","","","Highlight.prototype = {",""," /**"," An object consisting of classnames for a `row`, a `col` and a `cell` to"," be applied to their respective objects when the user moves the mouse over"," the item and the attribute is set to true.",""," @public"," @property highlightClassNames"," @type Object"," @since 3.13.0"," */"," highlightClassNames: {"," row: getClassName(NAME, 'row'),"," col: getClassName(NAME, 'col'),"," cell: getClassName(NAME, 'cell')"," },",""," /**"," A string that is used to create a column selector when the column is has"," the mouse over it. Can contain the css prefix (`{prefix}`) and the column"," name (`{col}`). Further substitution will require `_highlightCol` to be"," overwritten.",""," @protected"," @property _colSelector"," @type String"," @since 3.13.0"," */"," _colSelector: '.{prefix}-data .{prefix}-col-{col}',",""," /**"," A string that will be used to create Regular Expression when column"," highlighting is set to true. Uses the css prefix (`{prefix}`) from the"," DataTable object to populate.",""," @protected"," @property _colNameRegex"," @type String"," @since 3.13.0"," */"," _colNameRegex: '{prefix}-col-(\\\\S*)',",""," /**"," This object will contain any delegates created when their feature is"," turned on.",""," @protected"," @property _highlightDelegates"," @type Object"," @since 3.13.0"," */"," _highlightDelegates: {},",""," /**"," Default setter method for row highlighting. If the value is true, a"," delegate is created and stored in `this._highlightDelegates.row`. This"," delegate will add/remove the row highlight classname to/from the row when"," the mouse enters/leaves a row on the `tbody`",""," @protected"," @method _setHighlightRows"," @param {Boolean} val"," @return val"," @since 3.13.0"," */"," _setHighlightRows: function (val) {"," var del = this._highlightDelegates;",""," if (del.row) {"," del.row.detach();"," }",""," if (val === true) {"," del.row = this.delegate('hover',"," Y.bind(this._highlightRow, this),"," Y.bind(this._highlightRow, this),"," \"tbody tr\");"," }",""," return val;"," },",""," /**"," Default setter method for column highlighting. If the value is true, a"," delegate is created and stored in `this._highlightDelegates.col`. This"," delegate will add/remove the column highlight classname to/from the"," column when the mouse enters/leaves a column on the `tbody`",""," @protected"," @method _setHighlightCols"," @param {Boolean} val"," @return val"," @since 3.13.0"," */"," _setHighlightCols: function (val) {"," var del = this._highlightDelegates;",""," if (del.col) {"," del.col.detach();"," }",""," if (val === true) {"," this._buildColSelRegex();",""," del.col = this.delegate('hover',"," Y.bind(this._highlightCol, this),"," Y.bind(this._highlightCol, this),"," \"tr td\");"," }"," },",""," /**"," Default setter method for cell highlighting. If the value is true, a"," delegate is created and stored in `this._highlightDelegates.cell`. This"," delegate will add/remove the cell highlight classname to/from the cell"," when the mouse enters/leaves a cell on the `tbody`",""," @protected"," @method _setHighlightCells"," @param {Boolean} val"," @return val"," @since 3.13.0"," */"," _setHighlightCells: function (val) {"," var del = this._highlightDelegates;",""," if (del.cell) {"," del.cell.detach();"," }",""," if (val === true) {",""," del.cell = this.delegate('hover',"," Y.bind(this._highlightCell, this),"," Y.bind(this._highlightCell, this),"," \"tbody td\");"," }",""," return val;"," },",""," /**"," Method called to turn on or off the row highlighting when the mouse"," enters or leaves the row. This is determined by the event phase of the"," hover event. Where `over` will turn on the highlighting and anything else"," will turn it off.",""," @protected"," @method _highlightRow"," @param {EventFacade} e Event from the hover event"," @since 3.13.0"," */"," _highlightRow: function (e) {"," e.currentTarget.toggleClass(this.highlightClassNames.row, (e.phase === 'over'));"," },",""," /**"," Method called to turn on or off the column highlighting when the mouse"," enters or leaves the column. This is determined by the event phase of the"," hover event. Where `over` will turn on the highlighting and anything else"," will turn it off.",""," @protected"," @method _highlightCol"," @param {EventFacade} e Event from the hover event"," @since 3.13.0"," */"," _highlightCol: function(e) {"," var colName = this._colNameRegex.exec(e.currentTarget.getAttribute('class')),"," selector = Y.Lang.sub(this._colSelector, {"," prefix: this._cssPrefix,"," col: colName[1]"," });",""," this.view.tableNode.all(selector).toggleClass(this.highlightClassNames.col, (e.phase === 'over'));"," },",""," /**"," Method called to turn on or off the cell highlighting when the mouse"," enters or leaves the cell. This is determined by the event phase of the"," hover event. Where `over` will turn on the highlighting and anything else"," will turn it off.",""," @protected"," @method _highlightCell"," @param {EventFacade} e Event from the hover event"," @since 3.13.0"," */"," _highlightCell: function(e) {"," e.currentTarget.toggleClass(this.highlightClassNames.cell, (e.phase === 'over'));"," },",""," /**"," Used to transform the `_colNameRegex` to a Regular Expression when the"," column highlighting is initially turned on. If `_colNameRegex` is not a"," string when this method is called, no action is taken.",""," @protected"," @method _buildColSelRegex"," @since 3.13.0"," */"," _buildColSelRegex: function () {"," var str = this._colNameRegex,"," regex;",""," if (typeof str === 'string') {"," this._colNameRegex = new RegExp(Y.Lang.sub(str, { prefix: this._cssPrefix }));"," }"," }","};","","Y.DataTable.Highlight = Highlight;","","Y.Base.mix(Y.DataTable, [Y.DataTable.Highlight]);","","","}, '3.13.0', {\"requires\": [\"datatable-base\", \"event-hover\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_Pw$toercDEQcrfmVsQxX3w = __coverage__['build/datatable-highlight/datatable-highlight.js'];
+__cov_Pw$toercDEQcrfmVsQxX3w.s['1']++;YUI.add('datatable-highlight',function(Y,NAME){__cov_Pw$toercDEQcrfmVsQxX3w.f['1']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['2']++;var getClassName=Y.ClassNameManager.getClassName;__cov_Pw$toercDEQcrfmVsQxX3w.s['3']++;function Highlight(){__cov_Pw$toercDEQcrfmVsQxX3w.f['2']++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['4']++;Highlight.ATTRS={highlightRows:{value:false,setter:'_setHighlightRows',validator:Y.Lang.isBoolean},highlightCols:{value:false,setter:'_setHighlightCols',validator:Y.Lang.isBoolean},highlightCells:{value:false,setter:'_setHighlightCells',validator:Y.Lang.isBoolean}};__cov_Pw$toercDEQcrfmVsQxX3w.s['5']++;Highlight.prototype={highlightClassNames:{row:getClassName(NAME,'row'),col:getClassName(NAME,'col'),cell:getClassName(NAME,'cell')},_colSelector:'.{prefix}-data .{prefix}-col-{col}',_colNameRegex:'{prefix}-col-(\\S*)',_highlightDelegates:{},_setHighlightRows:function(val){__cov_Pw$toercDEQcrfmVsQxX3w.f['3']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['6']++;var del=this._highlightDelegates;__cov_Pw$toercDEQcrfmVsQxX3w.s['7']++;if(del.row){__cov_Pw$toercDEQcrfmVsQxX3w.b['1'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['8']++;del.row.detach();}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['1'][1]++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['9']++;if(val===true){__cov_Pw$toercDEQcrfmVsQxX3w.b['2'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['10']++;del.row=this.delegate('hover',Y.bind(this._highlightRow,this),Y.bind(this._highlightRow,this),'tbody tr');}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['2'][1]++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['11']++;return val;},_setHighlightCols:function(val){__cov_Pw$toercDEQcrfmVsQxX3w.f['4']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['12']++;var del=this._highlightDelegates;__cov_Pw$toercDEQcrfmVsQxX3w.s['13']++;if(del.col){__cov_Pw$toercDEQcrfmVsQxX3w.b['3'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['14']++;del.col.detach();}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['3'][1]++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['15']++;if(val===true){__cov_Pw$toercDEQcrfmVsQxX3w.b['4'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['16']++;this._buildColSelRegex();__cov_Pw$toercDEQcrfmVsQxX3w.s['17']++;del.col=this.delegate('hover',Y.bind(this._highlightCol,this),Y.bind(this._highlightCol,this),'tr td');}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['4'][1]++;}},_setHighlightCells:function(val){__cov_Pw$toercDEQcrfmVsQxX3w.f['5']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['18']++;var del=this._highlightDelegates;__cov_Pw$toercDEQcrfmVsQxX3w.s['19']++;if(del.cell){__cov_Pw$toercDEQcrfmVsQxX3w.b['5'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['20']++;del.cell.detach();}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['5'][1]++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['21']++;if(val===true){__cov_Pw$toercDEQcrfmVsQxX3w.b['6'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['22']++;del.cell=this.delegate('hover',Y.bind(this._highlightCell,this),Y.bind(this._highlightCell,this),'tbody td');}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['6'][1]++;}__cov_Pw$toercDEQcrfmVsQxX3w.s['23']++;return val;},_highlightRow:function(e){__cov_Pw$toercDEQcrfmVsQxX3w.f['6']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['24']++;e.currentTarget.toggleClass(this.highlightClassNames.row,e.phase==='over');},_highlightCol:function(e){__cov_Pw$toercDEQcrfmVsQxX3w.f['7']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['25']++;var colName=this._colNameRegex.exec(e.currentTarget.getAttribute('class')),selector=Y.Lang.sub(this._colSelector,{prefix:this._cssPrefix,col:colName[1]});__cov_Pw$toercDEQcrfmVsQxX3w.s['26']++;this.view.tableNode.all(selector).toggleClass(this.highlightClassNames.col,e.phase==='over');},_highlightCell:function(e){__cov_Pw$toercDEQcrfmVsQxX3w.f['8']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['27']++;e.currentTarget.toggleClass(this.highlightClassNames.cell,e.phase==='over');},_buildColSelRegex:function(){__cov_Pw$toercDEQcrfmVsQxX3w.f['9']++;__cov_Pw$toercDEQcrfmVsQxX3w.s['28']++;var str=this._colNameRegex,regex;__cov_Pw$toercDEQcrfmVsQxX3w.s['29']++;if(typeof str==='string'){__cov_Pw$toercDEQcrfmVsQxX3w.b['7'][0]++;__cov_Pw$toercDEQcrfmVsQxX3w.s['30']++;this._colNameRegex=new RegExp(Y.Lang.sub(str,{prefix:this._cssPrefix}));}else{__cov_Pw$toercDEQcrfmVsQxX3w.b['7'][1]++;}}};__cov_Pw$toercDEQcrfmVsQxX3w.s['31']++;Y.DataTable.Highlight=Highlight;__cov_Pw$toercDEQcrfmVsQxX3w.s['32']++;Y.Base.mix(Y.DataTable,[Y.DataTable.Highlight]);},'3.13.0',{'requires':['datatable-base','event-hover'],'skinnable':true});
diff --git a/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-debug.js b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-debug.js
new file mode 100755
index 00000000000..0ef5d53f911
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-debug.js
@@ -0,0 +1,289 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('datatable-highlight', function (Y, NAME) {
+
+/**
+ Adds support for highlighting columns with the mouse in a DataTable
+
+ @module datatable
+ @submodule datatable-highlight
+ @since 3.13.0
+ */
+
+
+var getClassName = Y.ClassNameManager.getClassName;
+
+/**
+ @class DataTable.Highlight
+ @since 3.13.0
+ */
+function Highlight() {}
+
+Highlight.ATTRS = {
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the row when the mouse is over the row.
+
+ @attribute highlightRows
+ @default false
+ @since 3.13.0
+ */
+ highlightRows: {
+ value: false,
+ setter: '_setHighlightRows',
+ validator: Y.Lang.isBoolean
+ },
+
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the column when the mouse is over the column.
+
+ @attribute highlightCols
+ @default false
+ @since 3.13.0
+ */
+ highlightCols: {
+ value: false,
+ setter: '_setHighlightCols',
+ validator: Y.Lang.isBoolean
+ },
+
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the cell when the mouse is over it.
+
+ @attribute highlightCells
+ @default false
+ @since 3.13.0
+ */
+ highlightCells: {
+ value: false,
+ setter: '_setHighlightCells',
+ validator: Y.Lang.isBoolean
+ }
+};
+
+
+Highlight.prototype = {
+
+ /**
+ An object consisting of classnames for a `row`, a `col` and a `cell` to
+ be applied to their respective objects when the user moves the mouse over
+ the item and the attribute is set to true.
+
+ @public
+ @property highlightClassNames
+ @type Object
+ @since 3.13.0
+ */
+ highlightClassNames: {
+ row: getClassName(NAME, 'row'),
+ col: getClassName(NAME, 'col'),
+ cell: getClassName(NAME, 'cell')
+ },
+
+ /**
+ A string that is used to create a column selector when the column is has
+ the mouse over it. Can contain the css prefix (`{prefix}`) and the column
+ name (`{col}`). Further substitution will require `_highlightCol` to be
+ overwritten.
+
+ @protected
+ @property _colSelector
+ @type String
+ @since 3.13.0
+ */
+ _colSelector: '.{prefix}-data .{prefix}-col-{col}',
+
+ /**
+ A string that will be used to create Regular Expression when column
+ highlighting is set to true. Uses the css prefix (`{prefix}`) from the
+ DataTable object to populate.
+
+ @protected
+ @property _colNameRegex
+ @type String
+ @since 3.13.0
+ */
+ _colNameRegex: '{prefix}-col-(\\S*)',
+
+ /**
+ This object will contain any delegates created when their feature is
+ turned on.
+
+ @protected
+ @property _highlightDelegates
+ @type Object
+ @since 3.13.0
+ */
+ _highlightDelegates: {},
+
+ /**
+ Default setter method for row highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.row`. This
+ delegate will add/remove the row highlight classname to/from the row when
+ the mouse enters/leaves a row on the `tbody`
+
+ @protected
+ @method _setHighlightRows
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightRows: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.row) {
+ del.row.detach();
+ }
+
+ if (val === true) {
+ del.row = this.delegate('hover',
+ Y.bind(this._highlightRow, this),
+ Y.bind(this._highlightRow, this),
+ "tbody tr");
+ }
+
+ return val;
+ },
+
+ /**
+ Default setter method for column highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.col`. This
+ delegate will add/remove the column highlight classname to/from the
+ column when the mouse enters/leaves a column on the `tbody`
+
+ @protected
+ @method _setHighlightCols
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightCols: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.col) {
+ del.col.detach();
+ }
+
+ if (val === true) {
+ this._buildColSelRegex();
+
+ del.col = this.delegate('hover',
+ Y.bind(this._highlightCol, this),
+ Y.bind(this._highlightCol, this),
+ "tr td");
+ }
+ },
+
+ /**
+ Default setter method for cell highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.cell`. This
+ delegate will add/remove the cell highlight classname to/from the cell
+ when the mouse enters/leaves a cell on the `tbody`
+
+ @protected
+ @method _setHighlightCells
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightCells: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.cell) {
+ del.cell.detach();
+ }
+
+ if (val === true) {
+
+ del.cell = this.delegate('hover',
+ Y.bind(this._highlightCell, this),
+ Y.bind(this._highlightCell, this),
+ "tbody td");
+ }
+
+ return val;
+ },
+
+ /**
+ Method called to turn on or off the row highlighting when the mouse
+ enters or leaves the row. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightRow
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightRow: function (e) {
+ e.currentTarget.toggleClass(this.highlightClassNames.row, (e.phase === 'over'));
+ },
+
+ /**
+ Method called to turn on or off the column highlighting when the mouse
+ enters or leaves the column. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightCol
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightCol: function(e) {
+ var colName = this._colNameRegex.exec(e.currentTarget.getAttribute('class')),
+ selector = Y.Lang.sub(this._colSelector, {
+ prefix: this._cssPrefix,
+ col: colName[1]
+ });
+
+ this.view.tableNode.all(selector).toggleClass(this.highlightClassNames.col, (e.phase === 'over'));
+ },
+
+ /**
+ Method called to turn on or off the cell highlighting when the mouse
+ enters or leaves the cell. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightCell
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightCell: function(e) {
+ e.currentTarget.toggleClass(this.highlightClassNames.cell, (e.phase === 'over'));
+ },
+
+ /**
+ Used to transform the `_colNameRegex` to a Regular Expression when the
+ column highlighting is initially turned on. If `_colNameRegex` is not a
+ string when this method is called, no action is taken.
+
+ @protected
+ @method _buildColSelRegex
+ @since 3.13.0
+ */
+ _buildColSelRegex: function () {
+ var str = this._colNameRegex,
+ regex;
+
+ if (typeof str === 'string') {
+ this._colNameRegex = new RegExp(Y.Lang.sub(str, { prefix: this._cssPrefix }));
+ }
+ }
+};
+
+Y.DataTable.Highlight = Highlight;
+
+Y.Base.mix(Y.DataTable, [Y.DataTable.Highlight]);
+
+
+}, '3.13.0', {"requires": ["datatable-base", "event-hover"], "skinnable": true});
diff --git a/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-min.js b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-min.js
new file mode 100755
index 00000000000..a54a49bc543
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight-min.js
@@ -0,0 +1,8 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add("datatable-highlight",function(e,t){function r(){}var n=e.ClassNameManager.getClassName;r.ATTRS={highlightRows:{value:!1,setter:"_setHighlightRows",validator:e.Lang.isBoolean},highlightCols:{value:!1,setter:"_setHighlightCols",validator:e.Lang.isBoolean},highlightCells:{value:!1,setter:"_setHighlightCells",validator:e.Lang.isBoolean}},r.prototype={highlightClassNames:{row:n(t,"row"),col:n(t,"col"),cell:n(t,"cell")},_colSelector:".{prefix}-data .{prefix}-col-{col}",_colNameRegex:"{prefix}-col-(\\S*)",_highlightDelegates:{},_setHighlightRows:function(t){var n=this._highlightDelegates;return n.row&&n.row.detach(),t===!0&&(n.row=this.delegate("hover",e.bind(this._highlightRow,this),e.bind(this._highlightRow,this),"tbody tr")),t},_setHighlightCols:function(t){var n=this._highlightDelegates;n.col&&n.col.detach(),t===!0&&(this._buildColSelRegex(),n.col=this.delegate("hover",e.bind(this._highlightCol,this),e.bind(this._highlightCol,this),"tr td"))},_setHighlightCells:function(t){var n=this._highlightDelegates;return n.cell&&n.cell.detach(),t===!0&&(n.cell=this.delegate("hover",e.bind(this._highlightCell,this),e.bind(this._highlightCell,this),"tbody td")),t},_highlightRow:function(e){e.currentTarget.toggleClass(this.highlightClassNames.row,e.phase==="over")},_highlightCol:function(t){var n=this._colNameRegex.exec(t.currentTarget.getAttribute("class")),r=e.Lang.sub(this._colSelector,{prefix:this._cssPrefix,col:n[1]});this.view.tableNode.all(r).toggleClass(this.highlightClassNames.col,t.phase==="over")},_highlightCell:function(e){e.currentTarget.toggleClass(this.highlightClassNames.cell,e.phase==="over")},_buildColSelRegex:function(){var t=this._colNameRegex,n;typeof t=="string"&&(this._colNameRegex=new RegExp(e.Lang.sub(t,{prefix:this._cssPrefix})))}},e.DataTable.Highlight=r,e.Base.mix(e.DataTable,[e.DataTable.Highlight])},"3.13.0",{requires:["datatable-base","event-hover"],skinnable:!0});
diff --git a/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight.js b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight.js
new file mode 100755
index 00000000000..0ef5d53f911
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-highlight/datatable-highlight.js
@@ -0,0 +1,289 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('datatable-highlight', function (Y, NAME) {
+
+/**
+ Adds support for highlighting columns with the mouse in a DataTable
+
+ @module datatable
+ @submodule datatable-highlight
+ @since 3.13.0
+ */
+
+
+var getClassName = Y.ClassNameManager.getClassName;
+
+/**
+ @class DataTable.Highlight
+ @since 3.13.0
+ */
+function Highlight() {}
+
+Highlight.ATTRS = {
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the row when the mouse is over the row.
+
+ @attribute highlightRows
+ @default false
+ @since 3.13.0
+ */
+ highlightRows: {
+ value: false,
+ setter: '_setHighlightRows',
+ validator: Y.Lang.isBoolean
+ },
+
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the column when the mouse is over the column.
+
+ @attribute highlightCols
+ @default false
+ @since 3.13.0
+ */
+ highlightCols: {
+ value: false,
+ setter: '_setHighlightCols',
+ validator: Y.Lang.isBoolean
+ },
+
+ /**
+ Setting this to true will create a delegate on the DataTable adding the
+ default classname to the cell when the mouse is over it.
+
+ @attribute highlightCells
+ @default false
+ @since 3.13.0
+ */
+ highlightCells: {
+ value: false,
+ setter: '_setHighlightCells',
+ validator: Y.Lang.isBoolean
+ }
+};
+
+
+Highlight.prototype = {
+
+ /**
+ An object consisting of classnames for a `row`, a `col` and a `cell` to
+ be applied to their respective objects when the user moves the mouse over
+ the item and the attribute is set to true.
+
+ @public
+ @property highlightClassNames
+ @type Object
+ @since 3.13.0
+ */
+ highlightClassNames: {
+ row: getClassName(NAME, 'row'),
+ col: getClassName(NAME, 'col'),
+ cell: getClassName(NAME, 'cell')
+ },
+
+ /**
+ A string that is used to create a column selector when the column is has
+ the mouse over it. Can contain the css prefix (`{prefix}`) and the column
+ name (`{col}`). Further substitution will require `_highlightCol` to be
+ overwritten.
+
+ @protected
+ @property _colSelector
+ @type String
+ @since 3.13.0
+ */
+ _colSelector: '.{prefix}-data .{prefix}-col-{col}',
+
+ /**
+ A string that will be used to create Regular Expression when column
+ highlighting is set to true. Uses the css prefix (`{prefix}`) from the
+ DataTable object to populate.
+
+ @protected
+ @property _colNameRegex
+ @type String
+ @since 3.13.0
+ */
+ _colNameRegex: '{prefix}-col-(\\S*)',
+
+ /**
+ This object will contain any delegates created when their feature is
+ turned on.
+
+ @protected
+ @property _highlightDelegates
+ @type Object
+ @since 3.13.0
+ */
+ _highlightDelegates: {},
+
+ /**
+ Default setter method for row highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.row`. This
+ delegate will add/remove the row highlight classname to/from the row when
+ the mouse enters/leaves a row on the `tbody`
+
+ @protected
+ @method _setHighlightRows
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightRows: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.row) {
+ del.row.detach();
+ }
+
+ if (val === true) {
+ del.row = this.delegate('hover',
+ Y.bind(this._highlightRow, this),
+ Y.bind(this._highlightRow, this),
+ "tbody tr");
+ }
+
+ return val;
+ },
+
+ /**
+ Default setter method for column highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.col`. This
+ delegate will add/remove the column highlight classname to/from the
+ column when the mouse enters/leaves a column on the `tbody`
+
+ @protected
+ @method _setHighlightCols
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightCols: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.col) {
+ del.col.detach();
+ }
+
+ if (val === true) {
+ this._buildColSelRegex();
+
+ del.col = this.delegate('hover',
+ Y.bind(this._highlightCol, this),
+ Y.bind(this._highlightCol, this),
+ "tr td");
+ }
+ },
+
+ /**
+ Default setter method for cell highlighting. If the value is true, a
+ delegate is created and stored in `this._highlightDelegates.cell`. This
+ delegate will add/remove the cell highlight classname to/from the cell
+ when the mouse enters/leaves a cell on the `tbody`
+
+ @protected
+ @method _setHighlightCells
+ @param {Boolean} val
+ @return val
+ @since 3.13.0
+ */
+ _setHighlightCells: function (val) {
+ var del = this._highlightDelegates;
+
+ if (del.cell) {
+ del.cell.detach();
+ }
+
+ if (val === true) {
+
+ del.cell = this.delegate('hover',
+ Y.bind(this._highlightCell, this),
+ Y.bind(this._highlightCell, this),
+ "tbody td");
+ }
+
+ return val;
+ },
+
+ /**
+ Method called to turn on or off the row highlighting when the mouse
+ enters or leaves the row. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightRow
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightRow: function (e) {
+ e.currentTarget.toggleClass(this.highlightClassNames.row, (e.phase === 'over'));
+ },
+
+ /**
+ Method called to turn on or off the column highlighting when the mouse
+ enters or leaves the column. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightCol
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightCol: function(e) {
+ var colName = this._colNameRegex.exec(e.currentTarget.getAttribute('class')),
+ selector = Y.Lang.sub(this._colSelector, {
+ prefix: this._cssPrefix,
+ col: colName[1]
+ });
+
+ this.view.tableNode.all(selector).toggleClass(this.highlightClassNames.col, (e.phase === 'over'));
+ },
+
+ /**
+ Method called to turn on or off the cell highlighting when the mouse
+ enters or leaves the cell. This is determined by the event phase of the
+ hover event. Where `over` will turn on the highlighting and anything else
+ will turn it off.
+
+ @protected
+ @method _highlightCell
+ @param {EventFacade} e Event from the hover event
+ @since 3.13.0
+ */
+ _highlightCell: function(e) {
+ e.currentTarget.toggleClass(this.highlightClassNames.cell, (e.phase === 'over'));
+ },
+
+ /**
+ Used to transform the `_colNameRegex` to a Regular Expression when the
+ column highlighting is initially turned on. If `_colNameRegex` is not a
+ string when this method is called, no action is taken.
+
+ @protected
+ @method _buildColSelRegex
+ @since 3.13.0
+ */
+ _buildColSelRegex: function () {
+ var str = this._colNameRegex,
+ regex;
+
+ if (typeof str === 'string') {
+ this._colNameRegex = new RegExp(Y.Lang.sub(str, { prefix: this._cssPrefix }));
+ }
+ }
+};
+
+Y.DataTable.Highlight = Highlight;
+
+Y.Base.mix(Y.DataTable, [Y.DataTable.Highlight]);
+
+
+}, '3.13.0', {"requires": ["datatable-base", "event-hover"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-message/assets/datatable-message-core.css b/lib/yuilib/3.13.0/datatable-message/assets/datatable-message-core.css
old mode 100644
new mode 100755
similarity index 91%
rename from lib/yuilib/3.12.0/datatable-message/assets/datatable-message-core.css
rename to lib/yuilib/3.13.0/datatable-message/assets/datatable-message-core.css
index 696cb88f064..c9284eb8ab5
--- a/lib/yuilib/3.12.0/datatable-message/assets/datatable-message-core.css
+++ b/lib/yuilib/3.13.0/datatable-message/assets/datatable-message-core.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message-skin.css b/lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message-skin.css
old mode 100644
new mode 100755
similarity index 91%
rename from lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message-skin.css
rename to lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message-skin.css
index be2a4400093..06f985c50b0
--- a/lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message-skin.css
+++ b/lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message.css b/lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message.css
old mode 100644
new mode 100755
similarity index 94%
rename from lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message.css
rename to lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message.css
index 2e90ffa4999..d93f54d4282
--- a/lib/yuilib/3.12.0/datatable-message/assets/skins/night/datatable-message.css
+++ b/lib/yuilib/3.13.0/datatable-message/assets/skins/night/datatable-message.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message-skin.css b/lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message-skin.css
old mode 100644
new mode 100755
similarity index 90%
rename from lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message-skin.css
rename to lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message-skin.css
index 1756224e7f0..eafbc9b4cef
--- a/lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message-skin.css
+++ b/lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message.css b/lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message.css
old mode 100644
new mode 100755
similarity index 93%
rename from lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message.css
rename to lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message.css
index 35d98377d25..0202c3943af
--- a/lib/yuilib/3.12.0/datatable-message/assets/skins/sam/datatable-message.css
+++ b/lib/yuilib/3.13.0/datatable-message/assets/skins/sam/datatable-message.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.13.0/datatable-message/datatable-message-coverage.js b/lib/yuilib/3.13.0/datatable-message/datatable-message-coverage.js
new file mode 100755
index 00000000000..b88de8e4d20
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-message/datatable-message-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-message/datatable-message.js']) {
+ __coverage__['build/datatable-message/datatable-message.js'] = {"path":"build/datatable-message/datatable-message.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"(anonymous_2)","line":28,"loc":{"start":{"line":28,"column":45},"end":{"line":28,"column":57}}},"3":{"name":"(anonymous_3)","line":66,"loc":{"start":{"line":66,"column":17},"end":{"line":66,"column":29}}},"4":{"name":"(anonymous_4)","line":84,"loc":{"start":{"line":84,"column":17},"end":{"line":84,"column":36}}},"5":{"name":"(anonymous_5)","line":120,"loc":{"start":{"line":120,"column":32},"end":{"line":120,"column":44}}},"6":{"name":"(anonymous_6)","line":143,"loc":{"start":{"line":143,"column":29},"end":{"line":143,"column":41}}},"7":{"name":"(anonymous_7)","line":156,"loc":{"start":{"line":156,"column":30},"end":{"line":156,"column":43}}},"8":{"name":"(anonymous_8)","line":176,"loc":{"start":{"line":176,"column":20},"end":{"line":176,"column":32}}},"9":{"name":"(anonymous_9)","line":194,"loc":{"start":{"line":194,"column":17},"end":{"line":194,"column":29}}},"10":{"name":"(anonymous_10)","line":213,"loc":{"start":{"line":213,"column":22},"end":{"line":213,"column":34}}},"11":{"name":"(anonymous_11)","line":233,"loc":{"start":{"line":233,"column":25},"end":{"line":233,"column":37}}},"12":{"name":"(anonymous_12)","line":256,"loc":{"start":{"line":256,"column":20},"end":{"line":256,"column":32}}},"13":{"name":"(anonymous_13)","line":275,"loc":{"start":{"line":275,"column":19},"end":{"line":275,"column":32}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":290,"column":106}},"2":{"start":{"line":12,"column":0},"end":{"line":12,"column":12}},"3":{"start":{"line":28,"column":0},"end":{"line":28,"column":60}},"4":{"start":{"line":30,"column":0},"end":{"line":45,"column":2}},"5":{"start":{"line":47,"column":0},"end":{"line":282,"column":3}},"6":{"start":{"line":67,"column":8},"end":{"line":68,"column":53}},"7":{"start":{"line":70,"column":8},"end":{"line":70,"column":20}},"8":{"start":{"line":85,"column":8},"end":{"line":85,"column":57}},"9":{"start":{"line":87,"column":8},"end":{"line":89,"column":9}},"10":{"start":{"line":88,"column":12},"end":{"line":88,"column":36}},"11":{"start":{"line":91,"column":8},"end":{"line":104,"column":9}},"12":{"start":{"line":92,"column":12},"end":{"line":103,"column":13}},"13":{"start":{"line":93,"column":16},"end":{"line":95,"column":38}},"14":{"start":{"line":97,"column":16},"end":{"line":98,"column":60}},"15":{"start":{"line":102,"column":16},"end":{"line":102,"column":35}},"16":{"start":{"line":106,"column":8},"end":{"line":106,"column":20}},"17":{"start":{"line":121,"column":8},"end":{"line":121,"column":24}},"18":{"start":{"line":123,"column":8},"end":{"line":132,"column":9}},"19":{"start":{"line":124,"column":12},"end":{"line":125,"column":63}},"20":{"start":{"line":127,"column":12},"end":{"line":131,"column":13}},"21":{"start":{"line":130,"column":16},"end":{"line":130,"column":72}},"22":{"start":{"line":144,"column":8},"end":{"line":144,"column":29}},"23":{"start":{"line":157,"column":8},"end":{"line":165,"column":9}},"24":{"start":{"line":158,"column":12},"end":{"line":158,"column":34}},"25":{"start":{"line":159,"column":15},"end":{"line":165,"column":9}},"26":{"start":{"line":160,"column":12},"end":{"line":161,"column":57}},"27":{"start":{"line":163,"column":12},"end":{"line":163,"column":53}},"28":{"start":{"line":164,"column":12},"end":{"line":164,"column":37}},"29":{"start":{"line":177,"column":8},"end":{"line":178,"column":53}},"30":{"start":{"line":180,"column":8},"end":{"line":180,"column":80}},"31":{"start":{"line":182,"column":8},"end":{"line":183,"column":54}},"32":{"start":{"line":195,"column":8},"end":{"line":195,"column":35}},"33":{"start":{"line":197,"column":8},"end":{"line":199,"column":9}},"34":{"start":{"line":198,"column":12},"end":{"line":198,"column":77}},"35":{"start":{"line":201,"column":8},"end":{"line":201,"column":67}},"36":{"start":{"line":202,"column":8},"end":{"line":202,"column":67}},"37":{"start":{"line":214,"column":8},"end":{"line":223,"column":9}},"38":{"start":{"line":215,"column":12},"end":{"line":220,"column":20}},"39":{"start":{"line":222,"column":12},"end":{"line":222,"column":77}},"40":{"start":{"line":235,"column":8},"end":{"line":236,"column":46}},"41":{"start":{"line":257,"column":8},"end":{"line":257,"column":29}},"42":{"start":{"line":276,"column":8},"end":{"line":280,"column":9}},"43":{"start":{"line":277,"column":12},"end":{"line":277,"column":65}},"44":{"start":{"line":279,"column":12},"end":{"line":279,"column":31}},"45":{"start":{"line":285,"column":0},"end":{"line":287,"column":1}},"46":{"start":{"line":286,"column":4},"end":{"line":286,"column":41}}},"branchMap":{"1":{"line":85,"type":"binary-expr","locations":[{"start":{"line":85,"column":22},"end":{"line":85,"column":45}},{"start":{"line":85,"column":49},"end":{"line":85,"column":56}}]},"2":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":87,"column":8}},{"start":{"line":87,"column":8},"end":{"line":87,"column":8}}]},"3":{"line":91,"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":91,"column":8}},{"start":{"line":91,"column":8},"end":{"line":91,"column":8}}]},"4":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":12},"end":{"line":92,"column":12}},{"start":{"line":92,"column":12},"end":{"line":92,"column":12}}]},"5":{"line":123,"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":123,"column":8}},{"start":{"line":123,"column":8},"end":{"line":123,"column":8}}]},"6":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":12}},{"start":{"line":127,"column":12},"end":{"line":127,"column":12}}]},"7":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":157,"column":8}},{"start":{"line":157,"column":8},"end":{"line":157,"column":8}}]},"8":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":15},"end":{"line":159,"column":15}},{"start":{"line":159,"column":15},"end":{"line":159,"column":15}}]},"9":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":8},"end":{"line":197,"column":8}},{"start":{"line":197,"column":8},"end":{"line":197,"column":8}}]},"10":{"line":214,"type":"if","locations":[{"start":{"line":214,"column":8},"end":{"line":214,"column":8}},{"start":{"line":214,"column":8},"end":{"line":214,"column":8}}]},"11":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":29},"end":{"line":219,"column":56}},{"start":{"line":219,"column":60},"end":{"line":219,"column":61}}]},"12":{"line":235,"type":"binary-expr","locations":[{"start":{"line":235,"column":35},"end":{"line":235,"column":54}},{"start":{"line":235,"column":58},"end":{"line":235,"column":60}}]},"13":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":8},"end":{"line":276,"column":8}},{"start":{"line":276,"column":8},"end":{"line":276,"column":8}}]},"14":{"line":277,"type":"binary-expr","locations":[{"start":{"line":277,"column":30},"end":{"line":277,"column":31}},{"start":{"line":277,"column":35},"end":{"line":277,"column":44}},{"start":{"line":277,"column":49},"end":{"line":277,"column":63}}]},"15":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":0},"end":{"line":285,"column":0}},{"start":{"line":285,"column":0},"end":{"line":285,"column":0}}]}},"code":["(function () { YUI.add('datatable-message', function (Y, NAME) {","","/**","Adds support for a message container to appear in the table. This can be used","to indicate loading progress, lack of records, or any other communication","needed.","","@module datatable","@submodule datatable-message","@since 3.5.0","**/","var Message;","","/**","_API docs for this extension are included in the DataTable class._","","Adds support for a message container to appear in the table. This can be used","to indicate loading progress, lack of records, or any other communication","needed.","","Features added to `Y.DataTable`, and made available for custom classes at","`Y.DataTable.Message`.","","@class DataTable.Message","@for DataTable","@since 3.5.0","**/","Y.namespace('DataTable').Message = Message = function () {};","","Message.ATTRS = {"," /**"," Enables the display of messages in the table. Setting this to false will"," prevent the message Node from being created and `showMessage` from doing"," anything.",""," @attribute showMessages"," @type {Boolean}"," @default true"," @since 3.5.0"," **/"," showMessages: {"," value: true,"," validator: Y.Lang.isBoolean"," }","};","","Y.mix(Message.prototype, {"," /**"," Template used to generate the node that will be used to report messages.",""," @property MESSAGE_TEMPLATE"," @type {HTML}"," @default
"," @since 3.5.0"," **/"," MESSAGE_TEMPLATE: '
',",""," /**"," Hides the message node.",""," @method hideMessage"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," hideMessage: function () {"," this.get('boundingBox').removeClass("," this.getClassName('message', 'visible'));",""," return this;"," },",""," /**"," Display the message node and set its content to `message`. If there is a"," localized `strings` entry for the value of `message`, that string will be"," used.",""," @method showMessage"," @param {String} message The message name or message itself to display"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," showMessage: function (message) {"," var content = this.getString(message) || message;",""," if (!this._messageNode) {"," this._initMessageNode();"," }",""," if (this.get('showMessages')) {"," if (content) {"," this._messageNode.one("," '.' + this.getClassName('message', 'content'))"," .setHTML(content);",""," this.get('boundingBox').addClass("," this.getClassName('message','visible'));"," } else {"," // TODO: is this right?"," // If no message provided, remove the message node."," this.hideMessage();"," }"," }",""," return this;"," },",""," //--------------------------------------------------------------------------"," // Protected methods"," //--------------------------------------------------------------------------"," /**"," Updates the colspan of the `
` used to display the messages.",""," @method _afterMessageColumnsChange"," @param {EventFacade} e The columnsChange event"," @protected"," @since 3.5.0"," **/"," _afterMessageColumnsChange: function () {"," var contentNode;",""," if (this._messageNode) {"," contentNode = this._messageNode.one("," '.' + this.getClassName('message', 'content'));",""," if (contentNode) {"," // FIXME: This needs to become a class extension plus a view or"," // plugin for the table view."," contentNode.set('colSpan', this._displayColumns.length);"," }"," }"," },",""," /**"," Relays to `_uiSetMessage` to hide or show the message node.",""," @method _afterMessageDataChange"," @param {EventFacade} e The dataChange event"," @protected"," @since 3.5.0"," **/"," _afterMessageDataChange: function () {"," this._uiSetMessage();"," },",""," /**"," Removes the message node if `showMessages` is `false`, or relays to"," `_uiSetMessage` if `true`.",""," @method _afterShowMessagesChange"," @param {EventFacade} e The showMessagesChange event"," @protected"," @since 3.5.0"," **/"," _afterShowMessagesChange: function (e) {"," if (e.newVal) {"," this._uiSetMessage(e);"," } else if (this._messageNode) {"," this.get('boundingBox').removeClass("," this.getClassName('message', 'visible'));",""," this._messageNode.remove().destroy(true);"," this._messageNode = null;"," }"," },",""," /**"," Binds the events necessary to keep the message node in sync with the current"," table and configuration state.",""," @method _bindMessageUI"," @protected"," @since 3.5.0"," **/"," _bindMessageUI: function () {"," this.after(['dataChange', '*:add', '*:remove', '*:reset'],"," Y.bind('_afterMessageDataChange', this));",""," this.after('columnsChange', Y.bind('_afterMessageColumnsChange', this));",""," this.after('showMessagesChange',"," Y.bind('_afterShowMessagesChange', this));"," },",""," /**"," Merges in the message related strings and hooks into the rendering cycle to"," also render and bind the message node.",""," @method initializer"," @protected"," @since 3.5.0"," **/"," initializer: function () {"," this._initMessageStrings();",""," if (this.get('showMessages')) {"," this.after('table:renderBody', Y.bind('_initMessageNode', this));"," }",""," this.after(Y.bind('_bindMessageUI', this), this, 'bindUI');"," this.after(Y.bind('_syncMessageUI', this), this, 'syncUI');"," },",""," /**"," Creates the `_messageNode` property from the configured `MESSAGE_TEMPLATE`"," and inserts it before the `
`'s `` node.",""," @method _initMessageNode"," @protected"," @since 3.5.0"," **/"," _initMessageNode: function () {"," if (!this._messageNode) {"," this._messageNode = Y.Node.create("," Y.Lang.sub(this.MESSAGE_TEMPLATE, {"," className: this.getClassName('message'),"," contentClass: this.getClassName('message', 'content'),"," colspan: this._displayColumns.length || 1"," }));",""," this._tableNode.insertBefore(this._messageNode, this._tbodyNode);"," }"," },",""," /**"," Add the messaging related strings to the `strings` map.",""," @method _initMessageStrings"," @protected"," @since 3.5.0"," **/"," _initMessageStrings: function () {"," // Not a valueFn because other class extensions will want to add to it"," this.set('strings', Y.mix((this.get('strings') || {}),"," Y.Intl.get('datatable-message')));"," },",""," /**"," Node used to display messages from `showMessage`.",""," @property _messageNode"," @type {Node}"," @value `undefined` (not initially set)"," @since 3.5.0"," **/"," //_messageNode: null,",""," /**"," Synchronizes the message UI with the table state.",""," @method _syncMessageUI"," @protected"," @since 3.5.0"," **/"," _syncMessageUI: function () {"," this._uiSetMessage();"," },",""," /**"," Calls `hideMessage` or `showMessage` as appropriate based on the presence of"," records in the `data` ModelList.",""," This is called when `data` is reset or records are added or removed. Also,"," if the `showMessages` attribute is updated. In either case, if the"," triggering event has a `message` property on the EventFacade, it will be"," passed to `showMessage` (if appropriate). If no such property is on the"," facade, the `emptyMessage` will be used (see the strings).",""," @method _uiSetMessage"," @param {EventFacade} e The columnsChange event"," @protected"," @since 3.5.0"," **/"," _uiSetMessage: function (e) {"," if (!this.data.size()) {"," this.showMessage((e && e.message) || 'emptyMessage');"," } else {"," this.hideMessage();"," }"," }","});","","","if (Y.Lang.isFunction(Y.DataTable)) {"," Y.Base.mix(Y.DataTable, [ Message ]);","}","","","}, '3.13.0', {\"requires\": [\"datatable-base\"], \"lang\": [\"en\", \"fr\", \"es\", \"hu\", \"it\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_jkuJLMCy12gKeNLUjE21Ng = __coverage__['build/datatable-message/datatable-message.js'];
+__cov_jkuJLMCy12gKeNLUjE21Ng.s['1']++;YUI.add('datatable-message',function(Y,NAME){__cov_jkuJLMCy12gKeNLUjE21Ng.f['1']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['2']++;var Message;__cov_jkuJLMCy12gKeNLUjE21Ng.s['3']++;Y.namespace('DataTable').Message=Message=function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['2']++;};__cov_jkuJLMCy12gKeNLUjE21Ng.s['4']++;Message.ATTRS={showMessages:{value:true,validator:Y.Lang.isBoolean}};__cov_jkuJLMCy12gKeNLUjE21Ng.s['5']++;Y.mix(Message.prototype,{MESSAGE_TEMPLATE:'
',hideMessage:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['3']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['6']++;this.get('boundingBox').removeClass(this.getClassName('message','visible'));__cov_jkuJLMCy12gKeNLUjE21Ng.s['7']++;return this;},showMessage:function(message){__cov_jkuJLMCy12gKeNLUjE21Ng.f['4']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['8']++;var content=(__cov_jkuJLMCy12gKeNLUjE21Ng.b['1'][0]++,this.getString(message))||(__cov_jkuJLMCy12gKeNLUjE21Ng.b['1'][1]++,message);__cov_jkuJLMCy12gKeNLUjE21Ng.s['9']++;if(!this._messageNode){__cov_jkuJLMCy12gKeNLUjE21Ng.b['2'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['10']++;this._initMessageNode();}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['2'][1]++;}__cov_jkuJLMCy12gKeNLUjE21Ng.s['11']++;if(this.get('showMessages')){__cov_jkuJLMCy12gKeNLUjE21Ng.b['3'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['12']++;if(content){__cov_jkuJLMCy12gKeNLUjE21Ng.b['4'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['13']++;this._messageNode.one('.'+this.getClassName('message','content')).setHTML(content);__cov_jkuJLMCy12gKeNLUjE21Ng.s['14']++;this.get('boundingBox').addClass(this.getClassName('message','visible'));}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['4'][1]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['15']++;this.hideMessage();}}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['3'][1]++;}__cov_jkuJLMCy12gKeNLUjE21Ng.s['16']++;return this;},_afterMessageColumnsChange:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['5']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['17']++;var contentNode;__cov_jkuJLMCy12gKeNLUjE21Ng.s['18']++;if(this._messageNode){__cov_jkuJLMCy12gKeNLUjE21Ng.b['5'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['19']++;contentNode=this._messageNode.one('.'+this.getClassName('message','content'));__cov_jkuJLMCy12gKeNLUjE21Ng.s['20']++;if(contentNode){__cov_jkuJLMCy12gKeNLUjE21Ng.b['6'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['21']++;contentNode.set('colSpan',this._displayColumns.length);}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['6'][1]++;}}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['5'][1]++;}},_afterMessageDataChange:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['6']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['22']++;this._uiSetMessage();},_afterShowMessagesChange:function(e){__cov_jkuJLMCy12gKeNLUjE21Ng.f['7']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['23']++;if(e.newVal){__cov_jkuJLMCy12gKeNLUjE21Ng.b['7'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['24']++;this._uiSetMessage(e);}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['7'][1]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['25']++;if(this._messageNode){__cov_jkuJLMCy12gKeNLUjE21Ng.b['8'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['26']++;this.get('boundingBox').removeClass(this.getClassName('message','visible'));__cov_jkuJLMCy12gKeNLUjE21Ng.s['27']++;this._messageNode.remove().destroy(true);__cov_jkuJLMCy12gKeNLUjE21Ng.s['28']++;this._messageNode=null;}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['8'][1]++;}}},_bindMessageUI:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['8']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['29']++;this.after(['dataChange','*:add','*:remove','*:reset'],Y.bind('_afterMessageDataChange',this));__cov_jkuJLMCy12gKeNLUjE21Ng.s['30']++;this.after('columnsChange',Y.bind('_afterMessageColumnsChange',this));__cov_jkuJLMCy12gKeNLUjE21Ng.s['31']++;this.after('showMessagesChange',Y.bind('_afterShowMessagesChange',this));},initializer:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['9']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['32']++;this._initMessageStrings();__cov_jkuJLMCy12gKeNLUjE21Ng.s['33']++;if(this.get('showMessages')){__cov_jkuJLMCy12gKeNLUjE21Ng.b['9'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['34']++;this.after('table:renderBody',Y.bind('_initMessageNode',this));}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['9'][1]++;}__cov_jkuJLMCy12gKeNLUjE21Ng.s['35']++;this.after(Y.bind('_bindMessageUI',this),this,'bindUI');__cov_jkuJLMCy12gKeNLUjE21Ng.s['36']++;this.after(Y.bind('_syncMessageUI',this),this,'syncUI');},_initMessageNode:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['10']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['37']++;if(!this._messageNode){__cov_jkuJLMCy12gKeNLUjE21Ng.b['10'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['38']++;this._messageNode=Y.Node.create(Y.Lang.sub(this.MESSAGE_TEMPLATE,{className:this.getClassName('message'),contentClass:this.getClassName('message','content'),colspan:(__cov_jkuJLMCy12gKeNLUjE21Ng.b['11'][0]++,this._displayColumns.length)||(__cov_jkuJLMCy12gKeNLUjE21Ng.b['11'][1]++,1)}));__cov_jkuJLMCy12gKeNLUjE21Ng.s['39']++;this._tableNode.insertBefore(this._messageNode,this._tbodyNode);}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['10'][1]++;}},_initMessageStrings:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['11']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['40']++;this.set('strings',Y.mix((__cov_jkuJLMCy12gKeNLUjE21Ng.b['12'][0]++,this.get('strings'))||(__cov_jkuJLMCy12gKeNLUjE21Ng.b['12'][1]++,{}),Y.Intl.get('datatable-message')));},_syncMessageUI:function(){__cov_jkuJLMCy12gKeNLUjE21Ng.f['12']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['41']++;this._uiSetMessage();},_uiSetMessage:function(e){__cov_jkuJLMCy12gKeNLUjE21Ng.f['13']++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['42']++;if(!this.data.size()){__cov_jkuJLMCy12gKeNLUjE21Ng.b['13'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['43']++;this.showMessage((__cov_jkuJLMCy12gKeNLUjE21Ng.b['14'][0]++,e)&&(__cov_jkuJLMCy12gKeNLUjE21Ng.b['14'][1]++,e.message)||(__cov_jkuJLMCy12gKeNLUjE21Ng.b['14'][2]++,'emptyMessage'));}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['13'][1]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['44']++;this.hideMessage();}}});__cov_jkuJLMCy12gKeNLUjE21Ng.s['45']++;if(Y.Lang.isFunction(Y.DataTable)){__cov_jkuJLMCy12gKeNLUjE21Ng.b['15'][0]++;__cov_jkuJLMCy12gKeNLUjE21Ng.s['46']++;Y.Base.mix(Y.DataTable,[Message]);}else{__cov_jkuJLMCy12gKeNLUjE21Ng.b['15'][1]++;}},'3.13.0',{'requires':['datatable-base'],'lang':['en','fr','es','hu','it'],'skinnable':true});
diff --git a/lib/yuilib/3.12.0/datatable-message/datatable-message-debug.js b/lib/yuilib/3.13.0/datatable-message/datatable-message-debug.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-message/datatable-message-debug.js
rename to lib/yuilib/3.13.0/datatable-message/datatable-message-debug.js
index da342975fa3..296423249ee
--- a/lib/yuilib/3.12.0/datatable-message/datatable-message-debug.js
+++ b/lib/yuilib/3.13.0/datatable-message/datatable-message-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -294,4 +294,4 @@ if (Y.Lang.isFunction(Y.DataTable)) {
}
-}, '3.12.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu", "it"], "skinnable": true});
+}, '3.13.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu", "it"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-message/datatable-message-min.js b/lib/yuilib/3.13.0/datatable-message/datatable-message-min.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/datatable-message/datatable-message-min.js
rename to lib/yuilib/3.13.0/datatable-message/datatable-message-min.js
index 5999fa56ce3..a09f6929e0a
--- a/lib/yuilib/3.12.0/datatable-message/datatable-message-min.js
+++ b/lib/yuilib/3.13.0/datatable-message/datatable-message-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("datatable-message",function(e,t){var n;e.namespace("DataTable").Message=n=function(){},n.ATTRS={showMessages:{value:!0,validator:e.Lang.isBoolean}},e.mix(n.prototype,{MESSAGE_TEMPLATE:'
',hideMessage:function(){return this.get("boundingBox").removeClass(this.getClassName("message","visible")),this},showMessage:function(e){var t=this.getString(e)||e;return this._messageNode||this._initMessageNode(),this.get("showMessages")&&(t?(this._messageNode.one("."+this.getClassName("message","content")).setHTML(t),this.get("boundingBox").addClass(this.getClassName("message","visible"))):this.hideMessage()),this},_afterMessageColumnsChange:function(){var e;this._messageNode&&(e=this._messageNode.one("."+this.getClassName("message","content")),e&&e.set("colSpan",this._displayColumns.length))},_afterMessageDataChange:function(){this._uiSetMessage()},_afterShowMessagesChange:function(e){e.newVal?this._uiSetMessage(e):this._messageNode&&(this.get("boundingBox").removeClass(this.getClassName("message","visible")),this._messageNode.remove().destroy(!0),this._messageNode=null)},_bindMessageUI:function(){this.after(["dataChange","*:add","*:remove","*:reset"],e.bind("_afterMessageDataChange",this)),this.after("columnsChange",e.bind("_afterMessageColumnsChange",this)),this.after("showMessagesChange",e.bind("_afterShowMessagesChange",this))},initializer:function(){this._initMessageStrings(),this.get("showMessages")&&this.after("table:renderBody",e.bind("_initMessageNode",this)),this.after(e.bind("_bindMessageUI",this),this,"bindUI"),this.after(e.bind("_syncMessageUI",this),this,"syncUI")},_initMessageNode:function(){this._messageNode||(this._messageNode=e.Node.create(e.Lang.sub(this.MESSAGE_TEMPLATE,{className:this.getClassName("message"),contentClass:this.getClassName("message","content"),colspan:this._displayColumns.length||1})),this._tableNode.insertBefore(this._messageNode,this._tbodyNode))},_initMessageStrings:function(){this.set("strings",e.mix(this.get("strings")||{},e.Intl.get("datatable-message")))},_syncMessageUI:function(){this._uiSetMessage()},_uiSetMessage:function(e){this.data.size()?this.hideMessage():this.showMessage(e&&e.message||"emptyMessage")}}),e.Lang.isFunction(e.DataTable)&&e.Base.mix(e.DataTable,[n])},"3.13.0",{requires:["datatable-base"],lang:["en","fr","es","hu","it"],skinnable:!0});
diff --git a/lib/yuilib/3.12.0/datatable-message/datatable-message.js b/lib/yuilib/3.13.0/datatable-message/datatable-message.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-message/datatable-message.js
rename to lib/yuilib/3.13.0/datatable-message/datatable-message.js
index da342975fa3..296423249ee
--- a/lib/yuilib/3.12.0/datatable-message/datatable-message.js
+++ b/lib/yuilib/3.13.0/datatable-message/datatable-message.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -294,4 +294,4 @@ if (Y.Lang.isFunction(Y.DataTable)) {
}
-}, '3.12.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu", "it"], "skinnable": true});
+}, '3.13.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu", "it"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message.js
old mode 100644
new mode 100755
similarity index 81%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message.js
index e5f0e2dd324..367d59ad66a
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message",function(e){e.Intl.add("datatable-message","",{emptyMessage:"No data to display",loadingMessage:"Loading..."})},"3.12.0");
+YUI.add("lang/datatable-message",function(e){e.Intl.add("datatable-message","",{emptyMessage:"No data to display",loadingMessage:"Loading..."})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_en.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_en.js
old mode 100644
new mode 100755
similarity index 80%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message_en.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message_en.js
index 0ab1a004ba0..34064124b5f
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_en.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_en.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message_en",function(e){e.Intl.add("datatable-message","en",{emptyMessage:"No data to display",loadingMessage:"Loading..."})},"3.12.0");
+YUI.add("lang/datatable-message_en",function(e){e.Intl.add("datatable-message","en",{emptyMessage:"No data to display",loadingMessage:"Loading..."})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_es.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_es.js
old mode 100644
new mode 100755
similarity index 78%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message_es.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message_es.js
index 01f986db29a..a8c6f252d9d
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_es.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_es.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message_es",function(e){e.Intl.add("datatable-message","es",{emptyMessage:"No hay datos que mostrar",loadingMessage:"Cargando..."})},"3.12.0");
+YUI.add("lang/datatable-message_es",function(e){e.Intl.add("datatable-message","es",{emptyMessage:"No hay datos que mostrar",loadingMessage:"Cargando..."})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_fr.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_fr.js
old mode 100644
new mode 100755
similarity index 75%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message_fr.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message_fr.js
index 321c8d216ae..4fcdd23ec08
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_fr.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_fr.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message_fr",function(e){e.Intl.add("datatable-message","fr",{emptyMessage:"Aucune donn\u00e9e \u00e0 afficher",loadingMessage:"Chargement..."})},"3.12.0");
+YUI.add("lang/datatable-message_fr",function(e){e.Intl.add("datatable-message","fr",{emptyMessage:"Aucune donn\u00e9e \u00e0 afficher",loadingMessage:"Chargement..."})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_hu.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_hu.js
old mode 100644
new mode 100755
similarity index 73%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message_hu.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message_hu.js
index fd84ae35f1c..0302e27cab4
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_hu.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_hu.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message_hu",function(e){e.Intl.add("datatable-message","hu",{emptyMessage:"Nincs megjelen\u00edthet\u0151 adat",loadingMessage:"Bet\u00f6lt\u00e9s..."})},"3.12.0");
+YUI.add("lang/datatable-message_hu",function(e){e.Intl.add("datatable-message","hu",{emptyMessage:"Nincs megjelen\u00edthet\u0151 adat",loadingMessage:"Bet\u00f6lt\u00e9s..."})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_it.js b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_it.js
old mode 100644
new mode 100755
similarity index 77%
rename from lib/yuilib/3.12.0/datatable-message/lang/datatable-message_it.js
rename to lib/yuilib/3.13.0/datatable-message/lang/datatable-message_it.js
index 89f42fca68a..7ab468f1742
--- a/lib/yuilib/3.12.0/datatable-message/lang/datatable-message_it.js
+++ b/lib/yuilib/3.13.0/datatable-message/lang/datatable-message_it.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-message_it",function(e){e.Intl.add("datatable-message","it",{emptyMessage:"Non ci sono dati da mostrare",loadingMessage:"Caricando..."})},"3.12.0");
+YUI.add("lang/datatable-message_it",function(e){e.Intl.add("datatable-message","it",{emptyMessage:"Non ci sono dati da mostrare",loadingMessage:"Caricando..."})},"3.13.0");
diff --git a/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-coverage.js b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-coverage.js
new file mode 100755
index 00000000000..99db6354ed6
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-mutable/datatable-mutable.js']) {
+ __coverage__['build/datatable-mutable/datatable-mutable.js'] = {"path":"build/datatable-mutable/datatable-mutable.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"(anonymous_2)","line":39,"loc":{"start":{"line":39,"column":45},"end":{"line":39,"column":57}}},"3":{"name":"(anonymous_3)","line":98,"loc":{"start":{"line":98,"column":15},"end":{"line":98,"column":40}}},"4":{"name":"(anonymous_4)","line":140,"loc":{"start":{"line":140,"column":18},"end":{"line":140,"column":42}}},"5":{"name":"(anonymous_5)","line":169,"loc":{"start":{"line":169,"column":16},"end":{"line":169,"column":39}}},"6":{"name":"(anonymous_6)","line":190,"loc":{"start":{"line":190,"column":18},"end":{"line":190,"column":34}}},"7":{"name":"(anonymous_7)","line":230,"loc":{"start":{"line":230,"column":12},"end":{"line":230,"column":36}}},"8":{"name":"(anonymous_8)","line":289,"loc":{"start":{"line":289,"column":15},"end":{"line":289,"column":37}}},"9":{"name":"(anonymous_9)","line":363,"loc":{"start":{"line":363,"column":15},"end":{"line":363,"column":43}}},"10":{"name":"(anonymous_10)","line":408,"loc":{"start":{"line":408,"column":21},"end":{"line":408,"column":34}}},"11":{"name":"(anonymous_11)","line":437,"loc":{"start":{"line":437,"column":24},"end":{"line":437,"column":37}}},"12":{"name":"(anonymous_12)","line":461,"loc":{"start":{"line":461,"column":22},"end":{"line":461,"column":35}}},"13":{"name":"(anonymous_13)","line":510,"loc":{"start":{"line":510,"column":24},"end":{"line":510,"column":37}}},"14":{"name":"(anonymous_14)","line":539,"loc":{"start":{"line":539,"column":17},"end":{"line":539,"column":29}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":630,"column":47}},"2":{"start":{"line":10,"column":0},"end":{"line":17,"column":12}},"3":{"start":{"line":39,"column":0},"end":{"line":39,"column":60}},"4":{"start":{"line":41,"column":0},"end":{"line":59,"column":2}},"5":{"start":{"line":61,"column":0},"end":{"line":547,"column":3}},"6":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"7":{"start":{"line":100,"column":12},"end":{"line":100,"column":37}},"8":{"start":{"line":103,"column":8},"end":{"line":112,"column":9}},"9":{"start":{"line":104,"column":12},"end":{"line":106,"column":13}},"10":{"start":{"line":105,"column":16},"end":{"line":105,"column":51}},"11":{"start":{"line":108,"column":12},"end":{"line":111,"column":15}},"12":{"start":{"line":113,"column":8},"end":{"line":113,"column":20}},"13":{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},"14":{"start":{"line":142,"column":12},"end":{"line":142,"column":37}},"15":{"start":{"line":145,"column":8},"end":{"line":150,"column":9}},"16":{"start":{"line":146,"column":12},"end":{"line":149,"column":15}},"17":{"start":{"line":152,"column":8},"end":{"line":152,"column":20}},"18":{"start":{"line":170,"column":8},"end":{"line":175,"column":9}},"19":{"start":{"line":171,"column":12},"end":{"line":174,"column":15}},"20":{"start":{"line":177,"column":8},"end":{"line":177,"column":20}},"21":{"start":{"line":191,"column":8},"end":{"line":195,"column":9}},"22":{"start":{"line":192,"column":12},"end":{"line":194,"column":15}},"23":{"start":{"line":197,"column":8},"end":{"line":197,"column":20}},"24":{"start":{"line":232,"column":8},"end":{"line":235,"column":40}},"25":{"start":{"line":237,"column":8},"end":{"line":252,"column":9}},"26":{"start":{"line":238,"column":12},"end":{"line":238,"column":63}},"27":{"start":{"line":240,"column":12},"end":{"line":251,"column":13}},"28":{"start":{"line":241,"column":16},"end":{"line":241,"column":41}},"29":{"start":{"line":242,"column":16},"end":{"line":242,"column":53}},"30":{"start":{"line":244,"column":16},"end":{"line":250,"column":17}},"31":{"start":{"line":245,"column":20},"end":{"line":245,"column":38}},"32":{"start":{"line":247,"column":20},"end":{"line":249,"column":21}},"33":{"start":{"line":248,"column":24},"end":{"line":248,"column":62}},"34":{"start":{"line":254,"column":8},"end":{"line":254,"column":20}},"35":{"start":{"line":290,"column":8},"end":{"line":295,"column":40}},"36":{"start":{"line":298,"column":8},"end":{"line":304,"column":9}},"37":{"start":{"line":299,"column":12},"end":{"line":299,"column":23}},"38":{"start":{"line":300,"column":15},"end":{"line":304,"column":9}},"39":{"start":{"line":301,"column":12},"end":{"line":303,"column":39}},"40":{"start":{"line":306,"column":8},"end":{"line":326,"column":9}},"41":{"start":{"line":307,"column":12},"end":{"line":307,"column":47}},"42":{"start":{"line":309,"column":12},"end":{"line":310,"column":38}},"43":{"start":{"line":312,"column":12},"end":{"line":325,"column":13}},"44":{"start":{"line":313,"column":16},"end":{"line":315,"column":17}},"45":{"start":{"line":314,"column":20},"end":{"line":314,"column":37}},"46":{"start":{"line":317,"column":16},"end":{"line":317,"column":41}},"47":{"start":{"line":319,"column":16},"end":{"line":319,"column":41}},"48":{"start":{"line":321,"column":16},"end":{"line":324,"column":17}},"49":{"start":{"line":322,"column":20},"end":{"line":322,"column":38}},"50":{"start":{"line":323,"column":20},"end":{"line":323,"column":53}},"51":{"start":{"line":328,"column":8},"end":{"line":328,"column":20}},"52":{"start":{"line":364,"column":8},"end":{"line":369,"column":24}},"53":{"start":{"line":371,"column":8},"end":{"line":377,"column":9}},"54":{"start":{"line":372,"column":12},"end":{"line":372,"column":23}},"55":{"start":{"line":373,"column":15},"end":{"line":377,"column":9}},"56":{"start":{"line":374,"column":12},"end":{"line":376,"column":39}},"57":{"start":{"line":379,"column":8},"end":{"line":387,"column":9}},"58":{"start":{"line":380,"column":12},"end":{"line":380,"column":47}},"59":{"start":{"line":382,"column":12},"end":{"line":382,"column":46}},"60":{"start":{"line":384,"column":12},"end":{"line":386,"column":13}},"61":{"start":{"line":385,"column":16},"end":{"line":385,"column":46}},"62":{"start":{"line":389,"column":8},"end":{"line":389,"column":20}},"63":{"start":{"line":409,"column":8},"end":{"line":412,"column":19}},"64":{"start":{"line":414,"column":8},"end":{"line":416,"column":9}},"65":{"start":{"line":415,"column":12},"end":{"line":415,"column":61}},"66":{"start":{"line":418,"column":8},"end":{"line":422,"column":9}},"67":{"start":{"line":419,"column":12},"end":{"line":419,"column":47}},"68":{"start":{"line":421,"column":12},"end":{"line":421,"column":61}},"69":{"start":{"line":438,"column":8},"end":{"line":439,"column":47}},"70":{"start":{"line":441,"column":8},"end":{"line":445,"column":9}},"71":{"start":{"line":442,"column":12},"end":{"line":442,"column":48}},"72":{"start":{"line":444,"column":12},"end":{"line":444,"column":61}},"73":{"start":{"line":462,"column":8},"end":{"line":465,"column":48}},"74":{"start":{"line":467,"column":8},"end":{"line":496,"column":9}},"75":{"start":{"line":468,"column":12},"end":{"line":468,"column":75}},"76":{"start":{"line":469,"column":12},"end":{"line":469,"column":53}},"77":{"start":{"line":471,"column":12},"end":{"line":495,"column":13}},"78":{"start":{"line":472,"column":16},"end":{"line":472,"column":33}},"79":{"start":{"line":474,"column":16},"end":{"line":476,"column":17}},"80":{"start":{"line":475,"column":20},"end":{"line":475,"column":79}},"81":{"start":{"line":478,"column":16},"end":{"line":494,"column":17}},"82":{"start":{"line":479,"column":20},"end":{"line":479,"column":40}},"83":{"start":{"line":480,"column":20},"end":{"line":480,"column":50}},"84":{"start":{"line":481,"column":20},"end":{"line":481,"column":41}},"85":{"start":{"line":483,"column":20},"end":{"line":489,"column":21}},"86":{"start":{"line":486,"column":24},"end":{"line":488,"column":25}},"87":{"start":{"line":487,"column":28},"end":{"line":487,"column":38}},"88":{"start":{"line":491,"column":20},"end":{"line":491,"column":54}},"89":{"start":{"line":493,"column":20},"end":{"line":493,"column":69}},"90":{"start":{"line":511,"column":8},"end":{"line":513,"column":24}},"91":{"start":{"line":515,"column":8},"end":{"line":524,"column":9}},"92":{"start":{"line":516,"column":12},"end":{"line":516,"column":70}},"93":{"start":{"line":517,"column":12},"end":{"line":517,"column":50}},"94":{"start":{"line":519,"column":12},"end":{"line":523,"column":13}},"95":{"start":{"line":520,"column":16},"end":{"line":520,"column":38}},"96":{"start":{"line":522,"column":16},"end":{"line":522,"column":65}},"97":{"start":{"line":540,"column":8},"end":{"line":545,"column":11}},"98":{"start":{"line":582,"column":0},"end":{"line":582,"column":53}},"99":{"start":{"line":585,"column":0},"end":{"line":587,"column":1}},"100":{"start":{"line":586,"column":4},"end":{"line":586,"column":39}}},"branchMap":{"1":{"line":99,"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":99,"column":8}},{"start":{"line":99,"column":8},"end":{"line":99,"column":8}}]},"2":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":8}},{"start":{"line":103,"column":8},"end":{"line":103,"column":8}}]},"3":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":12}},{"start":{"line":104,"column":12},"end":{"line":104,"column":12}}]},"4":{"line":104,"type":"binary-expr","locations":[{"start":{"line":104,"column":16},"end":{"line":104,"column":36}},{"start":{"line":104,"column":41},"end":{"line":104,"column":57}},{"start":{"line":104,"column":61},"end":{"line":104,"column":76}}]},"5":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":141,"column":8}},{"start":{"line":141,"column":8},"end":{"line":141,"column":8}}]},"6":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":145,"column":8}},{"start":{"line":145,"column":8},"end":{"line":145,"column":8}}]},"7":{"line":170,"type":"if","locations":[{"start":{"line":170,"column":8},"end":{"line":170,"column":8}},{"start":{"line":170,"column":8},"end":{"line":170,"column":8}}]},"8":{"line":170,"type":"binary-expr","locations":[{"start":{"line":170,"column":12},"end":{"line":170,"column":30}},{"start":{"line":170,"column":35},"end":{"line":170,"column":50}},{"start":{"line":170,"column":54},"end":{"line":170,"column":68}}]},"9":{"line":191,"type":"if","locations":[{"start":{"line":191,"column":8},"end":{"line":191,"column":8}},{"start":{"line":191,"column":8},"end":{"line":191,"column":8}}]},"10":{"line":232,"type":"cond-expr","locations":[{"start":{"line":233,"column":16},"end":{"line":233,"column":27}},{"start":{"line":234,"column":16},"end":{"line":234,"column":36}}]},"11":{"line":232,"type":"binary-expr","locations":[{"start":{"line":232,"column":20},"end":{"line":232,"column":26}},{"start":{"line":232,"column":31},"end":{"line":232,"column":47}}]},"12":{"line":237,"type":"if","locations":[{"start":{"line":237,"column":8},"end":{"line":237,"column":8}},{"start":{"line":237,"column":8},"end":{"line":237,"column":8}}]},"13":{"line":237,"type":"binary-expr","locations":[{"start":{"line":237,"column":12},"end":{"line":237,"column":16}},{"start":{"line":237,"column":20},"end":{"line":237,"column":29}}]},"14":{"line":240,"type":"if","locations":[{"start":{"line":240,"column":12},"end":{"line":240,"column":12}},{"start":{"line":240,"column":12},"end":{"line":240,"column":12}}]},"15":{"line":247,"type":"if","locations":[{"start":{"line":247,"column":20},"end":{"line":247,"column":20}},{"start":{"line":247,"column":20},"end":{"line":247,"column":20}}]},"16":{"line":292,"type":"cond-expr","locations":[{"start":{"line":293,"column":28},"end":{"line":293,"column":39}},{"start":{"line":294,"column":28},"end":{"line":294,"column":48}}]},"17":{"line":292,"type":"binary-expr","locations":[{"start":{"line":292,"column":25},"end":{"line":292,"column":31}},{"start":{"line":292,"column":36},"end":{"line":292,"column":52}}]},"18":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":8},"end":{"line":298,"column":8}},{"start":{"line":298,"column":8},"end":{"line":298,"column":8}}]},"19":{"line":298,"type":"binary-expr","locations":[{"start":{"line":298,"column":12},"end":{"line":298,"column":24}},{"start":{"line":298,"column":28},"end":{"line":298,"column":64}}]},"20":{"line":300,"type":"if","locations":[{"start":{"line":300,"column":15},"end":{"line":300,"column":15}},{"start":{"line":300,"column":15},"end":{"line":300,"column":15}}]},"21":{"line":300,"type":"binary-expr","locations":[{"start":{"line":300,"column":19},"end":{"line":300,"column":28}},{"start":{"line":300,"column":32},"end":{"line":300,"column":48}}]},"22":{"line":301,"type":"binary-expr","locations":[{"start":{"line":301,"column":20},"end":{"line":301,"column":41}},{"start":{"line":302,"column":20},"end":{"line":302,"column":47}},{"start":{"line":303,"column":20},"end":{"line":303,"column":38}}]},"23":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":8},"end":{"line":306,"column":8}},{"start":{"line":306,"column":8},"end":{"line":306,"column":8}}]},"24":{"line":312,"type":"if","locations":[{"start":{"line":312,"column":12},"end":{"line":312,"column":12}},{"start":{"line":312,"column":12},"end":{"line":312,"column":12}}]},"25":{"line":313,"type":"if","locations":[{"start":{"line":313,"column":16},"end":{"line":313,"column":16}},{"start":{"line":313,"column":16},"end":{"line":313,"column":16}}]},"26":{"line":366,"type":"cond-expr","locations":[{"start":{"line":367,"column":28},"end":{"line":367,"column":39}},{"start":{"line":368,"column":28},"end":{"line":368,"column":48}}]},"27":{"line":366,"type":"binary-expr","locations":[{"start":{"line":366,"column":25},"end":{"line":366,"column":31}},{"start":{"line":366,"column":36},"end":{"line":366,"column":52}}]},"28":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":371,"column":8}},{"start":{"line":371,"column":8},"end":{"line":371,"column":8}}]},"29":{"line":371,"type":"binary-expr","locations":[{"start":{"line":371,"column":12},"end":{"line":371,"column":24}},{"start":{"line":371,"column":28},"end":{"line":371,"column":64}}]},"30":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":15},"end":{"line":373,"column":15}},{"start":{"line":373,"column":15},"end":{"line":373,"column":15}}]},"31":{"line":373,"type":"binary-expr","locations":[{"start":{"line":373,"column":19},"end":{"line":373,"column":28}},{"start":{"line":373,"column":32},"end":{"line":373,"column":48}}]},"32":{"line":374,"type":"binary-expr","locations":[{"start":{"line":374,"column":20},"end":{"line":374,"column":41}},{"start":{"line":375,"column":20},"end":{"line":375,"column":47}},{"start":{"line":376,"column":20},"end":{"line":376,"column":38}}]},"33":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":8},"end":{"line":379,"column":8}},{"start":{"line":379,"column":8},"end":{"line":379,"column":8}}]},"34":{"line":379,"type":"binary-expr","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":17}},{"start":{"line":379,"column":21},"end":{"line":379,"column":35}}]},"35":{"line":384,"type":"if","locations":[{"start":{"line":384,"column":12},"end":{"line":384,"column":12}},{"start":{"line":384,"column":12},"end":{"line":384,"column":12}}]},"36":{"line":384,"type":"binary-expr","locations":[{"start":{"line":384,"column":16},"end":{"line":384,"column":20}},{"start":{"line":384,"column":24},"end":{"line":384,"column":38}}]},"37":{"line":414,"type":"binary-expr","locations":[{"start":{"line":414,"column":44},"end":{"line":414,"column":48}},{"start":{"line":414,"column":52},"end":{"line":414,"column":59}}]},"38":{"line":415,"type":"binary-expr","locations":[{"start":{"line":415,"column":19},"end":{"line":415,"column":33}},{"start":{"line":415,"column":37},"end":{"line":415,"column":60}}]},"39":{"line":418,"type":"if","locations":[{"start":{"line":418,"column":8},"end":{"line":418,"column":8}},{"start":{"line":418,"column":8},"end":{"line":418,"column":8}}]},"40":{"line":441,"type":"if","locations":[{"start":{"line":441,"column":8},"end":{"line":441,"column":8}},{"start":{"line":441,"column":8},"end":{"line":441,"column":8}}]},"41":{"line":467,"type":"if","locations":[{"start":{"line":467,"column":8},"end":{"line":467,"column":8}},{"start":{"line":467,"column":8},"end":{"line":467,"column":8}}]},"42":{"line":468,"type":"cond-expr","locations":[{"start":{"line":468,"column":41},"end":{"line":468,"column":64}},{"start":{"line":468,"column":67},"end":{"line":468,"column":74}}]},"43":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":12},"end":{"line":471,"column":12}},{"start":{"line":471,"column":12},"end":{"line":471,"column":12}}]},"44":{"line":474,"type":"binary-expr","locations":[{"start":{"line":474,"column":54},"end":{"line":474,"column":60}},{"start":{"line":474,"column":64},"end":{"line":474,"column":71}}]},"45":{"line":475,"type":"binary-expr","locations":[{"start":{"line":475,"column":29},"end":{"line":475,"column":47}},{"start":{"line":475,"column":51},"end":{"line":475,"column":78}}]},"46":{"line":478,"type":"if","locations":[{"start":{"line":478,"column":16},"end":{"line":478,"column":16}},{"start":{"line":478,"column":16},"end":{"line":478,"column":16}}]},"47":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":20},"end":{"line":483,"column":20}},{"start":{"line":483,"column":20},"end":{"line":483,"column":20}}]},"48":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":24},"end":{"line":486,"column":24}},{"start":{"line":486,"column":24},"end":{"line":486,"column":24}}]},"49":{"line":515,"type":"if","locations":[{"start":{"line":515,"column":8},"end":{"line":515,"column":8}},{"start":{"line":515,"column":8},"end":{"line":515,"column":8}}]},"50":{"line":516,"type":"cond-expr","locations":[{"start":{"line":516,"column":36},"end":{"line":516,"column":59}},{"start":{"line":516,"column":62},"end":{"line":516,"column":69}}]},"51":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":12},"end":{"line":519,"column":12}},{"start":{"line":519,"column":12},"end":{"line":519,"column":12}}]},"52":{"line":585,"type":"if","locations":[{"start":{"line":585,"column":0},"end":{"line":585,"column":0}},{"start":{"line":585,"column":0},"end":{"line":585,"column":0}}]}},"code":["(function () { YUI.add('datatable-mutable', function (Y, NAME) {","","/**","Adds mutation convenience methods such as `table.addRow(data)` to `Y.DataTable`. (or other built class).","","@module datatable","@submodule datatable-mutable","@since 3.5.0","**/","var toArray = Y.Array,"," YLang = Y.Lang,"," isString = YLang.isString,"," isArray = YLang.isArray,"," isObject = YLang.isObject,"," isNumber = YLang.isNumber,"," arrayIndex = Y.Array.indexOf,"," Mutable;","","/**","_API docs for this extension are included in the DataTable class._","","Class extension to add mutation convenience methods to `Y.DataTable` (or other","built class).","","Column mutation methods are paired with new custom events:",""," * addColumn"," * removeColumn"," * modifyColumn"," * moveColumn","","Row mutation events are bubbled from the DataTable's `data` ModelList through","the DataTable instance.","","@class DataTable.Mutable","@for DataTable","@since 3.5.0","**/","Y.namespace('DataTable').Mutable = Mutable = function () {};","","Mutable.ATTRS = {"," /**"," Controls whether `addRow`, `removeRow`, and `modifyRow` should trigger the"," underlying Model's sync layer by default.",""," When `true`, it is unnecessary to pass the \"sync\" configuration property to"," those methods to trigger per-operation sync.","",""," @attribute autoSync"," @type {Boolean}"," @default `false`"," @since 3.5.0"," **/"," autoSync: {"," value: false,"," validator: YLang.isBoolean"," }","};","","Y.mix(Mutable.prototype, {"," /**"," Adds the column configuration to the DataTable's `columns` configuration."," If the `index` parameter is supplied, it is injected at that index. If the"," table has nested headers, inject a subcolumn by passing an array of indexes"," to identify the new column's final location.",""," The `index` parameter is required if adding a nested column.",""," This method is a convienience method for fetching the DataTable's `columns`"," attribute, updating it, and calling"," `table.set('columns', _updatedColumnsDefs_)`",""," For example:","","
// Becomes last column"," table.addColumn('name');",""," // Inserted after the current second column, moving the current third column"," // to index 4"," table.addColumn({ key: 'price', formatter: currencyFormatter }, 2 );",""," // Insert a new column in a set of headers three rows deep. The index array"," // translates to"," // [ 2, -- in the third column's children"," // 1, -- in the second child's children"," // 3 ] -- as the fourth child column"," table.addColumn({ key: 'age', sortable: true }, [ 2, 1, 3 ]);","
",""," @method addColumn"," @param {Object|String} config The new column configuration object"," @param {Number|Number[]} [index] the insertion index"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," addColumn: function (config, index) {"," if (isString(config)) {"," config = { key: config };"," }",""," if (config) {"," if (arguments.length < 2 || (!isNumber(index) && !isArray(index))) {"," index = this.get('columns').length;"," }",""," this.fire('addColumn', {"," column: config,"," index: index"," });"," }"," return this;"," },",""," /**"," Updates an existing column definition. Fires the `modifyColumn` event.",""," For example:","","
// Add a formatter to the existing 'price' column definition"," table.modifyColumn('price', { formatter: currencyFormatter });",""," // Change the label on a header cell in a set of nested headers three rows"," // deep. The index array translates to"," // [ 2, -- in the third column's children"," // 1, -- the second child"," // 3 ] -- the fourth child column"," table.modifyColumn([2, 1, 3], { label: 'Experience' });","
",""," @method modifyColumn"," @param {String|Number|Number[]|Object} name The column key, name, index, or"," current configuration object"," @param {Object} config The new column configuration properties"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," modifyColumn: function (name, config) {"," if (isString(config)) {"," config = { key: config };"," }",""," if (isObject(config)) {"," this.fire('modifyColumn', {"," column: name,"," newColumnDef: config"," });"," }",""," return this;"," },",""," /**"," Moves an existing column to a new location. Fires the `moveColumn` event.",""," The destination index can be a number or array of numbers to place a column"," header in a nested header row.",""," @method moveColumn"," @param {String|Number|Number[]|Object} name The column key, name, index, or"," current configuration object"," @param {Number|Number[]} index The destination index of the column"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," moveColumn: function (name, index) {"," if (name !== undefined && (isNumber(index) || isArray(index))) {"," this.fire('moveColumn', {"," column: name,"," index: index"," });"," }",""," return this;"," },",""," /**"," Removes an existing column. Fires the `removeColumn` event.",""," @method removeColumn"," @param {String|Number|Number[]|Object} name The column key, name, index, or"," current configuration object"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," removeColumn: function (name) {"," if (name !== undefined) {"," this.fire('removeColumn', {"," column: name"," });"," }",""," return this;"," },",""," /**"," Adds a new record to the DataTable's `data` ModelList. Record data can be"," an object of field values or an instance of the DataTable's configured"," `recordType` class.",""," This relays all parameters to the `data` ModelList's `add` method.",""," If a configuration object is passed as a second argument, and that object"," has `sync: true` set, the underlying Model will be `save()`d.",""," If the DataTable's `autoSync` attribute is set to `true`, the additional"," argument is not needed.",""," If syncing and the last argument is a function, that function will be used"," as a callback to the Model's `save()` method.",""," @method addRow"," @param {Object} data The data or Model instance for the new record"," @param {Object} [config] Configuration to pass along"," @param {Function} [callback] Callback function for Model's `save()`"," @param {Error|null} callback.err If an error occurred or validation"," failed, this parameter will contain the error. If the sync operation"," succeeded, _err_ will be `null`."," @param {Any} callback.response The server's response. This value will"," be passed to the `parse()` method, which is expected to parse it and"," return an attribute hash."," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," addRow: function (data, config) {"," // Allow autoSync: true + addRow({ data }, { sync: false })"," var sync = (config && ('sync' in config)) ?"," config.sync :"," this.get('autoSync'),"," models, model, i, len, args;",""," if (data && this.data) {"," models = this.data.add.apply(this.data, arguments);",""," if (sync) {"," models = toArray(models);"," args = toArray(arguments, 1, true);",""," for (i = 0, len = models.length; i < len; ++i) {"," model = models[i];",""," if (model.isNew()) {"," models[i].save.apply(models[i], args);"," }"," }"," }"," }",""," return this;"," },",""," /**"," Removes a record from the DataTable's `data` ModelList. The record can be"," provided explicitly or targeted by it's `id` (see ModelList's `getById`"," method), `clientId`, or index in the ModelList.",""," After locating the target Model, this relays the Model and all other passed"," arguments to the `data` ModelList's `remove` method.",""," If a configuration object is passed as a second argument, and that object"," has `sync: true` set, the underlying Model will be destroyed, passing"," `{ delete: true }` to trigger calling the Model's sync layer.",""," If the DataTable's `autoSync` attribute is set to `true`, the additional"," argument is not needed.",""," If syncing and the last argument is a function, that function will be used"," as a callback to the Model's `destroy()` method.",""," @method removeRow"," @param {Object|String|Number} id The Model instance or identifier"," @param {Object} [config] Configuration to pass along"," @param {Function} [callback] Callback function for Model's `save()`"," @param {Error|null} callback.err If an error occurred or validation"," failed, this parameter will contain the error. If the sync operation"," succeeded, _err_ will be `null`."," @param {Any} callback.response The server's response. This value will"," be passed to the `parse()` method, which is expected to parse it and"," return an attribute hash."," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," removeRow: function (id, config) {"," var modelList = this.data,"," // Allow autoSync: true + addRow({ data }, { sync: false })"," sync = (config && ('sync' in config)) ?"," config.sync :"," this.get('autoSync'),"," models, model, i, len, args;",""," // TODO: support removing via DOM element. This should be relayed to View"," if (isObject(id) && id instanceof this.get('recordType')) {"," model = id;"," } else if (modelList && id !== undefined) {"," model = modelList.getById(id) ||"," modelList.getByClientId(id) ||"," modelList.item(id);"," }",""," if (model) {"," args = toArray(arguments, 1, true);",""," models = modelList.remove.apply(modelList,"," [model].concat(args));",""," if (sync) {"," if (!isObject(args[0])) {"," args.unshift({});"," }",""," args[0]['delete'] = true;",""," models = toArray(models);",""," for (i = 0, len = models.length; i < len; ++i) {"," model = models[i];"," model.destroy.apply(model, args);"," }"," }"," }",""," return this;"," },",""," /**"," Updates an existing record in the DataTable's `data` ModelList. The record"," can be provided explicitly or targeted by it's `id` (see ModelList's"," `getById` method), `clientId`, or index in the ModelList.",""," After locating the target Model, this relays the all other passed"," arguments to the Model's `setAttrs` method.",""," If a configuration object is passed as a second argument, and that object"," has `sync: true` set, the underlying Model will be `save()`d.",""," If the DataTable's `autoSync` attribute is set to `true`, the additional"," argument is not needed.",""," If syncing and the last argument is a function, that function will be used"," as a callback to the Model's `save()` method.",""," @method modifyRow"," @param {Object|String|Number} id The Model instance or identifier"," @param {Object} data New data values for the Model"," @param {Object} [config] Configuration to pass along to `setAttrs()`"," @param {Function} [callback] Callback function for Model's `save()`"," @param {Error|null} callback.err If an error occurred or validation"," failed, this parameter will contain the error. If the sync operation"," succeeded, _err_ will be `null`."," @param {Any} callback.response The server's response. This value will"," be passed to the `parse()` method, which is expected to parse it and"," return an attribute hash."," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," modifyRow: function (id, data, config) {"," var modelList = this.data,"," // Allow autoSync: true + addRow({ data }, { sync: false })"," sync = (config && ('sync' in config)) ?"," config.sync :"," this.get('autoSync'),"," model, args;",""," if (isObject(id) && id instanceof this.get('recordType')) {"," model = id;"," } else if (modelList && id !== undefined) {"," model = modelList.getById(id) ||"," modelList.getByClientId(id) ||"," modelList.item(id);"," }",""," if (model && isObject(data)) {"," args = toArray(arguments, 1, true);",""," model.setAttrs.apply(model, args);",""," if (sync && !model.isNew()) {"," model.save.apply(model, args);"," }"," }",""," return this;"," },",""," // --------------------------------------------------------------------------"," // Protected properties and methods"," // --------------------------------------------------------------------------",""," /**"," Default function for the `addColumn` event.",""," Inserts the specified column at the provided index.",""," @method _defAddColumnFn"," @param {EventFacade} e The `addColumn` event"," @param {Object} e.column The new column definition object"," @param {Number|Number[]} e.index The array index to insert the new column"," @protected"," @since 3.5.0"," **/"," _defAddColumnFn: function (e) {"," var index = toArray(e.index),"," columns = this.get('columns'),"," cols = columns,"," i, len;",""," for (i = 0, len = index.length - 1; cols && i < len; ++i) {"," cols = cols[index[i]] && cols[index[i]].children;"," }",""," if (cols) {"," cols.splice(index[i], 0, e.column);",""," this.set('columns', columns, { originEvent: e });"," }"," },",""," /**"," Default function for the `modifyColumn` event.",""," Mixes the new column properties into the specified column definition.",""," @method _defModifyColumnFn"," @param {EventFacade} e The `modifyColumn` event"," @param {Object|String|Number|Number[]} e.column The column definition object or identifier"," @param {Object} e.newColumnDef The properties to assign to the column"," @protected"," @since 3.5.0"," **/"," _defModifyColumnFn: function (e) {"," var columns = this.get('columns'),"," column = this.getColumn(e.column);",""," if (column) {"," Y.mix(column, e.newColumnDef, true);",""," this.set('columns', columns, { originEvent: e });"," }"," },",""," /**"," Default function for the `moveColumn` event.",""," Removes the specified column from its current location and inserts it at the"," specified array index (may be an array of indexes for nested headers).",""," @method _defMoveColumnFn"," @param {EventFacade} e The `moveColumn` event"," @param {Object|String|Number|Number[]} e.column The column definition object or identifier"," @param {Object} e.index The destination index to move to"," @protected"," @since 3.5.0"," **/"," _defMoveColumnFn: function (e) {"," var columns = this.get('columns'),"," column = this.getColumn(e.column),"," toIndex = toArray(e.index),"," fromCols, fromIndex, toCols, i, len;",""," if (column) {"," fromCols = column._parent ? column._parent.children : columns;"," fromIndex = arrayIndex(fromCols, column);",""," if (fromIndex > -1) {"," toCols = columns;",""," for (i = 0, len = toIndex.length - 1; toCols && i < len; ++i) {"," toCols = toCols[toIndex[i]] && toCols[toIndex[i]].children;"," }",""," if (toCols) {"," len = toCols.length;"," fromCols.splice(fromIndex, 1);"," toIndex = toIndex[i];",""," if (len > toCols.lenth) {"," // spliced off the same array, so adjust destination"," // index if necessary"," if (fromIndex < toIndex) {"," toIndex--;"," }"," }",""," toCols.splice(toIndex, 0, column);",""," this.set('columns', columns, { originEvent: e });"," }"," }"," }"," },",""," /**"," Default function for the `removeColumn` event.",""," Splices the specified column from its containing columns array.",""," @method _defRemoveColumnFn"," @param {EventFacade} e The `removeColumn` event"," @param {Object|String|Number|Number[]} e.column The column definition object or identifier"," @protected"," @since 3.5.0"," **/"," _defRemoveColumnFn: function (e) {"," var columns = this.get('columns'),"," column = this.getColumn(e.column),"," cols, index;",""," if (column) {"," cols = column._parent ? column._parent.children : columns;"," index = Y.Array.indexOf(cols, column);",""," if (index > -1) {"," cols.splice(index, 1);",""," this.set('columns', columns, { originEvent: e });"," }"," }"," },",""," /**"," Publishes the events used by the mutation methods:",""," * addColumn"," * removeColumn"," * modifyColumn"," * moveColumn",""," @method initializer"," @protected"," @since 3.5.0"," **/"," initializer: function () {"," this.publish({"," addColumn: { defaultFn: Y.bind('_defAddColumnFn', this) },"," removeColumn: { defaultFn: Y.bind('_defRemoveColumnFn', this) },"," moveColumn: { defaultFn: Y.bind('_defMoveColumnFn', this) },"," modifyColumn: { defaultFn: Y.bind('_defModifyColumnFn', this) }"," });"," }","});","","/**","Adds an array of new records to the DataTable's `data` ModelList. Record data","can be an array of objects containing field values or an array of instance of","the DataTable's configured `recordType` class.","","This relays all parameters to the `data` ModelList's `add` method.","","Technically, this is an alias to `addRow`, but please use the appropriately","named method for readability.","","If a configuration object is passed as a second argument, and that object","has `sync: true` set, the underlying Models will be `save()`d.","","If the DataTable's `autoSync` attribute is set to `true`, the additional","argument is not needed.","","If syncing and the last argument is a function, that function will be used","as a callback to each Model's `save()` method.","","@method addRows","@param {Object[]} data The data or Model instances to add","@param {Object} [config] Configuration to pass along","@param {Function} [callback] Callback function for each Model's `save()`"," @param {Error|null} callback.err If an error occurred or validation"," failed, this parameter will contain the error. If the sync operation"," succeeded, _err_ will be `null`."," @param {Any} callback.response The server's response. This value will"," be passed to the `parse()` method, which is expected to parse it and"," return an attribute hash.","@return {DataTable}","@chainable","@since 3.5.0","**/","Mutable.prototype.addRows = Mutable.prototype.addRow;","","// Add feature APIs to public Y.DataTable class","if (YLang.isFunction(Y.DataTable)) {"," Y.Base.mix(Y.DataTable, [Mutable]);","}","","/**","Fired by the `addColumn` method.","","@event addColumn","@preventable _defAddColumnFn","@param {Object} column The new column definition object","@param {Number|Number[]} index The array index to insert the new column","@since 3.5.0","**/","","/**","Fired by the `removeColumn` method.","","@event removeColumn","@preventable _defRemoveColumnFn","@param {Object|String|Number|Number[]} column The column definition object or identifier","@since 3.5.0","**/","","/**","Fired by the `modifyColumn` method.","","@event modifyColumn","@preventable _defModifyColumnFn","@param {Object|String|Number|Number[]} column The column definition object or identifier","@param {Object} newColumnDef The properties to assign to the column","@since 3.5.0","**/","","/**","Fired by the `moveColumn` method.","","@event moveColumn","@preventable _defMoveColumnFn","@param {Object|String|Number|Number[]} column The column definition object or identifier","@param {Object} index The destination index to move to","@since 3.5.0","**/","","","","}, '3.13.0', {\"requires\": [\"datatable-base\"]});","","}());"]};
+}
+var __cov_Wb3b1Y0eg_av5kKZFb1jHA = __coverage__['build/datatable-mutable/datatable-mutable.js'];
+__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['1']++;YUI.add('datatable-mutable',function(Y,NAME){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['1']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['2']++;var toArray=Y.Array,YLang=Y.Lang,isString=YLang.isString,isArray=YLang.isArray,isObject=YLang.isObject,isNumber=YLang.isNumber,arrayIndex=Y.Array.indexOf,Mutable;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['3']++;Y.namespace('DataTable').Mutable=Mutable=function(){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['2']++;};__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['4']++;Mutable.ATTRS={autoSync:{value:false,validator:YLang.isBoolean}};__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['5']++;Y.mix(Mutable.prototype,{addColumn:function(config,index){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['3']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['6']++;if(isString(config)){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['1'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['7']++;config={key:config};}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['1'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['8']++;if(config){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['2'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['9']++;if((__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['4'][0]++,arguments.length<2)||(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['4'][1]++,!isNumber(index))&&(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['4'][2]++,!isArray(index))){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['3'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['10']++;index=this.get('columns').length;}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['3'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['11']++;this.fire('addColumn',{column:config,index:index});}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['2'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['12']++;return this;},modifyColumn:function(name,config){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['4']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['13']++;if(isString(config)){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['5'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['14']++;config={key:config};}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['5'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['15']++;if(isObject(config)){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['6'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['16']++;this.fire('modifyColumn',{column:name,newColumnDef:config});}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['6'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['17']++;return this;},moveColumn:function(name,index){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['5']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['18']++;if((__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['8'][0]++,name!==undefined)&&((__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['8'][1]++,isNumber(index))||(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['8'][2]++,isArray(index)))){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['7'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['19']++;this.fire('moveColumn',{column:name,index:index});}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['7'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['20']++;return this;},removeColumn:function(name){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['6']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['21']++;if(name!==undefined){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['9'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['22']++;this.fire('removeColumn',{column:name});}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['9'][1]++;}__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['23']++;return this;},addRow:function(data,config){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['7']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['24']++;var sync=(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['11'][0]++,config)&&(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['11'][1]++,'sync'in config)?(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['10'][0]++,config.sync):(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['10'][1]++,this.get('autoSync')),models,model,i,len,args;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['25']++;if((__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['13'][0]++,data)&&(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['13'][1]++,this.data)){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['12'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['26']++;models=this.data.add.apply(this.data,arguments);__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['27']++;if(sync){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['14'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['28']++;models=toArray(models);__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['29']++;args=toArray(arguments,1,true);__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['30']++;for(i=0,len=models.length;i-1){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['43'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['78']++;toCols=columns;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['79']++;for(i=0,len=toIndex.length-1;(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['44'][0]++,toCols)&&(__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['44'][1]++,itoCols.lenth){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['47'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['86']++;if(fromIndex-1){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['51'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['95']++;cols.splice(index,1);__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['96']++;this.set('columns',columns,{originEvent:e});}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['51'][1]++;}}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['49'][1]++;}},initializer:function(){__cov_Wb3b1Y0eg_av5kKZFb1jHA.f['14']++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['97']++;this.publish({addColumn:{defaultFn:Y.bind('_defAddColumnFn',this)},removeColumn:{defaultFn:Y.bind('_defRemoveColumnFn',this)},moveColumn:{defaultFn:Y.bind('_defMoveColumnFn',this)},modifyColumn:{defaultFn:Y.bind('_defModifyColumnFn',this)}});}});__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['98']++;Mutable.prototype.addRows=Mutable.prototype.addRow;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['99']++;if(YLang.isFunction(Y.DataTable)){__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['52'][0]++;__cov_Wb3b1Y0eg_av5kKZFb1jHA.s['100']++;Y.Base.mix(Y.DataTable,[Mutable]);}else{__cov_Wb3b1Y0eg_av5kKZFb1jHA.b['52'][1]++;}},'3.13.0',{'requires':['datatable-base']});
diff --git a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-debug.js b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-debug.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-debug.js
rename to lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-debug.js
index f6690c7639c..35c5cc50a1a
--- a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-debug.js
+++ b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-debug.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -639,4 +639,4 @@ Fired by the `moveColumn` method.
-}, '3.12.0', {"requires": ["datatable-base"]});
+}, '3.13.0', {"requires": ["datatable-base"]});
diff --git a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-min.js b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-min.js
old mode 100644
new mode 100755
similarity index 97%
rename from lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-min.js
rename to lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-min.js
index f7cffbace42..0658ec26c61
--- a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable-min.js
+++ b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("datatable-mutable",function(e,t){var n=e.Array,r=e.Lang,i=r.isString,s=r.isArray,o=r.isObject,u=r.isNumber,a=e.Array.indexOf,f;e.namespace("DataTable").Mutable=f=function(){},f.ATTRS={autoSync:{value:!1,validator:r.isBoolean}},e.mix(f.prototype,{addColumn:function(e,t){i(e)&&(e={key:e});if(e){if(arguments.length<2||!u(t)&&!s(t))t=this.get("columns").length;this.fire("addColumn",{column:e,index:t})}return this},modifyColumn:function(e,t){return i(t)&&(t={key:t}),o(t)&&this.fire("modifyColumn",{column:e,newColumnDef:t}),this},moveColumn:function(e,t){return e!==undefined&&(u(t)||s(t))&&this.fire("moveColumn",{column:e,index:t}),this},removeColumn:function(e){return e!==undefined&&this.fire("removeColumn",{column:e}),this},addRow:function(e,t){var r=t&&"sync"in t?t.sync:this.get("autoSync"),i,s,o,u,a;if(e&&this.data){i=this.data.add.apply(this.data,arguments);if(r){i=n(i),a=n(arguments,1,!0);for(o=0,u=i.length;o-1){u=t;for(f=0,l=i.length-1;u&&fu.lenth&&o-1&&(i.splice(s,1),this.set("columns",n,{originEvent:t})))},initializer:function(){this.publish({addColumn:{defaultFn:e.bind("_defAddColumnFn",this)},removeColumn:{defaultFn:e.bind("_defRemoveColumnFn",this)},moveColumn:{defaultFn:e.bind("_defMoveColumnFn",this)},modifyColumn:{defaultFn:e.bind("_defModifyColumnFn",this)}})}}),f.prototype.addRows=f.prototype.addRow,r.isFunction(e.DataTable)&&e.Base.mix(e.DataTable,[f])},"3.12.0",{requires:["datatable-base"]});
+YUI.add("datatable-mutable",function(e,t){var n=e.Array,r=e.Lang,i=r.isString,s=r.isArray,o=r.isObject,u=r.isNumber,a=e.Array.indexOf,f;e.namespace("DataTable").Mutable=f=function(){},f.ATTRS={autoSync:{value:!1,validator:r.isBoolean}},e.mix(f.prototype,{addColumn:function(e,t){i(e)&&(e={key:e});if(e){if(arguments.length<2||!u(t)&&!s(t))t=this.get("columns").length;this.fire("addColumn",{column:e,index:t})}return this},modifyColumn:function(e,t){return i(t)&&(t={key:t}),o(t)&&this.fire("modifyColumn",{column:e,newColumnDef:t}),this},moveColumn:function(e,t){return e!==undefined&&(u(t)||s(t))&&this.fire("moveColumn",{column:e,index:t}),this},removeColumn:function(e){return e!==undefined&&this.fire("removeColumn",{column:e}),this},addRow:function(e,t){var r=t&&"sync"in t?t.sync:this.get("autoSync"),i,s,o,u,a;if(e&&this.data){i=this.data.add.apply(this.data,arguments);if(r){i=n(i),a=n(arguments,1,!0);for(o=0,u=i.length;o-1){u=t;for(f=0,l=i.length-1;u&&fu.lenth&&o-1&&(i.splice(s,1),this.set("columns",n,{originEvent:t})))},initializer:function(){this.publish({addColumn:{defaultFn:e.bind("_defAddColumnFn",this)},removeColumn:{defaultFn:e.bind("_defRemoveColumnFn",this)},moveColumn:{defaultFn:e.bind("_defMoveColumnFn",this)},modifyColumn:{defaultFn:e.bind("_defModifyColumnFn",this)}})}}),f.prototype.addRows=f.prototype.addRow,r.isFunction(e.DataTable)&&e.Base.mix(e.DataTable,[f])},"3.13.0",{requires:["datatable-base"]});
diff --git a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable.js b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/datatable-mutable/datatable-mutable.js
rename to lib/yuilib/3.13.0/datatable-mutable/datatable-mutable.js
index 74bd231c818..32bb6647ceb
--- a/lib/yuilib/3.12.0/datatable-mutable/datatable-mutable.js
+++ b/lib/yuilib/3.13.0/datatable-mutable/datatable-mutable.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -634,4 +634,4 @@ Fired by the `moveColumn` method.
-}, '3.12.0', {"requires": ["datatable-base"]});
+}, '3.13.0', {"requires": ["datatable-base"]});
diff --git a/lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates-coverage.js b/lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates-coverage.js
new file mode 100755
index 00000000000..df511cceb09
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-paginator-templates/datatable-paginator-templates.js']) {
+ __coverage__['build/datatable-paginator-templates/datatable-paginator-templates.js'] = {"path":"build/datatable-paginator-templates/datatable-paginator-templates.js","s":{"1":0,"2":0,"3":0},"b":{},"f":{"1":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":41},"end":{"line":1,"column":60}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":87,"column":41}},"2":{"start":{"line":3,"column":0},"end":{"line":72,"column":38}},"3":{"start":{"line":77,"column":0},"end":{"line":84,"column":2}}},"branchMap":{},"code":["(function () { YUI.add('datatable-paginator-templates', function (Y, NAME) {","","var engine = new Y.Template(),","","/*","{"," wrapperClass,"," numOfCols","}","*/","rowWrapper = '
',a='';e.namespace("DataTable.Templates").Paginator={rowWrapper:n.compile(r),button:n.compile(s),content:n.compile(i),buttons:n.compile(o),gotoPage:n.compile(u),perPage:n.compile(a)}},"3.13.0",{requires:["template"]});
diff --git a/lib/yuilib/3.12.0/datatable-paginator-templates/datatable-paginator-templates.js b/lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates.js
old mode 100644
new mode 100755
similarity index 96%
rename from lib/yuilib/3.12.0/datatable-paginator-templates/datatable-paginator-templates.js
rename to lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates.js
index 6f4f8ef4f9c..5b61bbfcf1d
--- a/lib/yuilib/3.12.0/datatable-paginator-templates/datatable-paginator-templates.js
+++ b/lib/yuilib/3.13.0/datatable-paginator-templates/datatable-paginator-templates.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -90,4 +90,5 @@ Y.namespace('DataTable.Templates').Paginator = {
perPage: engine.compile(perPage)
};
-}, '3.12.0', {"requires": ["template"]});
+
+}, '3.13.0', {"requires": ["template"]});
diff --git a/lib/yuilib/3.12.0/datatable-paginator/assets/datatable-paginator-core.css b/lib/yuilib/3.13.0/datatable-paginator/assets/datatable-paginator-core.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-paginator/assets/datatable-paginator-core.css
rename to lib/yuilib/3.13.0/datatable-paginator/assets/datatable-paginator-core.css
index 855f10b9e43..11f34a79aec
--- a/lib/yuilib/3.12.0/datatable-paginator/assets/datatable-paginator-core.css
+++ b/lib/yuilib/3.13.0/datatable-paginator/assets/datatable-paginator-core.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css
rename to lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css
index beb4296286f..17a2bc652e5
--- a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css
+++ b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator.css b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator.css
rename to lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator.css
index 389f3a7274b..6b6d6365938
--- a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/night/datatable-paginator.css
+++ b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/night/datatable-paginator.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css
rename to lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css
index 4826275c653..c56a9336c1b
--- a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css
+++ b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator.css b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator.css
rename to lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator.css
index 617c6f74782..a590a19dd85
--- a/lib/yuilib/3.12.0/datatable-paginator/assets/skins/sam/datatable-paginator.css
+++ b/lib/yuilib/3.13.0/datatable-paginator/assets/skins/sam/datatable-paginator.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.13.0/datatable-paginator/datatable-paginator-coverage.js b/lib/yuilib/3.13.0/datatable-paginator/datatable-paginator-coverage.js
new file mode 100755
index 00000000000..5a198b3a1c9
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-paginator/datatable-paginator-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-paginator/datatable-paginator.js']) {
+ __coverage__['build/datatable-paginator/datatable-paginator.js'] = {"path":"build/datatable-paginator/datatable-paginator.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0,0,0,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":50}}},"2":{"name":"(anonymous_2)","line":75,"loc":{"start":{"line":75,"column":17},"end":{"line":75,"column":29}}},"3":{"name":"(anonymous_3)","line":91,"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":24}}},"4":{"name":"(anonymous_4)","line":114,"loc":{"start":{"line":114,"column":18},"end":{"line":114,"column":30}}},"5":{"name":"(anonymous_5)","line":128,"loc":{"start":{"line":128,"column":42},"end":{"line":128,"column":57}}},"6":{"name":"(anonymous_6)","line":134,"loc":{"start":{"line":134,"column":44},"end":{"line":134,"column":59}}},"7":{"name":"(anonymous_7)","line":149,"loc":{"start":{"line":149,"column":24},"end":{"line":149,"column":36}}},"8":{"name":"(anonymous_8)","line":181,"loc":{"start":{"line":181,"column":21},"end":{"line":181,"column":33}}},"9":{"name":"(anonymous_9)","line":197,"loc":{"start":{"line":197,"column":24},"end":{"line":197,"column":36}}},"10":{"name":"(anonymous_10)","line":231,"loc":{"start":{"line":231,"column":18},"end":{"line":231,"column":31}}},"11":{"name":"(anonymous_11)","line":255,"loc":{"start":{"line":255,"column":23},"end":{"line":255,"column":38}}},"12":{"name":"(anonymous_12)","line":292,"loc":{"start":{"line":292,"column":27},"end":{"line":292,"column":42}}},"13":{"name":"(anonymous_13)","line":307,"loc":{"start":{"line":307,"column":19},"end":{"line":307,"column":32}}},"14":{"name":"(anonymous_14)","line":327,"loc":{"start":{"line":327,"column":20},"end":{"line":327,"column":33}}},"15":{"name":"(anonymous_15)","line":345,"loc":{"start":{"line":345,"column":20},"end":{"line":345,"column":33}}},"16":{"name":"(anonymous_16)","line":363,"loc":{"start":{"line":363,"column":21},"end":{"line":363,"column":33}}},"17":{"name":"(anonymous_17)","line":378,"loc":{"start":{"line":378,"column":18},"end":{"line":378,"column":30}}},"18":{"name":"(anonymous_18)","line":393,"loc":{"start":{"line":393,"column":21},"end":{"line":393,"column":33}}},"19":{"name":"Controller","line":429,"loc":{"start":{"line":429,"column":0},"end":{"line":429,"column":23}}},"20":{"name":"(anonymous_20)","line":525,"loc":{"start":{"line":525,"column":15},"end":{"line":525,"column":27}}},"21":{"name":"(anonymous_21)","line":536,"loc":{"start":{"line":536,"column":14},"end":{"line":536,"column":26}}},"22":{"name":"(anonymous_22)","line":548,"loc":{"start":{"line":548,"column":18},"end":{"line":548,"column":30}}},"23":{"name":"(anonymous_23)","line":559,"loc":{"start":{"line":559,"column":14},"end":{"line":559,"column":26}}},"24":{"name":"(anonymous_24)","line":572,"loc":{"start":{"line":572,"column":17},"end":{"line":572,"column":29}}},"25":{"name":"(anonymous_25)","line":588,"loc":{"start":{"line":588,"column":22},"end":{"line":588,"column":34}}},"26":{"name":"(anonymous_26)","line":609,"loc":{"start":{"line":609,"column":35},"end":{"line":609,"column":47}}},"27":{"name":"(anonymous_27)","line":635,"loc":{"start":{"line":635,"column":36},"end":{"line":635,"column":48}}},"28":{"name":"(anonymous_28)","line":651,"loc":{"start":{"line":651,"column":29},"end":{"line":651,"column":42}}},"29":{"name":"(anonymous_29)","line":688,"loc":{"start":{"line":688,"column":24},"end":{"line":688,"column":36}}},"30":{"name":"(anonymous_30)","line":709,"loc":{"start":{"line":709,"column":32},"end":{"line":709,"column":52}}},"31":{"name":"(anonymous_31)","line":720,"loc":{"start":{"line":720,"column":38},"end":{"line":720,"column":57}}},"32":{"name":"(anonymous_32)","line":741,"loc":{"start":{"line":741,"column":38},"end":{"line":741,"column":57}}},"33":{"name":"(anonymous_33)","line":765,"loc":{"start":{"line":765,"column":18},"end":{"line":765,"column":31}}},"34":{"name":"(anonymous_34)","line":799,"loc":{"start":{"line":799,"column":32},"end":{"line":799,"column":44}}},"35":{"name":"(anonymous_35)","line":827,"loc":{"start":{"line":827,"column":18},"end":{"line":827,"column":30}}},"36":{"name":"(anonymous_36)","line":841,"loc":{"start":{"line":841,"column":21},"end":{"line":841,"column":33}}},"37":{"name":"(anonymous_37)","line":851,"loc":{"start":{"line":851,"column":18},"end":{"line":851,"column":35}}},"38":{"name":"(anonymous_38)","line":857,"loc":{"start":{"line":857,"column":18},"end":{"line":857,"column":30}}},"39":{"name":"(anonymous_39)","line":877,"loc":{"start":{"line":877,"column":21},"end":{"line":877,"column":36}}},"40":{"name":"(anonymous_40)","line":918,"loc":{"start":{"line":918,"column":24},"end":{"line":918,"column":41}}},"41":{"name":"(anonymous_41)","line":937,"loc":{"start":{"line":937,"column":21},"end":{"line":937,"column":37}}},"42":{"name":"(anonymous_42)","line":949,"loc":{"start":{"line":949,"column":27},"end":{"line":949,"column":39}}},"43":{"name":"(anonymous_43)","line":963,"loc":{"start":{"line":963,"column":21},"end":{"line":963,"column":33}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":993,"column":3}},"2":{"start":{"line":11,"column":0},"end":{"line":17,"column":30}},"3":{"start":{"line":25,"column":0},"end":{"line":423,"column":3}},"4":{"start":{"line":76,"column":8},"end":{"line":78,"column":11}},"5":{"start":{"line":80,"column":8},"end":{"line":80,"column":28}},"6":{"start":{"line":81,"column":8},"end":{"line":81,"column":31}},"7":{"start":{"line":83,"column":8},"end":{"line":83,"column":28}},"8":{"start":{"line":92,"column":8},"end":{"line":97,"column":15}},"9":{"start":{"line":99,"column":8},"end":{"line":99,"column":46}},"10":{"start":{"line":100,"column":8},"end":{"line":100,"column":28}},"11":{"start":{"line":102,"column":8},"end":{"line":102,"column":30}},"12":{"start":{"line":104,"column":8},"end":{"line":104,"column":50}},"13":{"start":{"line":105,"column":8},"end":{"line":105,"column":62}},"14":{"start":{"line":107,"column":8},"end":{"line":107,"column":20}},"15":{"start":{"line":115,"column":8},"end":{"line":115,"column":60}},"16":{"start":{"line":117,"column":8},"end":{"line":117,"column":46}},"17":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"18":{"start":{"line":120,"column":12},"end":{"line":120,"column":35}},"19":{"start":{"line":123,"column":8},"end":{"line":126,"column":10}},"20":{"start":{"line":128,"column":8},"end":{"line":132,"column":18}},"21":{"start":{"line":129,"column":12},"end":{"line":131,"column":14}},"22":{"start":{"line":134,"column":8},"end":{"line":138,"column":18}},"23":{"start":{"line":135,"column":12},"end":{"line":137,"column":14}},"24":{"start":{"line":150,"column":8},"end":{"line":152,"column":20}},"25":{"start":{"line":154,"column":8},"end":{"line":165,"column":19}},"26":{"start":{"line":167,"column":8},"end":{"line":170,"column":11}},"27":{"start":{"line":183,"column":8},"end":{"line":187,"column":11}},"28":{"start":{"line":198,"column":8},"end":{"line":202,"column":14}},"29":{"start":{"line":204,"column":8},"end":{"line":214,"column":9}},"30":{"start":{"line":205,"column":12},"end":{"line":205,"column":32}},"31":{"start":{"line":207,"column":12},"end":{"line":212,"column":13}},"32":{"start":{"line":208,"column":16},"end":{"line":211,"column":18}},"33":{"start":{"line":213,"column":12},"end":{"line":213,"column":80}},"34":{"start":{"line":216,"column":8},"end":{"line":220,"column":11}},"35":{"start":{"line":232,"column":8},"end":{"line":234,"column":61}},"36":{"start":{"line":236,"column":8},"end":{"line":238,"column":9}},"37":{"start":{"line":237,"column":12},"end":{"line":237,"column":48}},"38":{"start":{"line":239,"column":8},"end":{"line":244,"column":9}},"39":{"start":{"line":240,"column":12},"end":{"line":240,"column":60}},"40":{"start":{"line":241,"column":12},"end":{"line":243,"column":13}},"41":{"start":{"line":242,"column":16},"end":{"line":242,"column":61}},"42":{"start":{"line":256,"column":8},"end":{"line":258,"column":9}},"43":{"start":{"line":257,"column":12},"end":{"line":257,"column":19}},"44":{"start":{"line":260,"column":8},"end":{"line":264,"column":42}},"45":{"start":{"line":266,"column":8},"end":{"line":268,"column":44}},"46":{"start":{"line":270,"column":8},"end":{"line":272,"column":44}},"47":{"start":{"line":274,"column":8},"end":{"line":276,"column":44}},"48":{"start":{"line":278,"column":8},"end":{"line":280,"column":44}},"49":{"start":{"line":282,"column":8},"end":{"line":282,"column":54}},"50":{"start":{"line":293,"column":8},"end":{"line":295,"column":9}},"51":{"start":{"line":294,"column":12},"end":{"line":294,"column":19}},"52":{"start":{"line":297,"column":8},"end":{"line":297,"column":62}},"53":{"start":{"line":308,"column":8},"end":{"line":308,"column":27}},"54":{"start":{"line":309,"column":8},"end":{"line":309,"column":38}},"55":{"start":{"line":311,"column":8},"end":{"line":313,"column":9}},"56":{"start":{"line":312,"column":12},"end":{"line":312,"column":19}},"57":{"start":{"line":314,"column":8},"end":{"line":317,"column":11}},"58":{"start":{"line":330,"column":8},"end":{"line":332,"column":9}},"59":{"start":{"line":331,"column":12},"end":{"line":331,"column":19}},"60":{"start":{"line":334,"column":8},"end":{"line":334,"column":36}},"61":{"start":{"line":335,"column":8},"end":{"line":335,"column":73}},"62":{"start":{"line":346,"column":8},"end":{"line":348,"column":9}},"63":{"start":{"line":347,"column":12},"end":{"line":347,"column":19}},"64":{"start":{"line":351,"column":8},"end":{"line":351,"column":27}},"65":{"start":{"line":353,"column":8},"end":{"line":353,"column":38}},"66":{"start":{"line":354,"column":8},"end":{"line":354,"column":71}},"67":{"start":{"line":364,"column":8},"end":{"line":369,"column":10}},"68":{"start":{"line":380,"column":8},"end":{"line":381,"column":48}},"69":{"start":{"line":394,"column":8},"end":{"line":394,"column":28}},"70":{"start":{"line":396,"column":8},"end":{"line":396,"column":38}},"71":{"start":{"line":398,"column":8},"end":{"line":399,"column":4}},"72":{"start":{"line":429,"column":0},"end":{"line":429,"column":25}},"73":{"start":{"line":431,"column":0},"end":{"line":516,"column":2}},"74":{"start":{"line":518,"column":0},"end":{"line":970,"column":9}},"75":{"start":{"line":526,"column":8},"end":{"line":526,"column":50}},"76":{"start":{"line":527,"column":8},"end":{"line":527,"column":20}},"77":{"start":{"line":537,"column":8},"end":{"line":537,"column":47}},"78":{"start":{"line":538,"column":8},"end":{"line":538,"column":51}},"79":{"start":{"line":539,"column":8},"end":{"line":539,"column":20}},"80":{"start":{"line":549,"column":8},"end":{"line":549,"column":46}},"81":{"start":{"line":550,"column":8},"end":{"line":550,"column":20}},"82":{"start":{"line":560,"column":8},"end":{"line":560,"column":46}},"83":{"start":{"line":561,"column":8},"end":{"line":561,"column":20}},"84":{"start":{"line":574,"column":8},"end":{"line":574,"column":37}},"85":{"start":{"line":575,"column":8},"end":{"line":575,"column":28}},"86":{"start":{"line":577,"column":8},"end":{"line":579,"column":9}},"87":{"start":{"line":578,"column":12},"end":{"line":578,"column":99}},"88":{"start":{"line":589,"column":8},"end":{"line":589,"column":47}},"89":{"start":{"line":591,"column":8},"end":{"line":591,"column":34}},"90":{"start":{"line":592,"column":8},"end":{"line":592,"column":69}},"91":{"start":{"line":593,"column":8},"end":{"line":593,"column":75}},"92":{"start":{"line":594,"column":8},"end":{"line":594,"column":76}},"93":{"start":{"line":595,"column":8},"end":{"line":595,"column":96}},"94":{"start":{"line":598,"column":8},"end":{"line":598,"column":59}},"95":{"start":{"line":599,"column":8},"end":{"line":599,"column":57}},"96":{"start":{"line":610,"column":8},"end":{"line":611,"column":47}},"97":{"start":{"line":613,"column":8},"end":{"line":613,"column":45}},"98":{"start":{"line":615,"column":8},"end":{"line":624,"column":9}},"99":{"start":{"line":616,"column":12},"end":{"line":616,"column":29}},"100":{"start":{"line":618,"column":12},"end":{"line":618,"column":32}},"101":{"start":{"line":620,"column":12},"end":{"line":623,"column":15}},"102":{"start":{"line":636,"column":8},"end":{"line":637,"column":36}},"103":{"start":{"line":639,"column":8},"end":{"line":639,"column":45}},"104":{"start":{"line":652,"column":8},"end":{"line":654,"column":17}},"105":{"start":{"line":656,"column":8},"end":{"line":677,"column":9}},"106":{"start":{"line":658,"column":12},"end":{"line":658,"column":38}},"107":{"start":{"line":660,"column":12},"end":{"line":662,"column":13}},"108":{"start":{"line":661,"column":16},"end":{"line":661,"column":36}},"109":{"start":{"line":664,"column":12},"end":{"line":664,"column":84}},"110":{"start":{"line":665,"column":12},"end":{"line":665,"column":59}},"111":{"start":{"line":669,"column":12},"end":{"line":673,"column":13}},"112":{"start":{"line":670,"column":16},"end":{"line":670,"column":45}},"113":{"start":{"line":671,"column":16},"end":{"line":671,"column":47}},"114":{"start":{"line":672,"column":16},"end":{"line":672,"column":38}},"115":{"start":{"line":675,"column":12},"end":{"line":675,"column":34}},"116":{"start":{"line":676,"column":12},"end":{"line":676,"column":38}},"117":{"start":{"line":679,"column":8},"end":{"line":679,"column":79}},"118":{"start":{"line":689,"column":8},"end":{"line":691,"column":9}},"119":{"start":{"line":690,"column":12},"end":{"line":690,"column":19}},"120":{"start":{"line":692,"column":8},"end":{"line":698,"column":54}},"121":{"start":{"line":700,"column":8},"end":{"line":702,"column":9}},"122":{"start":{"line":701,"column":12},"end":{"line":701,"column":36}},"123":{"start":{"line":704,"column":8},"end":{"line":706,"column":9}},"124":{"start":{"line":705,"column":12},"end":{"line":705,"column":39}},"125":{"start":{"line":709,"column":8},"end":{"line":753,"column":17}},"126":{"start":{"line":710,"column":12},"end":{"line":712,"column":20}},"127":{"start":{"line":714,"column":12},"end":{"line":714,"column":56}},"128":{"start":{"line":715,"column":12},"end":{"line":715,"column":29}},"129":{"start":{"line":717,"column":12},"end":{"line":752,"column":13}},"130":{"start":{"line":718,"column":16},"end":{"line":718,"column":43}},"131":{"start":{"line":720,"column":16},"end":{"line":722,"column":19}},"132":{"start":{"line":721,"column":20},"end":{"line":721,"column":51}},"133":{"start":{"line":723,"column":19},"end":{"line":752,"column":13}},"134":{"start":{"line":725,"column":16},"end":{"line":729,"column":17}},"135":{"start":{"line":726,"column":20},"end":{"line":726,"column":75}},"136":{"start":{"line":727,"column":20},"end":{"line":727,"column":39}},"137":{"start":{"line":728,"column":20},"end":{"line":728,"column":67}},"138":{"start":{"line":732,"column":16},"end":{"line":735,"column":20}},"139":{"start":{"line":737,"column":16},"end":{"line":737,"column":48}},"140":{"start":{"line":738,"column":16},"end":{"line":738,"column":48}},"141":{"start":{"line":741,"column":16},"end":{"line":743,"column":19}},"142":{"start":{"line":742,"column":20},"end":{"line":742,"column":37}},"143":{"start":{"line":744,"column":19},"end":{"line":752,"column":13}},"144":{"start":{"line":747,"column":16},"end":{"line":751,"column":17}},"145":{"start":{"line":748,"column":20},"end":{"line":748,"column":68}},"146":{"start":{"line":750,"column":20},"end":{"line":750,"column":62}},"147":{"start":{"line":768,"column":8},"end":{"line":768,"column":47}},"148":{"start":{"line":770,"column":8},"end":{"line":788,"column":9}},"149":{"start":{"line":772,"column":16},"end":{"line":772,"column":37}},"150":{"start":{"line":773,"column":16},"end":{"line":773,"column":22}},"151":{"start":{"line":775,"column":16},"end":{"line":775,"column":59}},"152":{"start":{"line":776,"column":16},"end":{"line":776,"column":22}},"153":{"start":{"line":779,"column":16},"end":{"line":779,"column":41}},"154":{"start":{"line":780,"column":16},"end":{"line":780,"column":22}},"155":{"start":{"line":782,"column":16},"end":{"line":782,"column":41}},"156":{"start":{"line":783,"column":16},"end":{"line":783,"column":22}},"157":{"start":{"line":785,"column":16},"end":{"line":785,"column":49}},"158":{"start":{"line":786,"column":16},"end":{"line":786,"column":37}},"159":{"start":{"line":787,"column":16},"end":{"line":787,"column":22}},"160":{"start":{"line":800,"column":8},"end":{"line":801,"column":36}},"161":{"start":{"line":803,"column":8},"end":{"line":808,"column":9}},"162":{"start":{"line":804,"column":12},"end":{"line":804,"column":32}},"163":{"start":{"line":806,"column":12},"end":{"line":806,"column":84}},"164":{"start":{"line":807,"column":12},"end":{"line":807,"column":59}},"165":{"start":{"line":810,"column":8},"end":{"line":813,"column":11}},"166":{"start":{"line":828,"column":8},"end":{"line":828,"column":47}},"167":{"start":{"line":830,"column":8},"end":{"line":832,"column":9}},"168":{"start":{"line":831,"column":12},"end":{"line":831,"column":19}},"169":{"start":{"line":834,"column":8},"end":{"line":865,"column":17}},"170":{"start":{"line":842,"column":16},"end":{"line":843,"column":36}},"171":{"start":{"line":846,"column":16},"end":{"line":848,"column":47}},"172":{"start":{"line":852,"column":16},"end":{"line":854,"column":39}},"173":{"start":{"line":858,"column":16},"end":{"line":858,"column":65}},"174":{"start":{"line":859,"column":16},"end":{"line":859,"column":45}},"175":{"start":{"line":861,"column":16},"end":{"line":861,"column":47}},"176":{"start":{"line":863,"column":16},"end":{"line":863,"column":28}},"177":{"start":{"line":878,"column":8},"end":{"line":881,"column":18}},"178":{"start":{"line":883,"column":8},"end":{"line":886,"column":9}},"179":{"start":{"line":884,"column":12},"end":{"line":884,"column":24}},"180":{"start":{"line":885,"column":12},"end":{"line":885,"column":29}},"181":{"start":{"line":888,"column":8},"end":{"line":903,"column":9}},"182":{"start":{"line":889,"column":12},"end":{"line":902,"column":13}},"183":{"start":{"line":890,"column":16},"end":{"line":890,"column":31}},"184":{"start":{"line":891,"column":16},"end":{"line":891,"column":31}},"185":{"start":{"line":897,"column":16},"end":{"line":899,"column":17}},"186":{"start":{"line":898,"column":20},"end":{"line":898,"column":31}},"187":{"start":{"line":901,"column":16},"end":{"line":901,"column":56}},"188":{"start":{"line":905,"column":8},"end":{"line":905,"column":19}},"189":{"start":{"line":919,"column":8},"end":{"line":922,"column":9}},"190":{"start":{"line":920,"column":12},"end":{"line":920,"column":66}},"191":{"start":{"line":921,"column":12},"end":{"line":921,"column":48}},"192":{"start":{"line":924,"column":8},"end":{"line":924,"column":21}},"193":{"start":{"line":938,"column":8},"end":{"line":940,"column":17}},"194":{"start":{"line":951,"column":8},"end":{"line":952,"column":48}},"195":{"start":{"line":964,"column":8},"end":{"line":964,"column":37}},"196":{"start":{"line":966,"column":8},"end":{"line":966,"column":47}},"197":{"start":{"line":968,"column":8},"end":{"line":969,"column":4}},"198":{"start":{"line":973,"column":0},"end":{"line":973,"column":35}},"199":{"start":{"line":974,"column":0},"end":{"line":974,"column":36}},"200":{"start":{"line":975,"column":0},"end":{"line":975,"column":34}},"201":{"start":{"line":977,"column":0},"end":{"line":977,"column":49}}},"branchMap":{"1":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":119,"column":8}},{"start":{"line":119,"column":8},"end":{"line":119,"column":8}}]},"2":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":12},"end":{"line":207,"column":12}},{"start":{"line":207,"column":12},"end":{"line":207,"column":12}}]},"3":{"line":213,"type":"cond-expr","locations":[{"start":{"line":213,"column":63},"end":{"line":213,"column":74}},{"start":{"line":213,"column":77},"end":{"line":213,"column":79}}]},"4":{"line":233,"type":"binary-expr","locations":[{"start":{"line":233,"column":20},"end":{"line":233,"column":27}},{"start":{"line":233,"column":31},"end":{"line":233,"column":43}}]},"5":{"line":234,"type":"binary-expr","locations":[{"start":{"line":234,"column":28},"end":{"line":234,"column":35}},{"start":{"line":234,"column":39},"end":{"line":234,"column":59}}]},"6":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":236,"column":8}},{"start":{"line":236,"column":8},"end":{"line":236,"column":8}}]},"7":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":239,"column":8}},{"start":{"line":239,"column":8},"end":{"line":239,"column":8}}]},"8":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":12},"end":{"line":241,"column":12}},{"start":{"line":241,"column":12},"end":{"line":241,"column":12}}]},"9":{"line":256,"type":"if","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":8}},{"start":{"line":256,"column":8},"end":{"line":256,"column":8}}]},"10":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":8},"end":{"line":293,"column":8}},{"start":{"line":293,"column":8},"end":{"line":293,"column":8}}]},"11":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":8},"end":{"line":311,"column":8}},{"start":{"line":311,"column":8},"end":{"line":311,"column":8}}]},"12":{"line":316,"type":"binary-expr","locations":[{"start":{"line":316,"column":17},"end":{"line":316,"column":40}},{"start":{"line":316,"column":44},"end":{"line":316,"column":48}}]},"13":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":8},"end":{"line":330,"column":8}},{"start":{"line":330,"column":8},"end":{"line":330,"column":8}}]},"14":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":8},"end":{"line":346,"column":8}},{"start":{"line":346,"column":8},"end":{"line":346,"column":8}}]},"15":{"line":380,"type":"binary-expr","locations":[{"start":{"line":380,"column":35},"end":{"line":380,"column":54}},{"start":{"line":380,"column":58},"end":{"line":380,"column":60}}]},"16":{"line":577,"type":"if","locations":[{"start":{"line":577,"column":8},"end":{"line":577,"column":8}},{"start":{"line":577,"column":8},"end":{"line":577,"column":8}}]},"17":{"line":615,"type":"if","locations":[{"start":{"line":615,"column":8},"end":{"line":615,"column":8}},{"start":{"line":615,"column":8},"end":{"line":615,"column":8}}]},"18":{"line":656,"type":"if","locations":[{"start":{"line":656,"column":8},"end":{"line":656,"column":8}},{"start":{"line":656,"column":8},"end":{"line":656,"column":8}}]},"19":{"line":660,"type":"if","locations":[{"start":{"line":660,"column":12},"end":{"line":660,"column":12}},{"start":{"line":660,"column":12},"end":{"line":660,"column":12}}]},"20":{"line":689,"type":"if","locations":[{"start":{"line":689,"column":8},"end":{"line":689,"column":8}},{"start":{"line":689,"column":8},"end":{"line":689,"column":8}}]},"21":{"line":700,"type":"if","locations":[{"start":{"line":700,"column":8},"end":{"line":700,"column":8}},{"start":{"line":700,"column":8},"end":{"line":700,"column":8}}]},"22":{"line":704,"type":"if","locations":[{"start":{"line":704,"column":8},"end":{"line":704,"column":8}},{"start":{"line":704,"column":8},"end":{"line":704,"column":8}}]},"23":{"line":717,"type":"if","locations":[{"start":{"line":717,"column":12},"end":{"line":717,"column":12}},{"start":{"line":717,"column":12},"end":{"line":717,"column":12}}]},"24":{"line":723,"type":"if","locations":[{"start":{"line":723,"column":19},"end":{"line":723,"column":19}},{"start":{"line":723,"column":19},"end":{"line":723,"column":19}}]},"25":{"line":725,"type":"if","locations":[{"start":{"line":725,"column":16},"end":{"line":725,"column":16}},{"start":{"line":725,"column":16},"end":{"line":725,"column":16}}]},"26":{"line":744,"type":"if","locations":[{"start":{"line":744,"column":19},"end":{"line":744,"column":19}},{"start":{"line":744,"column":19},"end":{"line":744,"column":19}}]},"27":{"line":747,"type":"if","locations":[{"start":{"line":747,"column":16},"end":{"line":747,"column":16}},{"start":{"line":747,"column":16},"end":{"line":747,"column":16}}]},"28":{"line":747,"type":"binary-expr","locations":[{"start":{"line":747,"column":20},"end":{"line":747,"column":29}},{"start":{"line":747,"column":33},"end":{"line":747,"column":52}}]},"29":{"line":770,"type":"switch","locations":[{"start":{"line":771,"column":12},"end":{"line":773,"column":22}},{"start":{"line":774,"column":12},"end":{"line":776,"column":22}},{"start":{"line":777,"column":12},"end":{"line":777,"column":24}},{"start":{"line":778,"column":12},"end":{"line":780,"column":22}},{"start":{"line":781,"column":12},"end":{"line":783,"column":22}},{"start":{"line":784,"column":12},"end":{"line":787,"column":22}}]},"30":{"line":803,"type":"if","locations":[{"start":{"line":803,"column":8},"end":{"line":803,"column":8}},{"start":{"line":803,"column":8},"end":{"line":803,"column":8}}]},"31":{"line":830,"type":"if","locations":[{"start":{"line":830,"column":8},"end":{"line":830,"column":8}},{"start":{"line":830,"column":8},"end":{"line":830,"column":8}}]},"32":{"line":846,"type":"cond-expr","locations":[{"start":{"line":847,"column":24},"end":{"line":847,"column":64}},{"start":{"line":848,"column":24},"end":{"line":848,"column":46}}]},"33":{"line":852,"type":"cond-expr","locations":[{"start":{"line":853,"column":20},"end":{"line":853,"column":38}},{"start":{"line":854,"column":20},"end":{"line":854,"column":38}}]},"34":{"line":852,"type":"binary-expr","locations":[{"start":{"line":852,"column":24},"end":{"line":852,"column":29}},{"start":{"line":852,"column":33},"end":{"line":852,"column":55}}]},"35":{"line":883,"type":"if","locations":[{"start":{"line":883,"column":8},"end":{"line":883,"column":8}},{"start":{"line":883,"column":8},"end":{"line":883,"column":8}}]},"36":{"line":889,"type":"if","locations":[{"start":{"line":889,"column":12},"end":{"line":889,"column":12}},{"start":{"line":889,"column":12},"end":{"line":889,"column":12}}]},"37":{"line":897,"type":"if","locations":[{"start":{"line":897,"column":16},"end":{"line":897,"column":16}},{"start":{"line":897,"column":16},"end":{"line":897,"column":16}}]},"38":{"line":919,"type":"if","locations":[{"start":{"line":919,"column":8},"end":{"line":919,"column":8}},{"start":{"line":919,"column":8},"end":{"line":919,"column":8}}]},"39":{"line":919,"type":"binary-expr","locations":[{"start":{"line":919,"column":14},"end":{"line":919,"column":19}},{"start":{"line":919,"column":23},"end":{"line":919,"column":40}}]},"40":{"line":938,"type":"cond-expr","locations":[{"start":{"line":939,"column":12},"end":{"line":939,"column":49}},{"start":{"line":940,"column":12},"end":{"line":940,"column":16}}]},"41":{"line":951,"type":"binary-expr","locations":[{"start":{"line":951,"column":44},"end":{"line":951,"column":72}},{"start":{"line":951,"column":76},"end":{"line":951,"column":78}}]}},"code":["(function () { YUI.add('datatable-paginator', function (Y, NAME) {","","/**"," Adds support for paging through data in the DataTable.",""," @module datatable"," @submodule datatable-paginator"," @since 3.11.0"," */","","var Model,"," View,"," PaginatorTemplates = Y.DataTable.Templates.Paginator,"," sub = Y.Lang.sub,"," getClassName = Y.ClassNameManager.getClassName,"," CLASS_DISABLED = getClassName(NAME, 'control-disabled'),"," EVENT_UI = 'paginator:ui';","","","/**"," @class DataTable.Paginator.Model"," @extends Model"," @since 3.11.0"," */","Model = Y.Base.create('dt-pg-model', Y.Model, [Y.Paginator.Core]),","","/**"," @class DataTable.Paginator.View"," @extends View"," @since 3.11.0"," */","View = Y.Base.create('dt-pg-view', Y.View, [], {"," /**"," Array of event handles to keep track of what should be destroyed later"," @protected"," @property _eventHandles"," @type {Array}"," @since 3.11.0"," */"," _eventHandles: [],",""," /**"," Template for this view's container."," @property containerTemplate"," @type {String}"," @default '
'"," @since 3.11.0"," */"," containerTemplate: '
',",""," /**"," Template for content. Helps maintain order of controls."," @property contentTemplate"," @type {String}"," @default '{buttons}{goto}{perPage}'"," @since 3.11.0"," */"," contentTemplate: '{buttons}{goto}{perPage}',",""," /**"," Disables ad-hoc ATTRS for our view."," @protected"," @property _allowAdHocAttrs"," @type {Boolean}"," @default false"," @since 3.11.0"," */"," _allowAdHocAttrs: false,",""," /**"," Sets classnames on the templates and bind events"," @method initializer"," @since 3.11.0"," */"," initializer: function () {"," this.containerTemplate = sub(this.containerTemplate, {"," paginator: getClassName(NAME)"," });",""," this._initStrings();"," this._initClassNames();",""," this.attachEvents();"," },",""," /**"," @method render"," @chainable"," @since 3.11.0"," */"," render: function () {"," var model = this.get('model'),"," content = sub(this.contentTemplate, {"," 'buttons': this._buildButtonsGroup(),"," 'goto': this._buildGotoGroup(),"," 'perPage': this._buildPerPageGroup()"," });",""," this.get('container').append(content);"," this.attachEvents();",""," this._rendered = true;",""," this._updateControlsUI(model.get('page'));"," this._updateItemsPerPageUI(model.get('itemsPerPage'));",""," return this;"," },",""," /**"," @method attachEvents"," @since 3.11.0"," */"," attachEvents: function () {"," View.superclass.attachEvents.apply(this, arguments);",""," var container = this.get('container');",""," if (!this.classNames) {"," this._initClassNames();"," }",""," this._attachedViewEvents.push("," container.delegate('click', this._controlClick, '.' + this.classNames.control, this),"," this.get('model').after('change', this._modelChange, this)"," );",""," container.all('form').each(Y.bind(function (frm) {"," this._attachedViewEvents.push("," frm.after('submit', this._controlSubmit, this)"," );"," }, this));",""," container.all('select').each(Y.bind(function (sel) {"," this._attachedViewEvents.push("," sel.after('change', this._controlChange, this)"," );"," }, this));",""," },",""," /**"," Returns a string built from the button and buttons templates."," @protected"," @method _buildButtonsGroup"," @return {String}"," @since 3.11.0"," */"," _buildButtonsGroup: function () {"," var strings = this.get('strings'),"," classNames = this.classNames,"," buttons;",""," buttons = PaginatorTemplates.button({"," type: 'first', label: strings.first, classNames: classNames"," }) +"," PaginatorTemplates.button({"," type: 'prev', label: strings.prev, classNames: classNames"," }) +"," PaginatorTemplates.button({"," type: 'next', label: strings.next, classNames: classNames"," }) +"," PaginatorTemplates.button({"," type: 'last', label: strings.last, classNames: classNames"," });",""," return PaginatorTemplates.buttons({"," classNames: classNames,"," buttons: buttons"," });",""," },",""," /**"," Returns a string built from the gotoPage template."," @protected"," @method _buildGotoGroup"," @return {String}"," @since 3.11.0"," */"," _buildGotoGroup: function () {",""," return PaginatorTemplates.gotoPage({"," classNames: this.classNames,"," strings: this.get('strings'),"," page: this.get('model').get('page')"," });"," },",""," /**"," Returns a string built from the perPage template"," @protected"," @method _buildPerPageGroup"," @return {String}"," @since 3.11.0"," */"," _buildPerPageGroup: function () {"," var options = this.get('pageSizes'),"," rowsPerPage = this.get('model').get('rowsPerPage'),"," option,"," len,"," i;",""," for (i = 0, len = options.length; i < len; i++ ) {"," option = options[i];",""," if (typeof option !== 'object') {"," option = {"," value: option,"," label: option"," };"," }"," option.selected = (option.value === rowsPerPage) ? ' selected' : '';"," }",""," return PaginatorTemplates.perPage({"," classNames: this.classNames,"," strings: this.get('strings'),"," options: this.get('pageSizes')"," });",""," },",""," /**"," Update the UI after the model has changed."," @protected"," @method _modelChange"," @param {EventFacade} e"," @since 3.11.0"," */"," _modelChange: function (e) {"," var changed = e.changed,"," page = (changed && changed.page),"," itemsPerPage = (changed && changed.itemsPerPage);",""," if (page) {"," this._updateControlsUI(page.newVal);"," }"," if (itemsPerPage) {"," this._updateItemsPerPageUI(itemsPerPage.newVal);"," if (!page) {"," this._updateControlsUI(e.target.get('page'));"," }"," }",""," },",""," /**"," Updates the button controls and the gotoPage form"," @protected"," @method _updateControlsUI"," @param {Number} val Page number to set the UI input to"," @since 3.11.0"," */"," _updateControlsUI: function (val) {"," if (!this._rendered) {"," return;"," }",""," var model = this.get('model'),"," controlClass = '.' + this.classNames.control,"," container = this.get('container'),"," hasPrev = model.hasPrevPage(),"," hasNext = model.hasNextPage();",""," container.one(controlClass + '-first')"," .toggleClass(CLASS_DISABLED, !hasPrev)"," .set('disabled', !hasPrev);",""," container.one(controlClass + '-prev')"," .toggleClass(CLASS_DISABLED, !hasPrev)"," .set('disabled', !hasPrev);",""," container.one(controlClass + '-next')"," .toggleClass(CLASS_DISABLED, !hasNext)"," .set('disabled', !hasNext);",""," container.one(controlClass + '-last')"," .toggleClass(CLASS_DISABLED, !hasNext)"," .set('disabled', !hasNext);",""," container.one('form input').set('value', val);"," },",""," /**"," Updates the drop down select for items per page"," @protected"," @method _updateItemsPerPageUI"," @param {Number} val Number of items to display per page"," @since 3.11.0"," */"," _updateItemsPerPageUI: function (val) {"," if (!this._rendered) {"," return;"," }",""," this.get('container').one('select').set('value', val);"," },",""," /**"," Fire EVENT_UI when an enabled control button is clicked"," @protected"," @method _controlClick"," @param {EventFacade} e"," @since 3.11.0"," */"," _controlClick: function (e) { // buttons"," e.preventDefault();"," var control = e.currentTarget;"," // register click events from the four control buttons"," if (control.hasClass(CLASS_DISABLED)) {"," return;"," }"," this.fire(EVENT_UI, {"," type: control.getData('type'),"," val: control.getData('page') || null"," });"," },",""," /**"," Fire EVENT_UI with `type:perPage` after the select drop down changes"," @protected"," @method _controlChange"," @param {EventFacade} e"," @since 3.11.0"," */"," _controlChange: function (e) {",""," // register change events from the perPage select"," if ( e.target.hasClass(CLASS_DISABLED) ) {"," return;"," }",""," val = e.target.get('value');"," this.fire(EVENT_UI, { type: 'perPage', val: parseInt(val, 10) });"," },",""," /**"," Fire EVENT_UI with `type:page` after form is submitted"," @protected"," @method _controlSubmit"," @param {EventFacade} e"," @since 3.11.0"," */"," _controlSubmit: function (e) {"," if ( e.target.hasClass(CLASS_DISABLED) ) {"," return;"," }",""," // the only form we have is the go to page form"," e.preventDefault();",""," input = e.target.one('input');"," this.fire(EVENT_UI, { type: 'page', val: input.get('value') });"," },",""," /**"," Initializes classnames to be used with the templates"," @protected"," @method _initClassNames"," @since 3.11.0"," */"," _initClassNames: function () {"," this.classNames = {"," control: getClassName(NAME, 'control'),"," controls: getClassName(NAME, 'controls'),"," group: getClassName(NAME, 'group'),"," perPage: getClassName(NAME, 'per-page')"," };"," },",""," /**"," Initializes strings used for internationalization"," @protected"," @method _initStrings"," @since 3.11.0"," */"," _initStrings: function () {"," // Not a valueFn because other class extensions may want to add to it"," this.set('strings', Y.mix((this.get('strings') || {}),"," Y.Intl.get('datatable-paginator')));"," },","",""," /**"," Returns an Array with default values for the Rows Per Page select option."," We had to use a valueFn to enable language string replacement.",""," @protected"," @method _defPageSizeVal"," @since 3.13.0"," */"," _defPageSizeVal: function () {"," this._initStrings();",""," var str = this.get('strings');",""," return [10, 50, 100, { label: str.showAll, value: -1 }]"," }","","}, {"," ATTRS: {"," /**"," Array of values used to populate the drop down for items per page"," @attribute pageSizes"," @type {Array}"," @default [ 10, 50, 100, { label: 'Show All', value: -1 } ]"," @since 3.11.0"," */"," pageSizes: {"," valueFn: '_defPageSizeVal'"," },",""," /**"," Model used for this view"," @attribute model"," @type {Y.Model}"," @default null"," @since 3.11.0"," */"," model: {}"," }","});","","/**"," @class DataTable.Paginator"," @since 3.11.0"," */","function Controller () {}","","Controller.ATTRS = {"," /**"," A model instance or a configuration object for the Model."," @attribute paginatorModel"," @type {Y.Model | Object}"," @default null"," @since 3.11.0"," */"," paginatorModel: {"," setter: '_setPaginatorModel',"," value: null,"," writeOnce: 'initOnly'"," },",""," /**"," A pointer to a Model object to be instantiated, or a String off of the"," `Y` namespace.",""," This is only used if the `paginatorModel` is a configuration object or"," is null."," @attribute paginatorModelType"," @type {Y.Model | String}"," @default 'DataTable.Paginator.Model'"," @since 3.11.0"," */"," paginatorModelType: {"," getter: '_getConstructor',"," value: 'DataTable.Paginator.Model',"," writeOnce: 'initOnly'"," },",""," /**"," A pointer to a `Y.View` object to be instantiated. A new view will be"," created for each location provided. Each view created will be given the"," same model instance."," @attribute paginatorView"," @type {Y.View | String}"," @default 'DataTable.Paginator.View'"," @since 3.11.0"," */"," paginatorView: {"," getter: '_getConstructor',"," value: 'DataTable.Paginator.View',"," writeOnce: 'initOnly'"," },",""," // PAGINATOR CONFIGS"," /**"," Array of values used to populate the values in the Paginator UI allowing"," the end user to select the number of items to display per page."," @attribute pageSizes"," @type {Array}"," @default [10, 50, 100, { label: 'Show All', value: -1 }]"," @since 3.11.0"," */"," pageSizes: {"," setter: '_setPageSizesFn',"," valueFn: '_defPageSizeVal'"," },",""," paginatorStrings: {},",""," /**"," Number of rows to display per page. As the UI changes the number of pages"," to display, this will update to reflect the value selected in the UI"," @attribute rowsPerPage"," @type {Number | null}"," @default null"," @since 3.11.0"," */"," rowsPerPage: {"," value: null"," },",""," /**"," String of `footer` or `header`, a Y.Node, or an Array or any combination"," of those values."," @attribute paginatorLocation"," @type {String | Array | Y.Node}"," @default footer"," @since 3.11.0"," */"," paginatorLocation: {"," value: 'footer'"," }","};","","Y.mix(Controller.prototype, {"," /**"," Sets the `paginatorModel` to the first page."," @method firstPage"," @chainable"," @since 3.11.0"," */"," firstPage: function () {"," this.get('paginatorModel').set('page', 1);"," return this;"," },",""," /**"," Sets the `paginatorModel` to the last page."," @method lastPage"," @chainable"," @since 3.11.0"," */"," lastPage: function () {"," var model = this.get('paginatorModel');"," model.set('page', model.get('totalPages'));"," return this;"," },",""," /**"," Sets the `paginatorModel` to the previous page."," @method previousPage"," @chainable"," @since 3.11.0"," */"," previousPage: function () {"," this.get('paginatorModel').prevPage();"," return this;"," },",""," /**"," Sets the `paginatorModel` to the next page."," @method nextPage"," @chainable"," @since 3.11.0"," */"," nextPage: function () {"," this.get('paginatorModel').nextPage();"," return this;"," },","",""," /// Init and protected"," /**"," Constructor logic"," @protected"," @method initializer"," @since 3.11.0"," */"," initializer: function () {"," // allow DT to use paged data"," this._initPaginatorStrings();"," this._augmentData();",""," if (!this._eventHandles.paginatorRender) {"," this._eventHandles.paginatorRender = Y.Do.after(this._paginatorRender, this, 'render');"," }"," },",""," /**"," Renders the paginator into locations and attaches events."," @protected"," @method _paginatorRender"," @since 3.11.0"," */"," _paginatorRender: function () {"," var model = this.get('paginatorModel');",""," this._paginatorRenderUI();"," model.after('change', this._afterPaginatorModelChange, this);"," this.after('dataChange', this._afterDataChangeWithPaginator, this);"," this.after('rowsPerPageChange', this._afterRowsPerPageChange, this);"," this.data.after(['add', 'remove', 'change'], this._afterDataUpdatesWithPaginator, this);",""," // ensure our model has the correct totalItems set"," model.set('itemsPerPage', this.get('rowsPerPage'));"," model.set('totalItems', this.get('data').size());"," },",""," /**"," After the data changes, we ensure we are on the first page and the data"," is augmented"," @protected"," @method _afterDataChangeWithPaginator"," @since 3.11.0"," */"," _afterDataChangeWithPaginator: function () {"," var data = this.get('data'),"," model = this.get('paginatorModel');",""," model.set('totalItems', data.size());",""," if (model.get('page') !== 1) {"," this.firstPage();"," } else {"," this._augmentData();",""," data.fire.call(data, 'reset', {"," src: 'reset',"," models: data._items.concat()"," });"," }"," },",""," /**"," After data has changed due to a model being added, removed, or changed,"," update paginator model totalItems to reflect the changes."," @protected"," @method _afterDataUpdatesWithPaginator"," @param {EventFacade} e"," @since 3.13.0"," */"," _afterDataUpdatesWithPaginator: function () {"," var model = this.get('paginatorModel'),"," data = this.get('data');",""," model.set('totalItems', data.size());"," },",""," /**"," After the rowsPerPage changes, update the UI to reflect the new number of"," rows to be displayed. If the new value is `null`, destroy all instances"," of the paginators."," @protected"," @method _afterRowsPerPageChange"," @param {EventFacade} e"," @since 3.11.0"," */"," _afterRowsPerPageChange: function (e) {"," var data = this.get('data'),"," model = this.get('paginatorModel'),"," view;",""," if (e.newVal !== null) {"," // turning on"," this._paginatorRenderUI();",""," if (!(data._paged)) {"," this._augmentData();"," }",""," data._paged.index = (model.get('page') - 1) * model.get('itemsPerPage');"," data._paged.length = model.get('itemsPerPage');",""," } else { // e.newVal === null"," // destroy!"," while(this._pgViews.length) {"," view = this._pgViews.shift();"," view.destroy({ remove: true });"," view._rendered = null;"," }",""," data._paged.index = 0;"," data._paged.length = null;"," }",""," this.get('paginatorModel').set('itemsPerPage', parseInt(e.newVal, 10));"," },",""," /**"," Parse each location and render a new view into each area."," @protected"," @method _paginatorRenderUI"," @since 3.11.0"," */"," _paginatorRenderUI: function () {"," if (!this.get('rowsPerPage')) {"," return;"," }"," var views = this._pgViews,"," ViewClass = this.get('paginatorView'),"," viewConfig = {"," pageSizes: this.get('pageSizes'),"," model: this.get('paginatorModel')"," },"," locations = this.get('paginatorLocation');",""," if (!Y.Lang.isArray(locations)) {"," locations = [locations];"," }",""," if (!views) { // set up initial rendering of views"," views = this._pgViews = [];"," }",""," // for each placement area, push to views"," Y.Array.each(locations, function (location) {"," var view = new ViewClass(viewConfig),"," container = view.render().get('container'),"," row;",""," view.after('*:ui', this._uiPgHandler, this);"," views.push(view);",""," if (location._node) { // assume Y.Node"," location.append(container);"," // remove this container row if the view is ever destroyed"," this.after('destroy', function (/* e */) {"," view.destroy({ remove: true });"," });"," } else if (location === 'footer') { // DT Footer"," // Render a table footer if there isn't one"," if (!this.foot) {"," this.foot = new Y.DataTable.FooterView({ host: this });"," this.foot.render();"," this.fire('renderFooter', { view: this.foot });"," }",""," // create a row for the paginator to sit in"," row = Y.Node.create(PaginatorTemplates.rowWrapper({"," wrapperClass: getClassName(NAME, 'wrapper'),"," numOfCols: this.get('columns').length"," }));",""," row.one('td').append(container);"," this.foot.tfootNode.append(row);",""," // remove this container row if the view is ever destroyed"," view.after('destroy', function (/* e */) {"," row.remove(true);"," });"," } else if (location === 'header') {"," // 'header' means insert before the table"," // placement with the caption may need to be addressed"," if (this.view && this.view.tableNode) {"," this.view.tableNode.insert(container, 'before');"," } else {"," this.get('contentBox').prepend(container);"," }"," }"," }, this);",""," },",""," /**"," Handles the paginator's UI event into a single location. Updates the"," `paginatorModel` according to what type is provided."," @protected"," @method _uiPgHandler"," @param {EventFacade} e"," @since 3.11.0"," */"," _uiPgHandler: function (e) {"," // e.type = control type (first|prev|next|last|page|perPage)"," // e.val = value based on the control type to pass to the model"," var model = this.get('paginatorModel');",""," switch (e.type) {"," case 'first':"," model.set('page', 1);"," break;"," case 'last':"," model.set('page', model.get('totalPages'));"," break;"," case 'prev':"," case 'next': // overflow intentional"," model[e.type + 'Page']();"," break;"," case 'page':"," model.set('page', e.val);"," break;"," case 'perPage':"," model.set('itemsPerPage', e.val);"," model.set('page', 1);"," break;"," }"," },",""," /**"," Augments the model list with a paged structure, or updates the paged"," data. Then fires reset on the model list."," @protected"," @method _afterPaginatorModelChange"," @param {EventFacade} [e]"," @since 3.11.0"," */"," _afterPaginatorModelChange: function () {"," var model = this.get('paginatorModel'),"," data = this.get('data');",""," if (!data._paged) {"," this._augmentData();"," } else {"," data._paged.index = (model.get('page') - 1) * model.get('itemsPerPage');"," data._paged.length = model.get('itemsPerPage');"," }",""," data.fire.call(data, 'reset', {"," src: 'reset',"," models: data._items.concat()"," });"," },",""," /**"," Augments the model list data structure with paged implementations.",""," The model list will contain a method for `getPage` that will return the"," given number of items listed within the range.",""," `each` will also loop over the items in the page"," @protected"," @method _augmentData"," @since 3.11.0"," */"," _augmentData: function () {"," var model = this.get('paginatorModel');",""," if (this.get('rowsPerPage') === null) {"," return;"," }",""," Y.mix(this.get('data'), {",""," _paged: {"," index: (model.get('page') - 1) * model.get('itemsPerPage'),"," length: model.get('itemsPerPage')"," },",""," getPage: function () {"," var _pg = this._paged,"," min = _pg.index;",""," // IE LTE 8 doesn't allow \"undefined\" as a second param - gh890"," return (_pg.length >= 0) ?"," this._items.slice(min, min + _pg.length) :"," this._items.slice(min);"," },",""," size: function (paged) {"," return (paged && this._paged.length >=0 ) ?"," this._paged.length :"," this._items.length;"," },",""," each: function () {"," var args = Array.prototype.slice.call(arguments);"," args.unshift(this.getPage());",""," Y.Array.each.apply(null, args);",""," return this;"," }"," }, true);"," },",""," /**"," Ensures `pageSizes` value is an array of objects to be used in the"," paginator view."," @protected"," @method _setPageSizesFn"," @param {Array} val"," @return Array"," @since 3.11.0"," */"," _setPageSizesFn: function (val) {"," var i,"," len = val.length,"," label,"," value;",""," if (!Y.Lang.isArray(val)) {"," val = [val];"," len = val.length;"," }",""," for ( i = 0; i < len; i++ ) {"," if (typeof val[i] !== 'object') {"," label = val[i];"," value = val[i];",""," // We want to check to see if we have a number or a string"," // of a number. If we do not, we want the value to be -1 to"," // indicate \"all rows\""," /*jshint eqeqeq:false */"," if (parseInt(value, 10) != value) {"," value = -1;"," }"," /*jshint eqeqeq:true */"," val[i] = { label: label, value: value };"," }"," }",""," return val;"," },",""," /**"," Ensures the object provided is an instance of a `Y.Model`. If it is not,"," it assumes it is the configuration of a model, and gets the new model"," type from `paginatorModelType`."," @protected"," @method _setPaginatorModel"," @param {Y.Model | Object} model"," @return Y.Model instance"," @since 3.11.0"," */"," _setPaginatorModel: function (model) {"," if (!(model && model._isYUIModel)) {"," var ModelConstructor = this.get('paginatorModelType');"," model = new ModelConstructor(model);"," }",""," return model;"," },",""," /**"," Returns a pointer to an object to be instantiated if the provided type is"," a string"," @protected"," @method _getConstructor"," @param {Object | String} type Type of Object to contruct. If `type` is a"," String, we assume it is a namespace off the Y object"," @return"," @since 3.11.0"," */"," _getConstructor: function (type) {"," return typeof type === 'string' ?"," Y.Object.getValue(Y, type.split('.')) :"," type;"," },",""," /**"," Initializes paginatorStrings used for internationalization"," @protected"," @method _initPaginatorStrings"," @since 3.13.0"," */"," _initPaginatorStrings: function () {"," // Not a valueFn because other class extensions may want to add to it"," this.set('paginatorStrings', Y.mix((this.get('paginatorStrings') || {}),"," Y.Intl.get('datatable-paginator')));"," },",""," /**"," Returns an Array with default values for the Rows Per Page select option."," We had to use a valueFn to enable language string replacement.",""," @protected"," @method _defPageSizeVal"," @since 3.13.0"," */"," _defPageSizeVal: function () {"," this._initPaginatorStrings();",""," var str = this.get('paginatorStrings');",""," return [10, 50, 100, { label: str.showAll, value: -1 }]"," }","}, true);","","","Y.DataTable.Paginator = Controller;","Y.DataTable.Paginator.Model = Model;","Y.DataTable.Paginator.View = View;","","Y.Base.mix(Y.DataTable, [Y.DataTable.Paginator]);","","","}, '3.13.0', {"," \"requires\": ["," \"model\","," \"view\","," \"paginator-core\","," \"datatable-foot\","," \"datatable-paginator-templates\""," ],"," \"lang\": ["," \"en\","," \"fr\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_P3fdDFfL6fuma_jyHEAmuQ = __coverage__['build/datatable-paginator/datatable-paginator.js'];
+__cov_P3fdDFfL6fuma_jyHEAmuQ.s['1']++;YUI.add('datatable-paginator',function(Y,NAME){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['1']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['2']++;var Model,View,PaginatorTemplates=Y.DataTable.Templates.Paginator,sub=Y.Lang.sub,getClassName=Y.ClassNameManager.getClassName,CLASS_DISABLED=getClassName(NAME,'control-disabled'),EVENT_UI='paginator:ui';__cov_P3fdDFfL6fuma_jyHEAmuQ.s['3']++;Model=Y.Base.create('dt-pg-model',Y.Model,[Y.Paginator.Core]),View=Y.Base.create('dt-pg-view',Y.View,[],{_eventHandles:[],containerTemplate:'',contentTemplate:'{buttons}{goto}{perPage}',_allowAdHocAttrs:false,initializer:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['2']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['4']++;this.containerTemplate=sub(this.containerTemplate,{paginator:getClassName(NAME)});__cov_P3fdDFfL6fuma_jyHEAmuQ.s['5']++;this._initStrings();__cov_P3fdDFfL6fuma_jyHEAmuQ.s['6']++;this._initClassNames();__cov_P3fdDFfL6fuma_jyHEAmuQ.s['7']++;this.attachEvents();},render:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['3']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['8']++;var model=this.get('model'),content=sub(this.contentTemplate,{'buttons':this._buildButtonsGroup(),'goto':this._buildGotoGroup(),'perPage':this._buildPerPageGroup()});__cov_P3fdDFfL6fuma_jyHEAmuQ.s['9']++;this.get('container').append(content);__cov_P3fdDFfL6fuma_jyHEAmuQ.s['10']++;this.attachEvents();__cov_P3fdDFfL6fuma_jyHEAmuQ.s['11']++;this._rendered=true;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['12']++;this._updateControlsUI(model.get('page'));__cov_P3fdDFfL6fuma_jyHEAmuQ.s['13']++;this._updateItemsPerPageUI(model.get('itemsPerPage'));__cov_P3fdDFfL6fuma_jyHEAmuQ.s['14']++;return this;},attachEvents:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['4']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['15']++;View.superclass.attachEvents.apply(this,arguments);__cov_P3fdDFfL6fuma_jyHEAmuQ.s['16']++;var container=this.get('container');__cov_P3fdDFfL6fuma_jyHEAmuQ.s['17']++;if(!this.classNames){__cov_P3fdDFfL6fuma_jyHEAmuQ.b['1'][0]++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['18']++;this._initClassNames();}else{__cov_P3fdDFfL6fuma_jyHEAmuQ.b['1'][1]++;}__cov_P3fdDFfL6fuma_jyHEAmuQ.s['19']++;this._attachedViewEvents.push(container.delegate('click',this._controlClick,'.'+this.classNames.control,this),this.get('model').after('change',this._modelChange,this));__cov_P3fdDFfL6fuma_jyHEAmuQ.s['20']++;container.all('form').each(Y.bind(function(frm){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['5']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['21']++;this._attachedViewEvents.push(frm.after('submit',this._controlSubmit,this));},this));__cov_P3fdDFfL6fuma_jyHEAmuQ.s['22']++;container.all('select').each(Y.bind(function(sel){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['6']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['23']++;this._attachedViewEvents.push(sel.after('change',this._controlChange,this));},this));},_buildButtonsGroup:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['7']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['24']++;var strings=this.get('strings'),classNames=this.classNames,buttons;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['25']++;buttons=PaginatorTemplates.button({type:'first',label:strings.first,classNames:classNames})+PaginatorTemplates.button({type:'prev',label:strings.prev,classNames:classNames})+PaginatorTemplates.button({type:'next',label:strings.next,classNames:classNames})+PaginatorTemplates.button({type:'last',label:strings.last,classNames:classNames});__cov_P3fdDFfL6fuma_jyHEAmuQ.s['26']++;return PaginatorTemplates.buttons({classNames:classNames,buttons:buttons});},_buildGotoGroup:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['8']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['27']++;return PaginatorTemplates.gotoPage({classNames:this.classNames,strings:this.get('strings'),page:this.get('model').get('page')});},_buildPerPageGroup:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['9']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['28']++;var options=this.get('pageSizes'),rowsPerPage=this.get('model').get('rowsPerPage'),option,len,i;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['29']++;for(i=0,len=options.length;i=0?(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['32'][0]++,this._items.slice(min,min+_pg.length)):(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['32'][1]++,this._items.slice(min));},size:function(paged){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['37']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['172']++;return(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['34'][0]++,paged)&&(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['34'][1]++,this._paged.length>=0)?(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['33'][0]++,this._paged.length):(__cov_P3fdDFfL6fuma_jyHEAmuQ.b['33'][1]++,this._items.length);},each:function(){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['38']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['173']++;var args=Array.prototype.slice.call(arguments);__cov_P3fdDFfL6fuma_jyHEAmuQ.s['174']++;args.unshift(this.getPage());__cov_P3fdDFfL6fuma_jyHEAmuQ.s['175']++;Y.Array.each.apply(null,args);__cov_P3fdDFfL6fuma_jyHEAmuQ.s['176']++;return this;}},true);},_setPageSizesFn:function(val){__cov_P3fdDFfL6fuma_jyHEAmuQ.f['39']++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['177']++;var i,len=val.length,label,value;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['178']++;if(!Y.Lang.isArray(val)){__cov_P3fdDFfL6fuma_jyHEAmuQ.b['35'][0]++;__cov_P3fdDFfL6fuma_jyHEAmuQ.s['179']++;val=[val];__cov_P3fdDFfL6fuma_jyHEAmuQ.s['180']++;len=val.length;}else{__cov_P3fdDFfL6fuma_jyHEAmuQ.b['35'][1]++;}__cov_P3fdDFfL6fuma_jyHEAmuQ.s['181']++;for(i=0;i',contentTemplate:"{buttons}{goto}{perPage}",_allowAdHocAttrs:!1,initializer:function(){this.containerTemplate=s(this.containerTemplate,{paginator:o(t)}),this._initStrings(),this._initClassNames(),this.attachEvents()},render:function(){var e=this.get("model"),t=s(this.contentTemplate,{buttons:this._buildButtonsGroup(),"goto":this._buildGotoGroup(),perPage:this._buildPerPageGroup()});return this.get("container").append(t),this.attachEvents(),this._rendered=!0,this._updateControlsUI(e.get("page")),this._updateItemsPerPageUI(e.get("itemsPerPage")),this},attachEvents:function(){r.superclass.attachEvents.apply(this,arguments);var t=this.get("container");this.classNames||this._initClassNames(),this._attachedViewEvents.push(t.delegate("click",this._controlClick,"."+this.classNames.control,this),this.get("model").after("change",this._modelChange,this)),t.all("form").each(e.bind(function(e){this._attachedViewEvents.push(e.after("submit",this._controlSubmit,this))},this)),t.all("select").each(e.bind(function(e){this._attachedViewEvents.push(e.after("change",this._controlChange,this))},this))},_buildButtonsGroup:function(){var e=this.get("strings"),t=this.classNames,n;return n=i.button({type:"first",label:e.first,classNames:t})+i.button({type:"prev",label:e.prev,classNames:t})+i.button({type:"next",label:e.next,classNames:t})+i.button({type:"last",label:e.last,classNames:t}),i.buttons({classNames:t,buttons:n})},_buildGotoGroup:function(){return i.gotoPage({classNames:this.classNames,strings:this.get("strings"),page:this.get("model").get("page")})},_buildPerPageGroup:function(){var e=this.get("pageSizes"),t=this.get("model").get("rowsPerPage"),n,r,s;for(s=0,r=e.length;s=0?this._items.slice(t,t+e.length):this._items.slice(t)},size:function(e){return e&&this._paged.length>=0?this._paged.length:this._items.length},each:function(){var t=Array.prototype.slice.call(arguments);return t.unshift(this.getPage()),e.Array.each.apply(null,t),this}},!0)},_setPageSizesFn:function(t){var n,r=t.length,i,s;e.Lang.isArray(t)||(t=[t],r=t.length);for(n=0;n` that is used to fix the caption in place when"," the table is horizontally scrolling.",""," @property _CAPTION_TABLE_TEMPLATE"," @type {HTML}"," @value '
` that is used to contain the table when the table is"," horizontally scrolling.",""," @property _X_SCROLLER_TEMPLATE"," @type {HTML}"," @value ''"," @protected"," @since 3.5.0"," **/"," _X_SCROLLER_TEMPLATE: '',",""," /**"," Template for the `
` used to contain the fixed column headers for"," vertically scrolling tables.",""," @property _Y_SCROLL_HEADER_TEMPLATE"," @type {HTML}"," @value '
',",""," /**"," Adds padding to the last cells in the fixed header for vertically scrolling"," tables. This padding is equal in width to the scrollbar, so can't be"," relegated to a stylesheet.",""," @method _addScrollbarPadding"," @protected"," @since 3.5.0"," **/"," _addScrollbarPadding: function () {"," var fixedHeader = this._yScrollHeader,"," headerClass = '.' + this.getClassName('header'),"," scrollbarWidth, rows, header, i, len;",""," if (fixedHeader) {"," scrollbarWidth = Y.DOM.getScrollbarWidth() + 'px';"," rows = fixedHeader.all('tr');",""," for (i = 0, len = rows.size(); i < len; i += +header.get('rowSpan')) {"," header = rows.item(i).all(headerClass).pop();"," header.setStyle('paddingRight', scrollbarWidth);"," }"," }"," },",""," /**"," Reacts to changes in the `scrollable` attribute by updating the `_xScroll`"," and `_yScroll` properties and syncing the scrolling structure accordingly.",""," @method _afterScrollableChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollableChange: function () {"," var scroller = this._xScrollNode;",""," if (this._xScroll && scroller) {"," if (this._yScroll && !this._yScrollNode) {"," scroller.setStyle('paddingRight',"," Y.DOM.getScrollbarWidth() + 'px');"," } else if (!this._yScroll && this._yScrollNode) {"," scroller.setStyle('paddingRight', '');"," }"," }",""," this._syncScrollUI();"," },",""," /**"," Reacts to changes in the `caption` attribute by adding, removing, or"," syncing the caption table when the table is set to scroll.",""," @method _afterScrollCaptionChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollCaptionChange: function () {"," if (this._xScroll || this._yScroll) {"," this._syncScrollUI();"," }"," },",""," /**"," Reacts to changes in the `columns` attribute of vertically scrolling tables"," by refreshing the fixed headers, scroll container, and virtual scrollbar"," position.",""," @method _afterScrollColumnsChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollColumnsChange: function () {"," if (this._xScroll || this._yScroll) {"," if (this._yScroll && this._yScrollHeader) {"," this._syncScrollHeaders();"," }",""," this._syncScrollUI();"," }"," },",""," /**"," Reacts to changes in vertically scrolling table's `data` ModelList by"," synchronizing the fixed column header widths and virtual scrollbar height.",""," @method _afterScrollDataChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollDataChange: function () {"," if (this._xScroll || this._yScroll) {"," this._syncScrollUI();"," }"," },",""," /**"," Reacts to changes in the `height` attribute of vertically scrolling tables"," by updating the height of the `
` wrapping the data table and the"," virtual scrollbar. If `scrollable` was set to \"y\" or \"xy\" but lacking a"," declared `height` until the received change, `_syncScrollUI` is called to"," create the fixed headers etc.",""," @method _afterScrollHeightChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollHeightChange: function () {"," if (this._yScroll) {"," this._syncScrollUI();"," }"," },",""," /* (not an API doc comment on purpose)"," Reacts to the sort event (if the table is also sortable) by updating the"," fixed header classes to match the data table's headers.",""," THIS IS A HACK that will be removed immediately after the 3.5.0 release."," If you're reading this and the current version is greater than 3.5.0, I"," should be publicly scolded."," */"," _afterScrollSort: function () {"," var headers, headerClass;",""," if (this._yScroll && this._yScrollHeader) {"," headerClass = '.' + this.getClassName('header');"," headers = this._theadNode.all(headerClass);",""," this._yScrollHeader.all(headerClass).each(function (header, i) {"," header.set('className', headers.item(i).get('className'));"," });"," }"," },",""," /**"," Reacts to changes in the width of scrolling tables by expanding the width of"," the `
` wrapping the data table for horizontally scrolling tables or"," upding the position of the virtual scrollbar for vertically scrolling"," tables.",""," @method _afterScrollWidthChange"," @param {EventFacade} e The relevant change event (ignored)"," @protected"," @since 3.5.0"," **/"," _afterScrollWidthChange: function () {"," if (this._xScroll || this._yScroll) {"," this._syncScrollUI();"," }"," },",""," /**"," Binds virtual scrollbar interaction to the `_yScrollNode`'s `scrollTop` and"," vice versa.",""," @method _bindScrollbar"," @protected"," @since 3.5.0"," **/"," _bindScrollbar: function () {"," var scrollbar = this._scrollbarNode,"," scroller = this._yScrollNode;",""," if (scrollbar && scroller && !this._scrollbarEventHandle) {"," this._scrollbarEventHandle = new Y.Event.Handle(["," scrollbar.on('scroll', this._syncScrollPosition, this),"," scroller.on('scroll', this._syncScrollPosition, this)"," ]);"," }"," },",""," /**"," Binds to the window resize event to update the vertical scrolling table"," headers and wrapper `
` dimensions.",""," @method _bindScrollResize"," @protected"," @since 3.5.0"," **/"," _bindScrollResize: function () {"," if (!this._scrollResizeHandle) {"," // TODO: sync header widths and scrollbar position. If the height"," // of the headers has changed, update the scrollbar dims as well."," this._scrollResizeHandle = Y.on('resize',"," this._syncScrollUI, null, this);"," }"," },",""," /**"," Attaches internal subscriptions to keep the scrolling structure up to date"," with changes in the table's `data`, `columns`, `caption`, or `height`. The"," `width` is taken care of already.",""," This executes after the table's native `bindUI` method.",""," @method _bindScrollUI"," @protected"," @since 3.5.0"," **/"," _bindScrollUI: function () {"," this.after({"," columnsChange: Y.bind('_afterScrollColumnsChange', this),"," heightChange : Y.bind('_afterScrollHeightChange', this),"," widthChange : Y.bind('_afterScrollWidthChange', this),"," captionChange: Y.bind('_afterScrollCaptionChange', this),"," scrollableChange: Y.bind('_afterScrollableChange', this),"," // FIXME: this is a last minute hack to work around the fact that"," // DT doesn't use a tableView to render table content that can be"," // replaced with a scrolling table view. This must be removed asap!"," sort : Y.bind('_afterScrollSort', this)"," });",""," this.after(['dataChange', '*:add', '*:remove', '*:reset', '*:change'],"," Y.bind('_afterScrollDataChange', this));"," },",""," /**"," Clears the lock and timer used to manage synchronizing the scroll position"," between the vertical scroll container and the virtual scrollbar.",""," @method _clearScrollLock"," @protected"," @since 3.5.0"," **/"," _clearScrollLock: function () {"," if (this._scrollLock) {"," this._scrollLock.cancel();"," delete this._scrollLock;"," }"," },",""," /**"," Creates a virtual scrollbar from the `_SCROLLBAR_TEMPLATE`, assigning it to"," the `_scrollbarNode` property.",""," @method _createScrollbar"," @return {Node} The created Node"," @protected"," @since 3.5.0"," **/"," _createScrollbar: function () {"," var scrollbar = this._scrollbarNode;",""," if (!scrollbar) {"," scrollbar = this._scrollbarNode = Y.Node.create("," Y.Lang.sub(this._SCROLLBAR_TEMPLATE, {"," className: this.getClassName('scrollbar')"," }));",""," // IE 6-10 require the scrolled area to be visible (at least 1px)"," // or they don't respond to clicking on the scrollbar rail or arrows"," scrollbar.setStyle('width', (Y.DOM.getScrollbarWidth() + 1) + 'px');"," }",""," return scrollbar;"," },",""," /**"," Creates a separate table to contain the caption when the table is"," configured to scroll vertically or horizontally.",""," @method _createScrollCaptionTable"," @return {Node} The created Node"," @protected"," @since 3.5.0"," **/"," _createScrollCaptionTable: function () {"," if (!this._captionTable) {"," this._captionTable = Y.Node.create("," Y.Lang.sub(this._CAPTION_TABLE_TEMPLATE, {"," className: this.getClassName('caption', 'table')"," }));",""," this._captionTable.empty();"," }",""," return this._captionTable;"," },",""," /**"," Populates the `_xScrollNode` property by creating the `
` Node described"," by the `_X_SCROLLER_TEMPLATE`.",""," @method _createXScrollNode"," @return {Node} The created Node"," @protected"," @since 3.5.0"," **/"," _createXScrollNode: function () {"," if (!this._xScrollNode) {"," this._xScrollNode = Y.Node.create("," Y.Lang.sub(this._X_SCROLLER_TEMPLATE, {"," className: this.getClassName('x','scroller')"," }));"," }",""," return this._xScrollNode;"," },",""," /**"," Populates the `_yScrollHeader` property by creating the `
` Node"," described by the `_Y_SCROLL_HEADER_TEMPLATE`.",""," @method _createYScrollHeader"," @return {Node} The created Node"," @protected"," @since 3.5.0"," **/"," _createYScrollHeader: function () {"," var fixedHeader = this._yScrollHeader;",""," if (!fixedHeader) {"," fixedHeader = this._yScrollHeader = Y.Node.create("," Y.Lang.sub(this._Y_SCROLL_HEADER_TEMPLATE, {"," className: this.getClassName('scroll','columns')"," }));"," }",""," return fixedHeader;"," },",""," /**"," Populates the `_yScrollNode` property by creating the `
` Node described"," by the `_Y_SCROLLER_TEMPLATE`.",""," @method _createYScrollNode"," @return {Node} The created Node"," @protected"," @since 3.5.0"," **/"," _createYScrollNode: function () {"," var scrollerClass;",""," if (!this._yScrollNode) {"," scrollerClass = this.getClassName('y', 'scroller');",""," this._yScrollContainer = Y.Node.create("," Y.Lang.sub(this._Y_SCROLLER_TEMPLATE, {"," className: this.getClassName('y','scroller','container'),"," scrollerClassName: scrollerClass"," }));",""," this._yScrollNode = this._yScrollContainer"," .one('.' + scrollerClass);"," }",""," return this._yScrollContainer;"," },",""," /**"," Removes the nodes used to create horizontal and vertical scrolling and"," rejoins the caption to the main table if needed.",""," @method _disableScrolling"," @protected"," @since 3.5.0"," **/"," _disableScrolling: function () {"," this._removeScrollCaptionTable();"," this._disableXScrolling();"," this._disableYScrolling();"," this._unbindScrollResize();",""," this._uiSetWidth(this.get('width'));"," },",""," /**"," Removes the nodes used to allow horizontal scrolling.",""," @method _disableXScrolling"," @protected"," @since 3.5.0"," **/"," _disableXScrolling: function () {"," this._removeXScrollNode();"," },",""," /**"," Removes the nodes used to allow vertical scrolling.",""," @method _disableYScrolling"," @protected"," @since 3.5.0"," **/"," _disableYScrolling: function () {"," this._removeYScrollHeader();"," this._removeYScrollNode();"," this._removeYScrollContainer();"," this._removeScrollbar();"," },",""," /**"," Cleans up external event subscriptions.",""," @method destructor"," @protected"," @since 3.5.0"," **/"," destructor: function () {"," this._unbindScrollbar();"," this._unbindScrollResize();"," this._clearScrollLock();"," },",""," /**"," Sets up event handlers and AOP advice methods to bind the DataTable's natural"," behaviors with the scrolling APIs and state.",""," @method initializer"," @param {Object} config The config object passed to the constructor (ignored)"," @protected"," @since 3.5.0"," **/"," initializer: function () {"," this._setScrollProperties();",""," this.after(['scrollableChange', 'heightChange', 'widthChange'],"," this._setScrollProperties);",""," this.after('renderView', Y.bind('_syncScrollUI', this));",""," Y.Do.after(this._bindScrollUI, this, 'bindUI');"," },",""," /**"," Removes the table used to house the caption when the table is scrolling.",""," @method _removeScrollCaptionTable"," @protected"," @since 3.5.0"," **/"," _removeScrollCaptionTable: function () {"," if (this._captionTable) {"," if (this._captionNode) {"," this._tableNode.prepend(this._captionNode);"," }",""," this._captionTable.remove().destroy(true);",""," delete this._captionTable;"," }"," },",""," /**"," Removes the `
` wrapper used to contain the data table when the table"," is horizontally scrolling.",""," @method _removeXScrollNode"," @protected"," @since 3.5.0"," **/"," _removeXScrollNode: function () {"," var scroller = this._xScrollNode;",""," if (scroller) {"," scroller.replace(scroller.get('childNodes').toFrag());"," scroller.remove().destroy(true);",""," delete this._xScrollNode;"," }"," },",""," /**"," Removes the `
` wrapper used to contain the data table and fixed header"," when the table is vertically scrolling.",""," @method _removeYScrollContainer"," @protected"," @since 3.5.0"," **/"," _removeYScrollContainer: function () {"," var scroller = this._yScrollContainer;",""," if (scroller) {"," scroller.replace(scroller.get('childNodes').toFrag());"," scroller.remove().destroy(true);",""," delete this._yScrollContainer;"," }"," },",""," /**"," Removes the `
` used to contain the fixed column headers when the"," table is vertically scrolling.",""," @method _removeYScrollHeader"," @protected"," @since 3.5.0"," **/"," _removeYScrollHeader: function () {"," if (this._yScrollHeader) {"," this._yScrollHeader.remove().destroy(true);",""," delete this._yScrollHeader;"," }"," },",""," /**"," Removes the `
` wrapper used to contain the data table when the table"," is vertically scrolling.",""," @method _removeYScrollNode"," @protected"," @since 3.5.0"," **/"," _removeYScrollNode: function () {"," var scroller = this._yScrollNode;",""," if (scroller) {"," scroller.replace(scroller.get('childNodes').toFrag());"," scroller.remove().destroy(true);",""," delete this._yScrollNode;"," }"," },",""," /**"," Removes the virtual scrollbar used by scrolling tables.",""," @method _removeScrollbar"," @protected"," @since 3.5.0"," **/"," _removeScrollbar: function () {"," if (this._scrollbarNode) {"," this._scrollbarNode.remove().destroy(true);",""," delete this._scrollbarNode;"," }"," if (this._scrollbarEventHandle) {"," this._scrollbarEventHandle.detach();",""," delete this._scrollbarEventHandle;"," }"," },",""," /**"," Accepts (case insensitive) values \"x\", \"y\", \"xy\", `true`, and `false`."," `true` is translated to \"xy\" and upper case values are converted to lower"," case. All other values are invalid.",""," @method _setScrollable"," @param {String|Boolea} val Incoming value for the `scrollable` attribute"," @return {String}"," @protected"," @since 3.5.0"," **/"," _setScrollable: function (val) {"," if (val === true) {"," val = 'xy';"," }",""," if (isString(val)) {"," val = val.toLowerCase();"," }",""," return (val === false || val === 'y' || val === 'x' || val === 'xy') ?"," val :"," Y.Attribute.INVALID_VALUE;"," },",""," /**"," Assigns the `_xScroll` and `_yScroll` properties to true if an"," appropriate value is set in the `scrollable` attribute and the `height`"," and/or `width` is set.",""," @method _setScrollProperties"," @protected"," @since 3.5.0"," **/"," _setScrollProperties: function () {"," var scrollable = this.get('scrollable') || '',"," width = this.get('width'),"," height = this.get('height');",""," this._xScroll = width && scrollable.indexOf('x') > -1;"," this._yScroll = height && scrollable.indexOf('y') > -1;"," },",""," /**"," Keeps the virtual scrollbar and the scrolling `
` wrapper around the"," data table in vertically scrolling tables in sync.",""," @method _syncScrollPosition"," @param {DOMEventFacade} e The scroll event"," @protected"," @since 3.5.0"," **/"," _syncScrollPosition: function (e) {"," var scrollbar = this._scrollbarNode,"," scroller = this._yScrollNode,"," source = e.currentTarget,"," other;",""," if (scrollbar && scroller) {"," if (this._scrollLock && this._scrollLock.source !== source) {"," return;"," }",""," this._clearScrollLock();"," this._scrollLock = Y.later(300, this, this._clearScrollLock);"," this._scrollLock.source = source;",""," other = (source === scrollbar) ? scroller : scrollbar;"," other.set('scrollTop', source.get('scrollTop'));"," }"," },",""," /**"," Splits the caption from the data `
` if the table is configured to"," scroll. If not, rejoins the caption to the data `
` if it needs to"," be.",""," @method _syncScrollCaptionUI"," @protected"," @since 3.5.0"," **/"," _syncScrollCaptionUI: function () {"," var caption = this._captionNode,"," table = this._tableNode,"," captionTable = this._captionTable,"," id;",""," if (caption) {"," id = caption.getAttribute('id');",""," if (!captionTable) {"," captionTable = this._createScrollCaptionTable();",""," this.get('contentBox').prepend(captionTable);"," }",""," if (!caption.get('parentNode').compareTo(captionTable)) {"," captionTable.empty().insert(caption);",""," if (!id) {"," id = Y.stamp(caption);"," caption.setAttribute('id', id);"," }",""," table.setAttribute('aria-describedby', id);"," }"," } else if (captionTable) {"," this._removeScrollCaptionTable();"," }"," },",""," /**"," Assigns widths to the fixed header columns to match the columns in the data"," table.",""," @method _syncScrollColumnWidths"," @protected"," @since 3.5.0"," **/"," _syncScrollColumnWidths: function () {"," var widths = [];",""," if (this._theadNode && this._yScrollHeader) {"," // Capture dims and assign widths in two passes to avoid reflows for"," // each access of clientWidth/getComputedStyle"," this._theadNode.all('.' + this.getClassName('header'))"," .each(function (header) {"," widths.push("," // FIXME: IE returns the col.style.width from"," // getComputedStyle even if the column has been"," // compressed below that width, so it must use"," // clientWidth. FF requires getComputedStyle because it"," // uses fractional widths that round up to an overall"," // cell/table width 1px greater than the data table's"," // cell/table width, resulting in misaligned columns or"," // fixed header bleed through. I can't think of a"," // *reasonable* way to capture the correct width without"," // a sniff. Math.min(cW - p, getCS(w)) was imperfect"," // and punished all browsers, anyway."," (Y.UA.ie && Y.UA.ie < 8) ?"," (header.get('clientWidth') -"," styleDim(header, 'paddingLeft') -"," styleDim(header, 'paddingRight')) + 'px' :"," header.getComputedStyle('width'));"," });",""," this._yScrollHeader.all('.' + this.getClassName('scroll', 'liner'))"," .each(function (liner, i) {"," liner.setStyle('width', widths[i]);"," });"," }"," },",""," /**"," Creates matching headers in the fixed header table for vertically scrolling"," tables and synchronizes the column widths.",""," @method _syncScrollHeaders"," @protected"," @since 3.5.0"," **/"," _syncScrollHeaders: function () {"," var fixedHeader = this._yScrollHeader,"," linerTemplate = this._SCROLL_LINER_TEMPLATE,"," linerClass = this.getClassName('scroll', 'liner'),"," headerClass = this.getClassName('header'),"," headers = this._theadNode.all('.' + headerClass);",""," if (this._theadNode && fixedHeader) {"," fixedHeader.empty().appendChild("," this._theadNode.cloneNode(true));",""," // Prevent duplicate IDs and assign ARIA attributes to hide"," // from screen readers"," fixedHeader.all('[id]').removeAttribute('id');",""," fixedHeader.all('.' + headerClass).each(function (header, i) {"," var liner = Y.Node.create(Y.Lang.sub(linerTemplate, {"," className: linerClass"," })),"," refHeader = headers.item(i);",""," // Can't assign via skin css because sort (and potentially"," // others) might override the padding values."," liner.setStyle('padding',"," refHeader.getComputedStyle('paddingTop') + ' ' +"," refHeader.getComputedStyle('paddingRight') + ' ' +"," refHeader.getComputedStyle('paddingBottom') + ' ' +"," refHeader.getComputedStyle('paddingLeft'));",""," liner.appendChild(header.get('childNodes').toFrag());",""," header.appendChild(liner);"," }, this);",""," this._syncScrollColumnWidths();",""," this._addScrollbarPadding();"," }"," },",""," /**"," Wraps the table for X and Y scrolling, if necessary, if the `scrollable`"," attribute is set. Synchronizes dimensions and DOM placement of all"," scrolling related nodes.",""," @method _syncScrollUI"," @protected"," @since 3.5.0"," **/"," _syncScrollUI: function () {"," var x = this._xScroll,"," y = this._yScroll,"," xScroller = this._xScrollNode,"," yScroller = this._yScrollNode,"," scrollLeft = xScroller && xScroller.get('scrollLeft'),"," scrollTop = yScroller && yScroller.get('scrollTop');",""," this._uiSetScrollable();",""," // TODO: Probably should split this up into syncX, syncY, and syncXY"," if (x || y) {"," if ((this.get('width') || '').slice(-1) === '%') {"," this._bindScrollResize();"," } else {"," this._unbindScrollResize();"," }",""," this._syncScrollCaptionUI();"," } else {"," this._disableScrolling();"," }",""," if (this._yScrollHeader) {"," this._yScrollHeader.setStyle('display', 'none');"," }",""," if (x) {"," if (!y) {"," this._disableYScrolling();"," }",""," this._syncXScrollUI(y);"," }",""," if (y) {"," if (!x) {"," this._disableXScrolling();"," }",""," this._syncYScrollUI(x);"," }",""," // Restore scroll position"," if (scrollLeft && this._xScrollNode) {"," this._xScrollNode.set('scrollLeft', scrollLeft);"," }"," if (scrollTop && this._yScrollNode) {"," this._yScrollNode.set('scrollTop', scrollTop);"," }"," },",""," /**"," Wraps the table in a scrolling `
` of the configured width for \"x\""," scrolling.",""," @method _syncXScrollUI"," @param {Boolean} xy True if the table is configured with scrollable =\"xy\""," @protected"," @since 3.5.0"," **/"," _syncXScrollUI: function (xy) {"," var scroller = this._xScrollNode,"," yScroller = this._yScrollContainer,"," table = this._tableNode,"," width = this.get('width'),"," bbWidth = this.get('boundingBox').get('offsetWidth'),"," scrollbarWidth = Y.DOM.getScrollbarWidth(),"," borderWidth, tableWidth;",""," if (!scroller) {"," scroller = this._createXScrollNode();",""," // Not using table.wrap() because IE went all crazy, wrapping the"," // table in the last td in the table itself."," (yScroller || table).replace(scroller).appendTo(scroller);"," }",""," // Can't use offsetHeight - clientHeight because IE6 returns"," // clientHeight of 0 intially."," borderWidth = styleDim(scroller, 'borderLeftWidth') +"," styleDim(scroller, 'borderRightWidth');",""," scroller.setStyle('width', '');"," this._uiSetDim('width', '');"," if (xy && this._yScrollContainer) {"," this._yScrollContainer.setStyle('width', '');"," }",""," // Lock the table's unconstrained width to avoid configured column"," // widths being ignored"," if (Y.UA.ie && Y.UA.ie < 8) {"," // Have to assign a style and trigger a reflow to allow the"," // subsequent clearing of width + reflow to expand the table to"," // natural width in IE 6"," table.setStyle('width', width);"," table.get('offsetWidth');"," }"," table.setStyle('width', '');"," tableWidth = table.get('offsetWidth');"," table.setStyle('width', tableWidth + 'px');",""," this._uiSetDim('width', width);",""," // Can't use 100% width because the borders add additional width"," // TODO: Cache the border widths, though it won't prevent a reflow"," scroller.setStyle('width', (bbWidth - borderWidth) + 'px');",""," // expand the table to fill the assigned width if it doesn't"," // already overflow the configured width"," if ((scroller.get('offsetWidth') - borderWidth) > tableWidth) {"," // Assumes the wrapped table doesn't have borders"," if (xy) {"," table.setStyle('width', (scroller.get('offsetWidth') -"," borderWidth - scrollbarWidth) + 'px');"," } else {"," table.setStyle('width', '100%');"," }"," }"," },",""," /**"," Wraps the table in a scrolling `
` of the configured height (accounting"," for the caption if there is one) if \"y\" scrolling is enabled. Otherwise,"," unwraps the table if necessary.",""," @method _syncYScrollUI"," @param {Boolean} xy True if the table is configured with scrollable = \"xy\""," @protected"," @since 3.5.0"," **/"," _syncYScrollUI: function (xy) {"," var yScroller = this._yScrollContainer,"," yScrollNode = this._yScrollNode,"," xScroller = this._xScrollNode,"," fixedHeader = this._yScrollHeader,"," scrollbar = this._scrollbarNode,"," table = this._tableNode,"," thead = this._theadNode,"," captionTable = this._captionTable,"," boundingBox = this.get('boundingBox'),"," contentBox = this.get('contentBox'),"," width = this.get('width'),"," height = boundingBox.get('offsetHeight'),"," scrollbarWidth = Y.DOM.getScrollbarWidth(),"," outerScroller;",""," if (captionTable && !xy) {"," captionTable.setStyle('width', width || '100%');"," }",""," if (!yScroller) {"," yScroller = this._createYScrollNode();",""," yScrollNode = this._yScrollNode;",""," table.replace(yScroller).appendTo(yScrollNode);"," }",""," outerScroller = xy ? xScroller : yScroller;",""," if (!xy) {"," table.setStyle('width', '');"," }",""," // Set the scroller height"," if (xy) {"," // Account for the horizontal scrollbar in the overall height"," height -= scrollbarWidth;"," }",""," yScrollNode.setStyle('height',"," (height - outerScroller.get('offsetTop') -"," // because IE6 is returning clientHeight 0 initially"," styleDim(outerScroller, 'borderTopWidth') -"," styleDim(outerScroller, 'borderBottomWidth')) + 'px');",""," // Set the scroller width"," if (xy) {"," // For xy scrolling tables, the table should expand freely within"," // the x scroller"," yScroller.setStyle('width',"," (table.get('offsetWidth') + scrollbarWidth) + 'px');"," } else {"," this._uiSetYScrollWidth(width);"," }",""," if (captionTable && !xy) {"," captionTable.setStyle('width', yScroller.get('offsetWidth') + 'px');"," }",""," // Allow headerless scrolling"," if (thead && !fixedHeader) {"," fixedHeader = this._createYScrollHeader();",""," yScroller.prepend(fixedHeader);",""," this._syncScrollHeaders();"," }",""," if (fixedHeader) {"," this._syncScrollColumnWidths();",""," fixedHeader.setStyle('display', '');"," // This might need to come back if FF has issues"," //fixedHeader.setStyle('width', '100%');"," //(yScroller.get('clientWidth') + scrollbarWidth) + 'px');",""," if (!scrollbar) {"," scrollbar = this._createScrollbar();",""," this._bindScrollbar();",""," contentBox.prepend(scrollbar);"," }",""," this._uiSetScrollbarHeight();"," this._uiSetScrollbarPosition(outerScroller);"," }"," },",""," /**"," Assigns the appropriate class to the `boundingBox` to identify the DataTable"," as horizontally scrolling, vertically scrolling, or both (adds both classes).",""," Classes added are \"yui3-datatable-scrollable-x\" or \"...-y\"",""," @method _uiSetScrollable"," @protected"," @since 3.5.0"," **/"," _uiSetScrollable: function () {"," this.get('boundingBox')"," .toggleClass(this.getClassName('scrollable','x'), this._xScroll)"," .toggleClass(this.getClassName('scrollable','y'), this._yScroll);"," },",""," /**"," Updates the virtual scrollbar's height to avoid overlapping with the fixed"," headers.",""," @method _uiSetScrollbarHeight"," @protected"," @since 3.5.0"," **/"," _uiSetScrollbarHeight: function () {"," var scrollbar = this._scrollbarNode,"," scroller = this._yScrollNode,"," fixedHeader = this._yScrollHeader;",""," if (scrollbar && scroller && fixedHeader) {"," scrollbar.get('firstChild').setStyle('height',"," this._tbodyNode.get('scrollHeight') + 'px');",""," scrollbar.setStyle('height',"," (parseFloat(scroller.getComputedStyle('height')) -"," parseFloat(fixedHeader.getComputedStyle('height'))) + 'px');"," }"," },",""," /**"," Updates the virtual scrollbar's placement to avoid overlapping the fixed"," headers or the data table.",""," @method _uiSetScrollbarPosition"," @param {Node} scroller Reference node to position the scrollbar over"," @protected"," @since 3.5.0"," **/"," _uiSetScrollbarPosition: function (scroller) {"," var scrollbar = this._scrollbarNode,"," fixedHeader = this._yScrollHeader;",""," if (scrollbar && scroller && fixedHeader) {"," scrollbar.setStyles({"," // Using getCS instead of offsetHeight because FF uses"," // fractional values, but reports ints to offsetHeight, so"," // offsetHeight is unreliable. It is probably fine to use"," // offsetHeight in this case but this was left in place after"," // fixing an off-by-1px issue in FF 10- by fixing the caption"," // font style so FF picked it up."," top: (parseFloat(fixedHeader.getComputedStyle('height')) +"," styleDim(scroller, 'borderTopWidth') +"," scroller.get('offsetTop')) + 'px',",""," // Minus 1 because IE 6-10 require the scrolled area to be"," // visible by at least 1px or it won't respond to clicks on the"," // scrollbar rail or endcap arrows."," left: (scroller.get('offsetWidth') -"," Y.DOM.getScrollbarWidth() - 1 -"," styleDim(scroller, 'borderRightWidth')) + 'px'"," });"," }"," },",""," /**"," Assigns the width of the `
` wrapping the data table in vertically"," scrolling tables.",""," If the table can't compress to the specified width, the container is"," expanded accordingly.",""," @method _uiSetYScrollWidth"," @param {String} width The CSS width to attempt to set"," @protected"," @since 3.5.0"," **/"," _uiSetYScrollWidth: function (width) {"," var scroller = this._yScrollContainer,"," table = this._tableNode,"," tableWidth, borderWidth, scrollerWidth, scrollbarWidth;",""," if (scroller && table) {"," scrollbarWidth = Y.DOM.getScrollbarWidth();",""," if (width) {"," // Assumes no table border"," borderWidth = scroller.get('offsetWidth') -"," scroller.get('clientWidth') +"," scrollbarWidth; // added back at the end",""," // The table's rendered width might be greater than the"," // configured width"," scroller.setStyle('width', width);",""," // Have to subtract the border width from the configured width"," // because the scroller's width will need to be reduced by the"," // border width as well during the width reassignment below."," scrollerWidth = scroller.get('clientWidth') - borderWidth;",""," // Assumes no table borders"," table.setStyle('width', scrollerWidth + 'px');",""," tableWidth = table.get('offsetWidth');",""," // Expand the scroll node width if the table can't fit."," // Otherwise, reassign the scroller a pixel width that"," // accounts for the borders."," scroller.setStyle('width',"," (tableWidth + scrollbarWidth) + 'px');"," } else {"," // Allow the table to expand naturally"," table.setStyle('width', '');"," scroller.setStyle('width', '');",""," scroller.setStyle('width',"," (table.get('offsetWidth') + scrollbarWidth) + 'px');"," }"," }"," },",""," /**"," Detaches the scroll event subscriptions used to maintain scroll position"," parity between the scrollable `
` wrapper around the data table and the"," virtual scrollbar for vertically scrolling tables.",""," @method _unbindScrollbar"," @protected"," @since 3.5.0"," **/"," _unbindScrollbar: function () {"," if (this._scrollbarEventHandle) {"," this._scrollbarEventHandle.detach();"," }"," },",""," /**"," Detaches the resize event subscription used to maintain column parity for"," vertically scrolling tables with percentage widths.",""," @method _unbindScrollResize"," @protected"," @since 3.5.0"," **/"," _unbindScrollResize: function () {"," if (this._scrollResizeHandle) {"," this._scrollResizeHandle.detach();"," delete this._scrollResizeHandle;"," }"," }",""," /**"," Indicates horizontal table scrolling is enabled.",""," @property _xScroll"," @type {Boolean}"," @default undefined (not initially set)"," @private"," @since 3.5.0"," **/"," //_xScroll: null,",""," /**"," Indicates vertical table scrolling is enabled.",""," @property _yScroll"," @type {Boolean}"," @default undefined (not initially set)"," @private"," @since 3.5.0"," **/"," //_yScroll: null,",""," /**"," Fixed column header `
` Node for vertical scrolling tables.",""," @property _yScrollHeader"," @type {Node}"," @default undefined (not initially set)"," @protected"," @since 3.5.0"," **/"," //_yScrollHeader: null,",""," /**"," Overflow Node used to contain the data rows in a vertically scrolling table.",""," @property _yScrollNode"," @type {Node}"," @default undefined (not initially set)"," @protected"," @since 3.5.0"," **/"," //_yScrollNode: null,",""," /**"," Overflow Node used to contain the table headers and data in a horizontally"," scrolling table.",""," @property _xScrollNode"," @type {Node}"," @default undefined (not initially set)"," @protected"," @since 3.5.0"," **/"," //_xScrollNode: null","}, true);","","Y.Base.mix(Y.DataTable, [Scrollable]);","","","}, '3.13.0', {\"requires\": [\"datatable-base\", \"datatable-column-widths\", \"dom-screen\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_SNlt7JdeowGG0UFuNMDDvw = __coverage__['build/datatable-scroll/datatable-scroll.js'];
+__cov_SNlt7JdeowGG0UFuNMDDvw.s['1']++;YUI.add('datatable-scroll',function(Y,NAME){__cov_SNlt7JdeowGG0UFuNMDDvw.f['1']++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['2']++;var YLang=Y.Lang,isString=YLang.isString,isNumber=YLang.isNumber,isArray=YLang.isArray,Scrollable;__cov_SNlt7JdeowGG0UFuNMDDvw.s['3']++;function styleDim(node,style){__cov_SNlt7JdeowGG0UFuNMDDvw.f['2']++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['4']++;return(__cov_SNlt7JdeowGG0UFuNMDDvw.b['1'][0]++,parseInt(node.getComputedStyle(style),10))||(__cov_SNlt7JdeowGG0UFuNMDDvw.b['1'][1]++,0);}__cov_SNlt7JdeowGG0UFuNMDDvw.s['5']++;Y.DataTable.Scrollable=Scrollable=function(){__cov_SNlt7JdeowGG0UFuNMDDvw.f['3']++;};__cov_SNlt7JdeowGG0UFuNMDDvw.s['6']++;Scrollable.ATTRS={scrollable:{value:false,setter:'_setScrollable'}};__cov_SNlt7JdeowGG0UFuNMDDvw.s['7']++;Y.mix(Scrollable.prototype,{scrollTo:function(id){__cov_SNlt7JdeowGG0UFuNMDDvw.f['4']++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['8']++;var target;__cov_SNlt7JdeowGG0UFuNMDDvw.s['9']++;if((__cov_SNlt7JdeowGG0UFuNMDDvw.b['3'][0]++,id)&&(__cov_SNlt7JdeowGG0UFuNMDDvw.b['3'][1]++,this._tbodyNode)&&((__cov_SNlt7JdeowGG0UFuNMDDvw.b['3'][2]++,this._yScrollNode)||(__cov_SNlt7JdeowGG0UFuNMDDvw.b['3'][3]++,this._xScrollNode))){__cov_SNlt7JdeowGG0UFuNMDDvw.b['2'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['10']++;if(isArray(id)){__cov_SNlt7JdeowGG0UFuNMDDvw.b['4'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['11']++;target=this.getCell(id);}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['4'][1]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['12']++;if(isNumber(id)){__cov_SNlt7JdeowGG0UFuNMDDvw.b['5'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['13']++;target=this.getRow(id);}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['5'][1]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['14']++;if(isString(id)){__cov_SNlt7JdeowGG0UFuNMDDvw.b['6'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['15']++;target=this._tbodyNode.one('#'+id);}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['6'][1]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['16']++;if((__cov_SNlt7JdeowGG0UFuNMDDvw.b['8'][0]++,id instanceof Y.Node)&&(__cov_SNlt7JdeowGG0UFuNMDDvw.b['8'][1]++,id.ancestor('.yui3-datatable')===this.get('boundingBox'))){__cov_SNlt7JdeowGG0UFuNMDDvw.b['7'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['17']++;target=id;}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['7'][1]++;}}}}__cov_SNlt7JdeowGG0UFuNMDDvw.s['18']++;if(target){__cov_SNlt7JdeowGG0UFuNMDDvw.b['9'][0]++;__cov_SNlt7JdeowGG0UFuNMDDvw.s['19']++;target.scrollIntoView();}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['9'][1]++;}}else{__cov_SNlt7JdeowGG0UFuNMDDvw.b['2'][1]++;}__cov_SNlt7JdeowGG0UFuNMDDvw.s['20']++;return this;},_CAPTION_TABLE_TEMPLATE:'
',_addScrollbarPadding:function(){var t=this._yScrollHeader,n="."+this.getClassName("header"),r,i,s,o,u;if(t){r=e.DOM.getScrollbarWidth()+"px",i=t.all("tr");for(o=0,u=i.size();o-1,this._yScroll=n&&e.indexOf("y")>-1},_syncScrollPosition:function(t){var n=this._scrollbarNode,r=this._yScrollNode,i=t.currentTarget,s;if(n&&r){if(this._scrollLock&&this._scrollLock.source!==i)return;this._clearScrollLock(),this._scrollLock=e.later(300,this,this._clearScrollLock),this._scrollLock.source=i,s=i===n?r:n,s.set("scrollTop",i.get("scrollTop"))}},_syncScrollCaptionUI:function(){var t=this._captionNode,n=this._tableNode,r=this._captionTable,i;t?(i=t.getAttribute("id"),r||(r=this._createScrollCaptionTable(),this.get("contentBox").prepend(r)),t.get("parentNode").compareTo(r)||(r.empty().insert(t),i||(i=e.stamp(t),t.setAttribute("id",i)),n.setAttribute("aria-describedby",i))):r&&this._removeScrollCaptionTable()},_syncScrollColumnWidths:function(){var t=[];this._theadNode&&this._yScrollHeader&&(this._theadNode.all("."+this.getClassName("header")).each(function(n){t.push(e.UA.ie&&e.UA.ie<8?n.get("clientWidth")-u(n,"paddingLeft")-u(n,"paddingRight")+"px":n.getComputedStyle("width"))}),this._yScrollHeader.all("."+this.getClassName("scroll","liner")).each(function(e,n){e.setStyle("width",t[n])}))},_syncScrollHeaders:function(){var t=this._yScrollHeader,n=this._SCROLL_LINER_TEMPLATE,r=this.getClassName("scroll","liner"),i=this.getClassName("header"),s=this._theadNode.all("."+i);this._theadNode&&t&&(t.empty().appendChild(this._theadNode.cloneNode(!0)),t.all("[id]").removeAttribute("id"),t.all("."+i).each(function(t,i){var o=e.Node.create(e.Lang.sub(n,{className:r})),u=s.item(i);o.setStyle("padding",u.getComputedStyle("paddingTop")+" "+u.getComputedStyle("paddingRight")+" "+u.getComputedStyle("paddingBottom")+" "+u.getComputedStyle("paddingLeft")),o.appendChild(t.get("childNodes").toFrag()),t.appendChild(o)},this),this._syncScrollColumnWidths(),this._addScrollbarPadding())},_syncScrollUI:function(){var e=this._xScroll,t=this._yScroll,n=this._xScrollNode,r=this._yScrollNode,i=n&&n.get("scrollLeft"),s=r&&r.get("scrollTop");this._uiSetScrollable(),e||t?((this.get("width")||"").slice(-1)==="%"?this._bindScrollResize():this._unbindScrollResize(),this._syncScrollCaptionUI()):this._disableScrolling(),this._yScrollHeader&&this._yScrollHeader.setStyle("display","none"),e&&(t||this._disableYScrolling(),this._syncXScrollUI(t)),t&&(e||this._disableXScrolling(),this._syncYScrollUI(e)),i&&this._xScrollNode&&this._xScrollNode.set("scrollLeft",i),s&&this._yScrollNode&&this._yScrollNode.set("scrollTop",s)},_syncXScrollUI:function(t){var n=this._xScrollNode,r=this._yScrollContainer,i=this._tableNode,s=this.get("width"),o=this.get("boundingBox").get("offsetWidth"),a=e.DOM.getScrollbarWidth(),f,l;n||(n=this._createXScrollNode(),(r||i).replace(n).appendTo(n)),f=u(n,"borderLeftWidth")+u(n,"borderRightWidth"),n.setStyle("width",""),this._uiSetDim("width",""),t&&this._yScrollContainer&&this._yScrollContainer.setStyle("width",""),e.UA.ie&&e.UA.ie<8&&(i.setStyle("width",s),i.get("offsetWidth")),i.setStyle("width",""),l=i.get("offsetWidth"),i.setStyle("width",l+"px"),this._uiSetDim("width",s),n.setStyle("width",o-f+"px"),n.get("offsetWidth")-f>l&&(t?i.setStyle("width",n.get("offsetWidth")-f-a+"px"):i.setStyle("width","100%"))},_syncYScrollUI:function(t){var n=this._yScrollContainer,r=this._yScrollNode,i=this._xScrollNode,s=this._yScrollHeader,o=this._scrollbarNode,a=this._tableNode,f=this._theadNode,l=this._captionTable,c=this.get("boundingBox"),h=this.get("contentBox"),p=this.get("width"),d=c.get("offsetHeight"),v=e.DOM.getScrollbarWidth(),m;l&&!t&&l.setStyle("width",p||"100%"),n||(n=this._createYScrollNode(),r=this._yScrollNode,a.replace(n).appendTo(r)),m=t?i:n,t||a.setStyle("width",""),t&&(d-=v),r.setStyle("height",d-m.get("offsetTop")-u(m,"borderTopWidth")-u(m,"borderBottomWidth")+"px"),t?n.setStyle("width",a.get("offsetWidth")+v+"px"):this._uiSetYScrollWidth(p),l&&!t&&l.setStyle("width",n.get("offsetWidth")+"px"),f&&!s&&(s=this._createYScrollHeader(),n.prepend(s),this._syncScrollHeaders()),s&&(this._syncScrollColumnWidths(),s.setStyle("display",""),o||(o=this._createScrollbar(),this._bindScrollbar(),h.prepend(o)),this._uiSetScrollbarHeight(),this._uiSetScrollbarPosition(m))},_uiSetScrollable:function(){this.get("boundingBox").toggleClass(this.getClassName("scrollable","x"),this._xScroll).toggleClass(this.getClassName("scrollable","y"),this._yScroll)},_uiSetScrollbarHeight:function(){var e=this._scrollbarNode,t=this._yScrollNode,n=this._yScrollHeader;e&&t&&n&&(e.get("firstChild").setStyle("height",this._tbodyNode.get("scrollHeight")+"px"),e.setStyle("height",parseFloat(t.getComputedStyle("height"))-parseFloat(n.getComputedStyle("height"))+"px"))},_uiSetScrollbarPosition:function(t){var n=this._scrollbarNode,r=this._yScrollHeader;n&&t&&r&&n.setStyles({top:parseFloat(r.getComputedStyle("height"))+u(t,"borderTopWidth")+t.get("offsetTop")+"px",left:t.get("offsetWidth")-e.DOM.getScrollbarWidth()-1-u(t,"borderRightWidth")+"px"})},_uiSetYScrollWidth:function(t){var n=this._yScrollContainer,r=this._tableNode,i,s,o,u;n&&r&&(u=e.DOM.getScrollbarWidth(),t?(s=n.get("offsetWidth")-n.get("clientWidth")+u,n.setStyle("width",t),o=n.get("clientWidth")-s,r.setStyle("width",o+"px"),i=r.get("offsetWidth"),n.setStyle("width",i+u+"px")):(r.setStyle("width",""),n.setStyle("width",""),n.setStyle("width",r.get("offsetWidth")+u+"px")))},_unbindScrollbar:function(){this._scrollbarEventHandle&&this._scrollbarEventHandle.detach()},_unbindScrollResize:function(){this._scrollResizeHandle&&(this._scrollResizeHandle.detach(),delete this._scrollResizeHandle)}},!0),e.Base.mix(e.DataTable,[o])},"3.12.0",{requires:["datatable-base","datatable-column-widths","dom-screen"],skinnable:!0});
+this._scrollbarEventHandle.detach(),delete this._scrollbarEventHandle)},_setScrollable:function(t){return t===!0&&(t="xy"),r(t)&&(t=t.toLowerCase()),t===!1||t==="y"||t==="x"||t==="xy"?t:e.Attribute.INVALID_VALUE},_setScrollProperties:function(){var e=this.get("scrollable")||"",t=this.get("width"),n=this.get("height");this._xScroll=t&&e.indexOf("x")>-1,this._yScroll=n&&e.indexOf("y")>-1},_syncScrollPosition:function(t){var n=this._scrollbarNode,r=this._yScrollNode,i=t.currentTarget,s;if(n&&r){if(this._scrollLock&&this._scrollLock.source!==i)return;this._clearScrollLock(),this._scrollLock=e.later(300,this,this._clearScrollLock),this._scrollLock.source=i,s=i===n?r:n,s.set("scrollTop",i.get("scrollTop"))}},_syncScrollCaptionUI:function(){var t=this._captionNode,n=this._tableNode,r=this._captionTable,i;t?(i=t.getAttribute("id"),r||(r=this._createScrollCaptionTable(),this.get("contentBox").prepend(r)),t.get("parentNode").compareTo(r)||(r.empty().insert(t),i||(i=e.stamp(t),t.setAttribute("id",i)),n.setAttribute("aria-describedby",i))):r&&this._removeScrollCaptionTable()},_syncScrollColumnWidths:function(){var t=[];this._theadNode&&this._yScrollHeader&&(this._theadNode.all("."+this.getClassName("header")).each(function(n){t.push(e.UA.ie&&e.UA.ie<8?n.get("clientWidth")-u(n,"paddingLeft")-u(n,"paddingRight")+"px":n.getComputedStyle("width"))}),this._yScrollHeader.all("."+this.getClassName("scroll","liner")).each(function(e,n){e.setStyle("width",t[n])}))},_syncScrollHeaders:function(){var t=this._yScrollHeader,n=this._SCROLL_LINER_TEMPLATE,r=this.getClassName("scroll","liner"),i=this.getClassName("header"),s=this._theadNode.all("."+i);this._theadNode&&t&&(t.empty().appendChild(this._theadNode.cloneNode(!0)),t.all("[id]").removeAttribute("id"),t.all("."+i).each(function(t,i){var o=e.Node.create(e.Lang.sub(n,{className:r})),u=s.item(i);o.setStyle("padding",u.getComputedStyle("paddingTop")+" "+u.getComputedStyle("paddingRight")+" "+u.getComputedStyle("paddingBottom")+" "+u.getComputedStyle("paddingLeft")),o.appendChild(t.get("childNodes").toFrag()),t.appendChild(o)},this),this._syncScrollColumnWidths(),this._addScrollbarPadding())},_syncScrollUI:function(){var e=this._xScroll,t=this._yScroll,n=this._xScrollNode,r=this._yScrollNode,i=n&&n.get("scrollLeft"),s=r&&r.get("scrollTop");this._uiSetScrollable(),e||t?((this.get("width")||"").slice(-1)==="%"?this._bindScrollResize():this._unbindScrollResize(),this._syncScrollCaptionUI()):this._disableScrolling(),this._yScrollHeader&&this._yScrollHeader.setStyle("display","none"),e&&(t||this._disableYScrolling(),this._syncXScrollUI(t)),t&&(e||this._disableXScrolling(),this._syncYScrollUI(e)),i&&this._xScrollNode&&this._xScrollNode.set("scrollLeft",i),s&&this._yScrollNode&&this._yScrollNode.set("scrollTop",s)},_syncXScrollUI:function(t){var n=this._xScrollNode,r=this._yScrollContainer,i=this._tableNode,s=this.get("width"),o=this.get("boundingBox").get("offsetWidth"),a=e.DOM.getScrollbarWidth(),f,l;n||(n=this._createXScrollNode(),(r||i).replace(n).appendTo(n)),f=u(n,"borderLeftWidth")+u(n,"borderRightWidth"),n.setStyle("width",""),this._uiSetDim("width",""),t&&this._yScrollContainer&&this._yScrollContainer.setStyle("width",""),e.UA.ie&&e.UA.ie<8&&(i.setStyle("width",s),i.get("offsetWidth")),i.setStyle("width",""),l=i.get("offsetWidth"),i.setStyle("width",l+"px"),this._uiSetDim("width",s),n.setStyle("width",o-f+"px"),n.get("offsetWidth")-f>l&&(t?i.setStyle("width",n.get("offsetWidth")-f-a+"px"):i.setStyle("width","100%"))},_syncYScrollUI:function(t){var n=this._yScrollContainer,r=this._yScrollNode,i=this._xScrollNode,s=this._yScrollHeader,o=this._scrollbarNode,a=this._tableNode,f=this._theadNode,l=this._captionTable,c=this.get("boundingBox"),h=this.get("contentBox"),p=this.get("width"),d=c.get("offsetHeight"),v=e.DOM.getScrollbarWidth(),m;l&&!t&&l.setStyle("width",p||"100%"),n||(n=this._createYScrollNode(),r=this._yScrollNode,a.replace(n).appendTo(r)),m=t?i:n,t||a.setStyle("width",""),t&&(d-=v),r.setStyle("height",d-m.get("offsetTop")-u(m,"borderTopWidth")-u(m,"borderBottomWidth")+"px"),t?n.setStyle("width",a.get("offsetWidth")+v+"px"):this._uiSetYScrollWidth(p),l&&!t&&l.setStyle("width",n.get("offsetWidth")+"px"),f&&!s&&(s=this._createYScrollHeader(),n.prepend(s),this._syncScrollHeaders()),s&&(this._syncScrollColumnWidths(),s.setStyle("display",""),o||(o=this._createScrollbar(),this._bindScrollbar(),h.prepend(o)),this._uiSetScrollbarHeight(),this._uiSetScrollbarPosition(m))},_uiSetScrollable:function(){this.get("boundingBox").toggleClass(this.getClassName("scrollable","x"),this._xScroll).toggleClass(this.getClassName("scrollable","y"),this._yScroll)},_uiSetScrollbarHeight:function(){var e=this._scrollbarNode,t=this._yScrollNode,n=this._yScrollHeader;e&&t&&n&&(e.get("firstChild").setStyle("height",this._tbodyNode.get("scrollHeight")+"px"),e.setStyle("height",parseFloat(t.getComputedStyle("height"))-parseFloat(n.getComputedStyle("height"))+"px"))},_uiSetScrollbarPosition:function(t){var n=this._scrollbarNode,r=this._yScrollHeader;n&&t&&r&&n.setStyles({top:parseFloat(r.getComputedStyle("height"))+u(t,"borderTopWidth")+t.get("offsetTop")+"px",left:t.get("offsetWidth")-e.DOM.getScrollbarWidth()-1-u(t,"borderRightWidth")+"px"})},_uiSetYScrollWidth:function(t){var n=this._yScrollContainer,r=this._tableNode,i,s,o,u;n&&r&&(u=e.DOM.getScrollbarWidth(),t?(s=n.get("offsetWidth")-n.get("clientWidth")+u,n.setStyle("width",t),o=n.get("clientWidth")-s,r.setStyle("width",o+"px"),i=r.get("offsetWidth"),n.setStyle("width",i+u+"px")):(r.setStyle("width",""),n.setStyle("width",""),n.setStyle("width",r.get("offsetWidth")+u+"px")))},_unbindScrollbar:function(){this._scrollbarEventHandle&&this._scrollbarEventHandle.detach()},_unbindScrollResize:function(){this._scrollResizeHandle&&(this._scrollResizeHandle.detach(),delete this._scrollResizeHandle)}},!0),e.Base.mix(e.DataTable,[o])},"3.13.0",{requires:["datatable-base","datatable-column-widths","dom-screen"],skinnable:!0});
diff --git a/lib/yuilib/3.12.0/datatable-scroll/datatable-scroll.js b/lib/yuilib/3.13.0/datatable-scroll/datatable-scroll.js
old mode 100644
new mode 100755
similarity index 99%
rename from lib/yuilib/3.12.0/datatable-scroll/datatable-scroll.js
rename to lib/yuilib/3.13.0/datatable-scroll/datatable-scroll.js
index 85c792caa8b..f2c91dff995
--- a/lib/yuilib/3.12.0/datatable-scroll/datatable-scroll.js
+++ b/lib/yuilib/3.13.0/datatable-scroll/datatable-scroll.js
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
@@ -1390,4 +1390,4 @@ Y.mix(Scrollable.prototype, {
Y.Base.mix(Y.DataTable, [Scrollable]);
-}, '3.12.0', {"requires": ["datatable-base", "datatable-column-widths", "dom-screen"], "skinnable": true});
+}, '3.13.0', {"requires": ["datatable-base", "datatable-column-widths", "dom-screen"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/datatable-sort-core.css b/lib/yuilib/3.13.0/datatable-sort/assets/datatable-sort-core.css
old mode 100644
new mode 100755
similarity index 95%
rename from lib/yuilib/3.12.0/datatable-sort/assets/datatable-sort-core.css
rename to lib/yuilib/3.13.0/datatable-sort/assets/datatable-sort-core.css
index 4881b6ce651..1806aeccaff
--- a/lib/yuilib/3.12.0/datatable-sort/assets/datatable-sort-core.css
+++ b/lib/yuilib/3.13.0/datatable-sort/assets/datatable-sort-core.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort-skin.css b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort-skin.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort-skin.css
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort-skin.css
index 3de82b1cbd3..1d43a9dc8fa
--- a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort-skin.css
+++ b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort.css b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort.css
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort.css
index 92b6a1f072c..276d7a00219
--- a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/datatable-sort.css
+++ b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/datatable-sort.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/sort-arrow-sprite-ie.png b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/sort-arrow-sprite-ie.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/night/sort-arrow-sprite-ie.png
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/night/sort-arrow-sprite-ie.png
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/night/sort-arrow-sprite.png b/lib/yuilib/3.13.0/datatable-sort/assets/skins/night/sort-arrow-sprite.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/night/sort-arrow-sprite.png
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/night/sort-arrow-sprite.png
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css
index a757abad5e9..7042c67af4b
--- a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css
+++ b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort-skin.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort.css b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort.css
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort.css
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort.css
index e11c2c505fe..4bbb5ac180c
--- a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/datatable-sort.css
+++ b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/datatable-sort.css
@@ -1,5 +1,5 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/sort-arrow-sprite-ie.png b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/sort-arrow-sprite-ie.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/sort-arrow-sprite-ie.png
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/sort-arrow-sprite-ie.png
diff --git a/lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/sort-arrow-sprite.png b/lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/sort-arrow-sprite.png
old mode 100644
new mode 100755
similarity index 100%
rename from lib/yuilib/3.12.0/datatable-sort/assets/skins/sam/sort-arrow-sprite.png
rename to lib/yuilib/3.13.0/datatable-sort/assets/skins/sam/sort-arrow-sprite.png
diff --git a/lib/yuilib/3.13.0/datatable-sort/datatable-sort-coverage.js b/lib/yuilib/3.13.0/datatable-sort/datatable-sort-coverage.js
new file mode 100755
index 00000000000..0ad923c3847
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-sort/datatable-sort-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-sort/datatable-sort.js']) {
+ __coverage__['build/datatable-sort/datatable-sort.js'] = {"path":"build/datatable-sort/datatable-sort.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0,0,0],"71":[0,0,0],"72":[0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"Sortable","line":108,"loc":{"start":{"line":108,"column":0},"end":{"line":108,"column":20}}},"3":{"name":"(anonymous_3)","line":202,"loc":{"start":{"line":202,"column":10},"end":{"line":202,"column":37}}},"4":{"name":"(anonymous_4)","line":245,"loc":{"start":{"line":245,"column":16},"end":{"line":245,"column":44}}},"5":{"name":"(anonymous_5)","line":298,"loc":{"start":{"line":298,"column":24},"end":{"line":298,"column":36}}},"6":{"name":"(anonymous_6)","line":324,"loc":{"start":{"line":324,"column":26},"end":{"line":324,"column":39}}},"7":{"name":"(anonymous_7)","line":343,"loc":{"start":{"line":343,"column":28},"end":{"line":343,"column":41}}},"8":{"name":"(anonymous_8)","line":362,"loc":{"start":{"line":362,"column":17},"end":{"line":362,"column":29}}},"9":{"name":"(anonymous_9)","line":386,"loc":{"start":{"line":386,"column":16},"end":{"line":386,"column":29}}},"10":{"name":"(anonymous_10)","line":419,"loc":{"start":{"line":419,"column":16},"end":{"line":419,"column":39}}},"11":{"name":"(anonymous_11)","line":452,"loc":{"start":{"line":452,"column":17},"end":{"line":452,"column":29}}},"12":{"name":"(anonymous_12)","line":487,"loc":{"start":{"line":487,"column":17},"end":{"line":487,"column":29}}},"13":{"name":"(anonymous_13)","line":496,"loc":{"start":{"line":496,"column":29},"end":{"line":496,"column":45}}},"14":{"name":"(anonymous_14)","line":541,"loc":{"start":{"line":541,"column":22},"end":{"line":541,"column":34}}},"15":{"name":"(anonymous_15)","line":556,"loc":{"start":{"line":556,"column":22},"end":{"line":556,"column":35}}},"16":{"name":"(anonymous_16)","line":608,"loc":{"start":{"line":608,"column":20},"end":{"line":608,"column":32}}},"17":{"name":"(anonymous_17)","line":649,"loc":{"start":{"line":649,"column":21},"end":{"line":649,"column":33}}},"18":{"name":"(anonymous_18)","line":664,"loc":{"start":{"line":664,"column":16},"end":{"line":664,"column":28}}},"19":{"name":"(anonymous_19)","line":756,"loc":{"start":{"line":756,"column":21},"end":{"line":756,"column":37}}},"20":{"name":"(anonymous_20)","line":772,"loc":{"start":{"line":772,"column":20},"end":{"line":772,"column":32}}},"21":{"name":"(anonymous_21)","line":791,"loc":{"start":{"line":791,"column":54},"end":{"line":791,"column":70}}},"22":{"name":"(anonymous_22)","line":878,"loc":{"start":{"line":878,"column":23},"end":{"line":878,"column":38}}},"23":{"name":"(anonymous_23)","line":891,"loc":{"start":{"line":891,"column":21},"end":{"line":891,"column":36}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":979,"column":100}},"2":{"start":{"line":11,"column":0},"end":{"line":25,"column":6}},"3":{"start":{"line":108,"column":0},"end":{"line":108,"column":22}},"4":{"start":{"line":110,"column":0},"end":{"line":171,"column":2}},"5":{"start":{"line":173,"column":0},"end":{"line":898,"column":9}},"6":{"start":{"line":215,"column":8},"end":{"line":217,"column":12}},"7":{"start":{"line":246,"column":8},"end":{"line":248,"column":34}},"8":{"start":{"line":251,"column":8},"end":{"line":255,"column":9}},"9":{"start":{"line":252,"column":12},"end":{"line":252,"column":21}},"10":{"start":{"line":253,"column":12},"end":{"line":253,"column":53}},"11":{"start":{"line":254,"column":12},"end":{"line":254,"column":29}},"12":{"start":{"line":257,"column":8},"end":{"line":280,"column":9}},"13":{"start":{"line":258,"column":12},"end":{"line":258,"column":39}},"14":{"start":{"line":260,"column":12},"end":{"line":270,"column":13}},"15":{"start":{"line":261,"column":16},"end":{"line":261,"column":33}},"16":{"start":{"line":262,"column":16},"end":{"line":262,"column":27}},"17":{"start":{"line":264,"column":16},"end":{"line":269,"column":17}},"18":{"start":{"line":265,"column":20},"end":{"line":268,"column":21}},"19":{"start":{"line":266,"column":24},"end":{"line":266,"column":45}},"20":{"start":{"line":267,"column":24},"end":{"line":267,"column":30}},"21":{"start":{"line":272,"column":12},"end":{"line":279,"column":13}},"22":{"start":{"line":273,"column":16},"end":{"line":278,"column":17}},"23":{"start":{"line":274,"column":20},"end":{"line":277,"column":21}},"24":{"start":{"line":275,"column":24},"end":{"line":275,"column":45}},"25":{"start":{"line":276,"column":24},"end":{"line":276,"column":30}},"26":{"start":{"line":282,"column":8},"end":{"line":284,"column":12}},"27":{"start":{"line":303,"column":8},"end":{"line":303,"column":26}},"28":{"start":{"line":306,"column":8},"end":{"line":312,"column":9}},"29":{"start":{"line":307,"column":12},"end":{"line":309,"column":13}},"30":{"start":{"line":308,"column":17},"end":{"line":308,"column":61}},"31":{"start":{"line":311,"column":12},"end":{"line":311,"column":29}},"32":{"start":{"line":329,"column":8},"end":{"line":331,"column":9}},"33":{"start":{"line":330,"column":12},"end":{"line":330,"column":31}},"34":{"start":{"line":344,"column":8},"end":{"line":344,"column":19}},"35":{"start":{"line":346,"column":8},"end":{"line":351,"column":9}},"36":{"start":{"line":347,"column":12},"end":{"line":350,"column":13}},"37":{"start":{"line":348,"column":16},"end":{"line":348,"column":33}},"38":{"start":{"line":349,"column":16},"end":{"line":349,"column":22}},"39":{"start":{"line":363,"column":8},"end":{"line":363,"column":41}},"40":{"start":{"line":365,"column":8},"end":{"line":369,"column":9}},"41":{"start":{"line":366,"column":12},"end":{"line":368,"column":48}},"42":{"start":{"line":371,"column":8},"end":{"line":375,"column":9}},"43":{"start":{"line":372,"column":12},"end":{"line":374,"column":63}},"44":{"start":{"line":387,"column":8},"end":{"line":387,"column":69}},"45":{"start":{"line":420,"column":8},"end":{"line":420,"column":31}},"46":{"start":{"line":423,"column":8},"end":{"line":423,"column":33}},"47":{"start":{"line":426,"column":8},"end":{"line":441,"column":9}},"48":{"start":{"line":427,"column":12},"end":{"line":427,"column":23}},"49":{"start":{"line":429,"column":12},"end":{"line":435,"column":13}},"50":{"start":{"line":430,"column":16},"end":{"line":430,"column":38}},"51":{"start":{"line":431,"column":16},"end":{"line":434,"column":19}},"52":{"start":{"line":438,"column":12},"end":{"line":438,"column":70}},"53":{"start":{"line":440,"column":12},"end":{"line":440,"column":23}},"54":{"start":{"line":453,"column":8},"end":{"line":453,"column":64}},"55":{"start":{"line":455,"column":8},"end":{"line":455,"column":30}},"56":{"start":{"line":457,"column":8},"end":{"line":457,"column":26}},"57":{"start":{"line":459,"column":8},"end":{"line":459,"column":27}},"58":{"start":{"line":461,"column":8},"end":{"line":461,"column":32}},"59":{"start":{"line":463,"column":8},"end":{"line":469,"column":11}},"60":{"start":{"line":470,"column":8},"end":{"line":471,"column":52}},"61":{"start":{"line":474,"column":8},"end":{"line":476,"column":11}},"62":{"start":{"line":488,"column":8},"end":{"line":488,"column":24}},"63":{"start":{"line":496,"column":8},"end":{"line":520,"column":10}},"64":{"start":{"line":497,"column":12},"end":{"line":498,"column":45}},"65":{"start":{"line":500,"column":12},"end":{"line":517,"column":13}},"66":{"start":{"line":501,"column":16},"end":{"line":501,"column":38}},"67":{"start":{"line":502,"column":16},"end":{"line":503,"column":39}},"68":{"start":{"line":505,"column":16},"end":{"line":516,"column":17}},"69":{"start":{"line":506,"column":20},"end":{"line":506,"column":57}},"70":{"start":{"line":509,"column":20},"end":{"line":509,"column":46}},"71":{"start":{"line":510,"column":20},"end":{"line":510,"column":46}},"72":{"start":{"line":511,"column":20},"end":{"line":514,"column":21}},"73":{"start":{"line":512,"column":24},"end":{"line":512,"column":46}},"74":{"start":{"line":513,"column":24},"end":{"line":513,"column":46}},"75":{"start":{"line":515,"column":20},"end":{"line":515,"column":67}},"76":{"start":{"line":519,"column":12},"end":{"line":519,"column":23}},"77":{"start":{"line":522,"column":8},"end":{"line":531,"column":9}},"78":{"start":{"line":523,"column":12},"end":{"line":523,"column":56}},"79":{"start":{"line":526,"column":12},"end":{"line":526,"column":29}},"80":{"start":{"line":530,"column":12},"end":{"line":530,"column":40}},"81":{"start":{"line":543,"column":8},"end":{"line":544,"column":43}},"82":{"start":{"line":557,"column":8},"end":{"line":559,"column":27}},"83":{"start":{"line":561,"column":8},"end":{"line":563,"column":9}},"84":{"start":{"line":562,"column":12},"end":{"line":562,"column":19}},"85":{"start":{"line":567,"column":8},"end":{"line":567,"column":27}},"86":{"start":{"line":569,"column":8},"end":{"line":597,"column":9}},"87":{"start":{"line":570,"column":12},"end":{"line":591,"column":13}},"88":{"start":{"line":571,"column":16},"end":{"line":571,"column":50}},"89":{"start":{"line":573,"column":16},"end":{"line":582,"column":17}},"90":{"start":{"line":574,"column":20},"end":{"line":581,"column":21}},"91":{"start":{"line":575,"column":24},"end":{"line":577,"column":25}},"92":{"start":{"line":576,"column":28},"end":{"line":576,"column":43}},"93":{"start":{"line":579,"column":24},"end":{"line":579,"column":66}},"94":{"start":{"line":580,"column":24},"end":{"line":580,"column":30}},"95":{"start":{"line":584,"column":16},"end":{"line":586,"column":17}},"96":{"start":{"line":585,"column":20},"end":{"line":585,"column":44}},"97":{"start":{"line":588,"column":16},"end":{"line":588,"column":30}},"98":{"start":{"line":590,"column":16},"end":{"line":590,"column":58}},"99":{"start":{"line":593,"column":12},"end":{"line":596,"column":15}},"100":{"start":{"line":609,"column":8},"end":{"line":611,"column":24}},"101":{"start":{"line":613,"column":8},"end":{"line":637,"column":9}},"102":{"start":{"line":614,"column":12},"end":{"line":626,"column":13}},"103":{"start":{"line":615,"column":16},"end":{"line":615,"column":34}},"104":{"start":{"line":619,"column":16},"end":{"line":621,"column":17}},"105":{"start":{"line":620,"column":20},"end":{"line":620,"column":46}},"106":{"start":{"line":623,"column":16},"end":{"line":625,"column":17}},"107":{"start":{"line":624,"column":20},"end":{"line":624,"column":38}},"108":{"start":{"line":627,"column":15},"end":{"line":637,"column":9}},"109":{"start":{"line":628,"column":12},"end":{"line":628,"column":51}},"110":{"start":{"line":630,"column":12},"end":{"line":636,"column":13}},"111":{"start":{"line":631,"column":16},"end":{"line":635,"column":17}},"112":{"start":{"line":632,"column":20},"end":{"line":634,"column":21}},"113":{"start":{"line":633,"column":24},"end":{"line":633,"column":45}},"114":{"start":{"line":639,"column":8},"end":{"line":639,"column":33}},"115":{"start":{"line":650,"column":8},"end":{"line":650,"column":30}},"116":{"start":{"line":652,"column":8},"end":{"line":652,"column":27}},"117":{"start":{"line":665,"column":8},"end":{"line":668,"column":45}},"118":{"start":{"line":670,"column":8},"end":{"line":670,"column":26}},"119":{"start":{"line":673,"column":8},"end":{"line":682,"column":9}},"120":{"start":{"line":674,"column":12},"end":{"line":674,"column":32}},"121":{"start":{"line":676,"column":12},"end":{"line":676,"column":34}},"122":{"start":{"line":678,"column":12},"end":{"line":681,"column":13}},"123":{"start":{"line":680,"column":16},"end":{"line":680,"column":77}},"124":{"start":{"line":684,"column":8},"end":{"line":684,"column":33}},"125":{"start":{"line":686,"column":8},"end":{"line":720,"column":9}},"126":{"start":{"line":687,"column":12},"end":{"line":687,"column":29}},"127":{"start":{"line":688,"column":12},"end":{"line":688,"column":21}},"128":{"start":{"line":690,"column":12},"end":{"line":699,"column":13}},"129":{"start":{"line":691,"column":16},"end":{"line":691,"column":29}},"130":{"start":{"line":693,"column":16},"end":{"line":698,"column":17}},"131":{"start":{"line":694,"column":20},"end":{"line":697,"column":21}},"132":{"start":{"line":695,"column":24},"end":{"line":695,"column":50}},"133":{"start":{"line":696,"column":24},"end":{"line":696,"column":30}},"134":{"start":{"line":701,"column":12},"end":{"line":719,"column":13}},"135":{"start":{"line":706,"column":16},"end":{"line":706,"column":74}},"136":{"start":{"line":708,"column":16},"end":{"line":718,"column":17}},"137":{"start":{"line":709,"column":20},"end":{"line":709,"column":41}},"138":{"start":{"line":711,"column":20},"end":{"line":713,"column":21}},"139":{"start":{"line":712,"column":24},"end":{"line":712,"column":46}},"140":{"start":{"line":715,"column":20},"end":{"line":715,"column":52}},"141":{"start":{"line":717,"column":20},"end":{"line":717,"column":46}},"142":{"start":{"line":758,"column":8},"end":{"line":758,"column":20}},"143":{"start":{"line":773,"column":8},"end":{"line":780,"column":50}},"144":{"start":{"line":782,"column":8},"end":{"line":784,"column":28}},"145":{"start":{"line":786,"column":8},"end":{"line":788,"column":9}},"146":{"start":{"line":787,"column":12},"end":{"line":787,"column":53}},"147":{"start":{"line":791,"column":8},"end":{"line":816,"column":11}},"148":{"start":{"line":792,"column":12},"end":{"line":794,"column":26}},"149":{"start":{"line":796,"column":12},"end":{"line":815,"column":13}},"150":{"start":{"line":797,"column":16},"end":{"line":800,"column":17}},"151":{"start":{"line":798,"column":20},"end":{"line":799,"column":48}},"152":{"start":{"line":802,"column":16},"end":{"line":804,"column":44}},"153":{"start":{"line":806,"column":16},"end":{"line":808,"column":17}},"154":{"start":{"line":807,"column":20},"end":{"line":807,"column":68}},"155":{"start":{"line":810,"column":16},"end":{"line":810,"column":59}},"156":{"start":{"line":812,"column":16},"end":{"line":814,"column":17}},"157":{"start":{"line":813,"column":20},"end":{"line":813,"column":53}},"158":{"start":{"line":818,"column":8},"end":{"line":866,"column":9}},"159":{"start":{"line":819,"column":12},"end":{"line":819,"column":30}},"160":{"start":{"line":820,"column":12},"end":{"line":820,"column":53}},"161":{"start":{"line":821,"column":12},"end":{"line":821,"column":38}},"162":{"start":{"line":823,"column":12},"end":{"line":865,"column":13}},"163":{"start":{"line":824,"column":16},"end":{"line":824,"column":51}},"164":{"start":{"line":826,"column":16},"end":{"line":826,"column":45}},"165":{"start":{"line":828,"column":16},"end":{"line":835,"column":17}},"166":{"start":{"line":829,"column":20},"end":{"line":829,"column":44}},"167":{"start":{"line":831,"column":20},"end":{"line":831,"column":54}},"168":{"start":{"line":833,"column":20},"end":{"line":834,"column":52}},"169":{"start":{"line":837,"column":16},"end":{"line":847,"column":17}},"170":{"start":{"line":838,"column":20},"end":{"line":842,"column":28}},"171":{"start":{"line":844,"column":20},"end":{"line":844,"column":67}},"172":{"start":{"line":846,"column":20},"end":{"line":846,"column":39}},"173":{"start":{"line":849,"column":16},"end":{"line":859,"column":18}},"174":{"start":{"line":861,"column":16},"end":{"line":861,"column":50}},"175":{"start":{"line":864,"column":16},"end":{"line":864,"column":61}},"176":{"start":{"line":879,"column":8},"end":{"line":879,"column":64}},"177":{"start":{"line":892,"column":8},"end":{"line":895,"column":75}},"178":{"start":{"line":900,"column":0},"end":{"line":900,"column":32}},"179":{"start":{"line":976,"column":0},"end":{"line":976,"column":36}}},"branchMap":{"1":{"line":215,"type":"binary-expr","locations":[{"start":{"line":215,"column":42},"end":{"line":215,"column":49}},{"start":{"line":215,"column":53},"end":{"line":215,"column":55}}]},"2":{"line":216,"type":"binary-expr","locations":[{"start":{"line":216,"column":20},"end":{"line":216,"column":26}},{"start":{"line":216,"column":30},"end":{"line":216,"column":48}}]},"3":{"line":257,"type":"if","locations":[{"start":{"line":257,"column":8},"end":{"line":257,"column":8}},{"start":{"line":257,"column":8},"end":{"line":257,"column":8}}]},"4":{"line":265,"type":"if","locations":[{"start":{"line":265,"column":20},"end":{"line":265,"column":20}},{"start":{"line":265,"column":20},"end":{"line":265,"column":20}}]},"5":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":20},"end":{"line":274,"column":20}},{"start":{"line":274,"column":20},"end":{"line":274,"column":20}}]},"6":{"line":282,"type":"binary-expr","locations":[{"start":{"line":282,"column":42},"end":{"line":282,"column":49}},{"start":{"line":282,"column":53},"end":{"line":282,"column":55}}]},"7":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":8},"end":{"line":306,"column":8}},{"start":{"line":306,"column":8},"end":{"line":306,"column":8}}]},"8":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":12},"end":{"line":307,"column":12}},{"start":{"line":307,"column":12},"end":{"line":307,"column":12}}]},"9":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":8},"end":{"line":329,"column":8}},{"start":{"line":329,"column":8},"end":{"line":329,"column":8}}]},"10":{"line":329,"type":"binary-expr","locations":[{"start":{"line":329,"column":12},"end":{"line":329,"column":34}},{"start":{"line":329,"column":38},"end":{"line":329,"column":73}}]},"11":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":12},"end":{"line":347,"column":12}},{"start":{"line":347,"column":12},"end":{"line":347,"column":12}}]},"12":{"line":365,"type":"if","locations":[{"start":{"line":365,"column":8},"end":{"line":365,"column":8}},{"start":{"line":365,"column":8},"end":{"line":365,"column":8}}]},"13":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":371,"column":8}},{"start":{"line":371,"column":8},"end":{"line":371,"column":8}}]},"14":{"line":371,"type":"binary-expr","locations":[{"start":{"line":371,"column":12},"end":{"line":371,"column":34}},{"start":{"line":371,"column":38},"end":{"line":371,"column":53}}]},"15":{"line":426,"type":"if","locations":[{"start":{"line":426,"column":8},"end":{"line":426,"column":8}},{"start":{"line":426,"column":8},"end":{"line":426,"column":8}}]},"16":{"line":438,"type":"cond-expr","locations":[{"start":{"line":438,"column":51},"end":{"line":438,"column":59}},{"start":{"line":438,"column":62},"end":{"line":438,"column":67}}]},"17":{"line":500,"type":"binary-expr","locations":[{"start":{"line":500,"column":51},"end":{"line":500,"column":55}},{"start":{"line":500,"column":59},"end":{"line":500,"column":66}}]},"18":{"line":505,"type":"if","locations":[{"start":{"line":505,"column":16},"end":{"line":505,"column":16}},{"start":{"line":505,"column":16},"end":{"line":505,"column":16}}]},"19":{"line":509,"type":"binary-expr","locations":[{"start":{"line":509,"column":25},"end":{"line":509,"column":39}},{"start":{"line":509,"column":43},"end":{"line":509,"column":45}}]},"20":{"line":510,"type":"binary-expr","locations":[{"start":{"line":510,"column":25},"end":{"line":510,"column":39}},{"start":{"line":510,"column":43},"end":{"line":510,"column":45}}]},"21":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":20},"end":{"line":511,"column":20}},{"start":{"line":511,"column":20},"end":{"line":511,"column":20}}]},"22":{"line":511,"type":"binary-expr","locations":[{"start":{"line":511,"column":24},"end":{"line":511,"column":27}},{"start":{"line":511,"column":31},"end":{"line":511,"column":54}},{"start":{"line":511,"column":58},"end":{"line":511,"column":81}}]},"23":{"line":515,"type":"cond-expr","locations":[{"start":{"line":515,"column":38},"end":{"line":515,"column":41}},{"start":{"line":515,"column":45},"end":{"line":515,"column":65}}]},"24":{"line":515,"type":"cond-expr","locations":[{"start":{"line":515,"column":57},"end":{"line":515,"column":61}},{"start":{"line":515,"column":64},"end":{"line":515,"column":65}}]},"25":{"line":522,"type":"if","locations":[{"start":{"line":522,"column":8},"end":{"line":522,"column":8}},{"start":{"line":522,"column":8},"end":{"line":522,"column":8}}]},"26":{"line":543,"type":"binary-expr","locations":[{"start":{"line":543,"column":35},"end":{"line":543,"column":54}},{"start":{"line":543,"column":58},"end":{"line":543,"column":60}}]},"27":{"line":558,"type":"binary-expr","locations":[{"start":{"line":558,"column":21},"end":{"line":558,"column":23}},{"start":{"line":558,"column":27},"end":{"line":558,"column":45}}]},"28":{"line":561,"type":"if","locations":[{"start":{"line":561,"column":8},"end":{"line":561,"column":8}},{"start":{"line":561,"column":8},"end":{"line":561,"column":8}}]},"29":{"line":561,"type":"binary-expr","locations":[{"start":{"line":561,"column":12},"end":{"line":561,"column":32}},{"start":{"line":561,"column":36},"end":{"line":561,"column":52}}]},"30":{"line":569,"type":"if","locations":[{"start":{"line":569,"column":8},"end":{"line":569,"column":8}},{"start":{"line":569,"column":8},"end":{"line":569,"column":8}}]},"31":{"line":570,"type":"if","locations":[{"start":{"line":570,"column":12},"end":{"line":570,"column":12}},{"start":{"line":570,"column":12},"end":{"line":570,"column":12}}]},"32":{"line":571,"type":"binary-expr","locations":[{"start":{"line":571,"column":25},"end":{"line":571,"column":43}},{"start":{"line":571,"column":47},"end":{"line":571,"column":49}}]},"33":{"line":574,"type":"if","locations":[{"start":{"line":574,"column":20},"end":{"line":574,"column":20}},{"start":{"line":574,"column":20},"end":{"line":574,"column":20}}]},"34":{"line":574,"type":"binary-expr","locations":[{"start":{"line":574,"column":24},"end":{"line":574,"column":40}},{"start":{"line":574,"column":45},"end":{"line":574,"column":74}}]},"35":{"line":575,"type":"if","locations":[{"start":{"line":575,"column":24},"end":{"line":575,"column":24}},{"start":{"line":575,"column":24},"end":{"line":575,"column":24}}]},"36":{"line":579,"type":"binary-expr","locations":[{"start":{"line":579,"column":40},"end":{"line":579,"column":60}},{"start":{"line":579,"column":64},"end":{"line":579,"column":65}}]},"37":{"line":579,"type":"binary-expr","locations":[{"start":{"line":579,"column":42},"end":{"line":579,"column":56}},{"start":{"line":579,"column":58},"end":{"line":579,"column":59}}]},"38":{"line":584,"type":"if","locations":[{"start":{"line":584,"column":16},"end":{"line":584,"column":16}},{"start":{"line":584,"column":16},"end":{"line":584,"column":16}}]},"39":{"line":590,"type":"binary-expr","locations":[{"start":{"line":590,"column":32},"end":{"line":590,"column":52}},{"start":{"line":590,"column":56},"end":{"line":590,"column":57}}]},"40":{"line":590,"type":"binary-expr","locations":[{"start":{"line":590,"column":34},"end":{"line":590,"column":48}},{"start":{"line":590,"column":50},"end":{"line":590,"column":51}}]},"41":{"line":613,"type":"if","locations":[{"start":{"line":613,"column":8},"end":{"line":613,"column":8}},{"start":{"line":613,"column":8},"end":{"line":613,"column":8}}]},"42":{"line":619,"type":"if","locations":[{"start":{"line":619,"column":16},"end":{"line":619,"column":16}},{"start":{"line":619,"column":16},"end":{"line":619,"column":16}}]},"43":{"line":619,"type":"binary-expr","locations":[{"start":{"line":619,"column":20},"end":{"line":619,"column":40}},{"start":{"line":619,"column":44},"end":{"line":619,"column":56}}]},"44":{"line":623,"type":"if","locations":[{"start":{"line":623,"column":16},"end":{"line":623,"column":16}},{"start":{"line":623,"column":16},"end":{"line":623,"column":16}}]},"45":{"line":627,"type":"if","locations":[{"start":{"line":627,"column":15},"end":{"line":627,"column":15}},{"start":{"line":627,"column":15},"end":{"line":627,"column":15}}]},"46":{"line":630,"type":"if","locations":[{"start":{"line":630,"column":12},"end":{"line":630,"column":12}},{"start":{"line":630,"column":12},"end":{"line":630,"column":12}}]},"47":{"line":632,"type":"if","locations":[{"start":{"line":632,"column":20},"end":{"line":632,"column":20}},{"start":{"line":632,"column":20},"end":{"line":632,"column":20}}]},"48":{"line":666,"type":"binary-expr","locations":[{"start":{"line":666,"column":26},"end":{"line":666,"column":44}},{"start":{"line":666,"column":48},"end":{"line":666,"column":50}}]},"49":{"line":678,"type":"if","locations":[{"start":{"line":678,"column":12},"end":{"line":678,"column":12}},{"start":{"line":678,"column":12},"end":{"line":678,"column":12}}]},"50":{"line":690,"type":"if","locations":[{"start":{"line":690,"column":12},"end":{"line":690,"column":12}},{"start":{"line":690,"column":12},"end":{"line":690,"column":12}}]},"51":{"line":694,"type":"if","locations":[{"start":{"line":694,"column":20},"end":{"line":694,"column":20}},{"start":{"line":694,"column":20},"end":{"line":694,"column":20}}]},"52":{"line":701,"type":"if","locations":[{"start":{"line":701,"column":12},"end":{"line":701,"column":12}},{"start":{"line":701,"column":12},"end":{"line":701,"column":12}}]},"53":{"line":706,"type":"binary-expr","locations":[{"start":{"line":706,"column":25},"end":{"line":706,"column":45}},{"start":{"line":706,"column":49},"end":{"line":706,"column":73}}]},"54":{"line":708,"type":"if","locations":[{"start":{"line":708,"column":16},"end":{"line":708,"column":16}},{"start":{"line":708,"column":16},"end":{"line":708,"column":16}}]},"55":{"line":711,"type":"if","locations":[{"start":{"line":711,"column":20},"end":{"line":711,"column":20}},{"start":{"line":711,"column":20},"end":{"line":711,"column":20}}]},"56":{"line":773,"type":"binary-expr","locations":[{"start":{"line":773,"column":28},"end":{"line":773,"column":42}},{"start":{"line":773,"column":46},"end":{"line":773,"column":48}}]},"57":{"line":796,"type":"if","locations":[{"start":{"line":796,"column":12},"end":{"line":796,"column":12}},{"start":{"line":796,"column":12},"end":{"line":796,"column":12}}]},"58":{"line":797,"type":"if","locations":[{"start":{"line":797,"column":16},"end":{"line":797,"column":16}},{"start":{"line":797,"column":16},"end":{"line":797,"column":16}}]},"59":{"line":806,"type":"if","locations":[{"start":{"line":806,"column":16},"end":{"line":806,"column":16}},{"start":{"line":806,"column":16},"end":{"line":806,"column":16}}]},"60":{"line":812,"type":"if","locations":[{"start":{"line":812,"column":16},"end":{"line":812,"column":16}},{"start":{"line":812,"column":16},"end":{"line":812,"column":16}}]},"61":{"line":823,"type":"if","locations":[{"start":{"line":823,"column":12},"end":{"line":823,"column":12}},{"start":{"line":823,"column":12},"end":{"line":823,"column":12}}]},"62":{"line":828,"type":"if","locations":[{"start":{"line":828,"column":16},"end":{"line":828,"column":16}},{"start":{"line":828,"column":16},"end":{"line":828,"column":16}}]},"63":{"line":833,"type":"cond-expr","locations":[{"start":{"line":834,"column":24},"end":{"line":834,"column":36}},{"start":{"line":834,"column":39},"end":{"line":834,"column":50}}]},"64":{"line":837,"type":"if","locations":[{"start":{"line":837,"column":16},"end":{"line":837,"column":16}},{"start":{"line":837,"column":16},"end":{"line":837,"column":16}}]},"65":{"line":850,"type":"cond-expr","locations":[{"start":{"line":850,"column":42},"end":{"line":850,"column":57}},{"start":{"line":850,"column":60},"end":{"line":850,"column":68}}]},"66":{"line":852,"type":"binary-expr","locations":[{"start":{"line":852,"column":32},"end":{"line":852,"column":41}},{"start":{"line":852,"column":45},"end":{"line":852,"column":47}}]},"67":{"line":853,"type":"binary-expr","locations":[{"start":{"line":853,"column":32},"end":{"line":853,"column":39}},{"start":{"line":853,"column":43},"end":{"line":853,"column":45}}]},"68":{"line":854,"type":"binary-expr","locations":[{"start":{"line":854,"column":32},"end":{"line":854,"column":40}},{"start":{"line":854,"column":44},"end":{"line":854,"column":46}}]},"69":{"line":855,"type":"binary-expr","locations":[{"start":{"line":855,"column":32},"end":{"line":855,"column":41}},{"start":{"line":855,"column":45},"end":{"line":855,"column":47}}]},"70":{"line":856,"type":"binary-expr","locations":[{"start":{"line":856,"column":32},"end":{"line":856,"column":40}},{"start":{"line":856,"column":44},"end":{"line":856,"column":53}},{"start":{"line":857,"column":32},"end":{"line":857,"column":39}},{"start":{"line":857,"column":45},"end":{"line":857,"column":58}}]},"71":{"line":879,"type":"binary-expr","locations":[{"start":{"line":879,"column":15},"end":{"line":879,"column":29}},{"start":{"line":879,"column":33},"end":{"line":879,"column":47}},{"start":{"line":879,"column":51},"end":{"line":879,"column":63}}]},"72":{"line":892,"type":"binary-expr","locations":[{"start":{"line":892,"column":15},"end":{"line":892,"column":27}},{"start":{"line":893,"column":15},"end":{"line":893,"column":28}},{"start":{"line":894,"column":15},"end":{"line":894,"column":34}},{"start":{"line":895,"column":16},"end":{"line":895,"column":28}},{"start":{"line":895,"column":33},"end":{"line":895,"column":49}},{"start":{"line":895,"column":53},"end":{"line":895,"column":72}}]}},"code":["(function () { YUI.add('datatable-sort', function (Y, NAME) {","","/**","Adds support for sorting the table data by API methods `table.sort(...)` or","`table.toggleSort(...)` or by clicking on column headers in the rendered UI.","","@module datatable","@submodule datatable-sort","@since 3.5.0","**/","var YLang = Y.Lang,"," isBoolean = YLang.isBoolean,"," isString = YLang.isString,"," isArray = YLang.isArray,"," isObject = YLang.isObject,",""," toArray = Y.Array,"," sub = YLang.sub,",""," dirMap = {"," asc : 1,"," desc: -1,"," \"1\" : 1,"," \"-1\": -1"," };","","","/**","_API docs for this extension are included in the DataTable class._","","This DataTable class extension adds support for sorting the table data by API","methods `table.sort(...)` or `table.toggleSort(...)` or by clicking on column","headers in the rendered UI.","","Sorting by the API is enabled automatically when this module is `use()`d. To","enable UI triggered sorting, set the DataTable's `sortable` attribute to","`true`.","","
","","Setting `sortable` to `true` will enable UI sorting for all columns. To enable","UI sorting for certain columns only, set `sortable` to an array of column keys,","or just add `sortable: true` to the respective column configuration objects.","This uses the default setting of `sortable: auto` for the DataTable instance.","","
","","To disable UI sorting for all columns, set `sortable` to `false`. This still","permits sorting via the API methods.","","As new records are inserted into the table's `data` ModelList, they will be inserted at the correct index to preserve the sort order.","","The current sort order is stored in the `sortBy` attribute. Assigning this value at instantiation will automatically sort your data.","","Sorting is done by a simple value comparison using < and > on the field","value. If you need custom sorting, add a sort function in the column's","`sortFn` property. Columns whose content is generated by formatters, but don't","relate to a single `key`, require a `sortFn` to be sortable.","","
","","See the user guide for more details.","","@class DataTable.Sortable","@for DataTable","@since 3.5.0","**/","function Sortable() {}","","Sortable.ATTRS = {"," // Which columns in the UI should suggest and respond to sorting interaction"," // pass an empty array if no UI columns should show sortable, but you want the"," // table.sort(...) API"," /**"," Controls which column headers can trigger sorting by user clicks.",""," Acceptable values are:",""," * \"auto\" - (default) looks for `sortable: true` in the column configurations"," * `true` - all columns are enabled"," * `false - no UI sortable is enabled"," * {String[]} - array of key names to give sortable headers",""," @attribute sortable"," @type {String|String[]|Boolean}"," @default \"auto\""," @since 3.5.0"," **/"," sortable: {"," value: 'auto',"," validator: '_validateSortable'"," },",""," /**"," The current sort configuration to maintain in the data.",""," Accepts column `key` strings or objects with a single property, the column"," `key`, with a value of 1, -1, \"asc\", or \"desc\". E.g. `{ username: 'asc'"," }`. String values are assumed to be ascending.",""," Example values would be:",""," * `\"username\"` - sort by the data's `username` field or the `key`"," associated to a column with that `name`."," * `{ username: \"desc\" }` - sort by `username` in descending order."," Alternately, use values \"asc\", 1 (same as \"asc\"), or -1 (same as \"desc\")."," * `[\"lastName\", \"firstName\"]` - ascending sort by `lastName`, but for"," records with the same `lastName`, ascending subsort by `firstName`."," Array can have as many items as you want."," * `[{ lastName: -1 }, \"firstName\"]` - descending sort by `lastName`,"," ascending subsort by `firstName`. Mixed types are ok.",""," @attribute sortBy"," @type {String|String[]|Object|Object[]}"," @since 3.5.0"," **/"," sortBy: {"," validator: '_validateSortBy',"," getter: '_getSortBy'"," },",""," /**"," Strings containing language for sorting tooltips.",""," @attribute strings"," @type {Object}"," @default (strings for current lang configured in the YUI instance config)"," @since 3.5.0"," **/"," strings: {}","};","","Y.mix(Sortable.prototype, {",""," /**"," Sort the data in the `data` ModelList and refresh the table with the new"," order.",""," Acceptable values for `fields` are `key` strings or objects with a single"," property, the column `key`, with a value of 1, -1, \"asc\", or \"desc\". E.g."," `{ username: 'asc' }`. String values are assumed to be ascending.",""," Example values would be:",""," * `\"username\"` - sort by the data's `username` field or the `key`"," associated to a column with that `name`."," * `{ username: \"desc\" }` - sort by `username` in descending order."," Alternately, use values \"asc\", 1 (same as \"asc\"), or -1 (same as \"desc\")."," * `[\"lastName\", \"firstName\"]` - ascending sort by `lastName`, but for"," records with the same `lastName`, ascending subsort by `firstName`."," Array can have as many items as you want."," * `[{ lastName: -1 }, \"firstName\"]` - descending sort by `lastName`,"," ascending subsort by `firstName`. Mixed types are ok.",""," @method sort"," @param {String|String[]|Object|Object[]} fields The field(s) to sort by"," @param {Object} [payload] Extra `sort` event payload you want to send along"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," sort: function (fields, payload) {"," /**"," Notifies of an impending sort, either from clicking on a column"," header, or from a call to the `sort` or `toggleSort` method.",""," The requested sort is available in the `sortBy` property of the event.",""," The default behavior of this event sets the table's `sortBy` attribute.",""," @event sort"," @param {String|String[]|Object|Object[]} sortBy The requested sort"," @preventable _defSortFn"," **/"," return this.fire('sort', Y.merge((payload || {}), {"," sortBy: fields || this.get('sortBy')"," }));"," },",""," /**"," Template for the node that will wrap the header content for sortable"," columns.",""," @property SORTABLE_HEADER_TEMPLATE"," @type {HTML}"," @value '
',",""," /**"," Reverse the current sort direction of one or more fields currently being"," sorted by.",""," Pass the `key` of the column or columns you want the sort order reversed"," for.",""," @method toggleSort"," @param {String|String[]} fields The field(s) to reverse sort order for"," @param {Object} [payload] Extra `sort` event payload you want to send along"," @return {DataTable}"," @chainable"," @since 3.5.0"," **/"," toggleSort: function (columns, payload) {"," var current = this._sortBy,"," sortBy = [],"," i, len, j, col, index;",""," // To avoid updating column configs or sortBy directly"," for (i = 0, len = current.length; i < len; ++i) {"," col = {};"," col[current[i]._id] = current[i].sortDir;"," sortBy.push(col);"," }",""," if (columns) {"," columns = toArray(columns);",""," for (i = 0, len = columns.length; i < len; ++i) {"," col = columns[i];"," index = -1;",""," for (j = sortBy.length - 1; i >= 0; --i) {"," if (sortBy[j][col]) {"," sortBy[j][col] *= -1;"," break;"," }"," }"," }"," } else {"," for (i = 0, len = sortBy.length; i < len; ++i) {"," for (col in sortBy[i]) {"," if (sortBy[i].hasOwnProperty(col)) {"," sortBy[i][col] *= -1;"," break;"," }"," }"," }"," }",""," return this.fire('sort', Y.merge((payload || {}), {"," sortBy: sortBy"," }));"," },",""," //--------------------------------------------------------------------------"," // Protected properties and methods"," //--------------------------------------------------------------------------"," /**"," Sorts the `data` ModelList based on the new `sortBy` configuration.",""," @method _afterSortByChange"," @param {EventFacade} e The `sortByChange` event"," @protected"," @since 3.5.0"," **/"," _afterSortByChange: function () {"," // Can't use a setter because it's a chicken and egg problem. The"," // columns need to be set up to translate, but columns are initialized"," // from Core's initializer. So construction-time assignment would"," // fail."," this._setSortBy();",""," // Don't sort unless sortBy has been set"," if (this._sortBy.length) {"," if (!this.data.comparator) {"," this.data.comparator = this._sortComparator;"," }",""," this.data.sort();"," }"," },",""," /**"," Applies the sorting logic to the new ModelList if the `newVal` is a new"," ModelList.",""," @method _afterSortDataChange"," @param {EventFacade} e the `dataChange` event"," @protected"," @since 3.5.0"," **/"," _afterSortDataChange: function (e) {"," // object values always trigger a change event, but we only want to"," // call _initSortFn if the value passed to the `data` attribute was a"," // new ModelList, not a set of new data as an array, or even the same"," // ModelList."," if (e.prevVal !== e.newVal || e.newVal.hasOwnProperty('_compare')) {"," this._initSortFn();"," }"," },",""," /**"," Checks if any of the fields in the modified record are fields that are"," currently being sorted by, and if so, resorts the `data` ModelList.",""," @method _afterSortRecordChange"," @param {EventFacade} e The Model's `change` event"," @protected"," @since 3.5.0"," **/"," _afterSortRecordChange: function (e) {"," var i, len;",""," for (i = 0, len = this._sortBy.length; i < len; ++i) {"," if (e.changed[this._sortBy[i].key]) {"," this.data.sort();"," break;"," }"," }"," },",""," /**"," Subscribes to state changes that warrant updating the UI, and adds the"," click handler for triggering the sort operation from the UI.",""," @method _bindSortUI"," @protected"," @since 3.5.0"," **/"," _bindSortUI: function () {"," var handles = this._eventHandles;",""," if (!handles.sortAttrs) {"," handles.sortAttrs = this.after("," ['sortableChange', 'sortByChange', 'columnsChange'],"," Y.bind('_uiSetSortable', this));"," }",""," if (!handles.sortUITrigger && this._theadNode) {"," handles.sortUITrigger = this.delegate(['click','keydown'],"," Y.rbind('_onUITriggerSort', this),"," '.' + this.getClassName('sortable', 'column'));"," }"," },",""," /**"," Sets the `sortBy` attribute from the `sort` event's `e.sortBy` value.",""," @method _defSortFn"," @param {EventFacade} e The `sort` event"," @protected"," @since 3.5.0"," **/"," _defSortFn: function (e) {"," this.set.apply(this, ['sortBy', e.sortBy].concat(e.details));"," },",""," /**"," Getter for the `sortBy` attribute.",""," Supports the special subattribute \"sortBy.state\" to get a normalized JSON"," version of the current sort state. Otherwise, returns the last assigned"," value.",""," For example:","","
",""," @method _getSortBy"," @param {String|String[]|Object|Object[]} val The current sortBy value"," @param {String} detail String passed to `get(HERE)`. to parse subattributes"," @protected"," @since 3.5.0"," **/"," _getSortBy: function (val, detail) {"," var state, i, len, col;",""," // \"sortBy.\" is 7 characters. Used to catch"," detail = detail.slice(7);",""," // TODO: table.get('sortBy.asObject')? table.get('sortBy.json')?"," if (detail === 'state') {"," state = [];",""," for (i = 0, len = this._sortBy.length; i < len; ++i) {"," col = this._sortBy[i];"," state.push({"," column: col._id,"," dir: col.sortDir"," });"," }",""," // TODO: Always return an array?"," return { state: (state.length === 1) ? state[0] : state };"," } else {"," return val;"," }"," },",""," /**"," Sets up the initial sort state and instance properties. Publishes events"," and subscribes to attribute change events to maintain internal state.",""," @method initializer"," @protected"," @since 3.5.0"," **/"," initializer: function () {"," var boundParseSortable = Y.bind('_parseSortable', this);",""," this._parseSortable();",""," this._setSortBy();",""," this._initSortFn();",""," this._initSortStrings();",""," this.after({"," 'table:renderHeader': Y.bind('_renderSortable', this),"," dataChange : Y.bind('_afterSortDataChange', this),"," sortByChange : Y.bind('_afterSortByChange', this),"," sortableChange : boundParseSortable,"," columnsChange : boundParseSortable"," });"," this.data.after(this.data.model.NAME + \":change\","," Y.bind('_afterSortRecordChange', this));",""," // TODO: this event needs magic, allowing async remote sorting"," this.publish('sort', {"," defaultFn: Y.bind('_defSortFn', this)"," });"," },",""," /**"," Creates a `_compare` function for the `data` ModelList to allow custom"," sorting by multiple fields.",""," @method _initSortFn"," @protected"," @since 3.5.0"," **/"," _initSortFn: function () {"," var self = this;",""," // TODO: This should be a ModelList extension."," // FIXME: Modifying a component of the host seems a little smelly"," // FIXME: Declaring inline override to leverage closure vs"," // compiling a new function for each column/sortable change or"," // binding the _compare implementation to this, resulting in an"," // extra function hop during sorting. Lesser of three evils?"," this.data._compare = function (a, b) {"," var cmp = 0,"," i, len, col, dir, cs, aa, bb;",""," for (i = 0, len = self._sortBy.length; !cmp && i < len; ++i) {"," col = self._sortBy[i];"," dir = col.sortDir,"," cs = col.caseSensitive;",""," if (col.sortFn) {"," cmp = col.sortFn(a, b, (dir === -1));"," } else {"," // FIXME? Requires columns without sortFns to have key"," aa = a.get(col.key) || '';"," bb = b.get(col.key) || '';"," if (!cs && typeof(aa) === \"string\" && typeof(bb) === \"string\"){// Not case sensitive"," aa = aa.toLowerCase();"," bb = bb.toLowerCase();"," }"," cmp = (aa > bb) ? dir : ((aa < bb) ? -dir : 0);"," }"," }",""," return cmp;"," };",""," if (this._sortBy.length) {"," this.data.comparator = this._sortComparator;",""," // TODO: is this necessary? Should it be elsewhere?"," this.data.sort();"," } else {"," // Leave the _compare method in place to avoid having to set it"," // up again. Mistake?"," delete this.data.comparator;"," }"," },",""," /**"," Add the sort related strings to the `strings` map.",""," @method _initSortStrings"," @protected"," @since 3.5.0"," **/"," _initSortStrings: function () {"," // Not a valueFn because other class extensions will want to add to it"," this.set('strings', Y.mix((this.get('strings') || {}),"," Y.Intl.get('datatable-sort')));"," },",""," /**"," Fires the `sort` event in response to user clicks on sortable column"," headers.",""," @method _onUITriggerSort"," @param {DOMEventFacade} e The `click` event"," @protected"," @since 3.5.0"," **/"," _onUITriggerSort: function (e) {"," var id = e.currentTarget.getAttribute('data-yui3-col-id'),"," column = id && this.getColumn(id),"," sortBy, i, len;",""," if (e.type === 'keydown' && e.keyCode !== 32) {"," return;"," }",""," // In case a headerTemplate injected a link"," // TODO: Is this overreaching?"," e.preventDefault();",""," if (column) {"," if (e.shiftKey) {"," sortBy = this.get('sortBy') || [];",""," for (i = 0, len = sortBy.length; i < len; ++i) {"," if (id === sortBy[i] || Math.abs(sortBy[i][id]) === 1) {"," if (!isObject(sortBy[i])) {"," sortBy[i] = {};"," }",""," sortBy[i][id] = -(column.sortDir||0) || 1;"," break;"," }"," }",""," if (i >= len) {"," sortBy.push(column._id);"," }"," } else {"," sortBy = [{}];",""," sortBy[0][id] = -(column.sortDir||0) || 1;"," }",""," this.fire('sort', {"," originEvent: e,"," sortBy: sortBy"," });"," }"," },",""," /**"," Normalizes the possible input values for the `sortable` attribute, storing"," the results in the `_sortable` property.",""," @method _parseSortable"," @protected"," @since 3.5.0"," **/"," _parseSortable: function () {"," var sortable = this.get('sortable'),"," columns = [],"," i, len, col;",""," if (isArray(sortable)) {"," for (i = 0, len = sortable.length; i < len; ++i) {"," col = sortable[i];",""," // isArray is called because arrays are objects, but will rely"," // on getColumn to nullify them for the subsequent if (col)"," if (!isObject(col, true) || isArray(col)) {"," col = this.getColumn(col);"," }",""," if (col) {"," columns.push(col);"," }"," }"," } else if (sortable) {"," columns = this._displayColumns.slice();",""," if (sortable === 'auto') {"," for (i = columns.length - 1; i >= 0; --i) {"," if (!columns[i].sortable) {"," columns.splice(i, 1);"," }"," }"," }"," }",""," this._sortable = columns;"," },",""," /**"," Initial application of the sortable UI.",""," @method _renderSortable"," @protected"," @since 3.5.0"," **/"," _renderSortable: function () {"," this._uiSetSortable();",""," this._bindSortUI();"," },",""," /**"," Parses the current `sortBy` attribute into a normalized structure for the"," `data` ModelList's `_compare` method. Also updates the column"," configurations' `sortDir` properties.",""," @method _setSortBy"," @protected"," @since 3.5.0"," **/"," _setSortBy: function () {"," var columns = this._displayColumns,"," sortBy = this.get('sortBy') || [],"," sortedClass = ' ' + this.getClassName('sorted'),"," i, len, name, dir, field, column;",""," this._sortBy = [];",""," // Purge current sort state from column configs"," for (i = 0, len = columns.length; i < len; ++i) {"," column = columns[i];",""," delete column.sortDir;",""," if (column.className) {"," // TODO: be more thorough"," column.className = column.className.replace(sortedClass, '');"," }"," }",""," sortBy = toArray(sortBy);",""," for (i = 0, len = sortBy.length; i < len; ++i) {"," name = sortBy[i];"," dir = 1;",""," if (isObject(name)) {"," field = name;"," // Have to use a for-in loop to process sort({ foo: -1 })"," for (name in field) {"," if (field.hasOwnProperty(name)) {"," dir = dirMap[field[name]];"," break;"," }"," }"," }",""," if (name) {"," // Allow sorting of any model field and any column"," // FIXME: this isn't limited to model attributes, but there's no"," // convenient way to get a list of the attributes for a Model"," // subclass *including* the attributes of its superclasses."," column = this.getColumn(name) || { _id: name, key: name };",""," if (column) {"," column.sortDir = dir;",""," if (!column.className) {"," column.className = '';"," }",""," column.className += sortedClass;",""," this._sortBy.push(column);"," }"," }"," }"," },",""," /**"," Array of column configuration objects of those columns that need UI setup"," for user interaction.",""," @property _sortable"," @type {Object[]}"," @protected"," @since 3.5.0"," **/"," //_sortable: null,",""," /**"," Array of column configuration objects for those columns that are currently"," being used to sort the data. Fake column objects are used for fields that"," are not rendered as columns.",""," @property _sortBy"," @type {Object[]}"," @protected"," @since 3.5.0"," **/"," //_sortBy: null,",""," /**"," Replacement `comparator` for the `data` ModelList that defers sorting logic"," to the `_compare` method. The deferral is accomplished by returning `this`.",""," @method _sortComparator"," @param {Model} item The record being evaluated for sort position"," @return {Model} The record"," @protected"," @since 3.5.0"," **/"," _sortComparator: function (item) {"," // Defer sorting to ModelList's _compare"," return item;"," },",""," /**"," Applies the appropriate classes to the `boundingBox` and column headers to"," indicate sort state and sortability.",""," Also currently wraps the header content of sortable columns in a `
`"," liner to give a CSS anchor for sort indicators.",""," @method _uiSetSortable"," @protected"," @since 3.5.0"," **/"," _uiSetSortable: function () {"," var columns = this._sortable || [],"," sortableClass = this.getClassName('sortable', 'column'),"," ascClass = this.getClassName('sorted'),"," descClass = this.getClassName('sorted', 'desc'),"," linerClass = this.getClassName('sort', 'liner'),"," indicatorClass= this.getClassName('sort', 'indicator'),"," sortableCols = {},"," i, len, col, node, liner, title, desc;",""," this.get('boundingBox').toggleClass("," this.getClassName('sortable'),"," columns.length);",""," for (i = 0, len = columns.length; i < len; ++i) {"," sortableCols[columns[i].id] = columns[i];"," }",""," // TODO: this.head.render() + decorate cells?"," this._theadNode.all('.' + sortableClass).each(function (node) {"," var col = sortableCols[node.get('id')],"," liner = node.one('.' + linerClass),"," indicator;",""," if (col) {"," if (!col.sortDir) {"," node.removeClass(ascClass)"," .removeClass(descClass);"," }"," } else {"," node.removeClass(sortableClass)"," .removeClass(ascClass)"," .removeClass(descClass);",""," if (liner) {"," liner.replace(liner.get('childNodes').toFrag());"," }",""," indicator = node.one('.' + indicatorClass);",""," if (indicator) {"," indicator.remove().destroy(true);"," }"," }"," });",""," for (i = 0, len = columns.length; i < len; ++i) {"," col = columns[i];"," node = this._theadNode.one('#' + col.id);"," desc = col.sortDir === -1;",""," if (node) {"," liner = node.one('.' + linerClass);",""," node.addClass(sortableClass);",""," if (col.sortDir) {"," node.addClass(ascClass);",""," node.toggleClass(descClass, desc);",""," node.setAttribute('aria-sort', desc ?"," 'descending' : 'ascending');"," }",""," if (!liner) {"," liner = Y.Node.create(Y.Lang.sub("," this.SORTABLE_HEADER_TEMPLATE, {"," className: linerClass,"," indicatorClass: indicatorClass"," }));",""," liner.prepend(node.get('childNodes').toFrag());",""," node.append(liner);"," }",""," title = sub(this.getString("," (col.sortDir === 1) ? 'reverseSortBy' : 'sortBy'), // get string"," {"," title: col.title || '',"," key: col.key || '',"," abbr: col.abbr || '',"," label: col.label || '',"," column: col.abbr || col.label ||"," col.key || ('column ' + i)"," }"," );",""," node.setAttribute('title', title);"," // To combat VoiceOver from reading the sort title as the"," // column header"," node.setAttribute('aria-labelledby', col.id);"," }"," }"," },",""," /**"," Allows values `true`, `false`, \"auto\", or arrays of column names through.",""," @method _validateSortable"," @param {Any} val The input value to `set(\"sortable\", VAL)`"," @return {Boolean}"," @protected"," @since 3.5.0"," **/"," _validateSortable: function (val) {"," return val === 'auto' || isBoolean(val) || isArray(val);"," },",""," /**"," Allows strings, arrays of strings, objects, or arrays of objects.",""," @method _validateSortBy"," @param {String|String[]|Object|Object[]} val The new `sortBy` value"," @return {Boolean}"," @protected"," @since 3.5.0"," **/"," _validateSortBy: function (val) {"," return val === null ||"," isString(val) ||"," isObject(val, true) ||"," (isArray(val) && (isString(val[0]) || isObject(val, true)));"," }","","}, true);","","Y.DataTable.Sortable = Sortable;","/**","Used when the instance's `sortable` attribute is set to","\"auto\" (the default) to determine which columns will support","user sorting by clicking on the header.","","If the instance's `key` attribute is not set, this","configuration is ignored.",""," { key: 'lastLogin', sortable: true }","","@property sortable","@type Boolean","@for DataTable.Column"," */","/**","When the instance's `caseSensitive` attribute is set to","`true` the sort order is case sensitive (relevant to string columns only).","","Case sensitive sort is marginally more efficient and should be considered","for large data sets when case insensitive sort is not required.",""," { key: 'lastLogin', sortable: true, caseSensitive: true }","","@property caseSensitive","@type Boolean","@for DataTable.Column"," */","/**","Allows a column to be sorted using a custom algorithm. The","function receives three parameters, the first two being the","two record Models to compare, and the third being a boolean","`true` if the sort order should be descending.","","The function should return `1` to sort `a` above `b`, `-1`","to sort `a` below `b`, and `0` if they are equal. Keep in","mind that the order should be reversed when `desc` is","`true`.","","The `desc` parameter is provided to allow `sortFn`s to","always sort certain values above or below others, such as","always sorting `null`s on top.",""," {"," label: 'Name',"," sortFn: function (a, b, desc) {"," var an = a.get('lname') + b.get('fname'),"," bn = a.get('lname') + b.get('fname'),"," order = (an > bn) ? 1 : -(an < bn);",""," return desc ? -order : order;"," },"," formatter: function (o) {"," return o.data.lname + ', ' + o.data.fname;"," }"," }","","@property sortFn","@type Function","@for DataTable.Column","*/","/**","(__read-only__) If a column is sorted, this","will be set to `1` for ascending order or `-1` for","descending. This configuration is public for inspection,","but can't be used during DataTable instantiation to set the","sort direction of the column. Use the table's","[sortBy](DataTable.html#attr_sortBy)","attribute for that.","","@property sortDir","@type {Number}","@readOnly","@for DataTable.Column","*/","","Y.Base.mix(Y.DataTable, [Sortable]);","","","}, '3.13.0', {\"requires\": [\"datatable-base\"], \"lang\": [\"en\", \"fr\", \"es\", \"hu\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_Ko2UjEq$eIbWTV8y07krjg = __coverage__['build/datatable-sort/datatable-sort.js'];
+__cov_Ko2UjEq$eIbWTV8y07krjg.s['1']++;YUI.add('datatable-sort',function(Y,NAME){__cov_Ko2UjEq$eIbWTV8y07krjg.f['1']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['2']++;var YLang=Y.Lang,isBoolean=YLang.isBoolean,isString=YLang.isString,isArray=YLang.isArray,isObject=YLang.isObject,toArray=Y.Array,sub=YLang.sub,dirMap={asc:1,desc:-1,'1':1,'-1':-1};__cov_Ko2UjEq$eIbWTV8y07krjg.s['3']++;function Sortable(){__cov_Ko2UjEq$eIbWTV8y07krjg.f['2']++;}__cov_Ko2UjEq$eIbWTV8y07krjg.s['4']++;Sortable.ATTRS={sortable:{value:'auto',validator:'_validateSortable'},sortBy:{validator:'_validateSortBy',getter:'_getSortBy'},strings:{}};__cov_Ko2UjEq$eIbWTV8y07krjg.s['5']++;Y.mix(Sortable.prototype,{sort:function(fields,payload){__cov_Ko2UjEq$eIbWTV8y07krjg.f['3']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['6']++;return this.fire('sort',Y.merge((__cov_Ko2UjEq$eIbWTV8y07krjg.b['1'][0]++,payload)||(__cov_Ko2UjEq$eIbWTV8y07krjg.b['1'][1]++,{}),{sortBy:(__cov_Ko2UjEq$eIbWTV8y07krjg.b['2'][0]++,fields)||(__cov_Ko2UjEq$eIbWTV8y07krjg.b['2'][1]++,this.get('sortBy'))}));},SORTABLE_HEADER_TEMPLATE:'
',toggleSort:function(columns,payload){__cov_Ko2UjEq$eIbWTV8y07krjg.f['4']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['7']++;var current=this._sortBy,sortBy=[],i,len,j,col,index;__cov_Ko2UjEq$eIbWTV8y07krjg.s['8']++;for(i=0,len=current.length;i=0;--i){__cov_Ko2UjEq$eIbWTV8y07krjg.s['18']++;if(sortBy[j][col]){__cov_Ko2UjEq$eIbWTV8y07krjg.b['4'][0]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['19']++;sortBy[j][col]*=-1;__cov_Ko2UjEq$eIbWTV8y07krjg.s['20']++;break;}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['4'][1]++;}}}}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['3'][1]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['21']++;for(i=0,len=sortBy.length;ibb?(__cov_Ko2UjEq$eIbWTV8y07krjg.b['23'][0]++,dir):(__cov_Ko2UjEq$eIbWTV8y07krjg.b['23'][1]++,aa=len){__cov_Ko2UjEq$eIbWTV8y07krjg.b['38'][0]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['96']++;sortBy.push(column._id);}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['38'][1]++;}}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['31'][1]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['97']++;sortBy=[{}];__cov_Ko2UjEq$eIbWTV8y07krjg.s['98']++;sortBy[0][id]=(__cov_Ko2UjEq$eIbWTV8y07krjg.b['39'][0]++,-((__cov_Ko2UjEq$eIbWTV8y07krjg.b['40'][0]++,column.sortDir)||(__cov_Ko2UjEq$eIbWTV8y07krjg.b['40'][1]++,0)))||(__cov_Ko2UjEq$eIbWTV8y07krjg.b['39'][1]++,1);}__cov_Ko2UjEq$eIbWTV8y07krjg.s['99']++;this.fire('sort',{originEvent:e,sortBy:sortBy});}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['30'][1]++;}},_parseSortable:function(){__cov_Ko2UjEq$eIbWTV8y07krjg.f['16']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['100']++;var sortable=this.get('sortable'),columns=[],i,len,col;__cov_Ko2UjEq$eIbWTV8y07krjg.s['101']++;if(isArray(sortable)){__cov_Ko2UjEq$eIbWTV8y07krjg.b['41'][0]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['102']++;for(i=0,len=sortable.length;i=0;--i){__cov_Ko2UjEq$eIbWTV8y07krjg.s['112']++;if(!columns[i].sortable){__cov_Ko2UjEq$eIbWTV8y07krjg.b['47'][0]++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['113']++;columns.splice(i,1);}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['47'][1]++;}}}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['46'][1]++;}}else{__cov_Ko2UjEq$eIbWTV8y07krjg.b['45'][1]++;}}__cov_Ko2UjEq$eIbWTV8y07krjg.s['114']++;this._sortable=columns;},_renderSortable:function(){__cov_Ko2UjEq$eIbWTV8y07krjg.f['17']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['115']++;this._uiSetSortable();__cov_Ko2UjEq$eIbWTV8y07krjg.s['116']++;this._bindSortUI();},_setSortBy:function(){__cov_Ko2UjEq$eIbWTV8y07krjg.f['18']++;__cov_Ko2UjEq$eIbWTV8y07krjg.s['117']++;var columns=this._displayColumns,sortBy=(__cov_Ko2UjEq$eIbWTV8y07krjg.b['48'][0]++,this.get('sortBy'))||(__cov_Ko2UjEq$eIbWTV8y07krjg.b['48'][1]++,[]),sortedClass=' '+this.getClassName('sorted'),i,len,name,dir,field,column;__cov_Ko2UjEq$eIbWTV8y07krjg.s['118']++;this._sortBy=[];__cov_Ko2UjEq$eIbWTV8y07krjg.s['119']++;for(i=0,len=columns.length;i bn) ? 1 : -(an < bn);
+
+ return desc ? -order : order;
+ },
+ formatter: function (o) {
+ return o.data.lname + ', ' + o.data.fname;
+ }
+ }
+
+@property sortFn
+@type Function
+@for DataTable.Column
+*/
+/**
+(__read-only__) If a column is sorted, this
+will be set to `1` for ascending order or `-1` for
+descending. This configuration is public for inspection,
+but can't be used during DataTable instantiation to set the
+sort direction of the column. Use the table's
+[sortBy](DataTable.html#attr_sortBy)
+attribute for that.
+
+@property sortDir
+@type {Number}
+@readOnly
+@for DataTable.Column
+*/
Y.Base.mix(Y.DataTable, [Sortable]);
-}, '3.12.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu"], "skinnable": true});
+}, '3.13.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-sort/datatable-sort-min.js b/lib/yuilib/3.13.0/datatable-sort/datatable-sort-min.js
old mode 100644
new mode 100755
similarity index 98%
rename from lib/yuilib/3.12.0/datatable-sort/datatable-sort-min.js
rename to lib/yuilib/3.13.0/datatable-sort/datatable-sort-min.js
index 0cb9632eef5..a7bb756d709
--- a/lib/yuilib/3.12.0/datatable-sort/datatable-sort-min.js
+++ b/lib/yuilib/3.13.0/datatable-sort/datatable-sort-min.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("datatable-sort",function(e,t){function l(){}var n=e.Lang,r=n.isBoolean,i=n.isString,s=n.isArray,o=n.isObject,u=e.Array,a=n.sub,f={asc:1,desc:-1,1:1,"-1":-1};l.ATTRS={sortable:{value:"auto",validator:"_validateSortable"},sortBy:{validator:"_validateSortBy",getter:"_getSortBy"},strings:{}},e.mix(l.prototype,{sort:function(t,n){return this.fire("sort",e.merge(n||{},{sortBy:t||this.get("sortBy")}))},SORTABLE_HEADER_TEMPLATE:'
',toggleSort:function(t,n){var r=this._sortBy,i=[],s,o,a,f,l;for(s=0,o=r.length;s=0;--s)if(i[a][f]){i[a][f]*=-1;break}}}else for(s=0,o=i.length;sl?u:f=s&&r.push(n._id)}else r=[{}],r[0][t]=-(n.sortDir||0)||1;this.fire("sort",{originEvent:e,sortBy:r})}},_parseSortable:function(){var e=this.get("sortable"),t=[],n,r,i;if(s(e))for(n=0,r=e.length;n=0;--n)t[n].sortable||t.splice(n,1)}this._sortable=t},_renderSortable:function(){this._uiSetSortable(),this._bindSortUI()},_setSortBy:function(){var e=this._displayColumns,t=this.get("sortBy")||[],n=" "+this.getClassName("sorted"),r,i,s,a,l,c;this._sortBy=[];for(r=0,i=e.length;r bn) ? 1 : -(an < bn);
+
+ return desc ? -order : order;
+ },
+ formatter: function (o) {
+ return o.data.lname + ', ' + o.data.fname;
+ }
+ }
+
+@property sortFn
+@type Function
+@for DataTable.Column
+*/
+/**
+(__read-only__) If a column is sorted, this
+will be set to `1` for ascending order or `-1` for
+descending. This configuration is public for inspection,
+but can't be used during DataTable instantiation to set the
+sort direction of the column. Use the table's
+[sortBy](DataTable.html#attr_sortBy)
+attribute for that.
+
+@property sortDir
+@type {Number}
+@readOnly
+@for DataTable.Column
+*/
Y.Base.mix(Y.DataTable, [Sortable]);
-}, '3.12.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu"], "skinnable": true});
+}, '3.13.0', {"requires": ["datatable-base"], "lang": ["en", "fr", "es", "hu"], "skinnable": true});
diff --git a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort.js b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort.js
old mode 100644
new mode 100755
similarity index 73%
rename from lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort.js
rename to lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort.js
index 71f8257d138..9397def6be1
--- a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort.js
+++ b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-sort",function(e){e.Intl.add("datatable-sort","",{asc:"Ascending",desc:"Descending",sortBy:"Sort by {column}",reverseSortBy:"Reverse sort by {column}"})},"3.12.0");
+YUI.add("lang/datatable-sort",function(e){e.Intl.add("datatable-sort","",{asc:"Ascending",desc:"Descending",sortBy:"Sort by {column}",reverseSortBy:"Reverse sort by {column}"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_en.js b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_en.js
old mode 100644
new mode 100755
similarity index 73%
rename from lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_en.js
rename to lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_en.js
index 6f8c0049cf5..d1d4d8e43be
--- a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_en.js
+++ b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_en.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-sort_en",function(e){e.Intl.add("datatable-sort","en",{asc:"Ascending",desc:"Descending",sortBy:"Sort by {column}",reverseSortBy:"Reverse sort by {column}"})},"3.12.0");
+YUI.add("lang/datatable-sort_en",function(e){e.Intl.add("datatable-sort","en",{asc:"Ascending",desc:"Descending",sortBy:"Sort by {column}",reverseSortBy:"Reverse sort by {column}"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_es.js b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_es.js
old mode 100644
new mode 100755
similarity index 87%
rename from lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_es.js
rename to lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_es.js
index c193e92a4c5..ad9ed32b7da
--- a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_es.js
+++ b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_es.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-sort_es",function(e){e.Intl.add("datatable-sort","es",{asc:"Ascendente",desc:"Descendente",sortBy:"Ordenar por {column}",reverseSortBy:"Ordenar descendente por {column}"})},"3.12.0");
+YUI.add("lang/datatable-sort_es",function(e){e.Intl.add("datatable-sort","es",{asc:"Ascendente",desc:"Descendente",sortBy:"Ordenar por {column}",reverseSortBy:"Ordenar descendente por {column}"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_fr.js b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_fr.js
old mode 100644
new mode 100755
similarity index 83%
rename from lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_fr.js
rename to lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_fr.js
index c5d7f08689c..59add8c3586
--- a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_fr.js
+++ b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_fr.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-sort_fr",function(e){e.Intl.add("datatable-sort","fr",{asc:"Croissant",desc:"D\u00e9croissant",sortBy:"Trier par {column}",reverseSortBy:"Trier par {column} dans l'ordre d\u00e9croissant"})},"3.12.0");
+YUI.add("lang/datatable-sort_fr",function(e){e.Intl.add("datatable-sort","fr",{asc:"Croissant",desc:"D\u00e9croissant",sortBy:"Trier par {column}",reverseSortBy:"Trier par {column} dans l'ordre d\u00e9croissant"})},"3.13.0");
diff --git a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_hu.js b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_hu.js
old mode 100644
new mode 100755
similarity index 85%
rename from lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_hu.js
rename to lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_hu.js
index 7419ad9cb89..0fa5e8f8fed
--- a/lib/yuilib/3.12.0/datatable-sort/lang/datatable-sort_hu.js
+++ b/lib/yuilib/3.13.0/datatable-sort/lang/datatable-sort_hu.js
@@ -1,8 +1,8 @@
/*
-YUI 3.12.0 (build 8655935)
+YUI 3.13.0 (build 508226d)
Copyright 2013 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
-YUI.add("lang/datatable-sort_hu",function(e){e.Intl.add("datatable-sort","hu",{asc:"N\u00f6vekv\u0151",desc:"Cs\u00f6kken\u0151",sortBy:"Sorrend: {column}",reverseSortBy:"Ford\u00edtott sorrend: {column}"})},"3.12.0");
+YUI.add("lang/datatable-sort_hu",function(e){e.Intl.add("datatable-sort","hu",{asc:"N\u00f6vekv\u0151",desc:"Cs\u00f6kken\u0151",sortBy:"Sorrend: {column}",reverseSortBy:"Ford\u00edtott sorrend: {column}"})},"3.13.0");
diff --git a/lib/yuilib/3.13.0/datatable-table/datatable-table-coverage.js b/lib/yuilib/3.13.0/datatable-table/datatable-table-coverage.js
new file mode 100755
index 00000000000..253a6ced3ee
--- /dev/null
+++ b/lib/yuilib/3.13.0/datatable-table/datatable-table-coverage.js
@@ -0,0 +1,13 @@
+/*
+YUI 3.13.0 (build 508226d)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/datatable-table/datatable-table.js']) {
+ __coverage__['build/datatable-table/datatable-table.js'] = {"path":"build/datatable-table/datatable-table.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0},"b":{"1":[0,0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"(anonymous_2)","line":121,"loc":{"start":{"line":121,"column":13},"end":{"line":121,"column":42}}},"3":{"name":"(anonymous_3)","line":140,"loc":{"start":{"line":140,"column":18},"end":{"line":140,"column":30}}},"4":{"name":"(anonymous_4)","line":163,"loc":{"start":{"line":163,"column":15},"end":{"line":163,"column":27}}},"5":{"name":"(anonymous_5)","line":181,"loc":{"start":{"line":181,"column":12},"end":{"line":181,"column":32}}},"6":{"name":"(anonymous_6)","line":198,"loc":{"start":{"line":198,"column":25},"end":{"line":198,"column":38}}},"7":{"name":"(anonymous_7)","line":210,"loc":{"start":{"line":210,"column":25},"end":{"line":210,"column":38}}},"8":{"name":"(anonymous_8)","line":222,"loc":{"start":{"line":222,"column":23},"end":{"line":222,"column":36}}},"9":{"name":"(anonymous_9)","line":233,"loc":{"start":{"line":233,"column":13},"end":{"line":233,"column":25}}},"10":{"name":"(anonymous_10)","line":257,"loc":{"start":{"line":257,"column":18},"end":{"line":257,"column":30}}},"11":{"name":"(anonymous_11)","line":271,"loc":{"start":{"line":271,"column":22},"end":{"line":271,"column":35}}},"12":{"name":"(anonymous_12)","line":283,"loc":{"start":{"line":283,"column":24},"end":{"line":283,"column":37}}},"13":{"name":"(anonymous_13)","line":295,"loc":{"start":{"line":295,"column":24},"end":{"line":295,"column":37}}},"14":{"name":"(anonymous_14)","line":313,"loc":{"start":{"line":313,"column":23},"end":{"line":313,"column":36}}},"15":{"name":"(anonymous_15)","line":368,"loc":{"start":{"line":368,"column":16},"end":{"line":368,"column":28}}},"16":{"name":"(anonymous_16)","line":401,"loc":{"start":{"line":401,"column":28},"end":{"line":401,"column":40}}},"17":{"name":"process","line":405,"loc":{"start":{"line":405,"column":8},"end":{"line":405,"column":31}}},"18":{"name":"(anonymous_18)","line":441,"loc":{"start":{"line":441,"column":17},"end":{"line":441,"column":29}}},"19":{"name":"(anonymous_19)","line":459,"loc":{"start":{"line":459,"column":17},"end":{"line":459,"column":35}}},"20":{"name":"(anonymous_20)","line":477,"loc":{"start":{"line":477,"column":22},"end":{"line":477,"column":35}}},"21":{"name":"(anonymous_21)","line":505,"loc":{"start":{"line":505,"column":12},"end":{"line":505,"column":24}}},"22":{"name":"(anonymous_22)","line":531,"loc":{"start":{"line":531,"column":19},"end":{"line":531,"column":42}}},"23":{"name":"(anonymous_23)","line":561,"loc":{"start":{"line":561,"column":19},"end":{"line":561,"column":38}}},"24":{"name":"(anonymous_24)","line":577,"loc":{"start":{"line":577,"column":17},"end":{"line":577,"column":34}}},"25":{"name":"(anonymous_25)","line":598,"loc":{"start":{"line":598,"column":19},"end":{"line":598,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":756,"column":111}},"2":{"start":{"line":11,"column":0},"end":{"line":16,"column":34}},"3":{"start":{"line":29,"column":0},"end":{"line":751,"column":3}},"4":{"start":{"line":122,"column":8},"end":{"line":123,"column":58}},"5":{"start":{"line":142,"column":8},"end":{"line":144,"column":42}},"6":{"start":{"line":146,"column":8},"end":{"line":152,"column":9}},"7":{"start":{"line":147,"column":12},"end":{"line":147,"column":60}},"8":{"start":{"line":149,"column":12},"end":{"line":151,"column":67}},"9":{"start":{"line":164,"column":8},"end":{"line":165,"column":60}},"10":{"start":{"line":182,"column":8},"end":{"line":183,"column":57}},"11":{"start":{"line":199,"column":8},"end":{"line":199,"column":37}},"12":{"start":{"line":211,"column":8},"end":{"line":211,"column":37}},"13":{"start":{"line":223,"column":8},"end":{"line":223,"column":35}},"14":{"start":{"line":234,"column":8},"end":{"line":234,"column":18}},"15":{"start":{"line":236,"column":8},"end":{"line":246,"column":9}},"16":{"start":{"line":237,"column":12},"end":{"line":237,"column":53}},"17":{"start":{"line":239,"column":12},"end":{"line":245,"column":15}},"18":{"start":{"line":258,"column":8},"end":{"line":260,"column":20}},"19":{"start":{"line":272,"column":8},"end":{"line":272,"column":24}},"20":{"start":{"line":284,"column":8},"end":{"line":284,"column":24}},"21":{"start":{"line":296,"column":8},"end":{"line":296,"column":24}},"22":{"start":{"line":314,"column":8},"end":{"line":315,"column":36}},"23":{"start":{"line":317,"column":8},"end":{"line":319,"column":9}},"24":{"start":{"line":318,"column":12},"end":{"line":318,"column":49}},"25":{"start":{"line":321,"column":8},"end":{"line":321,"column":47}},"26":{"start":{"line":322,"column":8},"end":{"line":322,"column":27}},"27":{"start":{"line":323,"column":8},"end":{"line":323,"column":41}},"28":{"start":{"line":325,"column":8},"end":{"line":325,"column":48}},"29":{"start":{"line":326,"column":8},"end":{"line":326,"column":48}},"30":{"start":{"line":327,"column":8},"end":{"line":327,"column":44}},"31":{"start":{"line":329,"column":8},"end":{"line":335,"column":9}},"32":{"start":{"line":330,"column":12},"end":{"line":332,"column":13}},"33":{"start":{"line":331,"column":16},"end":{"line":331,"column":77}},"34":{"start":{"line":334,"column":12},"end":{"line":334,"column":59}},"35":{"start":{"line":337,"column":8},"end":{"line":343,"column":9}},"36":{"start":{"line":338,"column":12},"end":{"line":340,"column":13}},"37":{"start":{"line":339,"column":16},"end":{"line":339,"column":77}},"38":{"start":{"line":342,"column":12},"end":{"line":342,"column":59}},"39":{"start":{"line":345,"column":8},"end":{"line":345,"column":44}},"40":{"start":{"line":347,"column":8},"end":{"line":353,"column":9}},"41":{"start":{"line":348,"column":12},"end":{"line":350,"column":13}},"42":{"start":{"line":349,"column":16},"end":{"line":349,"column":73}},"43":{"start":{"line":352,"column":12},"end":{"line":352,"column":57}},"44":{"start":{"line":355,"column":8},"end":{"line":357,"column":9}},"45":{"start":{"line":356,"column":12},"end":{"line":356,"column":45}},"46":{"start":{"line":359,"column":8},"end":{"line":359,"column":23}},"47":{"start":{"line":369,"column":8},"end":{"line":371,"column":9}},"48":{"start":{"line":370,"column":12},"end":{"line":370,"column":32}},"49":{"start":{"line":372,"column":8},"end":{"line":372,"column":25}},"50":{"start":{"line":374,"column":8},"end":{"line":376,"column":9}},"51":{"start":{"line":375,"column":12},"end":{"line":375,"column":32}},"52":{"start":{"line":377,"column":8},"end":{"line":377,"column":25}},"53":{"start":{"line":379,"column":8},"end":{"line":381,"column":9}},"54":{"start":{"line":380,"column":12},"end":{"line":380,"column":32}},"55":{"start":{"line":382,"column":8},"end":{"line":382,"column":25}},"56":{"start":{"line":384,"column":8},"end":{"line":387,"column":9}},"57":{"start":{"line":385,"column":12},"end":{"line":385,"column":40}},"58":{"start":{"line":386,"column":12},"end":{"line":386,"column":38}},"59":{"start":{"line":389,"column":8},"end":{"line":391,"column":9}},"60":{"start":{"line":390,"column":12},"end":{"line":390,"column":50}},"61":{"start":{"line":402,"column":8},"end":{"line":403,"column":32}},"62":{"start":{"line":405,"column":8},"end":{"line":417,"column":9}},"63":{"start":{"line":406,"column":12},"end":{"line":406,"column":28}},"64":{"start":{"line":408,"column":12},"end":{"line":416,"column":13}},"65":{"start":{"line":409,"column":16},"end":{"line":409,"column":30}},"66":{"start":{"line":411,"column":16},"end":{"line":415,"column":17}},"67":{"start":{"line":412,"column":20},"end":{"line":412,"column":42}},"68":{"start":{"line":414,"column":20},"end":{"line":414,"column":45}},"69":{"start":{"line":419,"column":8},"end":{"line":421,"column":9}},"70":{"start":{"line":420,"column":12},"end":{"line":420,"column":29}},"71":{"start":{"line":431,"column":8},"end":{"line":431,"column":45}},"72":{"start":{"line":442,"column":8},"end":{"line":448,"column":11}},"73":{"start":{"line":460,"column":8},"end":{"line":460,"column":32}},"74":{"start":{"line":462,"column":8},"end":{"line":462,"column":27}},"75":{"start":{"line":464,"column":8},"end":{"line":464,"column":38}},"76":{"start":{"line":466,"column":8},"end":{"line":466,"column":71}},"77":{"start":{"line":478,"column":8},"end":{"line":479,"column":28}},"78":{"start":{"line":481,"column":8},"end":{"line":483,"column":9}},"79":{"start":{"line":482,"column":12},"end":{"line":482,"column":37}},"80":{"start":{"line":485,"column":8},"end":{"line":487,"column":9}},"81":{"start":{"line":486,"column":12},"end":{"line":486,"column":37}},"82":{"start":{"line":489,"column":8},"end":{"line":495,"column":9}},"83":{"start":{"line":490,"column":12},"end":{"line":492,"column":13}},"84":{"start":{"line":491,"column":16},"end":{"line":491,"column":42}},"85":{"start":{"line":494,"column":12},"end":{"line":494,"column":37}},"86":{"start":{"line":506,"column":8},"end":{"line":517,"column":9}},"87":{"start":{"line":507,"column":12},"end":{"line":516,"column":15}},"88":{"start":{"line":519,"column":8},"end":{"line":519,"column":20}},"89":{"start":{"line":532,"column":8},"end":{"line":533,"column":39}},"90":{"start":{"line":535,"column":8},"end":{"line":551,"column":9}},"91":{"start":{"line":536,"column":12},"end":{"line":543,"column":13}},"92":{"start":{"line":537,"column":16},"end":{"line":540,"column":24}},"93":{"start":{"line":542,"column":16},"end":{"line":542,"column":48}},"94":{"start":{"line":545,"column":12},"end":{"line":545,"column":41}},"95":{"start":{"line":547,"column":15},"end":{"line":551,"column":9}},"96":{"start":{"line":548,"column":12},"end":{"line":548,"column":33}},"97":{"start":{"line":550,"column":12},"end":{"line":550,"column":36}},"98":{"start":{"line":562,"column":8},"end":{"line":566,"column":9}},"99":{"start":{"line":563,"column":12},"end":{"line":563,"column":60}},"100":{"start":{"line":565,"column":12},"end":{"line":565,"column":54}},"101":{"start":{"line":578,"column":8},"end":{"line":578,"column":35}},"102":{"start":{"line":581,"column":8},"end":{"line":585,"column":19}},"103":{"start":{"line":587,"column":8},"end":{"line":587,"column":39}},"104":{"start":{"line":599,"column":8},"end":{"line":599,"column":55}}},"branchMap":{"1":{"line":122,"type":"binary-expr","locations":[{"start":{"line":122,"column":15},"end":{"line":122,"column":24}},{"start":{"line":122,"column":28},"end":{"line":122,"column":45}},{"start":{"line":123,"column":12},"end":{"line":123,"column":57}}]},"2":{"line":143,"type":"binary-expr","locations":[{"start":{"line":143,"column":20},"end":{"line":143,"column":24}},{"start":{"line":143,"column":28},"end":{"line":143,"column":49}},{"start":{"line":144,"column":20},"end":{"line":144,"column":41}}]},"3":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":8},"end":{"line":146,"column":8}},{"start":{"line":146,"column":8},"end":{"line":146,"column":8}}]},"4":{"line":146,"type":"binary-expr","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":16}},{"start":{"line":146,"column":20},"end":{"line":146,"column":37}}]},"5":{"line":164,"type":"binary-expr","locations":[{"start":{"line":164,"column":15},"end":{"line":164,"column":24}},{"start":{"line":164,"column":28},"end":{"line":164,"column":47}},{"start":{"line":165,"column":12},"end":{"line":165,"column":59}}]},"6":{"line":182,"type":"binary-expr","locations":[{"start":{"line":182,"column":15},"end":{"line":182,"column":24}},{"start":{"line":182,"column":28},"end":{"line":182,"column":44}},{"start":{"line":183,"column":12},"end":{"line":183,"column":56}}]},"7":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":236,"column":8}},{"start":{"line":236,"column":8},"end":{"line":236,"column":8}}]},"8":{"line":317,"type":"if","locations":[{"start":{"line":317,"column":8},"end":{"line":317,"column":8}},{"start":{"line":317,"column":8},"end":{"line":317,"column":8}}]},"9":{"line":321,"type":"binary-expr","locations":[{"start":{"line":321,"column":22},"end":{"line":321,"column":38}},{"start":{"line":321,"column":42},"end":{"line":321,"column":46}}]},"10":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":8},"end":{"line":329,"column":8}},{"start":{"line":329,"column":8},"end":{"line":329,"column":8}}]},"11":{"line":329,"type":"binary-expr","locations":[{"start":{"line":329,"column":12},"end":{"line":329,"column":21}},{"start":{"line":329,"column":25},"end":{"line":329,"column":37}}]},"12":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":12},"end":{"line":330,"column":12}},{"start":{"line":330,"column":12},"end":{"line":330,"column":12}}]},"13":{"line":337,"type":"if","locations":[{"start":{"line":337,"column":8},"end":{"line":337,"column":8}},{"start":{"line":337,"column":8},"end":{"line":337,"column":8}}]},"14":{"line":337,"type":"binary-expr","locations":[{"start":{"line":337,"column":12},"end":{"line":337,"column":21}},{"start":{"line":337,"column":25},"end":{"line":337,"column":37}}]},"15":{"line":338,"type":"if","locations":[{"start":{"line":338,"column":12},"end":{"line":338,"column":12}},{"start":{"line":338,"column":12},"end":{"line":338,"column":12}}]},"16":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":8},"end":{"line":347,"column":8}},{"start":{"line":347,"column":8},"end":{"line":347,"column":8}}]},"17":{"line":347,"type":"binary-expr","locations":[{"start":{"line":347,"column":12},"end":{"line":347,"column":21}},{"start":{"line":347,"column":25},"end":{"line":347,"column":35}}]},"18":{"line":348,"type":"if","locations":[{"start":{"line":348,"column":12},"end":{"line":348,"column":12}},{"start":{"line":348,"column":12},"end":{"line":348,"column":12}}]},"19":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":8},"end":{"line":355,"column":8}},{"start":{"line":355,"column":8},"end":{"line":355,"column":8}}]},"20":{"line":369,"type":"if","locations":[{"start":{"line":369,"column":8},"end":{"line":369,"column":8}},{"start":{"line":369,"column":8},"end":{"line":369,"column":8}}]},"21":{"line":369,"type":"binary-expr","locations":[{"start":{"line":369,"column":12},"end":{"line":369,"column":21}},{"start":{"line":369,"column":25},"end":{"line":369,"column":42}}]},"22":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":8},"end":{"line":374,"column":8}},{"start":{"line":374,"column":8},"end":{"line":374,"column":8}}]},"23":{"line":374,"type":"binary-expr","locations":[{"start":{"line":374,"column":12},"end":{"line":374,"column":21}},{"start":{"line":374,"column":25},"end":{"line":374,"column":42}}]},"24":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":8},"end":{"line":379,"column":8}},{"start":{"line":379,"column":8},"end":{"line":379,"column":8}}]},"25":{"line":379,"type":"binary-expr","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":21}},{"start":{"line":379,"column":25},"end":{"line":379,"column":42}}]},"26":{"line":384,"type":"if","locations":[{"start":{"line":384,"column":8},"end":{"line":384,"column":8}},{"start":{"line":384,"column":8},"end":{"line":384,"column":8}}]},"27":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":8},"end":{"line":389,"column":8}},{"start":{"line":389,"column":8},"end":{"line":389,"column":8}}]},"28":{"line":411,"type":"if","locations":[{"start":{"line":411,"column":16},"end":{"line":411,"column":16}},{"start":{"line":411,"column":16},"end":{"line":411,"column":16}}]},"29":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":8},"end":{"line":419,"column":8}},{"start":{"line":419,"column":8},"end":{"line":419,"column":8}}]},"30":{"line":481,"type":"if","locations":[{"start":{"line":481,"column":8},"end":{"line":481,"column":8}},{"start":{"line":481,"column":8},"end":{"line":481,"column":8}}]},"31":{"line":485,"type":"if","locations":[{"start":{"line":485,"column":8},"end":{"line":485,"column":8}},{"start":{"line":485,"column":8},"end":{"line":485,"column":8}}]},"32":{"line":489,"type":"if","locations":[{"start":{"line":489,"column":8},"end":{"line":489,"column":8}},{"start":{"line":489,"column":8},"end":{"line":489,"column":8}}]},"33":{"line":490,"type":"if","locations":[{"start":{"line":490,"column":12},"end":{"line":490,"column":12}},{"start":{"line":490,"column":12},"end":{"line":490,"column":12}}]},"34":{"line":506,"type":"if","locations":[{"start":{"line":506,"column":8},"end":{"line":506,"column":8}},{"start":{"line":506,"column":8},"end":{"line":506,"column":8}}]},"35":{"line":535,"type":"if","locations":[{"start":{"line":535,"column":8},"end":{"line":535,"column":8}},{"start":{"line":535,"column":8},"end":{"line":535,"column":8}}]},"36":{"line":536,"type":"if","locations":[{"start":{"line":536,"column":12},"end":{"line":536,"column":12}},{"start":{"line":536,"column":12},"end":{"line":536,"column":12}}]},"37":{"line":547,"type":"if","locations":[{"start":{"line":547,"column":15},"end":{"line":547,"column":15}},{"start":{"line":547,"column":15},"end":{"line":547,"column":15}}]},"38":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":8},"end":{"line":562,"column":8}},{"start":{"line":562,"column":8},"end":{"line":562,"column":8}}]},"39":{"line":581,"type":"cond-expr","locations":[{"start":{"line":581,"column":41},"end":{"line":581,"column":43}},{"start":{"line":582,"column":12},"end":{"line":585,"column":17}}]},"40":{"line":583,"type":"binary-expr","locations":[{"start":{"line":583,"column":14},"end":{"line":583,"column":69}},{"start":{"line":583,"column":71},"end":{"line":583,"column":72}}]},"41":{"line":584,"type":"binary-expr","locations":[{"start":{"line":584,"column":14},"end":{"line":584,"column":69}},{"start":{"line":584,"column":71},"end":{"line":584,"column":72}}]},"42":{"line":599,"type":"binary-expr","locations":[{"start":{"line":599,"column":15},"end":{"line":599,"column":30}},{"start":{"line":599,"column":34},"end":{"line":599,"column":54}}]}},"code":["(function () { YUI.add('datatable-table', function (Y, NAME) {","","/**","View class responsible for rendering a `
` from provided data. Used as","the default `view` for `Y.DataTable.Base` and `Y.DataTable` classes.","","@module datatable","@submodule datatable-table","@since 3.6.0","**/","var toArray = Y.Array,"," YLang = Y.Lang,"," fromTemplate = YLang.sub,",""," isArray = YLang.isArray,"," isFunction = YLang.isFunction;","","/**","View class responsible for rendering a `
` from provided data. Used as","the default `view` for `Y.DataTable.Base` and `Y.DataTable` classes.","","","","@class TableView","@namespace DataTable","@extends View","@since 3.6.0","**/","Y.namespace('DataTable').TableView = Y.Base.create('table', Y.View, [], {",""," /**"," The HTML template used to create the caption Node if the `caption`"," attribute is set.",""," @property CAPTION_TEMPLATE"," @type {HTML}"," @default '
'"," @since 3.6.0"," **/"," CAPTION_TEMPLATE: '
',",""," /**"," The HTML template used to create the table Node.",""," @property TABLE_TEMPLATE"," @type {HTML}"," @default '
'"," @since 3.6.0"," **/"," TABLE_TEMPLATE : '
',",""," /**"," The object or instance of the class assigned to `bodyView` that is"," responsible for rendering and managing the table's ``(s) and its"," content.",""," @property body"," @type {Object}"," @default undefined (initially unset)"," @since 3.5.0"," **/"," //body: null,",""," /**"," The object or instance of the class assigned to `footerView` that is"," responsible for rendering and managing the table's `` and its"," content.",""," @property foot"," @type {Object}"," @default undefined (initially unset)"," @since 3.5.0"," **/"," //foot: null,",""," /**"," The object or instance of the class assigned to `headerView` that is"," responsible for rendering and managing the table's `