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;'}); |