# rich

## Tag tree

- Description:

    The <rich:tree> component provides a hierarchical tree control. Each <rich:tree> component typically consists of <rich:treeNode> child components. The appearance and behavior of the tree and its nodes can be fully customized.

    @author Nick Belaevski

- Component Information
  Info | Value
  --- | ---
  Component Type | `org.richfaces.Tree`
  Handler Class | `org.richfaces.view.facelets.TreeHandler`
  Renderer Type | `org.richfaces.TreeRenderer`
  Description | The <rich:tree> component provides a hierarchical tree control. Each <rich:tree> component typically consists of <rich:treeNode> child components. The appearance and behavior of the tree and its nodes can be fully customized. @author Nick Belaevski

- Attributes
  Name | Required | Type | Description
  --- | --- | --- | ---
  `binding` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.component.UIComponent`) | The value binding expression used to wire up this component to a component property of a JavaBean class
  `data` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Serialized (on default with JSON) data passed to the client by a developer on an AJAX request. It's accessible via "event.data" syntax. Both primitive types and complex types such as arrays and collections can be serialized and used with data
  `dir` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
  `execute` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | IDs of components that will participate in the "execute" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of IDs, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords
  `handleClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the tree node handles.
  `iconClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the tree node icons.
  `iconCollapsed` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The icon for collapsed node.
  `iconExpanded` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The icon for expanded node.
  `iconLeaf` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The icon for component leaves.
  `id` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
  `immediate` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating that, if this component is activated by the user, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until the Invoke Application phase.
  `keepSaved` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Boolean attribute that defines whether this iteration component will reset saved children's state before rendering. By default state is reset if there are no faces messages with severity error or higher.
  `labelClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the tree node labels.
  `lang` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Code describing the language used in the generated markup for this component.
  `limitRender` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true", render only those ids specified in the "render" attribute, forgoing the render of the auto-rendered panels
  `nodeClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the tree nodes.
  `nodeType` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Determines which treeNode should be used for rendering. Should contain EL expressions which uses request-scoped variable with name defied in attribute 'var'.
  `onbeforedomupdate` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the ajax response comes back, but before the DOM is updated
  `onbeforenodetoggle` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called before the node is toggled.
  `onbeforeselectionchange` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called before the selection is changed.
  `onbegin` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called before an ajax request.
  `onclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is clicked over this element.
  `oncomplete` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the DOM is updated
  `ondblclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is double clicked over this element.
  `onkeydown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed down over this element.
  `onkeypress` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed and released over this element.
  `onkeyup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is released over this element.
  `onmousedown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is pressed down over this element.
  `onmousemove` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved within this element.
  `onmouseout` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved away from this element.
  `onmouseover` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved onto this element.
  `onmouseup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is released over this element.
  `onnodetoggle` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the node is toggled.
  `onselectionchange` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the selection is changed.
  `render` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | IDs of components that will participate in the "render" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of Id's, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords
  `rendered` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true.
  `rowKeyConverter` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.convert.Converter`) | Converter for a row key object
  `rowKeyVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Provides access to the row key in a Request scope.
  `selection` | `false` | `javax.el.ValueExpression` (must evaluate to `java.util.Collection`) | The collections of selected nodes.
  `selectionChangeListener` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.el.MethodExpression`) | MethodExpression representing an tree node toggle listener method that will be notified when the tree node is toggled. The expression must evaluate to a public method that takes an TreeToggleEvent parameter, with a return type of void, or to a public method that takes no arguments with a return type of void. In the latter case, the method has no way of easily knowing where the event came from, but this can be useful in cases where a notification is needed that "some action happened".
  `selectionType` | `false` | `javax.el.ValueExpression` (must evaluate to `org.richfaces.component.SwitchType`) | The type of type of the selection - ajax (default), client, server.
  `stateVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Provides access to the state in a Request scope.
  `status` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Name of the request status component that will indicate the status of the Ajax request
  `style` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | CSS style(s) to be applied when this component is rendered.
  `styleClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.
  `title` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Advisory title information about markup elements generated for this component.
  `toggleListener` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.el.MethodExpression`) | Method expression referencing a method that will be called when an TreeSelectionChangeEvent has been broadcast for the listener.
  `toggleNodeEvent` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Client-side event used for toggling tree nodes (click, dblclick, etc.)
  `toggleType` | `false` | `javax.el.ValueExpression` (must evaluate to `org.richfaces.component.SwitchType`) | The type of type of the node toggling - ajax (default), client, server.
  `value` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Points to the data model
  `var` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A request-scope attribute via which the data object for the current row will be used when iterating.

Output generated by Vdldoc View Declaration Language Documentation Generator.