src/cm/media/js/lib/yui/yui_3.10.3/build/classnamemanager/classnamemanager-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('classnamemanager', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
* Contains a singleton (ClassNameManager) that enables easy creation and caching of 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
* prefixed class names.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
* @module classnamemanager
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * A singleton class providing: 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 *    <li>Easy creation of prefixed class names</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 *    <li>Caching of previously created class names for improved performance.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * @class ClassNameManager
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 * @static 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
// String constants
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
var CLASS_NAME_PREFIX = 'classNamePrefix',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
	CLASS_NAME_DELIMITER = 'classNameDelimiter',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    CONFIG = Y.config;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
// Global config
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 * Configuration property indicating the prefix for all CSS class names in this YUI instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
 * @property classNamePrefix
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
 * @type {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
 * @default "yui"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
 * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
CONFIG[CLASS_NAME_PREFIX] = CONFIG[CLASS_NAME_PREFIX] || 'yui3';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
 * Configuration property indicating the delimiter used to compose all CSS class names in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
 * this YUI instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
 * @property classNameDelimiter
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
 * @type {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
 * @default "-"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
 * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
CONFIG[CLASS_NAME_DELIMITER] = CONFIG[CLASS_NAME_DELIMITER] || '-';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
Y.ClassNameManager = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
	var sPrefix    = CONFIG[CLASS_NAME_PREFIX],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
		sDelimiter = CONFIG[CLASS_NAME_DELIMITER];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
	return {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
		/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
		 * Returns a class name prefixed with the the value of the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
		 * <code>Y.config.classNamePrefix</code> attribute + the provided strings.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
		 * Uses the <code>Y.config.classNameDelimiter</code> attribute to delimit the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
		 * provided strings. E.g. Y.ClassNameManager.getClassName('foo','bar'); // yui-foo-bar
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
		 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
		 * @method getClassName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
		 * @param {String}+ classnameSection one or more classname sections to be joined
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
		 * @param {Boolean} skipPrefix If set to true, the classname will not be prefixed with the default Y.config.classNameDelimiter value.  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
		 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
		getClassName: Y.cached(function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
            var args = Y.Array(arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
            if (args[args.length-1] !== true) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                args.unshift(sPrefix);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                args.pop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
			return args.join(sDelimiter);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
		})
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
	};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
}();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
}, '3.10.3', {"requires": ["yui-base"]});