Version Notes
1.3.2
Download this release
Release Info
Developer | Magento Core Team |
Extension | Lib_Js_Calendar |
Version | 1.3.2 |
Comparing to | |
See all releases |
Code changes from version 1.3.1 to 1.3.2
- js/calendar/calendar.js +38 -20
- package.xml +5 -5
js/calendar/calendar.js
CHANGED
@@ -416,7 +416,7 @@ Calendar.tableMouseUp = function(ev) {
|
|
416 |
var mon = Calendar.findMonth(target);
|
417 |
var date = null;
|
418 |
if (mon) {
|
419 |
-
date = new
|
420 |
if (mon.month != date.getMonth()) {
|
421 |
date.setMonth(mon.month);
|
422 |
cal.setDate(date);
|
@@ -426,7 +426,7 @@ Calendar.tableMouseUp = function(ev) {
|
|
426 |
} else {
|
427 |
var year = Calendar.findYear(target);
|
428 |
if (year) {
|
429 |
-
date = new
|
430 |
if (year.year != date.getFullYear()) {
|
431 |
date.setFullYear(year.year);
|
432 |
cal.setDate(date);
|
@@ -660,7 +660,7 @@ Calendar.cellClick = function(el, ev) {
|
|
660 |
date = cal.date;
|
661 |
var other_month = !(cal.dateClicked = !el.otherMonth);
|
662 |
if (!other_month && !cal.currentDateEl)
|
663 |
-
cal._toggleMultipleDate(new
|
664 |
else
|
665 |
newdate = !el.disabled;
|
666 |
// a date was clicked
|
@@ -672,9 +672,9 @@ Calendar.cellClick = function(el, ev) {
|
|
672 |
cal.callCloseHandler();
|
673 |
return;
|
674 |
}
|
675 |
-
date = new
|
676 |
if (el.navtype == 0)
|
677 |
-
date.setDateOnly(new
|
678 |
// unless "today" was clicked, we assume no date was clicked so
|
679 |
// the selected handler will know not to close the calenar when
|
680 |
// in single-click mode.
|
@@ -795,7 +795,7 @@ Calendar.prototype.create = function (_par) {
|
|
795 |
parent = _par;
|
796 |
this.isPopup = false;
|
797 |
}
|
798 |
-
this.date = this.dateStr ? new
|
799 |
|
800 |
var table = Calendar.createElement("table");
|
801 |
this.table = table;
|
@@ -1074,12 +1074,12 @@ Calendar._keyEvent = function(ev) {
|
|
1074 |
ne = cal.ar_days[y][x];
|
1075 |
};setVars();
|
1076 |
function prevMonth() {
|
1077 |
-
var date = new
|
1078 |
date.setDate(date.getDate() - step);
|
1079 |
cal.setDate(date);
|
1080 |
};
|
1081 |
function nextMonth() {
|
1082 |
-
var date = new
|
1083 |
date.setDate(date.getDate() + step);
|
1084 |
cal.setDate(date);
|
1085 |
};
|
@@ -1146,7 +1146,7 @@ Calendar._keyEvent = function(ev) {
|
|
1146 |
* (RE)Initializes the calendar to the given date and firstDayOfWeek
|
1147 |
*/
|
1148 |
Calendar.prototype._init = function (firstDayOfWeek, date) {
|
1149 |
-
var today = new
|
1150 |
TY = today.getFullYear(),
|
1151 |
TM = today.getMonth(),
|
1152 |
TD = today.getDate();
|
@@ -1160,7 +1160,7 @@ Calendar.prototype._init = function (firstDayOfWeek, date) {
|
|
1160 |
date.setFullYear(year);
|
1161 |
}
|
1162 |
this.firstDayOfWeek = firstDayOfWeek;
|
1163 |
-
this.date = new
|
1164 |
var month = date.getMonth();
|
1165 |
var mday = date.getDate();
|
1166 |
var no_days = date.getMonthDays();
|
@@ -1231,7 +1231,7 @@ Calendar.prototype._init = function (firstDayOfWeek, date) {
|
|
1231 |
}
|
1232 |
}
|
1233 |
if (!cell.disabled) {
|
1234 |
-
cell.caldate = new
|
1235 |
cell.ttip = "_";
|
1236 |
if (!this.multiple && current_month
|
1237 |
&& iday == mday && this.hiliteToday) {
|
@@ -1256,7 +1256,7 @@ Calendar.prototype._init = function (firstDayOfWeek, date) {
|
|
1256 |
this.table.style.visibility = "visible";
|
1257 |
this._initMultipleDates();
|
1258 |
// PROFILE
|
1259 |
-
// this.tooltips.innerHTML = "Generated in " + ((new
|
1260 |
};
|
1261 |
|
1262 |
Calendar.prototype._initMultipleDates = function() {
|
@@ -1649,7 +1649,7 @@ Date.DAY = 24 * Date.HOUR;
|
|
1649 |
Date.WEEK = 7 * Date.DAY;
|
1650 |
|
1651 |
Date.parseDate = function(str, fmt) {
|
1652 |
-
var today = new
|
1653 |
var y = 0;
|
1654 |
var m = -1;
|
1655 |
var d = 0;
|
@@ -1731,7 +1731,7 @@ Date.parseDate = function(str, fmt) {
|
|
1731 |
if (isNaN(hr)) hr = today.getHours();
|
1732 |
if (isNaN(min)) min = today.getMinutes();
|
1733 |
if (y != 0 && m != -1 && d != 0)
|
1734 |
-
return new
|
1735 |
y = 0; m = -1; d = 0;
|
1736 |
for (i = 0; i < a.length; ++i) {
|
1737 |
if (a[i].search(/[a-zA-Z]+/) != -1) {
|
@@ -1757,7 +1757,7 @@ Date.parseDate = function(str, fmt) {
|
|
1757 |
if (y == 0)
|
1758 |
y = today.getFullYear();
|
1759 |
if (m != -1 && d != 0)
|
1760 |
-
return new
|
1761 |
return today;
|
1762 |
};
|
1763 |
|
@@ -1776,15 +1776,15 @@ Date.prototype.getMonthDays = function(month) {
|
|
1776 |
|
1777 |
/** Returns the number of day in the year. */
|
1778 |
Date.prototype.getDayOfYear = function() {
|
1779 |
-
var now = new
|
1780 |
-
var then = new
|
1781 |
var time = now - then;
|
1782 |
return Math.floor(time / Date.DAY);
|
1783 |
};
|
1784 |
|
1785 |
/** Returns the number of the week in year, as defined in ISO 8601. */
|
1786 |
Date.prototype.getWeekNumber = function() {
|
1787 |
-
var d = new
|
1788 |
var DoW = d.getDay();
|
1789 |
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
|
1790 |
var ms = d.valueOf(); // GMT
|
@@ -1804,7 +1804,7 @@ Date.prototype.equalsTo = function(date) {
|
|
1804 |
|
1805 |
/** Set only the year, month, date parts (keep existing time) */
|
1806 |
Date.prototype.setDateOnly = function(date) {
|
1807 |
-
var tmp = new
|
1808 |
this.setDate(1);
|
1809 |
this.setFullYear(tmp.getFullYear());
|
1810 |
this.setMonth(tmp.getMonth());
|
@@ -1880,13 +1880,31 @@ Date.prototype.print = function (str) {
|
|
1880 |
|
1881 |
Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
|
1882 |
Date.prototype.setFullYear = function(y) {
|
1883 |
-
var d = new
|
1884 |
d.__msh_oldSetFullYear(y);
|
1885 |
if (d.getMonth() != this.getMonth())
|
1886 |
this.setDate(28);
|
1887 |
this.__msh_oldSetFullYear(y);
|
1888 |
};
|
1889 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1890 |
// END: DATE OBJECT PATCHES
|
1891 |
|
1892 |
|
416 |
var mon = Calendar.findMonth(target);
|
417 |
var date = null;
|
418 |
if (mon) {
|
419 |
+
date = new CalendarDateObject(cal.date);
|
420 |
if (mon.month != date.getMonth()) {
|
421 |
date.setMonth(mon.month);
|
422 |
cal.setDate(date);
|
426 |
} else {
|
427 |
var year = Calendar.findYear(target);
|
428 |
if (year) {
|
429 |
+
date = new CalendarDateObject(cal.date);
|
430 |
if (year.year != date.getFullYear()) {
|
431 |
date.setFullYear(year.year);
|
432 |
cal.setDate(date);
|
660 |
date = cal.date;
|
661 |
var other_month = !(cal.dateClicked = !el.otherMonth);
|
662 |
if (!other_month && !cal.currentDateEl)
|
663 |
+
cal._toggleMultipleDate(new CalendarDateObject(date));
|
664 |
else
|
665 |
newdate = !el.disabled;
|
666 |
// a date was clicked
|
672 |
cal.callCloseHandler();
|
673 |
return;
|
674 |
}
|
675 |
+
date = new CalendarDateObject(cal.date);
|
676 |
if (el.navtype == 0)
|
677 |
+
date.setDateOnly(new CalendarDateObject()); // TODAY
|
678 |
// unless "today" was clicked, we assume no date was clicked so
|
679 |
// the selected handler will know not to close the calenar when
|
680 |
// in single-click mode.
|
795 |
parent = _par;
|
796 |
this.isPopup = false;
|
797 |
}
|
798 |
+
this.date = this.dateStr ? new CalendarDateObject(this.dateStr) : new CalendarDateObject();
|
799 |
|
800 |
var table = Calendar.createElement("table");
|
801 |
this.table = table;
|
1074 |
ne = cal.ar_days[y][x];
|
1075 |
};setVars();
|
1076 |
function prevMonth() {
|
1077 |
+
var date = new CalendarDateObject(cal.date);
|
1078 |
date.setDate(date.getDate() - step);
|
1079 |
cal.setDate(date);
|
1080 |
};
|
1081 |
function nextMonth() {
|
1082 |
+
var date = new CalendarDateObject(cal.date);
|
1083 |
date.setDate(date.getDate() + step);
|
1084 |
cal.setDate(date);
|
1085 |
};
|
1146 |
* (RE)Initializes the calendar to the given date and firstDayOfWeek
|
1147 |
*/
|
1148 |
Calendar.prototype._init = function (firstDayOfWeek, date) {
|
1149 |
+
var today = new CalendarDateObject(),
|
1150 |
TY = today.getFullYear(),
|
1151 |
TM = today.getMonth(),
|
1152 |
TD = today.getDate();
|
1160 |
date.setFullYear(year);
|
1161 |
}
|
1162 |
this.firstDayOfWeek = firstDayOfWeek;
|
1163 |
+
this.date = new CalendarDateObject(date);
|
1164 |
var month = date.getMonth();
|
1165 |
var mday = date.getDate();
|
1166 |
var no_days = date.getMonthDays();
|
1231 |
}
|
1232 |
}
|
1233 |
if (!cell.disabled) {
|
1234 |
+
cell.caldate = new CalendarDateObject(date);
|
1235 |
cell.ttip = "_";
|
1236 |
if (!this.multiple && current_month
|
1237 |
&& iday == mday && this.hiliteToday) {
|
1256 |
this.table.style.visibility = "visible";
|
1257 |
this._initMultipleDates();
|
1258 |
// PROFILE
|
1259 |
+
// this.tooltips.innerHTML = "Generated in " + ((new CalendarDateObject()) - today) + " ms";
|
1260 |
};
|
1261 |
|
1262 |
Calendar.prototype._initMultipleDates = function() {
|
1649 |
Date.WEEK = 7 * Date.DAY;
|
1650 |
|
1651 |
Date.parseDate = function(str, fmt) {
|
1652 |
+
var today = new CalendarDateObject();
|
1653 |
var y = 0;
|
1654 |
var m = -1;
|
1655 |
var d = 0;
|
1731 |
if (isNaN(hr)) hr = today.getHours();
|
1732 |
if (isNaN(min)) min = today.getMinutes();
|
1733 |
if (y != 0 && m != -1 && d != 0)
|
1734 |
+
return new CalendarDateObject(y, m, d, hr, min, 0);
|
1735 |
y = 0; m = -1; d = 0;
|
1736 |
for (i = 0; i < a.length; ++i) {
|
1737 |
if (a[i].search(/[a-zA-Z]+/) != -1) {
|
1757 |
if (y == 0)
|
1758 |
y = today.getFullYear();
|
1759 |
if (m != -1 && d != 0)
|
1760 |
+
return new CalendarDateObject(y, m, d, hr, min, 0);
|
1761 |
return today;
|
1762 |
};
|
1763 |
|
1776 |
|
1777 |
/** Returns the number of day in the year. */
|
1778 |
Date.prototype.getDayOfYear = function() {
|
1779 |
+
var now = new CalendarDateObject(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
|
1780 |
+
var then = new CalendarDateObject(this.getFullYear(), 0, 0, 0, 0, 0);
|
1781 |
var time = now - then;
|
1782 |
return Math.floor(time / Date.DAY);
|
1783 |
};
|
1784 |
|
1785 |
/** Returns the number of the week in year, as defined in ISO 8601. */
|
1786 |
Date.prototype.getWeekNumber = function() {
|
1787 |
+
var d = new CalendarDateObject(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
|
1788 |
var DoW = d.getDay();
|
1789 |
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
|
1790 |
var ms = d.valueOf(); // GMT
|
1804 |
|
1805 |
/** Set only the year, month, date parts (keep existing time) */
|
1806 |
Date.prototype.setDateOnly = function(date) {
|
1807 |
+
var tmp = new CalendarDateObject(date);
|
1808 |
this.setDate(1);
|
1809 |
this.setFullYear(tmp.getFullYear());
|
1810 |
this.setMonth(tmp.getMonth());
|
1880 |
|
1881 |
Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
|
1882 |
Date.prototype.setFullYear = function(y) {
|
1883 |
+
var d = new CalendarDateObject(this);
|
1884 |
d.__msh_oldSetFullYear(y);
|
1885 |
if (d.getMonth() != this.getMonth())
|
1886 |
this.setDate(28);
|
1887 |
this.__msh_oldSetFullYear(y);
|
1888 |
};
|
1889 |
|
1890 |
+
CalendarDateObject.prototype = new Date();
|
1891 |
+
CalendarDateObject.prototype.constructor = CalendarDateObject;
|
1892 |
+
CalendarDateObject.prototype.parent = Date.prototype;
|
1893 |
+
function CalendarDateObject() {
|
1894 |
+
var dateObj;
|
1895 |
+
if (arguments.length > 1) {
|
1896 |
+
dateObj = eval("new this.parent.constructor("+Array.prototype.slice.call(arguments).join(",")+");");
|
1897 |
+
} else if (arguments.length > 0) {
|
1898 |
+
dateObj = new this.parent.constructor(arguments[0]);
|
1899 |
+
} else {
|
1900 |
+
dateObj = new this.parent.constructor();
|
1901 |
+
if (typeof(CalendarDateObject._LOCAL_TIMZEONE_OFFSET_SECONDS) != "undefined") {
|
1902 |
+
dateObj.setTime(dateObj.getTime()+(CalendarDateObject._LOCAL_TIMZEONE_OFFSET_SECONDS - dateObj.getTimezoneOffset())*1000);
|
1903 |
+
}
|
1904 |
+
}
|
1905 |
+
return dateObj;
|
1906 |
+
}
|
1907 |
+
|
1908 |
// END: DATE OBJECT PATCHES
|
1909 |
|
1910 |
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Lib_Js_Calendar</name>
|
4 |
-
<version>1.3.
|
5 |
<stability>stable</stability>
|
6 |
<license>Mixed</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Javascript Calendar for Magento</summary>
|
10 |
<description>Javascript Calendar for Magento</description>
|
11 |
-
<notes>1.3.
|
12 |
<authors><author><name>Magento Core Team</name><user>auto-converted</user><email>core@magentocommerce.com</email></author></authors>
|
13 |
-
<date>2009-
|
14 |
-
<time>
|
15 |
-
<contents><target name="mageweb"><dir name="js"><dir name="calendar"><dir name="skins"><dir name="aqua"><file name="active-bg.gif" hash="f8fb9f2b7428c94b41320aa1bc9cf601"/><file name="dark-bg.gif" hash="949f6a11667cbdfbb96f8986464ba81b"/><file name="hover-bg.gif" hash="803ac4dbc56c05739f515d6ac6a66163"/><file name="menuarrow.gif" hash="1f8c673c8f76832febaeeac88a5f4353"/><file name="normal-bg.gif" hash="851134e42206fd3b173a3db654981bb6"/><file name="rowhover-bg.gif" hash="c097de7289bcf68723e89c248b9a2749"/><file name="status-bg.gif" hash="123882ca533030f07ee55c3818fc46b9"/><file name="theme.css" hash="ec69465f70d45213258fe1f89c52eceb"/><file name="title-bg.gif" hash="8d652fc5b683706fcbbf1103131c6ac2"/><file name="today-bg.gif" hash="9befc7d912cad22ddf2ec3fc21188bfd"/></dir></dir><file name="calendar-blue.css" hash="b8bb29e3c1573d0d2917cd3112b5052d"/><file name="calendar-blue2.css" hash="654dfacebcdd70c75ccaf2b4aee2d059"/><file name="calendar-brown.css" hash="f326a6a84037e549a9cd71a92346f210"/><file name="calendar-green.css" hash="b44e2c25ff56efaa6e37d84df202e5d5"/><file name="calendar-setup.js" hash="1bd1051973ea17f452fd8fe966940452"/><file name="calendar-system.css" hash="9b446e2ee0e9e4420fce20922405cec7"/><file name="calendar-tas.css" hash="fa3baa9367504954ef03c1f05d44f1a6"/><file name="calendar-win2k-1.css" hash="e3c61212e6abc28844005381d8fe9690"/><file name="calendar-win2k-2.css" hash="332d8bc7dab6acd575dba49a15b62947"/><file name="calendar-win2k-cold-1.css" hash="b0810ce949e6c954c54053c52b21e74a"/><file name="calendar-win2k-cold-2.css" hash="3487ec4e054141057673d794ce6d1032"/><file name="calendar.js" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><package><name>Mage_Pear_Helpers</name><channel>community</channel><min>1.0.18800</min><max></max></package></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Lib_Js_Calendar</name>
|
4 |
+
<version>1.3.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>Mixed</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Javascript Calendar for Magento</summary>
|
10 |
<description>Javascript Calendar for Magento</description>
|
11 |
+
<notes>1.3.2</notes>
|
12 |
<authors><author><name>Magento Core Team</name><user>auto-converted</user><email>core@magentocommerce.com</email></author></authors>
|
13 |
+
<date>2009-05-29</date>
|
14 |
+
<time>18:42:21</time>
|
15 |
+
<contents><target name="mageweb"><dir name="js"><dir name="calendar"><dir name="skins"><dir name="aqua"><file name="active-bg.gif" hash="f8fb9f2b7428c94b41320aa1bc9cf601"/><file name="dark-bg.gif" hash="949f6a11667cbdfbb96f8986464ba81b"/><file name="hover-bg.gif" hash="803ac4dbc56c05739f515d6ac6a66163"/><file name="menuarrow.gif" hash="1f8c673c8f76832febaeeac88a5f4353"/><file name="normal-bg.gif" hash="851134e42206fd3b173a3db654981bb6"/><file name="rowhover-bg.gif" hash="c097de7289bcf68723e89c248b9a2749"/><file name="status-bg.gif" hash="123882ca533030f07ee55c3818fc46b9"/><file name="theme.css" hash="ec69465f70d45213258fe1f89c52eceb"/><file name="title-bg.gif" hash="8d652fc5b683706fcbbf1103131c6ac2"/><file name="today-bg.gif" hash="9befc7d912cad22ddf2ec3fc21188bfd"/></dir></dir><file name="calendar-blue.css" hash="b8bb29e3c1573d0d2917cd3112b5052d"/><file name="calendar-blue2.css" hash="654dfacebcdd70c75ccaf2b4aee2d059"/><file name="calendar-brown.css" hash="f326a6a84037e549a9cd71a92346f210"/><file name="calendar-green.css" hash="b44e2c25ff56efaa6e37d84df202e5d5"/><file name="calendar-setup.js" hash="1bd1051973ea17f452fd8fe966940452"/><file name="calendar-system.css" hash="9b446e2ee0e9e4420fce20922405cec7"/><file name="calendar-tas.css" hash="fa3baa9367504954ef03c1f05d44f1a6"/><file name="calendar-win2k-1.css" hash="e3c61212e6abc28844005381d8fe9690"/><file name="calendar-win2k-2.css" hash="332d8bc7dab6acd575dba49a15b62947"/><file name="calendar-win2k-cold-1.css" hash="b0810ce949e6c954c54053c52b21e74a"/><file name="calendar-win2k-cold-2.css" hash="3487ec4e054141057673d794ce6d1032"/><file name="calendar.js" hash="9bd3d66fb1226c4c1d6e9fde9fbb1294"/><file name="img.gif" hash="c1e5255bd358fcd5a0779a0cc310a2fe"/><file name="menuarrow.gif" hash="b5a91d7a2755198b2eb729541ad3288c"/><file name="menuarrow2.gif" hash="1f8c673c8f76832febaeeac88a5f4353"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><package><name>Mage_Pear_Helpers</name><channel>community</channel><min>1.0.18800</min><max></max></package></required></dependencies>
|
18 |
</package>
|