I just checked in a major improvement to Tree2.  Most users won't
notice a difference but you will want to test your code to make sure
nothing has been broken.  The change should be available in the latest
nightly build.  It will *not* be in the upcoming tomahawk release that
is due in the next two weeks.

The improvement relates to MYFACES-911 and consists of a proposal
originally made by Mathias Werlitz's (with some modifications.)  It
provides much better support for *dynamic* trees.  You are no longer
constrained to the 0, 0:1, etc. node id scheme.  You can provide your
own TreeWalker interface now which is in charge of "walking" the data
during rendering.

The idea is that the renderer calls next() on the TreeWalker interface
which sets the current node and returns a boolean value indicating
whether or not another node is available.  There is also the option to
ignore the tree state so you can walk the entire tree regardless of
whether or not nodes are expanded or collapsed.

There should be no change to your existing tree2 JSF unless you want
to take advantage of the new features.  Everything is supposed to be
backwards compatible.  I added a few unit tests and went through the
examples.  There is one use case that is not working at the moment
(hide root node) and I will fix that shortly.

I'm hoping to start a discussion about the tree2 stuff with our now
significant number of users.  Over the next few days I will be trying
to go through the old JIRA issues and commenting on them.  I'm also
looking to improve the documentation (although I could certainly use
some help on that.)

Stay tuned ...

Sean

Reply via email to