Author: jacopoc
Date: Fri Jul 25 06:22:46 2008 New Revision: 679798 URL: http://svn.apache.org/viewvc?rev=679798&view=rev Log: Misc cleanups to the widget tree code, still a lot to do to improve the readability of the code but this is hopefully a small step in that direction. Most of all, I have fixed a small issue that was preventing to work the first click (after visiting the page) for the expansion of a node. Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/TreeStringRenderer.java Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java?rev=679798&r1=679797&r2=679798&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java Fri Jul 25 06:22:46 2008 @@ -47,10 +47,9 @@ public HtmlTreeRenderer() {} - public void renderNodeBegin(Appendable writer, Map<String, Object> context, ModelTree.ModelNode node, int depth, boolean isLast) throws IOException { + public void renderNodeBegin(Appendable writer, Map<String, Object> context, ModelTree.ModelNode node, int depth) throws IOException { String currentNodeTrailPiped = null; List<String> currentNodeTrail = UtilGenerics.toList(context.get("currentNodeTrail")); - String initialNodeTrailPiped = StringUtil.join(currentNodeTrail, "|"); if (node.isRootNode()) { appendWhitespace(writer); renderBeginningBoundaryComment(writer, "Tree Widget", node.getModelTree()); @@ -88,7 +87,7 @@ int openDepth = node.getModelTree().getOpenDepth(); if (depth >= openDepth && (targetEntityId == null || !targetEntityId.equals(entityId))) { // Not on the trail - if(node.showPeers(depth, context)) { + if (node.showPeers(depth, context)) { context.put("processChildren", Boolean.FALSE); //expandCollapseLink.setText(" + "); currentNodeTrailPiped = StringUtil.join(currentNodeTrail, "|"); @@ -102,7 +101,6 @@ target += "&"; } target += trailName + "=" + currentNodeTrailPiped; - target += "#" + initialNodeTrailPiped; expandCollapseLink.setTarget(target); } } else { @@ -123,12 +121,11 @@ target += "&"; } target += trailName + "=" + currentNodeTrailPiped; - target += "#" + initialNodeTrailPiped; expandCollapseLink.setTarget(target); // add it so it can be remove in renderNodeEnd currentNodeTrail.add(lastContentId); } - renderLink( writer, context, expandCollapseLink); + renderLink(writer, context, expandCollapseLink); } else if (!hasChildren){ context.put("processChildren", Boolean.FALSE); } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=679798&r1=679797&r2=679798&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java Fri Jul 25 06:22:46 2008 @@ -57,8 +57,6 @@ import org.w3c.dom.Element; import org.xml.sax.SAXException; -//import com.clarkware.profiler.Profiler; - /** * Widget Library - Tree model class */ @@ -238,7 +236,7 @@ context.put("currentNodeTrail", FastList.newInstance()); StringWriter writer = new StringWriter(); try { - node.renderNodeString(writer, context, treeStringRenderer, 0, true); + node.renderNodeString(writer, context, treeStringRenderer, 0); buf.append(writer.toString()); } catch (IOException e2) { String errMsg = "Error rendering included label with name [" + name + "] : " + e2.toString(); @@ -354,7 +352,7 @@ } public void renderNodeString(Appendable writer, Map<String, Object> context, - TreeStringRenderer treeStringRenderer, int depth, boolean isLast) + TreeStringRenderer treeStringRenderer, int depth) throws IOException, GeneralException { boolean passed = true; if (this.condition != null) { @@ -376,10 +374,8 @@ } else { id = (String) context.get(pkName); } - if (id != null) { - currentNodeTrail.add(id); - } - treeStringRenderer.renderNodeBegin(writer, context, this, depth, isLast); + currentNodeTrail.add(id); + treeStringRenderer.renderNodeBegin(writer, context, this, depth); //if (Debug.infoOn()) Debug.logInfo(" context:" + // context.entrySet(), module); try { @@ -430,9 +426,7 @@ targetEntityId = (String) targetNodeTrail.get(newDepth); } if ((targetEntityId != null && targetEntityId.equals(thisEntityId)) || this.showPeers(newDepth, context)) { - boolean lastNode = !nodeIter.hasNext(); - newContext.put("lastNode", Boolean.valueOf(lastNode)); - node.renderNodeString(writer, newContext, treeStringRenderer, newDepth, lastNode); + node.renderNodeString(writer, newContext, treeStringRenderer, newDepth); } } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/TreeStringRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/TreeStringRenderer.java?rev=679798&r1=679797&r2=679798&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/TreeStringRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/TreeStringRenderer.java Fri Jul 25 06:22:46 2008 @@ -28,7 +28,7 @@ */ public interface TreeStringRenderer { - public void renderNodeBegin(Appendable writer, Map<String, Object> context, ModelTree.ModelNode node, int depth, boolean isLast) throws IOException; + public void renderNodeBegin(Appendable writer, Map<String, Object> context, ModelTree.ModelNode node, int depth) throws IOException; public void renderNodeEnd(Appendable writer, Map<String, Object> context, ModelTree.ModelNode node) throws IOException; public void renderLabel(Appendable writer, Map<String, Object> context, ModelTree.ModelNode.Label label) throws IOException; public void renderLink(Appendable writer, Map<String, Object> context, ModelTree.ModelNode.Link link) throws IOException; |
Free forum by Nabble | Edit this page |