http://fisheye.jboss.com/browse/~raw,r=1.1/JBoss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/nestedset/package.html
http://fisheye.jboss.com/browse/JBoss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/nestedset | 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#4088884 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088884 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
