You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2008/10/29 14:01:42 UTC
svn commit: r708898 -
/myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js
Author: lofwyr
Date: Wed Oct 29 06:01:42 2008
New Revision: 708898
URL: http://svn.apache.org/viewvc?rev=708898&view=rev
Log:
TOBAGO-712 Datepicker writes NaN.NaN.0NaN to input field
* fix the recompute method: if the month is January and and the day is <= 0 the recompuation was corrupt
TOBAGO-717 DatePicker: Stepping a month forward/backward results in a two-month-step, if the expected month has less days than the origin
* reset date to a lower date, which is allowed (e.g. the date is Febuary 30 set it to 28 or 29)
Modified:
myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js?rev=708898&r1=708897&r2=708898&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/calendar.js Wed Oct 29 06:01:42 2008
@@ -73,21 +73,14 @@
return document.getElementById(id + ":monthNames").value.split(',')[month-1];
}
-function initCalendarDataX(id, year, month, day) {
+function initCalendarData(id, year, month, day) {
document.getElementById(id + ":day").value = day;
document.getElementById(id + ":month").value = month;
document.getElementById(id + ":year").value = year;
recalculateValues(id);
}
-function initCalendarData(id, month, year) {
- document.getElementById(id + ":month").value = month;
- document.getElementById(id + ":year").value = year;
- recalculateValues(id);
-}
-
function addMonth(id, monthDelta) {
- var calendar = document.getElementById(id);
var yearDelta = 0;
if (monthDelta > 0) {
yearDelta = Math.floor(monthDelta / 12);
@@ -98,6 +91,7 @@
}
var year = parseInt(document.getElementById(id + ":year").value, 10) + yearDelta;
var month = parseInt(document.getElementById(id + ":month").value, 10) + monthDelta;
+ var day = parseInt(document.getElementById(id + ":day").value);
if (month < 1) {
month = 12;
--year;
@@ -105,7 +99,10 @@
month = 1;
++year;
}
- initCalendarData(id, month, year);
+ if (day > Calendar.getMonthLength(month, year)) {
+ day = Calendar.getMonthLength(month, year);
+ }
+ initCalendarData(id, year, month, day);
initCalendar(id);
}
@@ -114,29 +111,31 @@
var month = parseInt(document.getElementById(id + ":month").value);
var year = parseInt(document.getElementById(id + ":year").value);
// alert("before " + day + "." + month + "." + year);
+
if (month < 1) {
- month = 12;
+ month += 12;
--year;
} else if (month > 12) {
- month = 1;
+ month -= 12;
++year;
}
if (day < 1) {
--month;
+ if (month < 1) {
+ month += 12;
+ --year;
+ }
day += Calendar.getMonthLength(month, year);
} else if (day > Calendar.getMonthLength(month, year)) {
day -= Calendar.getMonthLength(month, year);
++month;
+ if (month > 12) {
+ month -= 12;
+ ++year;
+ }
}
- if (month < 1) {
- month = 12;
- --year;
- } else if (month > 12) {
- month = 1;
- ++year;
- }
// alert("after " + day + "." + month + "." + year);
document.getElementById(id + ":day").value = day;
@@ -150,13 +149,7 @@
var year = document.getElementById(id + ":year").value;
var firstDayOfWeek = getFirstDayOfWeek(id);
var firstDayOffset = Calendar.firstDayOffset(month, year, firstDayOfWeek);
- initCalendarX(id, year, month, row * 7 + column - firstDayOffset + 1);
- initCalendar(id);
-}
-
-function initCalendarX(id, year, month, day) {
-// alert(id + " " + year + " " + month + " " + day);
- initCalendarDataX(id, year, month, day);
+ initCalendarData(id, year, month, row * 7 + column - firstDayOffset + 1);
initCalendar(id);
}
@@ -221,7 +214,7 @@
var month = date.getMonth() + 1;
var year = date.getFullYear();
- initCalendarDataX(id, year, month, day);
+ initCalendarData(id, year, month, day);
initCalendar(id);
}