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