X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Ftiny_mce%2Fplugins%2Ffullscreen%2Feditor_plugin_src.js;h=afa4f9b46ebf2e5967ab236285792872ad6ab77b;hp=0d85bd17c25b9df89c1ff0cc331fd5ac247db5d9;hb=b05f4eef4014db3885787ef15107cba93c932ac9;hpb=56d69e5d8434e98835a2582c59b771ba69475431 diff --git a/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js index 0d85bd17c..afa4f9b46 100644 --- a/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js +++ b/webcit/tiny_mce/plugins/fullscreen/editor_plugin_src.js @@ -1,5 +1,11 @@ -/* - * Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing */ (function() { @@ -7,7 +13,7 @@ tinymce.create('tinymce.plugins.FullScreenPlugin', { init : function(ed, url) { - var t = this, s = {}, vp; + var t = this, s = {}, vp, posCss; t.editor = ed; @@ -21,7 +27,7 @@ else { DOM.win.setTimeout(function() { tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc); - tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); + tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent()); tinyMCE.remove(ed); DOM.remove('mce_fullscreen_container'); de.style.overflow = ed.getParam('fullscreen_html_overflow'); @@ -72,7 +78,15 @@ if (tinymce.isIE) vp.h -= 1; - n = DOM.add(DOM.doc.body, 'div', {id : 'mce_fullscreen_container', style : 'position:' + (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel) ? 'absolute' : 'fixed') + ';top:0;left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); + // Use fixed position if it exists + if (tinymce.isIE6) + posCss = 'absolute;top:' + vp.y; + else + posCss = 'fixed;top:0'; + + n = DOM.add(DOM.doc.body, 'div', { + id : 'mce_fullscreen_container', + style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); DOM.add(n, 'div', {id : 'mce_fullscreen'}); tinymce.each(ed.settings, function(v, n) { @@ -86,7 +100,7 @@ s.fullscreen_editor_id = ed.id; s.theme_advanced_resizing = false; s.save_onsavecallback = function() { - ed.setContent(tinyMCE.get(s.id).getContent({format : 'raw'}), {format : 'raw'}); + ed.setContent(tinyMCE.get(s.id).getContent()); ed.execCommand('mceSave'); }; @@ -104,16 +118,19 @@ }); t.fullscreenEditor.render(); - tinyMCE.add(t.fullscreenEditor); t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container'); t.fullscreenElement.update(); //document.body.overflow = 'hidden'; t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() { - var vp = tinymce.DOM.getViewPort(); + var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize; + + // Get outer/inner size to get a delta size that can be used to calc the new iframe size + outerSize = fed.dom.getSize(fed.getContainer().firstChild); + innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]); - t.fullscreenEditor.theme.resizeTo(vp.w, vp.h); + fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h); }); } }); @@ -139,4 +156,4 @@ // Register plugin tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin); -})(); +})(); \ No newline at end of file