Properties Methods Events Config Options Direct Link

    Observable
      Node

# Class Ext.data.Node

Package: | Ext.data
Defined In: | Tree.js
Class: | Node
Subclasses: | TreeNode
Extends: | Observable

## Config Options

Config Options | Defined By
--- | ---
| id : String The id for this node. If one is not specified, one is generated. | Node
| leaf : Boolean true if this node is a leaf and does not have children | Node
| listeners : Object A config object containing one or more event handlers to be added to this object during initialization. This should b... A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener example for attaching multiple handlers at once. | Observable

## Public Properties

Property | Defined By
--- | ---
| attributes : Object The attributes supplied for the node. You can use this property to access any custom attributes you supplied. | Node
| childNodes : Array All child nodes of this node. | Node
| firstChild : Node The first direct child node of this node, or null if this node has no child nodes. | Node
| id : String The node id. | Node
| lastChild : Node The last direct child node of this node, or null if this node has no child nodes. | Node
| nextSibling : Node The node immediately following this node in the tree, or null if there is no sibling node. | Node
| parentNode : Node The parent node for this node. | Node
| previousSibling : Node The node immediately preceding this node in the tree, or null if there is no sibling node. | Node

## Public Methods

Method | Defined By
--- | ---
| Node( `Object attributes` ) Parameters: `attributes` : Object The attributes/config for the node Returns: `` | Node
| addEvents( `Object object` ) : void Used to define events on this Observable Used to define events on this Observable Parameters: `object` : Object The object with the events defined Returns: `void` | Observable
- | addListener( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this component Appends an event handler to this component Parameters: `eventName` : String The type of event to listen for `handler` : Function The method the event invokes `scope` : Object (optional) The scope in which to execute the handler function. The handler function's "this" context. `options` : Object (optional) An object containing handler configuration properties. This may contain any of the following properties: scope : Object The scope in which to execute the handler function. The handler function's "this" context. delay : Number The number of milliseconds to delay the invocation of the handler after the event fires. single : Boolean True to add a handler to handle just the next firing of the event, and then remove itself. buffer : Number Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options Using the options argument, it is possible to combine different types of listeners: A normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)
      el.on('click', this.onClick, this, {
          single: true,
          delay: 100,
          forumId: 4
      });
  Attaching multiple handlers in 1 call The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.
      foo.on({
          'click' : {
              fn: this.onClick,
              scope: this,
              delay: 100
          },
          'mouseover' : {
              fn: this.onMouseOver,
              scope: this
          },
          'mouseout' : {
              fn: this.onMouseOut,
              scope: this
          }
      });
  Or a shorthand syntax:
      foo.on({
          'click' : this.onClick,
          'mouseover' : this.onMouseOver,
          'mouseout' : this.onMouseOut,
           scope: this
      });
