[richfaces-svn-commits] JBoss Rich Faces SVN: r3100 - in branches/3.1.x/ui/calendar/src/main: templates/org/richfaces and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Tue Sep 25 09:58:19 EDT 2007


Author: akushunin
Date: 2007-09-25 09:58:18 -0400 (Tue, 25 Sep 2007)
New Revision: 3100

Modified:
   branches/3.1.x/ui/calendar/src/main/java/org/richfaces/component/UICalendar.java
   branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
Log:
RF-955
RF-979

Modified: branches/3.1.x/ui/calendar/src/main/java/org/richfaces/component/UICalendar.java
===================================================================
--- branches/3.1.x/ui/calendar/src/main/java/org/richfaces/component/UICalendar.java	2007-09-25 13:53:44 UTC (rev 3099)
+++ branches/3.1.x/ui/calendar/src/main/java/org/richfaces/component/UICalendar.java	2007-09-25 13:58:18 UTC (rev 3100)
@@ -38,12 +38,15 @@
 import javax.faces.el.MethodBinding;
 import javax.faces.el.ValueBinding;
 import javax.faces.event.AbortProcessingException;
+import javax.faces.event.ActionEvent;
 import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
 import javax.faces.event.ValueChangeEvent;
 
 import org.ajax4jsf.component.AjaxComponent;
 import org.ajax4jsf.context.AjaxContext;
 import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.event.AjaxSingleEvent;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.richfaces.event.CurrentDateChangeEvent;
@@ -63,13 +66,13 @@
 	public static final String COMPONENT_TYPE = "org.richfaces.Calendar";
 
 	private static final String COMPONENT_FAMILY = "org.richfaces.Calendar";
-	
+
 	public static final String AJAX_MODE = "ajax";
-	
-    public static final String CLIENT_MODE = "client";
-    
+
+	public static final String CLIENT_MODE = "client";
+
 	private final static Log log = LogFactory.getLog(UICalendar.class);
-	
+
 	public abstract Locale getLocale();
 
 	public abstract void setLocale(Locale locale);
@@ -125,7 +128,7 @@
 	public abstract boolean isPopup();
 
 	public abstract void setPopup(boolean popup);
-	
+
 	public abstract boolean isDisabled();
 
 	public abstract void setDisabled(boolean disabled);
@@ -137,22 +140,30 @@
 	public abstract String getToolTipMode();
 
 	public abstract void setToolTipMode(String toolTipMode);
-			
+
 	public abstract String getBoundaryDatesMode();
 
 	public abstract void setBoundaryDatesMode(String boundaryDatesMode);
-	
+
 	public abstract MethodBinding getCurrentDateChangeListener();
 
-	public abstract void setCurrentDateChangeListener(MethodBinding scrollerListener);
-	
+	public abstract void setCurrentDateChangeListener(
+			MethodBinding scrollerListener);
+
 	public abstract String getMode();
 
 	public abstract void setMode(String mode);
-	
-		
-	//TODO onclick add users onclick
 
+	public abstract int getVerticalOffset();
+
+	public abstract void setVerticalOffset(int verticalOffset);
+
+	public abstract int getHorizontalOffset();
+
+	public abstract void setHorizontalOffset(int horizontalOffset);
+
+	// TODO onclick add users onclick
+
 	// currentDate processing -------------------------------------------------
 
 	public Calendar getCalendar() {
@@ -194,12 +205,13 @@
 			} else {
 				setCurrentDate(currentDate);
 			}
-			
+
 		} catch (Exception e) {
 			setValid(false);
-			//XXX nick - kaa - add log.debug(...)
+			// XXX nick - kaa - add log.debug(...)
 			if (log.isDebugEnabled()) {
-				log.debug(" updateCurrentDate method throws exception: "+e.toString(),e);
+				log.debug(" updateCurrentDate method throws exception: "
+						+ e.toString(), e);
 			}
 			e.printStackTrace();
 			String messageString = e.toString();
@@ -278,14 +290,16 @@
 		calendar.clear();
 		calendar.set(Calendar.DATE, 1);
 		int idx = currentDateString.indexOf('/');
-		if (idx != -1){
-		calendar.set(Calendar.MONTH, Integer.parseInt(currentDateString
-				.substring(0, idx)) - 1);
-		calendar.set(Calendar.YEAR, Integer.parseInt(currentDateString
-				.substring(idx + 1)));
+		if (idx != -1) {
+			calendar.set(Calendar.MONTH, Integer.parseInt(currentDateString
+					.substring(0, idx)) - 1);
+			calendar.set(Calendar.YEAR, Integer.parseInt(currentDateString
+					.substring(idx + 1)));
 
-		return calendar.getTime();
-		}else {return null;}
+			return calendar.getTime();
+		} else {
+			return null;
+		}
 
 	}
 
