WordPress.org

Make WordPress Core

Ticket #19905: 19905.diff

File 19905.diff, 2.5 KB (added by duck_, 2 years ago)
  • wp-admin/js/edit-comments.dev.js

     
    2727                        c.find('div.comment_status').html('1'); 
    2828                } 
    2929 
    30                 $('span.pending-count').each( function() { 
    31                         var a = $(this), n, dif; 
    32  
    33                         n = a.html().replace(/[^0-9]+/g, ''); 
    34                         n = parseInt(n, 10); 
    35  
    36                         if ( isNaN(n) ) 
    37                                 return; 
    38  
    39                         dif = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1; 
    40                         n = n + dif; 
    41  
    42                         if ( n < 0 ) 
    43                                 n = 0; 
    44  
    45                         a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); 
    46                         updateCount(a, n); 
    47                         dashboardTotals(); 
    48                 }); 
     30                var diff = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1; 
     31                updatePending( diff ); 
    4932        }; 
    5033 
    5134        // Send current total, page, per_page and url 
     
    129112                apprN = totalN - getCount( $('span.pending-count', dash) ) - getCount( $('span.spam-count', dash) ); 
    130113                updateCount(total, totalN); 
    131114                updateCount(appr, apprN); 
    132  
    133115        }; 
    134116 
    135117        getCount = function(el) { 
     
    154136                el.html(n); 
    155137        }; 
    156138 
    157         updatePending = function(n) { 
    158                 $('span.pending-count').each( function() { 
    159                         var a = $(this); 
    160  
    161                         if ( n < 0 ) 
     139        updatePending = function( diff ) { 
     140                $('span.pending-count').each(function() { 
     141                        var a = $(this), n = getCount(a) + diff; 
     142                        if ( n < 1 ) 
    162143                                n = 0; 
    163  
    164144                        a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); 
    165                         updateCount(a, n); 
    166                         dashboardTotals(); 
     145                        updateCount( a, n ); 
    167146                }); 
     147 
     148                dashboardTotals(); 
    168149        }; 
    169150 
    170151        // In admin-ajax.php, we send back the unix time stamp instead of 1 on success 
     
    193174                else 
    194175                        spam = getUpdate('spam'); 
    195176 
    196                 pending = getCount( $('span.pending-count').eq(0) ); 
    197  
    198                 if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) { // we "deleted" an approved comment from the approved list by clicking "Unapprove" 
    199                         pending = pending + 1; 
    200                 } else if ( unapproved ) { // we deleted a formerly unapproved comment 
    201                         pending = pending - 1; 
     177                if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) { 
     178                        // a comment was 'deleted' from another list (e.g. approved, spam, trash) and moved to pending, 
     179                        // or a trash/spam of a pending comment was undone 
     180                        pending = 1; 
     181                } else if ( unapproved ) { 
     182                        // a pending comment was trashed/spammed/approved 
     183                        pending = -1; 
    202184                } 
    203185 
    204186                updatePending(pending);