I'm trying to use the tree2 component in a project. Because I have to load a large amount of data I need to use the server-side option so that I only have to load visible data.
I like the plus/minus toggles however clicking them seems to only call the 'value'/backingbean.method. It seems to me this is where I want the actionListener so I can decide what data to load given that a node is expanding/collapsing. I pulled the images out of the jar so I could use them in commandLinks on my jsp page. I'd like to use the 'lines' but I can't tell how to determine which node is being layed out. The documentation is very sparse. I don't have alot of time to try to figure out what all the code for it does so I hope someone can help me with this. If I can get this working within a few days I can convert my current struts version to myfaces. I've pasted what I have in the jsp below. I think the varNodeToggler 't' variable corresponds to a HTMLTree UIComponent. What does 'var' correspond to (a TreeNode?) and if so within each of the facets (see below - 'branch' and 'leaf') does it correspond to the current node? How do I get my object that the TreeNode wraps? t.getValue()? One thing I'd like to accomplish are using the plus/minus 'lines'. To do so I need to know which is the first node (I made a nav-plus-line-first.gif to get rid of the top line) and which is the last child. I see lastChild in HTMLTree. How do I tell when the first node is being layed out? Is there a way to tell the current level? So far I have the following in the jsp: <x:tree2 value="#{treeBacker.treeData2}" id="server-tree" var="node" varNodeToggler="t" clientSideToggle="false" showRootNode="false" showNav="false" showLines="false"> <f:facet name="branch"> <h:panelGroup> <h:commandLink immediate="true" id="hl1" actionListener="#{treeBacker.select}" action="#{t.toggleExpanded}"> <h:graphicImage value="/images/nav-plus.gif" rendered="#{!t.nodeExpanded}" border="0"/> <h:graphicImage value="/images/nav-minus.gif" rendered="#{t.nodeExpanded}" border="0"/> </h:commandLink> <h:commandLink immediate="true" id="hl2" actionListener="#{treeBacker.select}"> <h:graphicImage value="/images/yellow-folder- open.png" rendered="#{t.nodeExpanded}" border="0"/> <h:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/> </h:commandLink> <h:outputText value="#{node.description}" styleClass="nodeFolder"/> <h:outputText value="(#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/> </h:panelGroup> </f:facet> <f:facet name="leaf"> <h:panelGroup> <h:commandLink immediate="true" styleClass="document"> <h:graphicImage value="/images/document.png" border="0"/> <h:outputText value="#{node.description}"/> <f:param name="docNum" value="# {node.identifier}"/> </h:commandLink> </h:panelGroup> </f:facet> </x:tree2> -- Rob @objectsource.org