You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2008/08/05 22:41:46 UTC
svn commit: r682939 -
/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
Author: matzew
Date: Tue Aug 5 13:41:45 2008
New Revision: 682939
URL: http://svn.apache.org/viewvc?rev=682939&view=rev
Log:
TRINIDAD-1010 - Nested elements like tr:icon are not rendered in a commandNavigationItem if it is in a navigationPane
thx to Sven Rottstock for his patch
Modified:
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java?rev=682939&r1=682938&r2=682939&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java Tue Aug 5 13:41:45 2008
@@ -40,6 +40,7 @@
import org.apache.myfaces.trinidad.component.core.nav.CoreNavigationPane;
import org.apache.myfaces.trinidad.context.Agent;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
+import org.apache.myfaces.trinidad.render.RenderUtils;
import org.apache.myfaces.trinidadinternal.agent.TrinidadAgent;
import org.apache.myfaces.trinidad.context.RenderingContext;
@@ -578,6 +579,28 @@
renderEncodedResourceURI(context, "src", resolvedIconUri);
rw.endElement("img");
}
+
+ @SuppressWarnings("unchecked")
+ private void _renderCommandChildren(
+ FacesContext context,
+ UIXCommand uiComp) throws IOException
+ {
+ for(UIComponent child : (List<UIComponent>)uiComp.getChildren())
+ {
+ RenderUtils.encodeRecursive(context, child);
+ }
+ }
+
+ private void _renderText(
+ ResponseWriter rw,
+ Map<String, Object> itemData) throws IOException
+ {
+ String text = toString(itemData.get("text"));
+ if(text != null)
+ {
+ rw.write(text);
+ }
+ }
private void _writeItemLink(
FacesContext context,
@@ -587,13 +610,14 @@
boolean isDisabled
) throws IOException
{
+ UIXCommand commandChild = (UIXCommand)itemData.get("component");
if (isDisabled)
{
- rw.write(toString(itemData.get("text")));
+ _renderText(rw, itemData);
+ _renderCommandChildren(context, commandChild);
return;
}
- UIXCommand commandChild = (UIXCommand)itemData.get("component");
String destination = toString(itemData.get("destination"));
boolean immediate = false;
boolean partialSubmit = false;
@@ -658,7 +682,8 @@
{
rw.writeAttribute("accessKey", accessKey, null);
}
- rw.write(toString(itemData.get("text")));
+ _renderText(rw, itemData);
+ _renderCommandChildren(context, commandChild);
rw.endElement("a"); // linkElement
if (destination == null)
@@ -1064,7 +1089,7 @@
}
}
- rw.write(toString(itemData.get("text")));
+ _renderText(rw, itemData);
rw.endElement("option");
}
}