web/static/admin/js/actions.js
changeset 0 0d40e90630ef
equal deleted inserted replaced
-1:000000000000 0:0d40e90630ef
       
     1 var Actions = {
       
     2     init: function() {
       
     3         var selectAll = document.getElementById('action-toggle');
       
     4         if (selectAll) {
       
     5             selectAll.style.display = 'inline';
       
     6             addEvent(selectAll, 'click', function() {
       
     7                 Actions.checker(selectAll.checked);
       
     8             });
       
     9         }
       
    10         var changelistTable = document.getElementsBySelector('#changelist table')[0];
       
    11         if (changelistTable) {
       
    12             addEvent(changelistTable, 'click', function(e) {
       
    13                 if (!e) { var e = window.event; }
       
    14                 var target = e.target ? e.target : e.srcElement;
       
    15                 if (target.nodeType == 3) { target = target.parentNode; }
       
    16                 if (target.className == 'action-select') {
       
    17                     var tr = target.parentNode.parentNode;
       
    18                     Actions.toggleRow(tr, target.checked);
       
    19                 }
       
    20             });
       
    21         }
       
    22     },
       
    23     toggleRow: function(tr, checked) {
       
    24         if (checked && tr.className.indexOf('selected') == -1) {
       
    25             tr.className += ' selected';
       
    26         } else if (!checked) {
       
    27             tr.className = tr.className.replace(' selected', '');
       
    28         }  
       
    29     },
       
    30     checker: function(checked) {
       
    31         var actionCheckboxes = document.getElementsBySelector('tr input.action-select');
       
    32         for(var i = 0; i < actionCheckboxes.length; i++) {
       
    33             actionCheckboxes[i].checked = checked;
       
    34             Actions.toggleRow(actionCheckboxes[i].parentNode.parentNode, checked);
       
    35         }
       
    36     }
       
    37 };
       
    38 
       
    39 addEvent(window, 'load', Actions.init);