]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/tinymce/plugins/fullscreen/plugin.js
WordPress 4.5-scripts
[autoinstalls/wordpress.git] / wp-includes / js / tinymce / plugins / fullscreen / plugin.js
index ad379382dcd699b45fa5cccbae2d2435401e827d..332951229335a3c39f49efefb879610a9c35535d 100644 (file)
@@ -12,7 +12,7 @@
 
 tinymce.PluginManager.add('fullscreen', function(editor) {
        var fullscreenState = false, DOM = tinymce.DOM, iframeWidth, iframeHeight, resizeHandler;
-       var containerWidth, containerHeight;
+       var containerWidth, containerHeight, scrollPos;
 
        if (editor.settings.inline) {
                return;
@@ -37,6 +37,19 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
                return {w: w, h: h};
        }
 
+       function getScrollPos() {
+               var vp = tinymce.DOM.getViewPort();
+
+               return {
+                       x: vp.x,
+                       y: vp.y
+               };
+       }
+
+       function setScrollPos(pos) {
+               scrollTo(pos.x, pos.y);
+       }
+
        function toggleFullscreen() {
                var body = document.body, documentElement = document.documentElement, editorContainerStyle;
                var editorContainer, iframe, iframeStyle;
@@ -53,6 +66,7 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
                iframeStyle = iframe.style;
 
                if (fullscreenState) {
+                       scrollPos = getScrollPos();
                        iframeWidth = iframeStyle.width;
                        iframeHeight = iframeStyle.height;
                        iframeStyle.width = iframeStyle.height = '100%';
@@ -83,6 +97,7 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
                        DOM.removeClass(documentElement, 'mce-fullscreen');
                        DOM.removeClass(editorContainer, 'mce-fullscreen');
                        DOM.unbind(window, 'resize', resizeHandler);
+                       setScrollPos(scrollPos);
                }
 
                editor.fire('FullscreenStateChanged', {state: fullscreenState});
@@ -104,7 +119,10 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
                text: 'Fullscreen',
                shortcut: 'Meta+Alt+F',
                selectable: true,
-               onClick: toggleFullscreen,
+               onClick: function() {
+                       toggleFullscreen();
+                       editor.focus();
+               },
                onPostRender: function() {
                        var self = this;
 
@@ -133,4 +151,4 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
                        return fullscreenState;
                }
        };
-});
\ No newline at end of file
+});