Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / plugins / fullscreen / editor_plugin_src.js
index 77a8c3b9ab443176737267a6ae71d217b09937ce..afa4f9b46ebf2e5967ab236285792872ad6ab77b 100644 (file)
@@ -1,8 +1,11 @@
 /**\r
- * $Id: editor_plugin_src.js 923 2008-09-09 16:45:29Z spocke $\r
+ * editor_plugin_src.js\r
  *\r
- * @author Moxiecode\r
- * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
+ * Copyright 2009, Moxiecode Systems AB\r
+ * Released under LGPL License.\r
+ *\r
+ * License: http://tinymce.moxiecode.com/license\r
+ * Contributing: http://tinymce.moxiecode.com/contributing\r
  */\r
 \r
 (function() {\r
@@ -10,7 +13,7 @@
 \r
        tinymce.create('tinymce.plugins.FullScreenPlugin', {\r
                init : function(ed, url) {\r
-                       var t = this, s = {}, vp;\r
+                       var t = this, s = {}, vp, posCss;\r
 \r
                        t.editor = ed;\r
 \r
@@ -24,7 +27,7 @@
                                        else {\r
                                                DOM.win.setTimeout(function() {\r
                                                        tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);\r
-                                                       tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'});\r
+                                                       tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent());\r
                                                        tinyMCE.remove(ed);\r
                                                        DOM.remove('mce_fullscreen_container');\r
                                                        de.style.overflow = ed.getParam('fullscreen_html_overflow');\r
                                        if (tinymce.isIE)\r
                                                vp.h -= 1;\r
 \r
-                                       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;'});\r
+                                       // Use fixed position if it exists\r
+                                       if (tinymce.isIE6)\r
+                                               posCss = 'absolute;top:' + vp.y;\r
+                                       else\r
+                                               posCss = 'fixed;top:0';\r
+\r
+                                       n = DOM.add(DOM.doc.body, 'div', {\r
+                                               id : 'mce_fullscreen_container', \r
+                                               style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'});\r
                                        DOM.add(n, 'div', {id : 'mce_fullscreen'});\r
 \r
                                        tinymce.each(ed.settings, function(v, n) {\r
                                        s.fullscreen_editor_id = ed.id;\r
                                        s.theme_advanced_resizing = false;\r
                                        s.save_onsavecallback = function() {\r
-                                               ed.setContent(tinyMCE.get(s.id).getContent({format : 'raw'}), {format : 'raw'});\r
+                                               ed.setContent(tinyMCE.get(s.id).getContent());\r
                                                ed.execCommand('mceSave');\r
                                        };\r
 \r
                                        });\r
 \r
                                        t.fullscreenEditor.render();\r
-                                       tinyMCE.add(t.fullscreenEditor);\r
 \r
                                        t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container');\r
                                        t.fullscreenElement.update();\r
                                        //document.body.overflow = 'hidden';\r
 \r
                                        t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() {\r
-                                               var vp = tinymce.DOM.getViewPort();\r
+                                               var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize;\r
+\r
+                                               // Get outer/inner size to get a delta size that can be used to calc the new iframe size\r
+                                               outerSize = fed.dom.getSize(fed.getContainer().firstChild);\r
+                                               innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]);\r
 \r
-                                               t.fullscreenEditor.theme.resizeTo(vp.w, vp.h);\r
+                                               fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h);\r
                                        });\r
                                }\r
                        });\r