@@ -296,7 +310,9 @@
 			AjaxContext ajaxContext = AjaxContext
 					.getCurrentInstance(facesContext);
 			ajaxContext.addRegionsFromComponent(this);
-			if(getPreload()!=null){ajaxContext.setResponseData(getPreload());}			
+			if (getPreload() != null) {
+				ajaxContext.setResponseData(getPreload());
+			}
 		} else {
 			if (event instanceof CurrentDateChangeEvent) {
 				FacesContext facesContext = FacesContext.getCurrentInstance();
@@ -316,36 +332,40 @@
 						// method
 						// for more
 
-						//XX nick - kaa - throw exception and review resulting message :)
-											
+						// XX nick - kaa - throw exception and review resulting
+						// message :)
+
 						Date currentDate = convertCurrentDate(currentDateString);
 						CurrentDateChangeEvent newDateChangeEvent = new CurrentDateChangeEvent(
 								this, currentDate);
 						newDateChangeEvent.queue();
 						MethodBinding binding = getCurrentDateChangeListener();
-						
-						if(binding!=null){
-							
-							 binding.invoke(facesContext, new Object[]{event});
+
+						if (binding != null) {
+
+							binding
+									.invoke(facesContext,
+											new Object[] { event });
 						}
-						
-												
-						
- 					} catch (Exception e) {
+
+					} catch (Exception e) {
 						// XXX nick - kaa - add log.debug(...)
 						// XXX nick - kaa - we should stop processing on exc.
 						// setValid(false) and then call
 						// FacesContext.renderResponse(...)
 						// update model phase shouldn't start
 						if (log.isDebugEnabled()) {
-							log.debug(" currentDate convertion fails with following exception: "+e.toString(),e);
+							log.debug(
+									" currentDate convertion fails with following exception: "
+											+ e.toString(), e);
 						}
 						setValid(false);
 						String messageString = e.toString();
 						e.printStackTrace();
-						FacesMessage message = new FacesMessage(messageString);						
+						FacesMessage message = new FacesMessage(messageString);
 						message.setSeverity(FacesMessage.SEVERITY_ERROR);
-						facesContext.addMessage(getClientId(facesContext),message);						
+						facesContext.addMessage(getClientId(facesContext),
+								message);
 						facesContext.renderResponse();
 					}
 
@@ -380,8 +400,7 @@
 				HashMap args = new HashMap();
 				args.put("startDate", CalendarRendererBase
 						.formatDate(preloadDateRange[0]));
-				args
-						.put("days", calendarDataModelItems);
+				args.put("days", calendarDataModelItems);
 				return args;
 			}
 		}
