diff --git a/editors/js/ckeditor-3.0.js b/editors/js/ckeditor-3.0.js index d2cf300..56a1e6f 100644 --- a/editors/js/ckeditor-3.0.js +++ b/editors/js/ckeditor-3.0.js @@ -34,6 +34,8 @@ Drupal.wysiwyg.editor.attach.ckeditor = function(context, params, settings) { // Apply editor instance settings. CKEDITOR.config.customConfig = ''; + var $drupalToolbar = $('#toolbar', Drupal.overlayChild ? window.parent.document : document); + settings.on = { instanceReady: function(ev) { var editor = ev.editor; @@ -125,6 +127,19 @@ Drupal.wysiwyg.editor.attach.ckeditor = function(context, params, settings) { focus: function(ev) { Drupal.wysiwyg.activeId = ev.editor.name; + }, + + afterCommandExec: function(ev) { + // Fix Drupal toolbar obscuring editor toolbar in fullscreen mode. + if (ev.data.name != 'maximize') { + return; + } + if (ev.data.command.state == CKEDITOR.TRISTATE_ON) { + $drupalToolbar.hide(); + } + else { + $drupalToolbar.show(); + } } }; diff --git a/editors/js/fckeditor.config.js b/editors/js/fckeditor.config.js index d3fbc2f..42efc32 100644 --- a/editors/js/fckeditor.config.js +++ b/editors/js/fckeditor.config.js @@ -40,6 +40,19 @@ for (var setting in wysiwygSettings) { } } +// Fix Drupal toolbar obscuring editor toolbar in fullscreen mode. +var oldFitWindowExecute = FCKFitWindow.prototype.Execute; +var $drupalToolbar = window.parent.jQuery('#toolbar', Drupal.overlayChild ? window.parent.window.parent.document : window.parent.document); +FCKFitWindow.prototype.Execute = function() { + oldFitWindowExecute.apply(this, arguments); + if (this.IsMaximized) { + $drupalToolbar.hide(); + } + else { + $drupalToolbar.show(); + } +} + /** * Initialize this editor instance. */ diff --git a/editors/js/openwysiwyg.js b/editors/js/openwysiwyg.js index 89a5337..e873727 100644 --- a/editors/js/openwysiwyg.js +++ b/editors/js/openwysiwyg.js @@ -23,6 +23,19 @@ WYSIWYG.getEditor = function (n) { (function($) { +// Fix Drupal toolbar obscuring editor toolbar in fullscreen mode. +var oldMaximize = WYSIWYG.maximize; +WYSIWYG.maximize = function (n) { +var $drupalToolbar = $('#toolbar', Drupal.overlayChild ? window.parent.document : document); + oldMaximize.apply(this, arguments); + if (this.maximized[n]) { + $drupalToolbar.hide(); + } + else { + $drupalToolbar.show(); + } +} + /** * Attach this editor to a target element. */ diff --git a/editors/js/tinymce-3.js b/editors/js/tinymce-3.js index b04a4ce..8802545 100644 --- a/editors/js/tinymce-3.js +++ b/editors/js/tinymce-3.js @@ -18,6 +18,19 @@ Drupal.wysiwyg.editor.init.tinymce = function(settings) { tinyMCE.srcMode = (settings.global.execMode == 'src' ? '_src' : ''); tinyMCE.gzipMode = (settings.global.execMode == 'gzip'); + // Fix Drupal toolbar obscuring editor toolbar in fullscreen mode. + var $drupalToolbar = $('#toolbar', Drupal.overlayChild ? window.parent.document : document); + tinyMCE.onAddEditor.add(function (mgr, ed) { + if (ed.id == 'mce_fullscreen') { + $drupalToolbar.hide(); + } + }); + tinyMCE.onRemoveEditor.add(function (mgr, ed) { + if (ed.id == 'mce_fullscreen') { + $drupalToolbar.show(); + } + }); + // Initialize editor configurations. for (var format in settings) { if (format == 'global') {