Returns: `void` | Observable
| appendChild( `Node/Array node` ) : Node Insert node(s) as the last child node of this node. Insert node(s) as the last child node of this node. Parameters: `node` : Node/Array The node or Array of nodes to append Returns: `Node` The appended node if single append, or null if an array was passed | Node
| bubble( `Function fn`, [`Object scope`], [`Array args`] ) : void Bubbles up the tree from this node, calling the specified function with each node. The scope (this) of function call ... Bubbles up the tree from this node, calling the specified function with each node. The scope (this) of function call will be the scope provided or the current node. The arguments to the function will be the args provided or the current node. If the function returns false at any point, the bubble is stopped. Parameters: `fn` : Function The function to call `scope` : Object (optional) The scope of the function (defaults to current node) `args` : Array (optional) The args to call the function with (default to passing the current node) Returns: `void` | Node
| cascade( `Function fn`, [`Object scope`], [`Array args`] ) : void Cascades down the tree from this node, calling the specified function with each node. The scope (this) of function ca... Cascades down the tree from this node, calling the specified function with each node. The scope (this) of function call will be the scope provided or the current node. The arguments to the function will be the args provided or the current node. If the function returns false at any point, the cascade is stopped on that branch. Parameters: `fn` : Function The function to call `scope` : Object (optional) The scope of the function (defaults to current node) `args` : Array (optional) The args to call the function with (default to passing the current node) Returns: `void` | Node
| contains( `Node node` ) : Boolean Returns true if this node is an ancestor (at any point) of the passed node. Returns true if this node is an ancestor (at any point) of the passed node. Parameters: `node` : Node Returns: `Boolean` | Node
| eachChild( `Function fn`, [`Object scope`], [`Array args`] ) : void Iterates the child nodes of this node, calling the specified function with each node. The scope (this) of function ca... Iterates the child nodes of this node, calling the specified function with each node. The scope (this) of function call will be the scope provided or the current node. The arguments to the function will be the args provided or the current node. If the function returns false at any point, the iteration stops. Parameters: `fn` : Function The function to call `scope` : Object (optional) The scope of the function (defaults to current node) `args` : Array (optional) The args to call the function with (default to passing the current node) Returns: `void` | Node
| findChild( `String attribute`, `Mixed value` ) : Node Finds the first child that has the attribute with the specified value. Finds the first child that has the attribute with the specified value. Parameters: `attribute` : String The attribute name `value` : Mixed The value to search for Returns: `Node` The found child or null if none was found | Node
| findChildBy( `Function fn`, [`Object scope`] ) : Node Finds the first child by a custom function. The child matches if the function passed returns true. Finds the first child by a custom function. The child matches if the function passed returns true. Parameters: `fn` : Function `scope` : Object (optional) Returns: `Node` The found child or null if none was found | Node
| fireEvent( `String eventName`, `Object... args` ) : Boolean Fires the specified event with the passed parameters (minus the event name). Fires the specified event with the passed parameters (minus the event name). Parameters: `eventName` : String `args` : Object... Variable number of parameters are passed to handlers Returns: `Boolean` returns false if any of the handlers return false otherwise it returns true | Observable
| getDepth() : Number Returns depth of this node (the root node has a depth of 0) Returns depth of this node (the root node has a depth of 0) Parameters: None. Returns: `Number` | Node
| getOwnerTree() : Tree Returns the tree this node is in. Returns the tree this node is in. Parameters: None. Returns: `Tree` | Node
| getPath( [`String attr`] ) : String Returns the path for this node. The path can be used to expand or select this node programmatically. Returns the path for this node. The path can be used to expand or select this node programmatically. Parameters: `attr` : String (optional) The attr to use for the path (defaults to the node's id) Returns: `String` The path | Node
| hasChildNodes() : Boolean Returns true if this node has one or more child nodes, else false. Returns true if this node has one or more child nodes, else false. Parameters: None. Returns: `Boolean` | Node
| hasListener( `String eventName` ) : Boolean Checks to see if this object has any listeners for a specified event Checks to see if this object has any listeners for a specified event Parameters: `eventName` : String The name of the event to check for Returns: `Boolean` True if the event is being listened for, else false | Observable
| indexOf( `Node node` ) : Number Returns the index of a child node Returns the index of a child node Parameters: `node` : Node Returns: `Number` The index of the node or -1 if it was not found | Node
| insertBefore( `Node node`, `Node refNode` ) : Node Inserts the first node before the second node in this nodes childNodes collection. Inserts the first node before the second node in this nodes childNodes collection. Parameters: `node` : Node The node to insert `refNode` : Node The node to insert before (if null the node is appended) Returns: `Node` The inserted node | Node
| isAncestor( `Node node` ) : Boolean Returns true if the passed node is an ancestor (at any point) of this node. Returns true if the passed node is an ancestor (at any point) of this node. Parameters: `node` : Node Returns: `Boolean` | Node
| isExpandable() : Boolean Returns true if this node has one or more child nodes, or if the expandable node attribute is explicitly specified as... Returns true if this node has one or more child nodes, or if the `expandable` node attribute is explicitly specified as true (see attributes), otherwise returns false. Parameters: None. Returns: `Boolean` | Node
| isFirst() : Boolean Returns true if this node is the first child of its parent Returns true if this node is the first child of its parent Parameters: None. Returns: `Boolean` | Node
| isLast() : Boolean Returns true if this node is the last child of its parent Returns true if this node is the last child of its parent Parameters: None. Returns: `Boolean` | Node
| isLeaf() : Boolean Returns true if this node is a leaf Returns true if this node is a leaf Parameters: None. Returns: `Boolean` | Node
| item( `Number index` ) : Node Returns the child node at the specified index. Returns the child node at the specified index. Parameters: `index` : Number Returns: `Node` | Node
| on( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this element (shorthand for addListener) Appends an event handler to this element (shorthand for addListener) Parameters: `eventName` : String The type of event to listen for `handler` : Function The method the event invokes `scope` : Object (optional) The scope in which to execute the handler function. The handler function's "this" context. `options` : Object (optional) Returns: `void` | Observable
| purgeListeners() : void Removes all listeners for this object Removes all listeners for this object Parameters: None. Returns: `void` | Observable
| relayEvents( `Object o`, `Array events` ) : void Relays selected events from the specified Observable as if the events were fired by `this`. Relays selected events from the specified Observable as if the events were fired by `this`. Parameters: `o` : Object The Observable whose events this object is to relay. `events` : Array Array of event names to relay. Returns: `void` | Observable
| remove() : Node Removes this node from it's parent Removes this node from it's parent Parameters: None. Returns: `Node` this | Node
| removeChild( `Node node` ) : Node Removes a child node from this node. Removes a child node from this node. Parameters: `node` : Node The node to remove Returns: `Node` The removed node | Node
| removeListener( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes a listener Removes a listener Parameters: `eventName` : String The type of event to listen for `handler` : Function The handler to remove `scope` : Object (optional) The scope (this object) for the handler Returns: `void` | Observable
| replaceChild( `Node newChild`, `Node oldChild` ) : Node Replaces one child node in this node with another. Replaces one child node in this node with another. Parameters: `newChild` : Node The replacement node `oldChild` : Node The node to replace Returns: `Node` The replaced node | Node
| resumeEvents() : void Resume firing events. (see suspendEvents) Resume firing events. (see suspendEvents) Parameters: None. Returns: `void` | Observable
| sort( `Function fn`, [`Object scope`] ) : void Sorts this nodes children using the supplied sort function Sorts this nodes children using the supplied sort function Parameters: `fn` : Function `scope` : Object (optional) Returns: `void` | Node
| suspendEvents() : void Suspend the firing of all events. (see resumeEvents) Suspend the firing of all events. (see resumeEvents) Parameters: None. Returns: `void` | Observable
| un( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes a listener (shorthand for removeListener) Removes a listener (shorthand for removeListener) Parameters: `eventName` : String The type of event to listen for `handler` : Function The handler to remove `scope` : Object (optional) The scope (this object) for the handler Returns: `void` | Observable

## Public Events

Event | Defined By
--- | ---
| append : ( `Tree tree`, `Node this`, `Node node`, `Number index` ) Fires when a new child node is appended Fires when a new child node is appended Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The newly appended node `index` : Number The index of the newly appended node | Node
| beforeappend : ( `Tree tree`, `Node this`, `Node node` ) Fires before a new child is appended, return false to cancel the append. Fires before a new child is appended, return false to cancel the append. Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The child node to be appended | Node
| beforeinsert : ( `Tree tree`, `Node this`, `Node node`, `Node refNode` ) Fires before a new child is inserted, return false to cancel the insert. Fires before a new child is inserted, return false to cancel the insert. Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The child node to be inserted `refNode` : Node The child node the node is being inserted before | Node
| beforemove : ( `Tree tree`, `Node this`, `Node oldParent`, `Node newParent`, `Number index` ) Fires before this node is moved to a new location in the tree. Return false to cancel the move. Fires before this node is moved to a new location in the tree. Return false to cancel the move. Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `oldParent` : Node The parent of this node `newParent` : Node The new parent this node is moving to `index` : Number The index it is being moved to | Node
| beforeremove : ( `Tree tree`, `Node this`, `Node node` ) Fires before a child is removed, return false to cancel the remove. Fires before a child is removed, return false to cancel the remove. Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The child node to be removed | Node
| insert : ( `Tree tree`, `Node this`, `Node node`, `Node refNode` ) Fires when a new child node is inserted. Fires when a new child node is inserted. Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The child node inserted `refNode` : Node The child node the node was inserted before | Node
| move : ( `Tree tree`, `Node this`, `Node oldParent`, `Node newParent`, `Number index` ) Fires when this node is moved to a new location in the tree Fires when this node is moved to a new location in the tree Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `oldParent` : Node The old parent of this node `newParent` : Node The new parent of this node `index` : Number The index it was moved to | Node
| remove : ( `Tree tree`, `Node this`, `Node node` ) Fires when a child node is removed Fires when a child node is removed Listeners will be called with the following arguments: `tree` : Tree The owner tree `this` : Node This node `node` : Node The removed node | Node