Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-71

Add a Tree component in corelib

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.15
    • 5.3
    • None
    • None

    Description

      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

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            fanf42 Francois Armand
            Votes:
            9 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: