List Tables: Hide 'Empty Trash' and 'Empty Spam' buttons when view is already empty.
Props ivantedja, Presskopp, printsachen1, Jaydeep Rami, mathieuhays, cazm. Fixes #38341. git-svn-id: https://develop.svn.wordpress.org/trunk@40297 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e14051c031
commit
11d556e42b
|
@ -354,7 +354,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
||||||
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ( 'spam' === $comment_status || 'trash' === $comment_status ) && current_user_can( 'moderate_comments' ) ) {
|
if ( ( 'spam' === $comment_status || 'trash' === $comment_status ) && current_user_can( 'moderate_comments' ) && $this->has_items() ) {
|
||||||
wp_nonce_field( 'bulk-destroy', '_destroy_nonce' );
|
wp_nonce_field( 'bulk-destroy', '_destroy_nonce' );
|
||||||
$title = ( 'spam' === $comment_status ) ? esc_attr__( 'Empty Spam' ) : esc_attr__( 'Empty Trash' );
|
$title = ( 'spam' === $comment_status ) ? esc_attr__( 'Empty Spam' ) : esc_attr__( 'Empty Trash' );
|
||||||
submit_button( $title, 'apply', 'delete_all', false );
|
submit_button( $title, 'apply', 'delete_all', false );
|
||||||
|
|
|
@ -177,7 +177,7 @@ class WP_Media_List_Table extends WP_List_Table {
|
||||||
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
|
if ( $this->is_trash && current_user_can( 'edit_others_posts' ) && $this->has_items() ) {
|
||||||
submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
|
submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
|
||||||
} ?>
|
} ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -489,7 +489,7 @@ class WP_Posts_List_Table extends WP_List_Table {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $this->is_trash && current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_others_posts ) ) {
|
if ( $this->is_trash && current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_others_posts ) && $this->has_items() ) {
|
||||||
submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
|
submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -461,6 +461,13 @@ setCommentsList = function() {
|
||||||
updateCountText( 'span.trash-count', trashDiff );
|
updateCountText( 'span.trash-count', trashDiff );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
( ( 'trash' === settings.data.comment_status ) && !getCount( $( 'span.trash-count' ) ) ) ||
|
||||||
|
( ( 'spam' === settings.data.comment_status ) && !getCount( $( 'span.spam-count' ) ) )
|
||||||
|
) {
|
||||||
|
$( '#delete_all' ).hide();
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! isDashboard ) {
|
if ( ! isDashboard ) {
|
||||||
total = totalInput.val() ? parseInt( totalInput.val(), 10 ) : 0;
|
total = totalInput.val() ? parseInt( totalInput.val(), 10 ) : 0;
|
||||||
if ( $(settings.target).parent().is('span.undo') )
|
if ( $(settings.target).parent().is('span.undo') )
|
||||||
|
|
|
@ -235,4 +235,31 @@ class Tests_Admin_includesListTable extends WP_UnitTestCase {
|
||||||
|
|
||||||
$this->assertNotContains( 'id="cat"', $output );
|
$this->assertNotContains( 'id="cat"', $output );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ticket 38341
|
||||||
|
*/
|
||||||
|
public function test_empty_trash_button_should_not_be_shown_if_there_are_no_posts() {
|
||||||
|
// Set post type to a non-existent one.
|
||||||
|
$this->table->screen->post_type = 'foo';
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$this->table->extra_tablenav( 'top' );
|
||||||
|
$output = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertNotContains( 'id="delete_all"', $output );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ticket 38341
|
||||||
|
*/
|
||||||
|
public function test_empty_trash_button_should_not_be_shown_if_there_are_no_comments() {
|
||||||
|
$table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
$table->extra_tablenav( 'top' );
|
||||||
|
$output = ob_get_clean();
|
||||||
|
|
||||||
|
$this->assertNotContains( 'id="delete_all"', $output );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue