includes/clientside/tinymce/plugins/fullscreen/editor_plugin_src.js
changeset 395 fa4c5ecb7c9a
parent 335 67bd3121a12e
child 459 31c23016ab62
equal deleted inserted replaced
394:fbfdcea634a7 395:fa4c5ecb7c9a
     1 /**
     1 /**
     2  * $Id: editor_plugin_src.js 453 2007-11-27 17:36:55Z spocke $
     2  * $Id: editor_plugin_src.js 544 2008-01-17 13:07:00Z spocke $
     3  *
     3  *
     4  * @author Moxiecode
     4  * @author Moxiecode
     5  * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
     5  * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
     6  */
     6  */
     7 
     7 
     8 (function() {
     8 (function() {
     9 	var DOM = tinymce.DOM;
     9 	var DOM = tinymce.DOM;
    10 
    10 
    14 
    14 
    15 			t.editor = ed;
    15 			t.editor = ed;
    16 
    16 
    17 			// Register commands
    17 			// Register commands
    18 			ed.addCommand('mceFullScreen', function() {
    18 			ed.addCommand('mceFullScreen', function() {
    19 				var win;
    19 				var win, de = document.documentElement;
    20 
    20 
    21 				if (ed.getParam('fullscreen_is_enabled')) {
    21 				if (ed.getParam('fullscreen_is_enabled')) {
    22 					if (ed.getParam('fullscreen_new_window'))
    22 					if (ed.getParam('fullscreen_new_window'))
    23 						closeFullscreen(); // Call to close in new window
    23 						closeFullscreen(); // Call to close in new window
    24 					else {
    24 					else {
    25 						window.setTimeout(function() {
    25 						window.setTimeout(function() {
    26 							tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'});
    26 							tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'});
    27 							tinyMCE.remove(ed);
    27 							tinyMCE.remove(ed);
    28 							DOM.remove('mce_fullscreen_container');
    28 							DOM.remove('mce_fullscreen_container');
       
    29 							de.style.overflow = ed.getParam('fullscreen_html_overflow');
    29 							DOM.setStyle(document.body, 'overflow', ed.getParam('fullscreen_overflow'));
    30 							DOM.setStyle(document.body, 'overflow', ed.getParam('fullscreen_overflow'));
       
    31 							window.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly'));
    30 						}, 10);
    32 						}, 10);
    31 					}
    33 					}
       
    34 
    32 					return;
    35 					return;
    33 				}
    36 				}
    34 
    37 
    35 				if (ed.getParam('fullscreen_new_window')) {
    38 				if (ed.getParam('fullscreen_new_window')) {
    36 					win = window.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=no,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
    39 					win = window.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=no,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
    39 					} catch (e) {
    42 					} catch (e) {
    40 						// Ignore
    43 						// Ignore
    41 					}
    44 					}
    42 				} else {
    45 				} else {
    43 					s.fullscreen_overflow = DOM.getStyle(document.body, 'overflow', 1) || 'auto';
    46 					s.fullscreen_overflow = DOM.getStyle(document.body, 'overflow', 1) || 'auto';
       
    47 					s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);
       
    48 					vp = DOM.getViewPort();
       
    49 					s.fullscreen_scrollx = vp.x;
       
    50 					s.fullscreen_scrolly = vp.y;
       
    51 
       
    52 					// Fixes an Opera bug where the scrollbars doesn't reappear
       
    53 					if (tinymce.isOpera && s.fullscreen_overflow == 'visible')
       
    54 						s.fullscreen_overflow = 'auto';
       
    55 
       
    56 					// Fixes an IE bug where horizontal scrollbars would appear
       
    57 					if (tinymce.isIE && s.fullscreen_overflow == 'scroll')
       
    58 						s.fullscreen_overflow = 'auto';
       
    59 
       
    60 					if (s.fullscreen_overflow == '0px')
       
    61 						s.fullscreen_overflow = '';
       
    62 
    44 					DOM.setStyle(document.body, 'overflow', 'hidden');
    63 					DOM.setStyle(document.body, 'overflow', 'hidden');
       
    64 					de.style.overflow = 'hidden'; //Fix for IE6/7
    45 					vp = DOM.getViewPort();
    65 					vp = DOM.getViewPort();
       
    66 					window.scrollTo(0, 0);
    46 
    67 
    47 					if (tinymce.isIE)
    68 					if (tinymce.isIE)
    48 						vp.h -= 1;
    69 						vp.h -= 1;
    49 
    70 
    50 					n = DOM.add(document.body, 'div', {id : 'mce_fullscreen_container', style : 'position:absolute;top:0;left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:150;'});
    71 					n = DOM.add(document.body, 'div', {id : 'mce_fullscreen_container', style : 'position:absolute;top:0;left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:150;'});