http://fisheye.jboss.com/browse/~raw,r=1.1/JBoss/jboss-seam/examples/wiki...
http://fisheye.jboss.com/browse/JBoss/jboss-seam/examples/wiki/src/main/o...
| public TreeNode getTree() {
| if (directoryTree == null) {
| directoryTree = new WikiTreeNodeAdapter(getInstance(),
getNodeDAO().getComparatorDisplayPosition(), 2l);
| directoryTree.loadChildren();
| }
| }
|
| <h:form id="dirTree" rendered="false">
| <ui:include src="includes/statusIndicator.xhtml"/>
|
| #{directoryHome.instance.name}:
| <rich:tree value="#{directoryHome.tree}"
var="nodeWrapper"
| switchType="ajax" status="dirTree\:status"
| nodeFace="#{wiki:getType(nodeWrapper.wrappedNode)}">
|
| <rich:treeNode type="Directory">
| <f:facet name="icon">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.dir.gif"
width="18" height="20"/>
| </f:facet>
| <f:facet name="iconLeaf">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.dir.gif"
width="18" height="20"/>
| </f:facet>
| <h:outputText
value="#{nodeWrapper.wrappedNode.name}"/> (#{nodeWrapper.level})
| </rich:treeNode>
|
| <rich:treeNode type="Document">
| <f:facet name="icon">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.doc.gif"
width="18" height="20"
| rendered="#{nodeWrapper.wrappedNode !=
nodeWrapper.wrappedParent.wrappedNode.defaultDocument}"/>
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.doc.default.gif"
width="18" height="20"
| rendered="#{nodeWrapper.wrappedNode ==
nodeWrapper.wrappedParent.wrappedNode.defaultDocument}"/>
| </f:facet>
| <f:facet name="iconLeaf">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.doc.gif"
width="18" height="20"
| rendered="#{nodeWrapper.wrappedNode !=
nodeWrapper.wrappedParent.wrappedNode.defaultDocument}"/>
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/icon.doc.default.gif"
width="18" height="20"
| rendered="#{nodeWrapper.wrappedNode ==
nodeWrapper.wrappedParent.wrappedNode.defaultDocument}"/>
| </f:facet>
| <h:outputText
value="#{nodeWrapper.wrappedNode.name}"/> (#{nodeWrapper.level})
| </rich:treeNode>
|
| <rich:treeNode type="File">
| <f:facet name="icon">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/#{fileMetaMap[nodeWrapper.wrappedNode.contentType].displayIcon}"
| width="18" height="20"
| rendered="#{!empty
fileMetaMap[nodeWrapper.wrappedNode.contentType]}"/>
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/#{fileMetaMap['generic'].displayIcon}"
| width="18" height="20"
| rendered="#{empty
fileMetaMap[nodeWrapper.wrappedNode.contentType]}"/>
| </f:facet>
| <f:facet name="iconLeaf">
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/#{fileMetaMap[nodeWrapper.wrappedNode.contentType].displayIcon}"
| width="18" height="20"
| rendered="#{!empty
fileMetaMap[nodeWrapper.wrappedNode.contentType]}"/>
| <h:graphicImage
value="/themes/#{wikiPreferences.themeName}/img/#{fileMetaMap['generic'].displayIcon}"
| width="18" height="20"
| rendered="#{empty
fileMetaMap[nodeWrapper.wrappedNode.contentType]}"/>
| </f:facet>
| <h:outputText
value="#{nodeWrapper.wrappedNode.name}"/> (#{nodeWrapper.level})
| </rich:treeNode>
|
| </rich:tree>
| </h:form>
|
This is high performance read-mostly tree framework with dynamic pre-fetch size for
on-demand loading of an arbitrary depth of childrens-children (in a single, very
efficient, SQL query).
The UI part is not used right now but you should be able to figure out how it fits
together if you look at the source and spend maybe 3 days on it.
Don't even start thinking about whatever magic Javascript buttons from whatever broken
JSF library you click on before you sort out the basics. I am still looking for help
implementing moving of tree nodes.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088884#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...