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
Interates the child nodes of this node, calling the specified function with each node. The scope (this) of function c...
Interates 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

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

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

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