WordPress.org

Make WordPress Core

Ticket #24553: 24553.2.patch

File 24553.2.patch, 2.8 KB (added by kadamwhite, 20 months ago)

Trying a CSS3-based approach, which will work in everything but IE<10 and requires less JS.

  • wp-admin/css/wp-admin.css

    table.fixed { 
    25342534tr.wp-locked .locked-indicator { 
    25352535        background: url('../images/lock.png') no-repeat; 
    25362536        margin: -2px 0 0 6px; 
    2537         height: 16px; 
     2537        height: 20px; 
    25382538        width: 16px; 
    25392539} 
    25402540 
    tr.wp-locked .row-actions .trash { 
    25452545        display: none; 
    25462546} 
    25472547 
     2548tr .locked-info { 
     2549        height: 0; 
     2550        opacity: 0; 
     2551        -webkit-transition: height 1s, opacity 500ms; 
     2552        transition:         height 1s, opacity 500ms; 
     2553} 
     2554 
     2555tr.wp-locked .locked-info { 
     2556        height: 22px; 
     2557        opacity: 1; 
     2558        -webkit-transition: height 1s, opacity 500ms 500ms; 
     2559        transition:         height 1s, opacity 500ms 500ms; 
     2560} 
     2561 
    25482562.fixed .column-comments .sorting-indicator { 
    25492563        margin-top: 3px; 
    25502564} 
  • wp-admin/includes/class-wp-posts-list-table.php

    class WP_Posts_List_Table extends WP_List_Table { 
    574574                                                $locked_avatar = $locked_text = ''; 
    575575                                        } 
    576576 
    577                                         echo '<span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span>\n"; 
     577                                        echo '<div class="locked-info"><span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span></div>\n"; 
    578578                                } 
    579579 
    580580                                if ( ! $this->hierarchical_display && 'excerpt' == $mode && current_user_can( 'read_post', $post->ID ) ) 
  • wp-admin/js/inline-edit-post.js

    diff --git wp-admin/js/inline-edit-post.js wp-admin/js/inline-edit-post.js
    index 48e6e30..8076c31 100644
    $( document ).on( 'heartbeat-tick.wp-check-locked-posts', function( e, data ) { 
    302302                if ( locked.hasOwnProperty( key ) ) { 
    303303                        if ( ! row.hasClass('wp-locked') ) { 
    304304                                lock_data = locked[key]; 
    305                                 row.addClass('wp-locked').find('.column-title .locked-text').text( lock_data.text ); 
     305                                row.find('.column-title .locked-text').text( lock_data.text ); 
    306306                                row.find('.check-column checkbox').prop('checked', false); 
    307307 
    308308                                if ( lock_data.avatar_src ) { 
    309309                                        avatar = $('<img class="avatar avatar-18 photo" width="18" height="18" />').attr( 'src', lock_data.avatar_src.replace(/&amp;/g, '&') ); 
    310310                                        row.find('.column-title .locked-avatar').empty().append( avatar ); 
    311311                                } 
     312                                row.addClass('wp-locked'); 
    312313                        } 
    313314                } else if ( row.hasClass('wp-locked') ) { 
    314                         row.removeClass('wp-locked').find('.column-title .locked-text').empty(); 
    315                         row.find('.column-title .locked-avatar').empty(); 
     315                        // Make room for the CSS animation 
     316                        row.removeClass('wp-locked').delay(1000).find('.locked-info span').empty(); 
    316317                } 
    317318        }); 
    318319}).on( 'heartbeat-send.wp-check-locked-posts', function( e, data ) {