@@ -392,37 +411,37 @@
 	public Date[] getPreloadDateRange() {
 		Date dateRangeBegin = this.getPreloadDateRangeBegin();
 		Date dateRangeEnd = this.getPreloadDateRangeEnd();
-		
-		if(dateRangeBegin==null&&dateRangeEnd==null){
+
+		if (dateRangeBegin == null && dateRangeEnd == null) {
 			return null;
-		}
-		else{
-		if (dateRangeBegin.after(dateRangeEnd)) {
-			// XXX add message
-			FacesMessage message = new FacesMessage("preloadDateRangeBegin is greater than preloadDateRangeEnd");
-			message.setSeverity(FacesMessage.SEVERITY_ERROR);
-			FacesContext context = FacesContext.getCurrentInstance();
-			context.addMessage(getClientId(context), message);
-			throw new IllegalArgumentException();
-		}
+		} else {
+			if (dateRangeBegin.after(dateRangeEnd)) {
+				// XXX add message
+				FacesMessage message = new FacesMessage(
+						"preloadDateRangeBegin is greater than preloadDateRangeEnd");
+				message.setSeverity(FacesMessage.SEVERITY_ERROR);
+				FacesContext context = FacesContext.getCurrentInstance();
+				context.addMessage(getClientId(context), message);
+				throw new IllegalArgumentException();
+			}
 
-		List dates = new ArrayList();
+			List dates = new ArrayList();
 
-		Calendar calendar = Calendar.getInstance(this.getTimeZone(), this
-				.getLocale());
-		Calendar calendar2 = (Calendar) calendar.clone();
-		calendar.setTime(dateRangeBegin);
-		calendar2.setTime(dateRangeEnd);
+			Calendar calendar = Calendar.getInstance(this.getTimeZone(), this
+					.getLocale());
+			Calendar calendar2 = (Calendar) calendar.clone();
+			calendar.setTime(dateRangeBegin);
+			calendar2.setTime(dateRangeEnd);
 
-		do {
-			dates.add(calendar.getTime());
-			calendar.add(Calendar.DATE, 1);
-		} while (!calendar.after(calendar2));
+			do {
+				dates.add(calendar.getTime());
+				calendar.add(Calendar.DATE, 1);
+			} while (!calendar.after(calendar2));
 
-		return (Date[]) dates.toArray(new Date[dates.size()]);
+			return (Date[]) dates.toArray(new Date[dates.size()]);
+		}
 	}
-	}
-	
+
 	public void addCurrentDateChangeListener(CurrentDateChangeListener listener) {
 		addFacesListener(listener);
 	}
@@ -431,8 +450,10 @@
 		return (CurrentDateChangeListener[]) getFacesListeners(CurrentDateChangeListener.class);
 	}
 
-	public void removeCurrentDateChangeListener(CurrentDateChangeListener listener) {
+	public void removeCurrentDateChangeListener(
+			CurrentDateChangeListener listener) {
 		removeFacesListener(listener);
-	}	
-	
+	}
+
+
 }

Modified: branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx	2007-09-25 13:53:44 UTC (rev 3099)
+++ branches/3.1.x/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx	2007-09-25 13:58:18 UTC (rev 3100)
@@ -15,15 +15,23 @@
 
 	<div id="#{clientId}"
 		style="z-index: #{component.attributes['zindex']}; #{component.attributes['style']}"
-		class="#{component.attributes['styleClass']}"
+		class="rich-calendar-popup #{component.attributes['styleClass']}"
 		x:passThruWithExclusions="value,name,type,id,styleClass,class,style">
 		<script
 		type="text/javascript">
 			new Calendar('#{clientId}', {
-				submitFunction: 
-					<jsp:scriptlet>/*<![CDATA[*/
-						writeSubmitFunction(context, component);
-					/*]]>*/</jsp:scriptlet>,
+			
+				<jsp:scriptlet>/*<![CDATA[*/
+						String mode = (String) component.getAttributes().get("mode");
+						if(org.richfaces.component.UICalendar.AJAX_MODE.equals(mode)){
+				/*]]>*/</jsp:scriptlet>
+				
+				submitFunction: <jsp:scriptlet>/*<![CDATA[*/writeSubmitFunction(context, component);/*]]>*/</jsp:scriptlet>,
+				
+				<jsp:scriptlet>/*<![CDATA[*/
+						}
+				/*]]>*/</jsp:scriptlet>
+			
 				dayListTableId: '#{clientId}Day', 
 				weekNumberBarId: '#{clientId}WeekNum', 
 				weekDayBarId: '#{clientId}WeekDay',
@@ -38,6 +46,9 @@
 				enableManualInput: #{component.attributes['enableManualInput']},
 				showInput: #{component.attributes['showInput']},
 				disabled: #{component.disabled},
+				ajaxSingle: #{component.attributes['ajaxSingle']},
+				verticalOffset:'#{component.verticalOffset}',
+				horizontalOffset: '#{component.horizontalOffset}',
 				<f:call name="writeSymbols" />,
 				firstWeekDay: #{this:getFirstWeekDay(context, component)}, 
 				minDaysInFirstWeek: #{this:getMinDaysInFirstWeek(context, component)}




More information about the richfaces-svn-commits mailing list