WordPress.org

Make WordPress Core

Ticket #36482: 36482.6.patch

File 36482.6.patch, 1.8 KB (added by iseulde, 5 years ago)
  • src/wp-admin/js/editor-expand.js

     
    1616                        $textTop = $( '#ed_toolbar' ),
    1717                        $textEditor = $( '#content' ),
    1818                        textEditor = $textEditor[0],
    19                         textEditorLength = 0,
    2019                        $bottom = $( '#post-status-info' ),
    2120                        $menuBar = $(),
    2221                        $statusBar = $(),
     
    7675                }
    7776
    7877                function textEditorResize() {
    79                         var reduce, scrollHeight;
     78                        var height;
     79                        var length;
     80                        var scrollHeight;
    8081
    8182                        if ( mceEditor && ! mceEditor.isHidden() ) {
    8283                                return;
     
    8687                                return;
    8788                        }
    8889
    89                         reduce = textEditorLength > ( textEditorLength = textEditor.value.length );
    90                         scrollHeight = textEditor.scrollHeight;
     90                        height = parseInt( textEditor.style.height, 10 );
     91                        length = textEditor.value.length;
    9192
    92                         if ( reduce ) {
     93                        if ( length < textEditorResize.oldLength ) {
    9394                                textEditor.style.height = 'auto';
    94                                 textEditor.style.height = scrollHeight + 'px';
    95                                 adjust();
    96                         } else if ( parseInt( textEditor.style.height, 10 ) < scrollHeight ) {
    97                                 textEditor.style.height = scrollHeight + 'px';
     95                                scrollHeight = textEditor.scrollHeight;
     96
     97                                if ( scrollHeight < autoresizeMinHeight ) {
     98                                        textEditor.style.height = autoresizeMinHeight + 'px';
     99                                } else {
     100                                        textEditor.style.height = scrollHeight + 'px';
     101                                }
     102
     103                                // When reducing the height, scroll up the difference.
     104                                if ( scrollHeight - height < 0 ) {
     105                                        window.scrollBy( 0, scrollHeight - height );
     106                                }
     107
    98108                                adjust();
     109                        } else {
     110                                scrollHeight = textEditor.scrollHeight;
     111
     112                                if ( height < scrollHeight ) {
     113                                        textEditor.style.height = scrollHeight + 'px';
     114                                        adjust();
     115                                }
    99116                        }
     117
     118                        textEditorResize.oldLength = length;
    100119                }
    101120
    102121                // We need to wait for TinyMCE to initialize.