WordPress.org

Make WordPress Core

Ticket #19905: 19905.2.diff

File 19905.2.diff, 3.2 KB (added by duck_, 6 years ago)
  • wp-admin/js/edit-comments.dev.js

     
    1 var theList, theExtraList, toggleWithKeyboard = false, getCount, updateCount, updatePending, dashboardTotals;
     1var theList, theExtraList, toggleWithKeyboard = false;
     2
    23(function($) {
     4var getCount, updateCount, updatePending, dashboardTotals;
    35
    46setCommentsList = function() {
    57        var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList;
     
    2729                        c.find('div.comment_status').html('1');
    2830                }
    2931
    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                 });
     32                var diff = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1;
     33                updatePending( diff );
    4934        };
    5035
    5136        // Send current total, page, per_page and url
     
    129114                apprN = totalN - getCount( $('span.pending-count', dash) ) - getCount( $('span.spam-count', dash) );
    130115                updateCount(total, totalN);
    131116                updateCount(appr, apprN);
    132 
    133117        };
    134118
    135119        getCount = function(el) {
     
    154138                el.html(n);
    155139        };
    156140
    157         updatePending = function(n) {
    158                 $('span.pending-count').each( function() {
    159                         var a = $(this);
    160 
    161                         if ( n < 0 )
     141        updatePending = function( diff ) {
     142                $('span.pending-count').each(function() {
     143                        var a = $(this), n = getCount(a) + diff;
     144                        if ( n < 1 )
    162145                                n = 0;
    163 
    164146                        a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0');
    165                         updateCount(a, n);
    166                         dashboardTotals();
     147                        updateCount( a, n );
    167148                });
     149
     150                dashboardTotals();
    168151        };
    169152
    170153        // In admin-ajax.php, we send back the unix time stamp instead of 1 on success
     
    193176                else
    194177                        spam = getUpdate('spam');
    195178
    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;
     179                if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) {
     180                        // a comment was 'deleted' from another list (e.g. approved, spam, trash) and moved to pending,
     181                        // or a trash/spam of a pending comment was undone
     182                        pending = 1;
     183                } else if ( unapproved ) {
     184                        // a pending comment was trashed/spammed/approved
     185                        pending = -1;
    202186                }
    203187
    204188                updatePending(pending);
     
    504488
    505489                if ( r.supplemental.parent_approved ) {
    506490                        pid = $('#comment-' + r.supplemental.parent_approved);
    507                         updatePending( getCount( $('span.pending-count').eq(0) ) - 1 );
     491                        updatePending( -1 );
    508492
    509493                        if ( this.comments_listing == 'moderated' ) {
    510494                                pid.animate( { 'backgroundColor':'#CCEEBB' }, 400, function(){