Make WordPress Core

Ticket #29338: 29338.7.patch

File 29338.7.patch, 1.5 KB (added by iseulde, 11 years ago)
  • src/wp-admin/js/editor-expand.js

     
    3131                fixedSideBottom = false,
    3232                scrollTimer,
    3333                lastScrollPosition = 0,
     34                visualEditorScrollPosition = 0,
     35                textEditorScrollPosition = 0,
    3436                pageYOffsetAtTop = 130,
    3537                pinnedToolsTop = 56,
    3638                sidebarBottom = 20,
     
    216218
    217219                // Adjust when switching editor modes.
    218220                function mceShow() {
     221                        textEditorScrollPosition = window.pageYOffset;
     222
    219223                        setTimeout( function() {
     224                                var top = $contentWrap.offset().top;
     225
     226                                if ( window.pageYOffset > top ) {
     227                                        window.scrollTo( window.pageXOffset, visualEditorScrollPosition ? visualEditorScrollPosition : top - heights.adminBarHeight );
     228                                }
     229
    220230                                editor.execCommand( 'wpAutoResize' );
    221231                                adjust();
    222232                        }, 300 );
     233
     234                        adjust();
    223235                }
    224236
    225237                function mceHide() {
    226                         var wrapHeight = $( '#wpwrap' ).height();
     238                        visualEditorScrollPosition = window.pageYOffset;
    227239
    228                         textEditorResize();
     240                        setTimeout( function() {
     241                                var top = $contentWrap.offset().top;
    229242
    230                         if ( wrapHeight && $window.scrollTop() > wrapHeight ) {
    231                                 window.scrollTo( window.pageXOffset, wrapHeight - 1 );
    232                         }
     243                                if ( window.pageYOffset > top ) {
     244                                        window.scrollTo( window.pageXOffset, textEditorScrollPosition ? textEditorScrollPosition : top - heights.adminBarHeight );
     245                                }
     246
     247                                textEditorResize();
     248                                adjust();
     249                        }, 100 );
    233250
    234251                        adjust();
    235252                }