You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2011/08/16 16:19:00 UTC

svn commit: r1158286 - /myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/

Author: lofwyr
Date: Tue Aug 16 14:18:59 2011
New Revision: 1158286

URL: http://svn.apache.org/viewvc?rev=1158286&view=rev
Log:
TOBAGO-377: Tree
 - optimization: expanded is only possible for folders

Modified:
    myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java
    myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java
    myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java
    myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java
    myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java

Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java?rev=1158286&r1=1158285&r2=1158286&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java Tue Aug 16 14:18:59 2011
@@ -49,7 +49,7 @@ public class TreeIconRenderer extends La
     final UITreeIcon image = (UITreeIcon) component;
     final UITreeNode node = ComponentUtils.findAncestor(image, UITreeNode.class);
     final boolean folder = node.isFolder();
-    final boolean expanded = node.isExpanded();
+    final boolean expanded = folder && node.isExpanded();
 
     String source;
     final String openSource;

Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java?rev=1158286&r1=1158285&r2=1158286&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java Tue Aug 16 14:18:59 2011
@@ -53,7 +53,7 @@ public class TreeIndentRenderer extends 
     final boolean showRoot = ((UITree) tree).isShowRoot();
     final boolean showJunctions = indent.isShowJunctions();
     final boolean showRootJunction = ((UITree) tree).isShowRootJunction();
-    final boolean expanded = node.isExpanded() || !showRoot && level == 0;
+    final boolean expanded = folder && node.isExpanded() || !showRoot && level == 0;
 
     TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
 

Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java?rev=1158286&r1=1158285&r2=1158286&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java Tue Aug 16 14:18:59 2011
@@ -64,16 +64,19 @@ public class TreeListboxNodeRenderer ext
       return;
     }
 
-    AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
-    String treeId = tree.getClientId(facesContext);
-    String nodeStateId = node.nodeStateId(facesContext);
-    Map requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
-    String id = node.getClientId(facesContext);
+    final AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
+    final String treeId = tree.getClientId(facesContext);
+    final String nodeStateId = node.nodeStateId(facesContext);
+    final Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
+    final String id = node.getClientId(facesContext);
+    final boolean folder = node.isFolder();
 
     // expand state
-    boolean expanded = Boolean.parseBoolean((String) requestParameterMap.get(id + "-expanded"));
-    if (node.isExpanded() != expanded) {
-      new TreeExpansionEvent(node, node.isExpanded(), expanded).queue();
+    if (folder) {
+      boolean expanded = Boolean.parseBoolean((String) requestParameterMap.get(id + "-expanded"));
+      if (node.isExpanded() != expanded) {
+        new TreeExpansionEvent(node, node.isExpanded(), expanded).queue();
+      }
     }
 
     // select
@@ -111,14 +114,15 @@ public class TreeListboxNodeRenderer ext
 
   @Override
   public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException {
-    UITreeNode node = (UITreeNode) component;
-    AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
-    TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
+    final UITreeNode node = (UITreeNode) component;
+    final AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
 
-    boolean folder = node.isFolder();
-    int level = node.getLevel();
-    String id = node.getClientId(facesContext);
-    boolean expanded = node.isExpanded();
+    final boolean folder = node.isFolder();
+    final int level = node.getLevel();
+    final String id = node.getClientId(facesContext);
+    final boolean expanded = folder && node.isExpanded();
+
+    TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
 
     if (level > 0) { // root will not rendered as an option
       writer.startElement(HtmlElements.OPTION, null);

Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java?rev=1158286&r1=1158285&r2=1158286&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java Tue Aug 16 14:18:59 2011
@@ -60,17 +60,20 @@ public class TreeMenuNodeRenderer extend
       return;
     }
 
-    UITreeMenu tree = ComponentUtils.findAncestor(node, UITreeMenu.class);
-    String treeId = tree.getClientId(facesContext);
-    String nodeStateId = node.nodeStateId(facesContext);
-    Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
-    String id = node.getClientId(facesContext);
+    final UITreeMenu tree = ComponentUtils.findAncestor(node, UITreeMenu.class);
+    final String treeId = tree.getClientId(facesContext);
+    final String nodeStateId = node.nodeStateId(facesContext);
+    final Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
+    final String id = node.getClientId(facesContext);
+    final boolean folder = node.isFolder();
 
     // expand state
+//    if (folder) { XXX this value seems to be not restored...
     boolean expanded = Boolean.parseBoolean(requestParameterMap.get(id + ComponentUtils.SUB_SEPARATOR + "expanded"));
     if (node.isExpanded() != expanded) {
       new TreeExpansionEvent(node, node.isExpanded(), expanded).queue();
     }
+//    }
 
     // marked
     String marked = (String) requestParameterMap.get(treeId + ComponentUtils.SUB_SEPARATOR + AbstractUITree.MARKED);
@@ -95,9 +98,9 @@ public class TreeMenuNodeRenderer extend
     }
     if (node.isFolder()) {
       node.setCurrentMarkup(Markup.FOLDER.add(node.getCurrentMarkup()));
-    }
-    if (node.isExpanded()) {
-      node.setCurrentMarkup(Markup.EXPANDED.add(node.getCurrentMarkup()));
+      if (node.isExpanded()) {
+        node.setCurrentMarkup(Markup.EXPANDED.add(node.getCurrentMarkup()));
+      }
     }
   }
 
