Add a Tree component in corelib
-------------------------------

                 Key: TAPESTRY-1718
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1718
             Project: Tapestry
          Issue Type: New Feature
          Components: Core Components
    Affects Versions: 5.0.5
            Reporter: Francois Armand


There is no recursion available for template, and one of the most common use 
case of recursion is tree structure traversal.
it would be _great_ if the core component library include a Tree component.

I have an example tree component here :
http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/interldap/interldap-wui-t5/trunk/src/main/java/org/interldap/wui/tapestry/components/Tree.java?view=markup&rev=97
And an example of use :
http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/interldap/interldap-wui-t5/trunk/src/t5-test/resources/org/interldap/wui/tapestry/pages/TestTree.html?view=markup&rev=139

Basically, the component take a DefaultMutableTreeNode as parameter and print 
it in a preorder traversal, and one can specify a (unique) html element as a 
level separator. But this component remains really simple and limited.
Moreover, as I'm a beginner with Tapestry, it could be totally not idiomatic of 
the framework use (I try to base my implementation on "loop" component).

But it handles the most important functional requirement I want to see for this 
component.
So, that is my (very basic) "wish list" for a tree component :
- the component traverse a Tree given in parameter
  * DefaultMutableTreeNode may be used for the Java representation for the tree 
;
  * let the possibility to configure the traversal order, preorder is a good 
default ;
- each iteration gives access to the current node ;
- the body render for each ieration is free (as in loop) ;
- "level" can be decorated (a tag or list of tag open before the level, closed 
after) ;
There is surely others things to add ;)

hope it will gives you other ideas !

Francois

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to