Mercurial > public > sg101
comparison media/js/tiny_mce/plugins/fullscreen/fullscreen.htm @ 45:a5b4c5ce0658
Breaking down and controlling all media files, including javascript libraries.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 19 Jun 2009 03:16:03 +0000 |
parents | |
children | 149c3567fec1 |
comparison
equal
deleted
inserted
replaced
44:08cd19c1ee50 | 45:a5b4c5ce0658 |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
2 <html xmlns="http://www.w3.org/1999/xhtml"> | |
3 <head> | |
4 <title></title> | |
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | |
6 <script type="text/javascript" src="../../tiny_mce.js"></script> | |
7 <script type="text/javascript"> | |
8 function patchCallback(settings, key) { | |
9 if (settings[key]) | |
10 settings[key] = "window.opener." + settings[key]; | |
11 } | |
12 | |
13 var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id; | |
14 | |
15 // Clone array | |
16 for (var n in paSe) | |
17 settings[n] = paSe[n]; | |
18 | |
19 // Override options for fullscreen | |
20 for (var n in paSe.fullscreen_settings) | |
21 settings[n] = paSe.fullscreen_settings[n]; | |
22 | |
23 // Patch callbacks, make them point to window.opener | |
24 patchCallback(settings, 'urlconverter_callback'); | |
25 patchCallback(settings, 'insertlink_callback'); | |
26 patchCallback(settings, 'insertimage_callback'); | |
27 patchCallback(settings, 'setupcontent_callback'); | |
28 patchCallback(settings, 'save_callback'); | |
29 patchCallback(settings, 'onchange_callback'); | |
30 patchCallback(settings, 'init_instance_callback'); | |
31 patchCallback(settings, 'file_browser_callback'); | |
32 patchCallback(settings, 'cleanup_callback'); | |
33 patchCallback(settings, 'execcommand_callback'); | |
34 patchCallback(settings, 'oninit'); | |
35 | |
36 // Set options | |
37 delete settings.id; | |
38 settings['mode'] = 'exact'; | |
39 settings['elements'] = 'fullscreenarea'; | |
40 settings['add_unload_trigger'] = false; | |
41 settings['ask'] = false; | |
42 settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI(); | |
43 settings['fullscreen_is_enabled'] = true; | |
44 settings['fullscreen_editor_id'] = oeID; | |
45 settings['theme_advanced_resizing'] = false; | |
46 settings['strict_loading_mode'] = true; | |
47 | |
48 settings.save_onsavecallback = function() { | |
49 window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'}); | |
50 window.opener.tinyMCE.get(oeID).execCommand('mceSave'); | |
51 window.close(); | |
52 }; | |
53 | |
54 function unloadHandler(e) { | |
55 moveContent(); | |
56 } | |
57 | |
58 function moveContent() { | |
59 window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent()); | |
60 } | |
61 | |
62 function closeFullscreen() { | |
63 moveContent(); | |
64 window.close(); | |
65 } | |
66 | |
67 function doParentSubmit() { | |
68 moveContent(); | |
69 | |
70 if (window.opener.tinyMCE.selectedInstance.formElement.form) | |
71 window.opener.tinyMCE.selectedInstance.formElement.form.submit(); | |
72 | |
73 window.close(); | |
74 | |
75 return false; | |
76 } | |
77 | |
78 function render() { | |
79 var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM; | |
80 | |
81 e.value = window.opener.tinyMCE.get(oeID).getContent(); | |
82 | |
83 vp = dom.getViewPort(); | |
84 settings.width = vp.w; | |
85 settings.height = vp.h - 15; | |
86 | |
87 tinymce.dom.Event.add(window, 'resize', function() { | |
88 var vp = dom.getViewPort(); | |
89 | |
90 tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h); | |
91 }); | |
92 | |
93 tinyMCE.init(settings); | |
94 } | |
95 | |
96 // Add onunload | |
97 tinymce.dom.Event.add(window, "beforeunload", unloadHandler); | |
98 </script> | |
99 </head> | |
100 <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no"> | |
101 <form onsubmit="doParentSubmit();"> | |
102 <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea> | |
103 </form> | |
104 | |
105 <script type="text/javascript"> | |
106 render(); | |
107 </script> | |
108 | |
109 </body> | |
110 </html> |