Author: akushunin
Date: 2007-09-25 08:59:58 -0400 (Tue, 25 Sep 2007)
New Revision: 3091
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
RF-934
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
---
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-09-25
12:55:10 UTC (rev 3090)
+++
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-09-25
12:59:58 UTC (rev 3091)
@@ -97,14 +97,19 @@
if (submittedValue instanceof Date) {
return (Date) submittedValue;
}
-
- DateTimeConverter converter = new DateTimeConverter();
UICalendar calendar = (UICalendar) component;
- converter.setPattern(calendar.getDatePattern());
- converter.setLocale(calendar.getLocale());
- converter.setTimeZone(calendar.getTimeZone());
- return converter.getAsObject(context, component,
- (String) submittedValue);
+ if (calendar.getConverter() != null) {
+
+ return calendar.getConverter().getAsObject(context, component,
(String)submittedValue);
+
+ } else {
+ DateTimeConverter converter = new DateTimeConverter();
+ converter.setPattern(calendar.getDatePattern());
+ converter.setLocale(calendar.getLocale());
+ converter.setTimeZone(calendar.getTimeZone());
+ return converter.getAsObject(context, component,
+ (String) submittedValue);
+ }
}
protected void doDecode(FacesContext context, UIComponent component) {
@@ -129,16 +134,16 @@
// TODO nick - nick - queue this event when ValueChangeEvent is
// queued?
- new AjaxEvent(component).queue();
-
+ new AjaxEvent(component).queue();
+
}
String selectedDateString = (String) requestParameterMap.get(clientId
+ "InputDate");
- if ( selectedDateString != null) {
+ if (selectedDateString != null) {
((UICalendar) component).setSubmittedValue(selectedDateString);
}
- }
+ }
public void encodeChildren(FacesContext context, UIComponent calendar)
throws IOException {
@@ -156,7 +161,7 @@
UIComponent facet = component.getFacet(facetName);
if (facet != null && facet.isRendered()) {
ResponseWriter writer = context.getResponseWriter();
- writer.writeText(", " + facetName + MARKUP_SUFFIX + ": ", null);
+ writer.writeText(", " + facetName + MARKUP_SUFFIX + ": ", null);
writeMarkupScriptBody(context, facet, false);
}
}
@@ -181,11 +186,12 @@
ajaxFunction.addParameter(JSReference.NULL);
Map options = AjaxRendererUtils.buildEventOptions(context, calendar);
options.put("calendar", JSReference.THIS);
- boolean isSingle =
((Boolean)calendar.getAttributes().get("ajaxSingle")).booleanValue();
- if(isSingle){
+ boolean isSingle = ((Boolean) calendar.getAttributes()
+ .get("ajaxSingle")).booleanValue();
+ if (isSingle) {
options.put("single", JSReference.TRUE);
}
-
+
String oncomplete = AjaxRendererUtils.getAjaxOncomplete(calendar);
JSFunctionDefinition oncompleteDefinition = new JSFunctionDefinition();
oncompleteDefinition.addParameter("request");
@@ -209,16 +215,16 @@
}
public void writeEventHandlerFunction(FacesContext context,
- UIComponent component, String eventName) throws IOException {
+ UIComponent component, String eventName) throws IOException {
ResponseWriter writer = context.getResponseWriter();
Object script = component.getAttributes().get(eventName);
- if (script!=null && !script.equals(""))
- {
+ if (script != null && !script.equals("")) {
JSFunctionDefinition onEventDefinition = new JSFunctionDefinition();
onEventDefinition.addParameter("event");
- onEventDefinition.addToBody(script);
- writer.writeText(",\n" + eventName + ":
"+onEventDefinition.toScript(), null);
+ onEventDefinition.addToBody(script);
+ writer.writeText(",\n" + eventName + ": "
+ + onEventDefinition.toScript(), null);
}
}
@@ -271,8 +277,7 @@
}
}
- private static String[] shiftDates(int minimum,
- int maximum, String[] labels) {
+ private static String[] shiftDates(int minimum, int maximum, String[] labels) {
if (minimum == 0 && (maximum - minimum == labels.length - 1)) {
return labels;
}
@@ -291,17 +296,16 @@
Calendar cal = calendar.getCalendar();
int maximum = cal.getActualMaximum(Calendar.DAY_OF_WEEK);
int minimum = cal.getActualMinimum(Calendar.DAY_OF_WEEK);
-
+
int monthMax = cal.getActualMaximum(Calendar.MONTH);
int monthMin = cal.getActualMinimum(Calendar.MONTH);
-
+
DateFormatSymbols symbols = new DateFormatSymbols(locale);
String[] weekDayLabels = ComponentUtil.asArray(calendar
.getWeekDayLabels());
if (weekDayLabels == null) {
weekDayLabels = symbols.getWeekdays();
- weekDayLabels = shiftDates(minimum, maximum,
- weekDayLabels);
+ weekDayLabels = shiftDates(minimum, maximum, weekDayLabels);
}
String[] weekDayLabelsShort = ComponentUtil.asArray(calendar