src/cm/media/js/lib/yui/yui_3.10.3/build/tree-labelable/tree-labelable.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('tree-labelable', 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
/*jshint expr:true, onevar:false */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
Extension for `Tree` that adds baked-in support for node labels like you might
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
see in a treeview or menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
@module tree
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
@submodule tree-labelable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
@main tree-labelable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
Extension for `Tree` that adds baked-in support for node labels like you might
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
see in a treeview or menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
@class Tree.Labelable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
@constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
@extensionfor Tree
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
function Labelable() {}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
Labelable.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    initializer: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
        this.nodeExtensions = this.nodeExtensions.concat(Y.Tree.Node.Labelable);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
Y.Tree.Labelable = Labelable;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
@module tree
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
@submodule tree-labelable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
`Tree.Node` extension that adds baked in support for labels like you might see
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
in a treeview or menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
**Security note:** The label is stored in raw, unescaped form. If you choose to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
render the label as HTML, be sure to escape it first with `Y.Escape.html()`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
unless you actually intend to render raw HTML contained in the label.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
@class Tree.Node.Labelable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
@constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
@param {Tree} tree `Tree` instance with which this node should be associated.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
@param {Object} [config] Configuration hash.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    @param {String} [config.label=''] Label for this node.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
@extensionfor Tree.Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
function NodeLabelable(tree, config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    this._serializable = this._serializable.concat('label');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    if ('label' in config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        this.label = config.label;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
NodeLabelable.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    Label for this node.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    **Security note:** The label is stored in raw, unescaped form. If you choose
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    to render the label as HTML, be sure to escape it first with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    `Y.Escape.html()` unless you actually intend to render raw HTML contained in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    the label.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    @property {String} label
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
    @default ''
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    label: ''
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
Y.Tree.Node.Labelable = NodeLabelable;
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
}, '3.10.3', {"requires": ["tree"]});