src/cm/media/js/lib/yui/yui_3.10.3/build/tree-openable/tree-openable-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('tree-openable', 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 the concept of open/closed state for nodes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
@module tree
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
@submodule tree-openable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
@main tree-openable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
**/
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
Extension for `Tree` that adds the concept of open/closed state for nodes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
@class Tree.Openable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
@constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
@extensionfor Tree
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
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
Fired when a node is closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
@event close
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
@param {Tree.Node} node Node being closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
@param {String} src Source of the event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
@preventable _defCloseFn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
var EVT_CLOSE = 'close';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
Fired when a node is opened.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
@event open
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
@param {Tree.Node} node Node being opened.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
@param {String} src Source of the event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
@preventable _defOpenFn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
var EVT_OPEN = 'open';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
function Openable() {}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
Openable.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    // -- Lifecycle ------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    initializer: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        this.nodeExtensions = this.nodeExtensions.concat(Y.Tree.Node.Openable);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    // -- Public Methods -------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    Closes the specified node if it isn't already closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    @method closeNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        @param {Boolean} [options.silent=false] If `true`, the `close` event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
            will be suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    closeNode: function (node, options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        if (node.canHaveChildren && node.isOpen()) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
            this._fireTreeEvent(EVT_CLOSE, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
                node: node,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
                src : options && options.src
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
            }, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
                defaultFn: this._defCloseFn,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                silent   : options && options.silent
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
        return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    },
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
    Opens the specified node if it isn't already open.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    @method openNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        @param {Boolean} [options.silent=false] If `true`, the `open` event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
            will be suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
    openNode: function (node, options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        if (node.canHaveChildren && !node.isOpen()) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
            this._fireTreeEvent(EVT_OPEN, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
                node: node,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
                src : options && options.src
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            }, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
                defaultFn: this._defOpenFn,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                silent   : options && options.silent
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
        return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
    Toggles the open/closed state of the specified node, closing it if it's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
    currently open or opening it if it's currently closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
    @method toggleOpenNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
    @param {Tree.Node} node Node to toggle.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        @param {Boolean} [options.silent=false] If `true`, events will be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
            suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    toggleOpenNode: function (node, options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        return node.isOpen() ? this.closeNode(node, options) :
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
            this.openNode(node, options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
    // -- Default Event Handlers -----------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    Default handler for the `close` event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    @method _defCloseFn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    @param {EventFacade} e
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
    @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
    _defCloseFn: function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        delete e.node.state.open;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
    Default handler for the `open` event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
    @method _defOpenFn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
    @param {EventFacade} e
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
    @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
    _defOpenFn: function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
        e.node.state.open = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
Y.Tree.Openable = Openable;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
@module tree
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
@submodule tree-openable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
`Tree.Node` extension that adds methods useful for nodes in trees that use the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
`Tree.Openable` extension.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
@class Tree.Node.Openable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
@constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
@extensionfor Tree.Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
function NodeOpenable() {}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
NodeOpenable.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
    Closes this node if it's currently open.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
    @method close
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        @param {Boolean} [options.silent=false] If `true`, the `close` event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
            will be suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    close: function (options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        this.tree.closeNode(this, options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
        return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    Returns `true` if this node is currently open.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
    Note: the root node of a tree is always considered to be open.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
    @method isOpen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    @return {Boolean} `true` if this node is currently open, `false` otherwise.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
    isOpen: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
        return !!this.state.open || this.isRoot();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    Opens this node if it's currently closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
    @method open
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
        @param {Boolean} [options.silent=false] If `true`, the `open` event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
            will be suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    open: function (options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
        this.tree.openNode(this, options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
        return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
    Toggles the open/closed state of this node, closing it if it's currently
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    open or opening it if it's currently closed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
    @method toggleOpen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
    @param {Object} [options] Options.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
        @param {Boolean} [options.silent=false] If `true`, events will be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
            suppressed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
        @param {String} [options.src] Source of the change, to be passed along
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
            to the event facade of the resulting event. This can be used to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
            distinguish between changes triggered by a user and changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
            triggered programmatically, for example.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
    @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    toggleOpen: function (options) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        this.tree.toggleOpenNode(this, options);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
        return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
Y.Tree.Node.Openable = NodeOpenable;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
}, '3.10.3', {"requires": ["tree"]});