This commit is fine for now, but keep in mind that rendering code should not modify widget models.

This code will need to be changed when the tree widget models are made immutable.


Adrian Crum
Sandglass Software
www.sandglass-software.com

On 12/20/2014 12:38 PM, [email protected] wrote:
Author: ashish
Date: Sat Dec 20 12:38:45 2014
New Revision: 1646970

URL: http://svn.apache.org/r1646970
Log:
Applied bug fix from trunk r1646969.
==========================================================
Applied patch from jira issue OFBIZ-5313 - Tree rendering is missing labels.
Thanks Sumit for creating the issue and providing the patch for the same. 
Thanks Arun for verifying the issue.
==========================================================

Modified:
     
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
     
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java

Modified: 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java?rev=1646970&r1=1646969&r2=1646970&view=diff
==============================================================================
--- 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
 (original)
+++ 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/MacroTreeRenderer.java
 Sat Dec 20 12:38:45 2014
@@ -162,9 +162,19 @@ public class MacroTreeRenderer implement
          }
          boolean hasChildren = node.hasChildren(context);

-        ModelTree.ModelNode.Link expandCollapseLink = new 
ModelTree.ModelNode.Link();
+        ModelTree.ModelNode.Link expandCollapseLink;
+        if (node.link == null) {
+            expandCollapseLink = new ModelTree.ModelNode.Link();
+        } else {
+            expandCollapseLink = new ModelTree.ModelNode.Link(node.link);
+        }
+        if (expandCollapseLink.getName(context).isEmpty()) {
+            String linkName = currentNodeTrail.get(currentNodeTrail.size()-1);
+            expandCollapseLink.setName(linkName);
+            expandCollapseLink.setText(linkName);
+        }
          // check to see if this node needs to be expanded.
-        if (hasChildren && node.isExpandCollapse()) {
+        if (hasChildren) {
              String targetEntityId = null;
              List<String> targetNodeTrail = 
UtilGenerics.toList(context.get("targetNodeTrail"));
              if (depth < targetNodeTrail.size()) {

Modified: 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1646970&r1=1646969&r2=1646970&view=diff
==============================================================================
--- 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
 (original)
+++ 
ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
 Sat Dec 20 12:38:45 2014
@@ -855,6 +855,24 @@ public class ModelTree extends ModelWidg
                  }
              }

+            public Link(ModelTree.ModelNode.Link linkElement) {
+                this.textExdr = linkElement.textExdr;
+                this.idExdr = linkElement.idExdr;
+                this.styleExdr = linkElement.styleExdr;
+                this.targetExdr = linkElement.targetExdr;
+                this.targetWindowExdr = linkElement.targetWindowExdr;
+                this.prefixExdr = linkElement.prefixExdr;
+                this.urlMode = linkElement.urlMode;
+                this.fullPath = linkElement.fullPath;
+                this.secure = linkElement.secure;
+                this.encode = linkElement.encode;
+                this.nameExdr = linkElement.nameExdr;
+                this.titleExdr = linkElement.titleExdr;
+                this.linkType = linkElement.linkType;
+                this.parameterList = new 
ArrayList<WidgetWorker.Parameter>(linkElement.parameterList.size());
+                Collections.copy(this.parameterList, 
linkElement.parameterList);
+            }
+
              public void renderLinkString(Appendable writer, Map<String, 
Object> context, TreeStringRenderer treeStringRenderer) {
                  try {
                      treeStringRenderer.renderLink(writer, context, this);


Reply via email to