Make WordPress Core

Ticket #30528: 30528.2.diff

File 30528.2.diff, 1.4 KB (added by adamsilverstein, 10 years ago)

fix out/in refocus fade

  • src/wp-admin/js/editor-expand.js

     
    876876
    877877                        // fadeIn and return on Escape and keyboard shortcut Alt+Shift+W.
    878878                        if ( key === 27 || ( key === 87 && event.altKey && event.shiftKey ) ) {
    879                                 fadeIn();
     879                                fadeIn( event );
    880880                                return;
    881881                        }
    882882
     
    994994                        fadeOutSlug();
    995995                }
    996996
    997                 function fadeIn() {
     997                function fadeIn( event ) {
     998
    998999                        if ( faded ) {
    9991000                                faded = false;
    10001001
     
    10081009
    10091010                                $overlay.off( 'mouseenter.focus mouseleave.focus mousemove.focus touchstart.focus' );
    10101011
    1011                                 $editor.on( 'mouseenter.focus', function() {
    1012                                         if ( $.contains( $editor.get( 0 ), document.activeElement ) || editorHasFocus ) {
    1013                                                 fadeOut();
    1014                                         }
    1015                                 } );
     1012                                /*
     1013                                 * When fading in, temporarily watch for refocus and fade back out - helps
     1014                                 * with 'accidental' editor exits with the mouse. When fading in and the event
     1015                                 * is a key event (Escape or Alt+Shift+W) don't watch for refocus.
     1016                                 */
     1017                                if ( 'undefined' === typeof event ) {
     1018                                        $editor.on( 'mouseenter.focus', function() {
     1019                                                if ( $.contains( $editor.get( 0 ), document.activeElement ) || editorHasFocus ) {
     1020                                                        fadeOut();
     1021                                                }
     1022                                        } );
     1023                                }
    10161024
    10171025                                focusLostTimer = setTimeout( function() {
    10181026                                        focusLostTimer = null;