diff --git a/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js b/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js index 19839617d0..af9d5272c2 100644 --- a/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +++ b/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js @@ -1,6 +1,6 @@ /* global tinymce */ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { - var floatingToolbar, serializer, + var toolbar, serializer, each = tinymce.each, iOS = tinymce.Env.iOS; @@ -59,9 +59,20 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { } ); } ); + editor.once( 'preinit', function() { + toolbar = editor.wp._createToolbar( [ + 'wp_img_alignleft', + 'wp_img_aligncenter', + 'wp_img_alignright', + 'wp_img_alignnone', + 'wp_img_edit', + 'wp_img_remove' + ] ); + } ); + editor.on( 'wptoolbar', function( event ) { if ( event.element.nodeName === 'IMG' && ! isPlaceholder( event.element ) ) { - event.toolbar = floatingToolbar; + event.toolbar = toolbar; } } ); @@ -77,7 +88,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { editor.nodeChanged(); }, 200 ); } else { - floatingToolbar.hide(); + toolbar.hide(); } } ); } @@ -544,17 +555,6 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { dom.addClass( editor.getBody(), captionClass ); - if ( editor.wp._createToolbar ) { - floatingToolbar = editor.wp._createToolbar( [ - 'wp_img_alignleft', - 'wp_img_aligncenter', - 'wp_img_alignright', - 'wp_img_alignnone', - 'wp_img_edit', - 'wp_img_remove' - ] ); - } - // Add caption field to the default image dialog editor.on( 'wpLoadImageForm', function( event ) { if ( editor.getParam( 'wpeditimage_disable_captions' ) ) { @@ -867,8 +867,8 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { editor.nodeChanged(); event.preventDefault(); - if ( floatingToolbar ) { - floatingToolbar.reposition(); + if ( toolbar ) { + toolbar.reposition(); } editor.fire( 'ExecCommand', { diff --git a/src/wp-includes/js/tinymce/plugins/wpview/plugin.js b/src/wp-includes/js/tinymce/plugins/wpview/plugin.js index 6252ef9fb1..50a5e039ba 100644 --- a/src/wp-includes/js/tinymce/plugins/wpview/plugin.js +++ b/src/wp-includes/js/tinymce/plugins/wpview/plugin.js @@ -240,11 +240,6 @@ tinymce.PluginManager.add( 'wpview', function( editor ) { selection = editor.selection, MutationObserver = window.MutationObserver || window.WebKitMutationObserver; - toolbar = editor.wp._createToolbar( [ - 'wp_view_edit', - 'wp_view_remove' - ] ); - // When a view is selected, ensure content that is being pasted // or inserted is added to a text node (instead of the view). editor.on( 'BeforeSetContent', function() { @@ -673,6 +668,13 @@ tinymce.PluginManager.add( 'wpview', function( editor ) { } } ); + editor.once( 'preinit', function() { + toolbar = editor.wp._createToolbar( [ + 'wp_view_edit', + 'wp_view_remove' + ] ); + } ); + editor.on( 'wptoolbar', function( event ) { if ( selected ) { event.element = selected;