Well, I went off and rewrote the AjaxTree to improve it and make it work in
Tomahawk.  It is a thing of beauty.

The API is very simple, just implement the AjaxTreeDataProvider interface:

public interface AjaxTreeDataProvider {
    public List getRootNodes();  
    public List getChildNodes(String nodeString);
}

and the data is transfered via a simple VO called the AjaxTreeNode (a
javabean with 4 properties).

The nodes are rendered via as needed by Ajax calls.  Multi-line node
information display is supported.  Facets are used to specify the node
display.  

The next thing is to add an optional toolbar in which the user can specify
what controls are available.  This  toolbar can be hooked into JS calls that
allow re-rooting/backing-out in the tree (a la eclipse) and refreshing.

The AjaxTree is ideal for large data sets or any situation where the entire
tree may never be viewed.

I understand not wanting to have tree1, tree2 and AjaxTree.  When I built
the first version, I considered using Tree2 as a basis, but found it to be
much cleaner and simpler to build it fresh.

I strongly feel its a great addition to MyFaces.  Let me know what you all
think.  


Matthias Wessendorf-4 wrote:
> 
> On Feb 5, 2008 9:59 AM, Gerald Müllan <[EMAIL PROTECTED]> wrote:
>> > Just that you can't have this ajaxed-node-fetching which would be
>> really
>> > a nice feature I often whished to have.
>> > Yes, you can put tree2 in a ppr group (which I already did), but you
>> > have to fetch the whole tree in node toggling, no?
>>
>> Yes, that`s right. The whole tree has to be embedded inside ppr.
>> Never tried ajax4jsf, but i think it must be the same approach.
> 
> why bother with that?
> Isn't ajax4jsf doing things like:
> <ajaxEnabled/>; <ajaxRegion />
> 
> I doubt, that adding tags for treating ajax as a special case is the right
> way.
> 
>>
>> So, updating only the affected node would be indeed a very nice feature.
> 
> +1 (instead of replacing the complete DOM for the entire tree, right?)
> 
>>
>> best regards,
>>
>> Gerald
>>
> 
> 
> 
> -- 
> Matthias Wessendorf
> 
> further stuff:
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> mail: matzew-at-apache-dot-org
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Interest-in-an-AjaxTree-tp15258543p15641288.html
Sent from the My Faces - Dev mailing list archive at Nabble.com.

Reply via email to