--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/static/admin/js/actions.js Wed Jan 20 00:34:04 2010 +0100
@@ -0,0 +1,39 @@
+var Actions = {
+ init: function() {
+ var selectAll = document.getElementById('action-toggle');
+ if (selectAll) {
+ selectAll.style.display = 'inline';
+ addEvent(selectAll, 'click', function() {
+ Actions.checker(selectAll.checked);
+ });
+ }
+ var changelistTable = document.getElementsBySelector('#changelist table')[0];
+ if (changelistTable) {
+ addEvent(changelistTable, 'click', function(e) {
+ if (!e) { var e = window.event; }
+ var target = e.target ? e.target : e.srcElement;
+ if (target.nodeType == 3) { target = target.parentNode; }
+ if (target.className == 'action-select') {
+ var tr = target.parentNode.parentNode;
+ Actions.toggleRow(tr, target.checked);
+ }
+ });
+ }
+ },
+ toggleRow: function(tr, checked) {
+ if (checked && tr.className.indexOf('selected') == -1) {
+ tr.className += ' selected';
+ } else if (!checked) {
+ tr.className = tr.className.replace(' selected', '');
+ }
+ },
+ checker: function(checked) {
+ var actionCheckboxes = document.getElementsBySelector('tr input.action-select');
+ for(var i = 0; i < actionCheckboxes.length; i++) {
+ actionCheckboxes[i].checked = checked;
+ Actions.toggleRow(actionCheckboxes[i].parentNode.parentNode, checked);
+ }
+ }
+};
+
+addEvent(window, 'load', Actions.init);