WordPress.org

Make WordPress Core

Changeset 27941


Ignore:
Timestamp:
04/04/2014 01:30:11 AM (7 years ago)
Author:
azaozz
Message:

TinyMCE: better calculation for editor height when switching Text to Visual and back. Add stopping of editor resizing when the mouse leaves the browser window. See #27279

Location:
trunk/src/wp-admin/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/js/editor.js

    r27761 r27941  
    1414    // mode can be 'html', 'tmce', or 'toggle'; 'html' is used for the 'Text' editor tab.
    1515    go: function( id, mode ) {
    16         var t = this, ed, wrap_id, txtarea_el, editorHeight, toolbarHeight,
     16        var t = this, ed, wrap_id, txtarea_el, iframe, editorHeight, toolbarHeight,
    1717            DOM = tinymce.DOM; //DOMUtils outside the editor iframe
    1818
     
    3333
    3434        function getToolbarHeight() {
    35             var height;
    36 
    37             try {
    38                 height = DOM.getSize( DOM.select( '.mce-toolbar-grp', ed.getContainer() )[0] );
    39             } catch(e){}
    40 
    41             if ( height && height.h && height.h > 10 && height.h < 100 ) {
    42                 return height.h;
    43             }
    44 
    45             return 0;
     35            var node = DOM.select( '.mce-toolbar-grp', ed.getContainer() )[0],
     36                height = node && node.clientHeight;
     37
     38            if ( height && height > 10 && height < 200 ) {
     39                return parseInt( height, 10 );
     40            }
     41
     42            return 30;
    4643        }
    4744
     
    6461                ed.show();
    6562
    66                 if ( editorHeight && ( toolbarHeight = getToolbarHeight() ) ) {
    67                     editorHeight = editorHeight - toolbarHeight + 11;
     63                if ( editorHeight ) {
     64                    toolbarHeight = getToolbarHeight();
     65                    editorHeight = editorHeight - toolbarHeight + 14;
    6866
    6967                    // height cannot be under 50 or over 5000
     
    7472            } else {
    7573                tinymce.init( tinyMCEPreInit.mceInit[id] );
    76 
    77         //      ed = tinymce.createEditor( id, tinyMCEPreInit.mceInit[id] );
    78         //      ed.render();
    7974            }
    8075
     
    9085
    9186            if ( ed ) {
    92                 editorHeight = DOM.get( id + '_ifr' );
    93                 editorHeight = editorHeight ? parseInt( editorHeight.style.height, 10 ) : 0;
    94 
    95                 if ( editorHeight && ( toolbarHeight = getToolbarHeight() ) ) {
    96                     editorHeight = editorHeight + toolbarHeight - 11;
     87                iframe = DOM.get( id + '_ifr' );
     88                editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
     89
     90                if ( editorHeight ) {
     91                    toolbarHeight = getToolbarHeight();
     92                    editorHeight = editorHeight + toolbarHeight - 14;
    9793
    9894                    // height cannot be under 50 or over 5000
  • trunk/src/wp-admin/js/post.js

    r27783 r27941  
    10151015                editor.focus();
    10161016                toolbarHeight = $( '#wp-content-editor-container .mce-toolbar-grp' ).height();
     1017
     1018                if ( toolbarHeight < 10 || toolbarHeight > 200 ) {
     1019                    toolbarHeight = 30;
     1020                }
     1021
    10171022                height = parseInt( $('#content_ifr').css('height'), 10 ) + toolbarHeight - 28;
    10181023            } else {
     
    10211026            }
    10221027
    1023             $document.off( 'mousemove.wp-editor-resize mouseup.wp-editor-resize' );
     1028            $document.off( '.wp-editor-resize' );
    10241029
    10251030            // sanity check
     
    10461051
    10471052            $document.on( 'mousemove.wp-editor-resize', dragging )
    1048                 .on( 'mouseup.wp-editor-resize', endDrag );
    1049 
    1050             event.preventDefault();
    1051         });
     1053                .on( 'mouseup.wp-editor-resize mouseleave.wp-editor-resize', endDrag );
     1054
     1055            event.preventDefault();
     1056        }).on( 'mouseup.wp-editor-resize', endDrag );
    10521057    })();
    10531058
Note: See TracChangeset for help on using the changeset viewer.