Class Tree


  • @Events({"nodeSelected","nodeUnselected"})
    @Import(module="t5/core/tree")
    public class Tree
    extends java.lang.Object
    A component used to render a recursive tree structure, with expandable/collapsable/selectable nodes. The data that is displayed by the component is provided as a TreeModel. A secondary model, the TreeExpansionModel, is used to track which nodes have been expanded. The optional TreeSelectionModel is used to track node selections (as currently implemented, only leaf nodes may be selected). Tree is not a form control component; all changes made to the tree on the client (expansions, collapsing, and selections) are propagated immediately back to the server. The Tree component uses special tricks to support recursive rendering of the Tree as necessary.
    Since:
    5.3
    Component Parameters 
    NameTypeFlagsDefaultDefault Prefix
    classString  literal
    Allows the container to specify additional CSS class names for the outer DIV element. The outer DIV always has the class name "tree-container"; the additional class names are typically used to apply a specific size and width to the component.
    expansionModelorg.apache.tapestry5.tree.TreeExpansionModelNot NulldefaultTreeExpansionModelprop
    Used to control the Tree's expansion model. By default, a persistent field inside the Tree component stores a DefaultTreeExpansionModel. This parameter may be bound when more control over the implementation of the expansion model, or how it is stored, is required.
    labelorg.apache.tapestry5.runtime.RenderCommand block:defaultRenderTreeNodeLabelprop
    A renderable (usually a Block) that can render the label for a tree node. This will be invoked after the #value parameter has been updated.
    modelorg.apache.tapestry5.tree.TreeModelRequired prop
    The model that drives the tree, determining top level nodes and making revealing the overall structure of the tree.
    nodeorg.apache.tapestry5.tree.TreeNode  prop
    Optional parameter used to inform the container about what TreeNode is currently rendering; this is primarily used when the label parameter is bound.
    selectionModelorg.apache.tapestry5.tree.TreeSelectionModel  prop
    Used to control the Tree's selections. When this parameter is bound, then the client-side Tree will track what is selected or not selected, and communicate this (via Ajax requests) up to the server, where it will be recorded into the model. On the client-side, the Tree component will add or remove the selected-leaf-node-label CSS class from span.tree-label for the node.
    valueObject  prop
    Optional parameter used to inform the container about the value of the currently rendering TreeNode; this is often preferable to the TreeNode, and like the node parameter, is primarily used when the label parameter is bound.

    Component Events 
    NameDescription
    nodeSelected 
    nodeUnselected