WordPress.org

Make WordPress Core

Ticket #24553: 24553.2.patch

File 24553.2.patch, 2.8 KB (added by kadamwhite, 5 years 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 ) {