@@ -112,7 +115,7 @@ public class TreeMenuNodeRenderer extend
     final String id = node.getClientId(facesContext);
     final int level = node.getLevel();
     final boolean root = level == 0;
-    final boolean expanded = node.isExpanded() || level == 0;
+    final boolean expanded = folder && node.isExpanded() || level == 0;
     final boolean showRoot = tree.isShowRoot();
     final boolean ie6
         = VariableResolverUtils.resolveClientProperties(facesContext).getUserAgent().equals(UserAgent.MSIE_6_0);

Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java?rev=1158286&r1=1158285&r2=1158286&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java Tue Aug 16 14:18:59 2011
@@ -69,16 +69,19 @@ public class TreeNodeRenderer extends La
       return;
     }
 
-    AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
-    String treeId = tree.getClientId(facesContext);
-    String nodeStateId = node.nodeStateId(facesContext);
-    Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
-    String id = node.getClientId(facesContext);
+    final AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
+    final String treeId = tree.getClientId(facesContext);
+    final String nodeStateId = node.nodeStateId(facesContext);
+    final Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
+    final String id = node.getClientId(facesContext);
+    final boolean folder = node.isFolder();
 
     // expand state
-    boolean expanded = Boolean.parseBoolean(requestParameterMap.get(id + ComponentUtils.SUB_SEPARATOR + "expanded"));
-    if (node.isExpanded() != expanded) {
-      new TreeExpansionEvent(node, node.isExpanded(), expanded).queue();
+    if (folder) {
+      boolean expanded = Boolean.parseBoolean(requestParameterMap.get(id + ComponentUtils.SUB_SEPARATOR + "expanded"));
+      if (node.isExpanded() != expanded) {
+        new TreeExpansionEvent(node, node.isExpanded(), expanded).queue();
+      }
     }
 
     // select
@@ -115,16 +118,16 @@ public class TreeNodeRenderer extends La
     }
     if (node.isFolder()) {
       node.setCurrentMarkup(Markup.FOLDER.add(node.getCurrentMarkup()));
-    }
-    if (node.isExpanded()) {
-      node.setCurrentMarkup(Markup.EXPANDED.add(node.getCurrentMarkup()));
+      if (node.isExpanded()) {
+        node.setCurrentMarkup(Markup.EXPANDED.add(node.getCurrentMarkup()));
+      }
     }
   }
 
   @Override
   public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException {
-    UITreeNode node = (UITreeNode) component;
-    AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
+    final UITreeNode node = (UITreeNode) component;
+    final AbstractUITree tree = ComponentUtils.findAncestor(node, AbstractUITree.class);
 
     final boolean folder = node.isFolder();
     final String id = node.getClientId(facesContext);
@@ -132,9 +135,9 @@ public class TreeNodeRenderer extends La
     final boolean root = level == 0;
     final boolean showRoot = ((UITree) tree).isShowRoot();
     // if the root is hidden, the root node must be expanded (otherwise you will see nothing)
-    final boolean expanded = node.isExpanded() || !showRoot && root;
+    final boolean expanded = folder && node.isExpanded() || !showRoot && root;
 
-    TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
+    final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
 
     if (showRoot || !root) {
       writer.startElement(HtmlElements.DIV, null);