Fixed #1426 -- Made several admin JavaScript improvements. Thanks, anonymous

git-svn-id: http://code.djangoproject.com/svn/django/trunk@2448 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-03-01 02:53:00 +00:00
parent 4a608b48c5
commit 3daf7bde2e
4 changed files with 41 additions and 33 deletions

View File

@ -3,11 +3,11 @@
function showRelatedObjectLookupPopup(triggeringLink) {
var name = triggeringLink.id.replace(/^lookup_/, '');
var href
var href;
if (triggeringLink.href.search(/\?/) >= 0) {
href = triggeringLink.href + '&pop=1';
} else {
href = triggeringLink.href + '?pop=1'
href = triggeringLink.href + '?pop=1';
}
var win = window.open(href, name, 'height=500,width=740,resizable=yes,scrollbars=yes');
win.focus();
@ -33,12 +33,12 @@ function showAddAnotherPopup(triggeringLink) {
}
function dismissAddAnotherPopup(win, newId, newRepr) {
var name = win.name.replace(/___/g, '.')
var name = win.name.replace(/___/g, '.');
var elem = document.getElementById(name);
if (elem) {
if (elem.nodeName == 'SELECT') {
var o = new Option(newRepr, newId);
elem.options[elem.options.length] = o
elem.options[elem.options.length] = o;
elem.selectedIndex = elem.length - 1;
} else if (elem.nodeName == 'INPUT') {
elem.value = newId;

View File

@ -102,15 +102,17 @@ function Calendar(div_id, callback) {
this.today = new Date();
this.currentMonth = this.today.getMonth() + 1;
this.currentYear = this.today.getFullYear();
this.drawCurrent = function() {
}
Calendar.prototype = {
drawCurrent: function() {
CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback);
}
this.drawDate = function(month, year) {
},
drawDate: function(month, year) {
this.currentMonth = month;
this.currentYear = year;
this.drawCurrent();
}
this.drawPreviousMonth = function() {
},
drawPreviousMonth: function() {
if (this.currentMonth == 1) {
this.currentMonth = 12;
this.currentYear--;
@ -119,8 +121,8 @@ function Calendar(div_id, callback) {
this.currentMonth--;
}
this.drawCurrent();
}
this.drawNextMonth = function() {
},
drawNextMonth: function() {
if (this.currentMonth == 12) {
this.currentMonth = 1;
this.currentYear++;
@ -129,12 +131,12 @@ function Calendar(div_id, callback) {
this.currentMonth++;
}
this.drawCurrent();
}
this.drawPreviousYear = function() {
},
drawPreviousYear: function() {
this.currentYear--;
this.drawCurrent();
}
this.drawNextYear = function() {
},
drawNextYear: function() {
this.currentYear++;
this.drawCurrent();
}

View File

@ -70,7 +70,7 @@ function findPosX(obj) {
var curleft = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curleft += obj.offsetLeft
curleft += obj.offsetLeft;
obj = obj.offsetParent;
}
} else if (obj.x) {
@ -83,7 +83,7 @@ function findPosY(obj) {
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop
curtop += obj.offsetTop;
obj = obj.offsetParent;
}
} else if (obj.y) {
@ -130,7 +130,7 @@ Date.prototype.getHourMinute = function() {
// String object extensions
// ----------------------------------------------------------------------------
String.prototype.pad_left = function(pad_length, pad_string) {
new_string = this;
var new_string = this;
for (var i = 0; new_string.length < pad_length; i++) {
new_string = pad_string + new_string;
}

View File

@ -4,24 +4,30 @@
*/
/* Finds the index of the first occurence of item in the array, or -1 if not found */
Array.prototype.indexOf = function(item) {
for (var i = 0; i < this.length; i++) {
if (this[i] == item) {
return i;
if (typeof Array.prototype.indexOf == 'undefined') {
Array.prototype.indexOf = function(item) {
var len = this.length;
for (var i = 0; i < len; i++) {
if (this[i] == item) {
return i;
}
}
}
return -1;
};
return -1;
};
}
/* Returns an array of items judged 'true' by the passed in test function */
Array.prototype.filter = function(test) {
var matches = [];
for (var i = 0; i < this.length; i++) {
if (test(this[i])) {
matches[matches.length] = this[i];
if (typeof Array.prototype.filter == 'undefined') {
Array.prototype.filter = function(test) {
var matches = [];
var len = this.length;
for (var i = 0; i < len; i++) {
if (test(this[i])) {
matches[matches.length] = this[i];
}
}
}
return matches;
};
return matches;
};
}
var monthNames = gettext("January February March April May June July August September October November December").split(" ");
var weekdayNames = gettext("Sunday Monday Tuesday Wednesday Thursday Friday Saturday").split(" ");