Version 3.18.1
Show:

File: node/js/node-imports.js

            /**
             * @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'
            ]);