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)