You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2005/07/24 13:55:10 UTC

svn commit: r224611 - /myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java

Author: baranda
Date: Sun Jul 24 04:54:56 2005
New Revision: 224611

URL: http://svn.apache.org/viewcvs?rev=224611&view=rev
Log:
Now the inputCalendar can be disabled/readonly. Fixes MYFACES-339

Modified:
    myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java

Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java?rev=224611&r1=224610&r2=224611&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java Sun Jul 24 04:54:56 2005
@@ -127,6 +127,8 @@
                 inputText.setValue(getConverter(inputCalendar).getAsString(
                         facesContext,inputCalendar,value));
             }
+            inputText.setDisabled(inputCalendar.isDisabled());
+            inputText.setReadonly(inputCalendar.isReadonly());
             inputText.setEnabledOnUserRole(inputCalendar.getEnabledOnUserRole());
             inputText.setVisibleOnUserRole(inputCalendar.getVisibleOnUserRole());
 
@@ -144,23 +146,26 @@
             //Set back the correct id to the input calendar
             inputCalendar.setId(inputText.getId());
 
-            ResponseWriter writer = facesContext.getResponseWriter();
-
-            writer.startElement(HTML.SCRIPT_ELEM,null);
-            writer.writeAttribute(HTML.SCRIPT_TYPE_ATTR,HTML.SCRIPT_TYPE_TEXT_JAVASCRIPT,null);
-            writer.write("<!--\n");
-            writer.writeText(getLocalizedLanguageScript(symbols, months,
-                    timeKeeper.getFirstDayOfWeek(),inputCalendar),null);
-            writer.writeText(getScriptBtnText(inputCalendar.getClientId(facesContext),
-                    dateFormat,inputCalendar.getPopupButtonString()),null);
-            writer.write("\n-->");
-            writer.endElement(HTML.SCRIPT_ELEM);
-
-/*            writer.startElement(HTML.INPUT_ELEM,null);
-            writer.writeAttribute(HTML.TYPE_ATTR,HTML.INPUT_TYPE_BUTTON,null);
-            writer.writeAttribute(HTML.ONCLICK_ATTR,"popUpCalendar(this, "+inputText.getClientId(facesContext)+
-                    ", \\\"dd.mm.yyyy\\\")",null);
-            writer.endElement(HTML.INPUT_TYPE_BUTTON);*/
+            if (!inputCalendar.isDisabled())
+            {
+	            ResponseWriter writer = facesContext.getResponseWriter();
+	
+	            writer.startElement(HTML.SCRIPT_ELEM,null);
+	            writer.writeAttribute(HTML.SCRIPT_TYPE_ATTR,HTML.SCRIPT_TYPE_TEXT_JAVASCRIPT,null);
+	            writer.write("<!--\n");
+	            writer.writeText(getLocalizedLanguageScript(symbols, months,
+	                    timeKeeper.getFirstDayOfWeek(),inputCalendar),null);
+	            writer.writeText(getScriptBtnText(inputCalendar.getClientId(facesContext),
+	                    dateFormat,inputCalendar.getPopupButtonString()),null);
+	            writer.write("\n-->");
+	            writer.endElement(HTML.SCRIPT_ELEM);
+	
+	/*            writer.startElement(HTML.INPUT_ELEM,null);
+	            writer.writeAttribute(HTML.TYPE_ATTR,HTML.INPUT_TYPE_BUTTON,null);
+	            writer.writeAttribute(HTML.ONCLICK_ATTR,"popUpCalendar(this, "+inputText.getClientId(facesContext)+
+	                    ", \\\"dd.mm.yyyy\\\")",null);
+	            writer.endElement(HTML.INPUT_TYPE_BUTTON);*/
+            }
         }
         else
         {
@@ -519,11 +524,21 @@
         parameter.setName(component.getClientId(facesContext));
         parameter.setValue(converter.getAsString(facesContext, component, valueForLink));
 
-        component.getChildren().add(link);
-        link.getChildren().add(parameter);
-        link.getChildren().add(text);
-
-        RendererUtils.renderChild(facesContext, link);
+        HtmlInputCalendar calendar = (HtmlInputCalendar)component;
+        if (calendar.isDisabled() || calendar.isReadonly()) 
+        {
+        	component.getChildren().add(text);
+        	
+        	RendererUtils.renderChild(facesContext, text);
+        } 
+        else 
+        {
+        	component.getChildren().add(link);
+            link.getChildren().add(parameter);
+            link.getChildren().add(text);
+            
+            RendererUtils.renderChild(facesContext, link);
+        }
     }
 
     private Converter getConverter(UIInput component)