Make WordPress Core

Changeset 33657


Ignore:
Timestamp:
08/20/2015 05:53:41 AM (11 years ago)
Author:
wonderboymusic
Message:

Comments List Table:

  • In a view that initially has comments, but they get removed due to user actions: show the No Items row instead of bombing out and showing nothing (which looks broken)
  • To accomplish this, in WP_Comments_List_Table::display(): call ->display_rows_or_placeholder() instead of ->display()
  • Listen for the end of row .fadeOut()s if necessary using jQuery Promises

Fixes #11200.

Location:
trunk/src/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-comments-list-table.php

    r33655 r33657  
    410410
    411411        <tbody id="the-extra-comment-list" data-wp-lists="list:comment" style="display: none;">
    412                 <?php $this->items = $this->extra_items; $this->display_rows(); ?>
     412                <?php
     413                        $this->items = $this->extra_items;
     414                        $this->display_rows_or_placeholder();
     415                ?>
    413416        </tbody>
    414417
  • trunk/src/wp-admin/js/edit-comments.js

    r33656 r33657  
    153153        // In admin-ajax.php, we send back the unix time stamp instead of 1 on success
    154154        delAfter = function( r, settings ) {
    155                 var total_items_i18n, total,
     155                var total_items_i18n, total, animated, animatedCallback,
    156156                        response = true === settings.parsed ? {} : settings.parsed.responses[0],
    157157                        commentStatus = true === settings.parsed ? '' : response.supplemental.status,
    … …  
    334334                }
    335335
    336                 theList.get(0).wpList.add( theExtraList.children(':eq(0)').remove().clone() );
     336                theList.get(0).wpList.add( theExtraList.children( ':eq(0):not(.no-items)' ).remove().clone() );
    337337
    338338                refillTheExtraList();
     339
     340                animated = $( ':animated' );
     341                animatedCallback = function () {
     342                        if ( ! $( '#the-comment-list tr:visible' ).length ) {
     343                                theList.get(0).wpList.add( theExtraList.find( '.no-items' ).clone() );
     344                        }
     345                };
     346
     347                if ( animated.length ) {
     348                        animated.promise().done( animatedCallback );
     349                } else {
     350                        animatedCallback();
     351                }
    339352        };
    340353
Note: See TracChangeset for help on using the changeset viewer.