]> git.mxchange.org Git - friendica.git/blobdiff - library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
reverting tinymce changes, updating smarty to 3.1.19
[friendica.git] / library / tinymce / jscripts / tiny_mce / plugins / fullscreen / editor_plugin_src.js
index bec886f74f280e8ed9f5b0af1a12c7e8035f0844..524b487aa087c560c3ce38b59430eaf5d2d3863c 100644 (file)
 (function() {\r
        var DOM = tinymce.DOM;\r
 \r
-       // State Transfer function\r
-       var transferState = function(oldEditor, newEditor, bookmark) {\r
-               var transferColorButtonState = function(swapme) {\r
-                       var c = oldEditor.controlManager.get(swapme);\r
-                       var newC = newEditor.controlManager.get(swapme);\r
-\r
-                       if (c && newC) {\r
-                               newC.displayColor(c.value);\r
-                       }\r
-\r
-               };\r
-\r
-               transferColorButtonState('forecolor');\r
-               transferColorButtonState('backcolor');\r
-               newEditor.setContent(oldEditor.getContent({format : 'raw'}), {format : 'raw'});\r
-               newEditor.selection.moveToBookmark(bookmark);\r
-\r
-               if (oldEditor.plugins.spellchecker && newEditor.plugins.spellchecker) {\r
-                       newEditor.plugins.spellchecker.setLanguage(oldEditor.plugins.spellchecker.selectedLang);\r
-               }\r
-       };\r
-\r
        tinymce.create('tinymce.plugins.FullScreenPlugin', {\r
                init : function(ed, url) {\r
-                       var t = this, s = {}, de = DOM.doc.documentElement, vp, fullscreen_overflow, fullscreen_html_overflow, fullscreen_scrollx, fullscreen_scrolly, posCss, bookmark;\r
+                       var t = this, s = {}, vp, posCss;\r
+\r
+                       t.editor = ed;\r
 \r
                        // Register commands\r
                        ed.addCommand('mceFullScreen', function() {\r
-                               var win, oed;\r
+                               var win, de = DOM.doc.documentElement;\r
 \r
                                if (ed.getParam('fullscreen_is_enabled')) {\r
                                        if (ed.getParam('fullscreen_new_window'))\r
-                                               closeFullscreen(); // Call to close in fullscreen.htm\r
+                                               closeFullscreen(); // Call to close in new window\r
                                        else {\r
                                                DOM.win.setTimeout(function() {\r
-                                                       var fullscreenEditor = ed;\r
-\r
-                                                       // find the editor that opened this one, execute restore function there\r
-                                                       var originalEditor = tinyMCE.get(fullscreenEditor.getParam('fullscreen_editor_id'));\r
-                                                       originalEditor.plugins.fullscreen.saveState(fullscreenEditor);\r
-\r
-                                                       tinyMCE.remove(fullscreenEditor);\r
+                                                       tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);\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
+                                                       DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow'));\r
+                                                       DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly'));\r
+                                                       tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings\r
                                                }, 10);\r
                                        }\r
 \r
@@ -60,9 +41,6 @@
                                }\r
 \r
                                if (ed.getParam('fullscreen_new_window')) {\r
-                                       t.fullscreenSettings = {\r
-                                               bookmark: ed.selection.getBookmark()\r
-                                       };\r
                                        win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);\r
                                        try {\r
                                                win.resizeTo(screen.availWidth, screen.availHeight);\r
                                                // Ignore\r
                                        }\r
                                } else {\r
-                                       fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';\r
-                                       fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);\r
+                                       tinyMCE.oldSettings = tinyMCE.settings; // Store old settings\r
+                                       s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';\r
+                                       s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);\r
                                        vp = DOM.getViewPort();\r
-                                       fullscreen_scrollx = vp.x;\r
-                                       fullscreen_scrolly = vp.y;\r
+                                       s.fullscreen_scrollx = vp.x;\r
+                                       s.fullscreen_scrolly = vp.y;\r
 \r
                                        // Fixes an Opera bug where the scrollbars doesn't reappear\r
-                                       if (tinymce.isOpera && fullscreen_overflow == 'visible')\r
-                                               fullscreen_overflow = 'auto';\r
+                                       if (tinymce.isOpera && s.fullscreen_overflow == 'visible')\r
+                                               s.fullscreen_overflow = 'auto';\r
 \r
                                        // Fixes an IE bug where horizontal scrollbars would appear\r
-                                       if (tinymce.isIE && fullscreen_overflow == 'scroll')\r
-                                               fullscreen_overflow = 'auto';\r
+                                       if (tinymce.isIE && s.fullscreen_overflow == 'scroll')\r
+                                               s.fullscreen_overflow = 'auto';\r
 \r
                                        // Fixes an IE bug where the scrollbars doesn't reappear\r
-                                       if (tinymce.isIE && (fullscreen_html_overflow == 'visible' || fullscreen_html_overflow == 'scroll'))\r
-                                               fullscreen_html_overflow = 'auto';\r
+                                       if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll'))\r
+                                               s.fullscreen_html_overflow = 'auto';\r
 \r
-                                       if (fullscreen_overflow == '0px')\r
-                                               fullscreen_overflow = '';\r
+                                       if (s.fullscreen_overflow == '0px')\r
+                                               s.fullscreen_overflow = '';\r
 \r
                                        DOM.setStyle(DOM.doc.body, 'overflow', 'hidden');\r
                                        de.style.overflow = 'hidden'; //Fix for IE6/7\r
                                                s[k] = v;\r
                                        });\r
 \r
-                                       t.fullscreenSettings = {\r
-                                               bookmark: ed.selection.getBookmark(),\r
-                                               fullscreen_overflow: fullscreen_overflow,\r
-                                               fullscreen_html_overflow: fullscreen_html_overflow,\r
-                                               fullscreen_scrollx: fullscreen_scrollx,\r
-                                               fullscreen_scrolly: fullscreen_scrolly\r
-                                       };\r
-\r
                                        if (s.theme_advanced_toolbar_location === 'external')\r
                                                s.theme_advanced_toolbar_location = 'top';\r
 \r
-                                       tinyMCE.oldSettings = tinyMCE.settings; // Store old settings, the Editor constructor overwrites them\r
                                        t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s);\r
                                        t.fullscreenEditor.onInit.add(function() {\r
-                                               t.loadState(t.fullscreenEditor);\r
+                                               t.fullscreenEditor.setContent(ed.getContent());\r
+                                               t.fullscreenEditor.focus();\r
                                        });\r
 \r
                                        t.fullscreenEditor.render();\r
                        ed.onNodeChange.add(function(ed, cm) {\r
                                cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled'));\r
                        });\r
-\r
-                       // fullscreenEditor is a param here because in window mode we don't create it\r
-                       t.loadState = function(fullscreenEditor) {\r
-                               if (!(fullscreenEditor && t.fullscreenSettings)) {\r
-                                       throw "No fullscreen editor to load to";\r
-                               }\r
-\r
-                               transferState(ed, fullscreenEditor, t.fullscreenSettings.bookmark);\r
-                               fullscreenEditor.focus();\r
-\r
-                       };\r
-\r
-                       // fullscreenEditor is a param here because in window mode we don't create it\r
-                       t.saveState = function(fullscreenEditor) {\r
-                               if (!(fullscreenEditor && t.fullscreenSettings)) {\r
-                                       throw "No fullscreen editor to restore from";\r
-                               }\r
-                               var settings = t.fullscreenSettings;\r
-\r
-                               transferState(fullscreenEditor, ed, fullscreenEditor.selection.getBookmark());\r
-\r
-                               // cleanup only required if window mode isn't used\r
-                               if (!ed.getParam('fullscreen_new_window')) {\r
-                                       tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);\r
-                                       delete t.resizeFunc;\r
-\r
-                                       DOM.remove('mce_fullscreen_container');\r
-\r
-                                       DOM.doc.documentElement.style.overflow = settings.fullscreen_html_overflow;\r
-                                       DOM.setStyle(DOM.doc.body, 'overflow', settings.fullscreen_overflow);\r
-                                       DOM.win.scrollTo(settings.fullscreen_scrollx, settings.fullscreen_scrolly);\r
-                               }\r
-                               tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings\r
-\r
-                               // clear variables\r
-                               delete tinyMCE.oldSettings;\r
-                               delete t.fullscreenEditor;\r
-                               delete t.fullscreenElement;\r
-                               delete t.fullscreenSettings;\r
-\r
-                               // allow the fullscreen editor to be removed before restoring focus and selection\r
-                               DOM.win.setTimeout(function() {\r
-                                       ed.selection.moveToBookmark(bookmark);\r
-                                       ed.focus();\r
-                               }, 10);\r
-                       };\r
                },\r
 \r
                getInfo : function() {\r