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

Reply via email to