summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Jesaitis <andrew@andrewjesaitis.com>2013-03-27 22:34:57 -0600
committerClaude Paroz <claude@2xlibre.net>2013-04-06 13:50:09 +0200
commit5ab66dea50eab6625e3a07b71342268432e9cfaf (patch)
treefca276242df3da64048518d7fe7dc406e81673ba
parent4509a1be1f1164164c2b654d1e3e4169ef71b5ae (diff)
Explicitly removes dismissCalendar
Uses the removeEvent function in core.js to remove the dismissCalendar function from the document click event. Fixes #4045.
-rw-r--r--django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
index 6bf8f6640a..671af9bd78 100644
--- a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
+++ b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
@@ -7,6 +7,7 @@ var DateTimeShortcuts = {
calendarInputs: [],
clockInputs: [],
dismissClockFunc: [],
+ dismissCalendarFunc: [],
calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled
calendarDivName2: 'calendarin', // name of <div> that contains calendar
calendarLinkName: 'calendarlink',// name of the link that is used to toggle
@@ -136,6 +137,7 @@ var DateTimeShortcuts = {
var num = DateTimeShortcuts.calendars.length;
DateTimeShortcuts.calendarInputs[num] = inp;
+ DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; };
// Shortcut links (calendar icon and "Today" link)
var shortcuts_span = document.createElement('span');
@@ -243,11 +245,11 @@ var DateTimeShortcuts = {
cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px';
cal_box.style.display = 'block';
- addEvent(window.document, 'click', function() { DateTimeShortcuts.dismissCalendar(num); return true; });
+ addEvent(document, 'click', DateTimeShortcuts.dismissCalendarFunc[num]);
},
dismissCalendar: function(num) {
document.getElementById(DateTimeShortcuts.calendarDivName1+num).style.display = 'none';
- window.document.onclick = null;
+ removeEvent(document, 'click', DateTimeShortcuts.dismissCalendarFunc[num]);
},
drawPrev: function(num) {
DateTimeShortcuts.calendars[num].drawPreviousMonth();