TinyMCE: fix editor height when loaded hidden.

Props nnikolov, azaozz.
Fixes #45461.

git-svn-id: https://develop.svn.wordpress.org/trunk@44832 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Ozz 2019-03-12 20:13:14 +00:00
parent e6442466f9
commit da7b514926
1 changed files with 11 additions and 5 deletions

View File

@ -19,7 +19,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
} }
function toggleToolbars( state ) { function toggleToolbars( state ) {
var initial, toolbars, var initial, toolbars, iframeHeight,
pixels = 0, pixels = 0,
classicBlockToolbar = tinymce.$( '.block-library-classic__toolbar' ); classicBlockToolbar = tinymce.$( '.block-library-classic__toolbar' );
@ -44,18 +44,24 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
if ( i > 0 ) { if ( i > 0 ) {
if ( state === 'hide' ) { if ( state === 'hide' ) {
toolbar.hide(); toolbar.hide();
pixels += 30; pixels += 34;
} else { } else {
toolbar.show(); toolbar.show();
pixels -= 30; pixels -= 34;
} }
} }
}); });
} }
// Resize editor iframe, not needed for iOS and inline instances. // Resize editor iframe, not needed for iOS and inline instances.
if ( pixels && ! tinymce.Env.iOS && editor.iframeElement ) { // Don't resize if the editor is in a hidden container.
DOM.setStyle( editor.iframeElement, 'height', editor.iframeElement.clientHeight + pixels ); if ( pixels && ! tinymce.Env.iOS && editor.iframeElement && editor.iframeElement.clientHeight ) {
iframeHeight = editor.iframeElement.clientHeight + pixels;
// Keep min-height.
if ( iframeHeight > 50 ) {
DOM.setStyle( editor.iframeElement, 'height', iframeHeight );
}
} }
if ( ! initial ) { if ( ! initial ) {