Author: nbelaevski
Date: 2008-10-22 14:07:39 -0400 (Wed, 22 Oct 2008)
New Revision: 10873
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
https://jira.jboss.org/jira/browse/RF-4507
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2008-10-22
17:05:30 UTC (rev 10872)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2008-10-22
18:07:39 UTC (rev 10873)
@@ -194,13 +194,19 @@
}
+ public static Map<String, Object> buildEventOptions(FacesContext facesContext,
+ UIComponent component) {
+
+ return buildEventOptions(facesContext, component, null);
+ }
+
/**
* @param facesContext
* @param uiComponent
* @return
*/
public static Map<String, Object> buildEventOptions(FacesContext facesContext,
- UIComponent uiComponent) {
+ UIComponent uiComponent, Map<String, Object> params) {
String clientId = uiComponent.getClientId(facesContext);
Map<String, Object> componentAttributes = uiComponent.getAttributes();
Map<String, Object> options = new HashMap<String, Object>();
@@ -263,6 +269,11 @@
}
}
}
+
+ if (params != null) {
+ parameters.putAll(params);
+ }
+
if (!parameters.isEmpty()) {
options.put("parameters", parameters);
}
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
---
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2008-10-22
17:05:30 UTC (rev 10872)
+++
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2008-10-22
18:07:39 UTC (rev 10873)
@@ -79,6 +79,8 @@
*/
public static final String CURRENT_DATE_INPUT = "InputCurrentDate";
+ public static final String CURRENT_DATE_PRELOAD = "PreloadCurrentDate";
+
protected static final String MARKUP_SUFFIX = "Markup";
public static final String CALENDAR_BUNDLE =
"org.richfaces.renderkit.calendar";
@@ -302,13 +304,14 @@
currentDateString);
ev.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
ev.queue();
+ }
+ if (requestParameterMap.get(clientId + CURRENT_DATE_PRELOAD) != null) {
// TODO nick - nick - queue this event when ValueChangeEvent is
// queued?
new AjaxEvent(component).queue();
-
}
-
+
String selectedDateString = (String) requestParameterMap.get(clientId
+ "InputDate");
if (selectedDateString != null) {
@@ -447,7 +450,11 @@
JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(calendar,
context, AjaxRendererUtils.AJAX_FUNCTION_NAME);
ajaxFunction.addParameter(JSReference.NULL);
- Map<String, Object> options = AjaxRendererUtils.buildEventOptions(context,
calendar);
+
+ HashMap<String, Object> params = new HashMap<String, Object>();
+ params.put(calendar.getClientId(context) + CURRENT_DATE_PRELOAD, Boolean.TRUE);
+
+ Map<String, Object> options = AjaxRendererUtils.buildEventOptions(context,
calendar, params);
options.put("calendar", JSReference.THIS);
boolean isSingle = ((Boolean) calendar.getAttributes()
.get("ajaxSingle")).booleanValue();