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 2008/08/28 21:45:00 UTC

svn commit: r689951 - in /myfaces/tomahawk/trunk: core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java examples/simple/src/main/webapp/selectOneRow.jsp

Author: lu4242
Date: Thu Aug 28 12:45:00 2008
New Revision: 689951

URL: http://svn.apache.org/viewvc?rev=689951&view=rev
Log:
TOMAHAWK-982 SelectOneRow missing disabled and readonly attributes as described in TLD

Modified:
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java
    myfaces/tomahawk/trunk/examples/simple/src/main/webapp/selectOneRow.jsp

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java?rev=689951&r1=689950&r2=689951&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/selectOneRow/SelectOneRowRenderer.java Thu Aug 28 12:45:00 2008
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.custom.selectOneRow;
 
+import org.apache.myfaces.shared_tomahawk.config.MyfacesConfig;
 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRenderer;
 import org.apache.myfaces.shared_tomahawk.renderkit.html.HTML;
 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils;
@@ -54,9 +55,11 @@
             writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_RADIO, null);
             writer.writeAttribute(HTML.NAME_ATTR, row.getGroupName(), null);
 
-            // todo: disabled Attribute
-            //writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
-
+            if (isDisabled(facesContext, row))
+            {
+                writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
+            }
+            
             writer.writeAttribute(HTML.ID_ATTR, clientId, null);
 
             if (isRowSelected(row))
@@ -73,6 +76,22 @@
             writer.endElement(HTML.INPUT_ELEM);
         }
     }
+    
+    /**
+     * Check if the component is disabled or not, taking into account
+     * the config init param org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS 
+     */
+    protected boolean isDisabled(FacesContext facesContext, SelectOneRow row)
+    {
+        boolean disabled = row.isDisabled();
+        boolean readonly = row.isReadonly();
+        if (!disabled && readonly)
+        {
+            disabled = MyfacesConfig.getCurrentInstance(facesContext
+                            .getExternalContext()).isReadonlyAsDisabledForSelect();
+        }
+        return disabled;        
+    }
 
     private boolean isRowSelected(UIComponent component)
     {

Modified: myfaces/tomahawk/trunk/examples/simple/src/main/webapp/selectOneRow.jsp
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/examples/simple/src/main/webapp/selectOneRow.jsp?rev=689951&r1=689950&r2=689951&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/webapp/selectOneRow.jsp (original)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/webapp/selectOneRow.jsp Thu Aug 28 12:45:00 2008
@@ -33,6 +33,7 @@
 
     <h:form>
 
+    <f:loadBundle basename="org.apache.myfaces.examples.resource.example_messages" var="example_messages"/>
 
     <h:panelGroup id="body">