[richfaces-svn-commits] JBoss Rich Faces SVN: r4925 - in trunk/ui/calendar/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Dec 19 11:06:59 EST 2007


Author: pyaschenko
Date: 2007-12-19 11:06:59 -0500 (Wed, 19 Dec 2007)
New Revision: 4925

Modified:
   trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
   trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
Log:
RF-1671

Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2007-12-19 15:32:07 UTC (rev 4924)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2007-12-19 16:06:59 UTC (rev 4925)
@@ -575,7 +575,7 @@
 				writer.writeText("close:'"+closeLabel+"'", null);
 			} catch (MissingResourceException e) {
 				// Current key wasn't found in bundle, use default
-				writer.writeText("close:'X'", null);
+				writer.writeText("close:'x'", null);
 			}			
 			
 		}else{

Modified: trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
--- trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js	2007-12-19 15:32:07 UTC (rev 4924)
+++ trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js	2007-12-19 16:06:59 UTC (rev 4925)
@@ -366,7 +366,7 @@
 			if (ch=='d') {d=counter; counter++; return '(\\d{2})'};
 		}
 	);
-		
+
 	var re = new RegExp(pattern,'i');
 	var match = dateString.match(re);
 	if (match!=null)
@@ -403,41 +403,42 @@
 Richfaces.Calendar.formatDate = function(date, pattern, monthNames, monthNamesShort) {
 	if (!monthNames) monthNames = Richfaces.Calendar.getDefaultMonthNames();
 	if (!monthNamesShort) monthNamesShort = Richfaces.Calendar.getDefaultMonthNames(true);
-	var mm; var dd; var hh;
-    var result = pattern.replace(/(^|[^\\yMdHhm])(y+|M+|d+|a|H{1,2}|h{1,2}|m{2})/g,
+	var mm; var dd; var hh; var min;
+    var result = pattern.replace(/(\\\\|\\[yMdaHhm])|(y+|M+|d+|a|H{1,2}|h{1,2}|m{2})/g,
         function($1,$2,$3) {
+        	if ($2.length!=0) return $2.charAt(1);
 			switch ($3) {
 	            case 'y':
-	            case 'yy':  return $2+date.getYear().toString().slice(-2);
-	            case 'M':   return $2+(date.getMonth()+1);
-	            case 'MM':  return $2+((mm = date.getMonth()+1)<10 ? '0'+mm : mm);
-	            case 'MMM': return $2+monthNamesShort[date.getMonth()];
-		        case 'd':   return $2+date.getDate();
-	            case 'a'  : return $2+(date.getHours()<12 ? 'AM' : 'PM');
-	            case 'HH' : return $2+((hh = date.getHours())<10 ? '0'+hh : hh);
-	            case 'H'  : return $2+date.getHours();
-	            case 'hh' : return $2+((hh = date.getHours())==0 ? '12' : (hh<10 ? '0'+hh : (hh>12 ? hh-12 : hh)));
-	            case 'h'  : return $2+((hh = date.getHours())==0 ? '12' : (hh>12 ? hh-12 : hh));
-	            case 'mm' : return $2+((min = date.getMinutes())<10 ? '0'+min : min);
+	            case 'yy':  return date.getYear().toString().slice(-2);
+	            case 'M':   return (date.getMonth()+1);
+	            case 'MM':  return ((mm = date.getMonth()+1)<10 ? '0'+mm : mm);
+	            case 'MMM': return monthNamesShort[date.getMonth()];
+		        case 'd':   return date.getDate();
+	            case 'a'  : return (date.getHours()<12 ? 'AM' : 'PM');
+	            case 'HH' : return ((hh = date.getHours())<10 ? '0'+hh : hh);
+	            case 'H'  : return date.getHours();
+	            case 'hh' : return ((hh = date.getHours())==0 ? '12' : (hh<10 ? '0'+hh : (hh>12 ? hh-12 : hh)));
+	            case 'h'  : return ((hh = date.getHours())==0 ? '12' : (hh>12 ? hh-12 : hh));
+	            case 'mm' : return ((min = date.getMinutes())<10 ? '0'+min : min);
 			}
 	        // y+,M+,d+
 			var ch = $3.charAt(0);
-			if (ch=='y') return $2+date.getFullYear();
-			if (ch=='M') return $2+monthNames[date.getMonth()];
-			if (ch=='d') return $2+((dd = date.getDate())<10 ? '0'+dd : dd);
+			if (ch=='y') return date.getFullYear();
+			if (ch=='M') return monthNames[date.getMonth()];
+			if (ch=='d') return ((dd = date.getDate())<10 ? '0'+dd : dd);
 		}
 	);
-	return Richfaces.Calendar.unescape(result);
+	return result;
 };
 
 Richfaces.Calendar.escape = function (str)
 {
-	return str.replace(/([yMdaHhm])/g,"\\$1");
+	return str.replace(/([yMdaHhm\\])/g,"\\$1");
 };
 	
 Richfaces.Calendar.unescape = function (str)
 {
-	return str.replace(/\\([yMdaHhm])/g,"$1");
+	return str.replace(/\\([yMdaHhm\\])/g,"$1");
 };	
 
 
@@ -820,10 +821,11 @@
 
 		var dateTimePattern = this.params.datePattern;
 		var pattern = [];
-		var re = /(^|[^\\yMdHhm])(y+|M+|d+|a|H{1,2}|h{1,2}|m{2})/g;
+		var re = /(\\\\|\\[yMdaHhm])|(y+|M+|d+|a|H{1,2}|h{1,2}|m{2})/g;
 		var r;
 		while (r = re.exec(dateTimePattern))
-  			pattern.push({str:r[0],marker:r[2],pref:r[1],idx:r.index});
+			if (!r[1])
+  				pattern.push({str:r[0],marker:r[2],idx:r.index});
   		
   		var datePattern = "";
   		var timePattern = "";
@@ -870,20 +872,21 @@
 
   		var calendar = this;
   		
-		this.timePatternHtml = timePattern.replace(/(^|[^\\Hhm])(H{1,2}|h{1,2}|m{2}|a)/g,
+		this.timePatternHtml = timePattern.replace(/(\\\\|\\[yMdaHhm])|(H{1,2}|h{1,2}|m{2}|a)/g,
 			function($1,$2,$3) {
+				if ($2.length!=0) return $2.charAt(1);
 				switch ($3) {
-		            case 'a'  : return ($2 ? '<td>'+$2+'</td>' : '')+'<td>'+calendar.createSpinnerTable(id+'TimeSign')+'</td>';//'<input class="rich-calendar-time-input" id="'+id+'TimeSign"/>';
+		            case 'a'  : return '</td><td>'+calendar.createSpinnerTable(id+'TimeSign')+'</td><td>';
 		            case 'H'  :
 		            case 'HH' :
 		            case 'h'  :
-		            case 'hh' : return ($2 ? '<td>'+$2+'</td>' : '')+'<td>'+calendar.createSpinnerTable(id+'TimeHours')+'</td>';//'<input class="rich-calendar-time-input" id="'+id+'TimeHours"/>';
-		            case 'mm' : return ($2 ? '<td>'+$2+'</td>' : '')+'<td>'+calendar.createSpinnerTable(id+'TimeMinutes')+'</td>';//'<input class="rich-calendar-time-input" id="'+id+'TimeMinutes"/>';
+		            case 'hh' : return '</td><td>'+calendar.createSpinnerTable(id+'TimeHours')+'</td><td>';
+		            case 'mm' : return '</td><td>'+calendar.createSpinnerTable(id+'TimeMinutes')+'</td><td>';
 				}
 			}
 		);
 		
-		this.timePatternHtml = '<table><tbody><tr>'+this.timePatternHtml+'</tr></tbody></table>';
+		this.timePatternHtml = '<table border="0" cellpadding="0"><tbody><tr><td>'+this.timePatternHtml+'</td></tr></tbody></table>';
   		
 		if (m && h)
 		{




More information about the richfaces-svn-commits mailing list