From 5ce9ab1293096b3f02cb6b2ee3a4a4ccc084c4b5 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Mon, 7 Apr 2014 22:55:15 +0000 Subject: [PATCH] Fix typo and add more text to the error shown when 'wpdialogs' is not enqueued. Add 'wp_enqueue_editor' action fired when scripts and styles for the editor are being enqueued, fixes #16284 Built from https://develop.svn.wordpress.org/trunk@28024 git-svn-id: http://core.svn.wordpress.org/trunk@27854 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-editor.php | 9 +++++++++ .../js/tinymce/plugins/wpdialogs/plugin.js | 4 ++-- .../tinymce/plugins/wpdialogs/plugin.min.js | 2 +- wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 122418 -> 122460 bytes 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php index e62762363d..2b2b343886 100644 --- a/wp-includes/class-wp-editor.php +++ b/wp-includes/class-wp-editor.php @@ -733,6 +733,15 @@ final class _WP_Editors { add_thickbox(); wp_enqueue_script('media-upload'); } + + /** + * Fires when scripts and styles are enqueued for the editor + * + * @since 3.9.0 + * + * @param array An array containing boolean values whether TinyMCE and Quicktags are being loaded. + */ + do_action( 'wp_enqueue_editor', array( 'tinymce' => self::$has_tinymce, 'quicktags' => self::$has_quicktags ) ); } public static function wp_mce_translation() { diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js index fef6aa079d..cd805f04b0 100644 --- a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js +++ b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js @@ -30,9 +30,9 @@ tinymce.WPWindowManager = tinymce.InlineWindowManager = function( editor ) { } if ( typeof jQuery === 'undefined' || ! jQuery.wp || ! jQuery.wp.wpdialog ) { - // wpdialod.js is not loaded + // wpdialog.js is not loaded if ( window.console && window.console.error ) { - window.console.error('wpdialog.js is not loaded. Please set it as dependency for your script when calling wp_enqueue_script().'); + window.console.error("wpdialog.js is not loaded. Please set 'wpdialogs' as dependency for your script when calling wp_enqueue_script(). You may also want to enqueue the 'wp-jquery-ui-dialog' stylesheet."); } return; diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js index 2670cbb5b3..f7e42105bb 100644 --- a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js +++ b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js @@ -1 +1 @@ -tinymce.WPWindowManager=tinymce.InlineWindowManager=function(a){return this.wp?this:(this.wp={},this.parent=a.windowManager,this.editor=a,tinymce.extend(this,this.parent),this.open=function(b,c){var d,e=this,f=this.wp;if(!b.wpDialog)return this.parent.open.apply(this,arguments);if(b.id){if("undefined"==typeof jQuery||!jQuery.wp||!jQuery.wp.wpdialog)return void(window.console&&window.console.error&&window.console.error("wpdialog.js is not loaded. Please set it as dependency for your script when calling wp_enqueue_script()."));f.$element=d=jQuery("#"+b.id),d.length&&(window.console&&window.console.log&&window.console.log("tinymce.WPWindowManager is deprecated. Use the default editor.windowManager to open dialogs with inline HTML."),f.features=b,f.params=c,a.nodeChanged(),d.data("wpdialog")||d.wpdialog({title:b.title,width:b.width,height:b.height,modal:!0,dialogClass:"wp-dialog",zIndex:3e5}),d.wpdialog("open"),d.on("wpdialogclose",function(){e.wp.$element&&(e.wp={})}))}},void(this.close=function(){return this.wp.features&&this.wp.features.wpDialog?void this.wp.$element.wpdialog("close"):this.parent.close.apply(this,arguments)}))},tinymce.PluginManager.add("wpdialogs",function(a){a.on("init",function(){a.windowManager=new tinymce.WPWindowManager(a)})}); \ No newline at end of file +tinymce.WPWindowManager=tinymce.InlineWindowManager=function(a){return this.wp?this:(this.wp={},this.parent=a.windowManager,this.editor=a,tinymce.extend(this,this.parent),this.open=function(b,c){var d,e=this,f=this.wp;if(!b.wpDialog)return this.parent.open.apply(this,arguments);if(b.id){if("undefined"==typeof jQuery||!jQuery.wp||!jQuery.wp.wpdialog)return void(window.console&&window.console.error&&window.console.error("wpdialog.js is not loaded. Please set 'wpdialogs' as dependency for your script when calling wp_enqueue_script(). You may also want to enqueue the 'wp-jquery-ui-dialog' stylesheet."));f.$element=d=jQuery("#"+b.id),d.length&&(window.console&&window.console.log&&window.console.log("tinymce.WPWindowManager is deprecated. Use the default editor.windowManager to open dialogs with inline HTML."),f.features=b,f.params=c,a.nodeChanged(),d.data("wpdialog")||d.wpdialog({title:b.title,width:b.width,height:b.height,modal:!0,dialogClass:"wp-dialog",zIndex:3e5}),d.wpdialog("open"),d.on("wpdialogclose",function(){e.wp.$element&&(e.wp={})}))}},void(this.close=function(){return this.wp.features&&this.wp.features.wpDialog?void this.wp.$element.wpdialog("close"):this.parent.close.apply(this,arguments)}))},tinymce.PluginManager.add("wpdialogs",function(a){a.on("init",function(){a.windowManager=new tinymce.WPWindowManager(a)})}); \ No newline at end of file diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index 592167dc5c66965ab540b402ec77262ece802fba..28fbbb5a64cdec49304686fa390300d8839b40a2 100644 GIT binary patch delta 6551 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