You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/06/22 18:24:33 UTC

svn commit: r1138538 - in /myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html: HtmlCheckboxRendererBase.java HtmlMessagesRendererBase.java HtmlRadioRendererBase.java

Author: lu4242
Date: Wed Jun 22 16:24:32 2011
New Revision: 1138538

URL: http://svn.apache.org/viewvc?rev=1138538&view=rev
Log:
MYFACES-3184 h:selectOneRadio cannot support f:ajax if @id not set

Modified:
    myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
    myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
    myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java

Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java?rev=1138538&r1=1138537&r2=1138538&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java Wed Jun 22 16:24:32 2011
@@ -109,7 +109,20 @@ public class HtmlCheckboxRendererBase ex
         HtmlRendererUtils.renderHTMLAttributes(writer, selectMany,
                 HTML.SELECT_TABLE_PASSTHROUGH_ATTRIBUTES);
         
-        HtmlRendererUtils.writeIdIfNecessary(writer, selectMany, facesContext);
+        Map<String, List<ClientBehavior>> behaviors = null;
+        if (selectMany instanceof ClientBehaviorHolder)
+        {
+            behaviors = ((ClientBehaviorHolder) selectMany).getClientBehaviors();
+        }
+        
+        if (behaviors != null && !behaviors.isEmpty())
+        {
+            writer.writeAttribute(HTML.ID_ATTR, selectMany.getClientId(facesContext), null);
+        }
+        else
+        {
+            HtmlRendererUtils.writeIdIfNecessary(writer, selectMany, facesContext);
+        }        
 
         if (!pageDirectionLayout)
             writer.startElement(HTML.TR_ELEM, selectMany);

Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java?rev=1138538&r1=1138537&r2=1138538&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java Wed Jun 22 16:24:32 2011
@@ -20,6 +20,7 @@ package org.apache.myfaces.shared.render
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.logging.Level;
@@ -29,6 +30,8 @@ import javax.faces.application.FacesMess
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIMessages;
 import javax.faces.component.UIViewRoot;
+import javax.faces.component.behavior.ClientBehavior;
+import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.component.html.HtmlMessages;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
@@ -147,7 +150,21 @@ public abstract class HtmlMessagesRender
         ResponseWriter writer = facesContext.getResponseWriter();
 
         writer.startElement(HTML.UL_ELEM, messages);
-        HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+
+        Map<String, List<ClientBehavior>> behaviors = null;
+        if (messages instanceof ClientBehaviorHolder)
+        {
+            behaviors = ((ClientBehaviorHolder) messages).getClientBehaviors();
+        }
+        
+        if (behaviors != null && !behaviors.isEmpty())
+        {
+            writer.writeAttribute(HTML.ID_ATTR, messages.getClientId(facesContext), null);
+        }
+        else
+        {
+            HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+        }         
         HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
 
         HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR, getComponentStyle(messages));
@@ -185,7 +202,21 @@ public abstract class HtmlMessagesRender
         ResponseWriter writer = facesContext.getResponseWriter();
 
         writer.startElement(HTML.TABLE_ELEM, messages);
-        HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+        
+        Map<String, List<ClientBehavior>> behaviors = null;
+        if (messages instanceof ClientBehaviorHolder)
+        {
+            behaviors = ((ClientBehaviorHolder) messages).getClientBehaviors();
+        }
+        
+        if (behaviors != null && !behaviors.isEmpty())
+        {
+            writer.writeAttribute(HTML.ID_ATTR, messages.getClientId(facesContext), null);
+        }
+        else
+        {
+            HtmlRendererUtils.writeIdIfNecessary(writer, messages, facesContext);
+        }         
         HtmlRendererUtils.renderHTMLAttributes(writer, messages, HTML.UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
         
         HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR, getComponentStyle(messages));

Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java?rev=1138538&r1=1138537&r2=1138538&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java Wed Jun 22 16:24:32 2011
@@ -99,7 +99,15 @@ public class HtmlRadioRendererBase
         writer.startElement(HTML.TABLE_ELEM, selectOne);
         HtmlRendererUtils.renderHTMLAttributes(writer, selectOne,
                                                HTML.SELECT_TABLE_PASSTHROUGH_ATTRIBUTES);
-        HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext); 
+        
+        if (behaviors != null && !behaviors.isEmpty())
+        {
+            writer.writeAttribute(HTML.ID_ATTR, selectOne.getClientId(facesContext), null);
+        }
+        else
+        {
+            HtmlRendererUtils.writeIdIfNecessary(writer, selectOne, facesContext); 
+        }        
 
         if (!pageDirectionLayout) writer.startElement(HTML.TR_ELEM, selectOne);