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 | <script type="text/javascript" src="../../tiny_mce.js"></script>
|
---|
6 | <script type="text/javascript">
|
---|
7 | function patchCallback(settings, key) {
|
---|
8 | if (settings[key])
|
---|
9 | settings[key] = "window.opener." + settings[key];
|
---|
10 | }
|
---|
11 |
|
---|
12 | var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;
|
---|
13 |
|
---|
14 | // Clone array
|
---|
15 | for (var n in paSe)
|
---|
16 | settings[n] = paSe[n];
|
---|
17 |
|
---|
18 | // Override options for fullscreen
|
---|
19 | for (var n in paSe.fullscreen_settings)
|
---|
20 | settings[n] = paSe.fullscreen_settings[n];
|
---|
21 |
|
---|
22 | // Patch callbacks, make them point to window.opener
|
---|
23 | patchCallback(settings, 'urlconverter_callback');
|
---|
24 | patchCallback(settings, 'insertlink_callback');
|
---|
25 | patchCallback(settings, 'insertimage_callback');
|
---|
26 | patchCallback(settings, 'setupcontent_callback');
|
---|
27 | patchCallback(settings, 'save_callback');
|
---|
28 | patchCallback(settings, 'onchange_callback');
|
---|
29 | patchCallback(settings, 'init_instance_callback');
|
---|
30 | patchCallback(settings, 'file_browser_callback');
|
---|
31 | patchCallback(settings, 'cleanup_callback');
|
---|
32 | patchCallback(settings, 'execcommand_callback');
|
---|
33 | patchCallback(settings, 'oninit');
|
---|
34 |
|
---|
35 | // Set options
|
---|
36 | delete settings.id;
|
---|
37 | settings['mode'] = 'exact';
|
---|
38 | settings['elements'] = 'fullscreenarea';
|
---|
39 | settings['add_unload_trigger'] = false;
|
---|
40 | settings['ask'] = false;
|
---|
41 | settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
|
---|
42 | settings['fullscreen_is_enabled'] = true;
|
---|
43 | settings['fullscreen_editor_id'] = oeID;
|
---|
44 | settings['theme_advanced_resizing'] = false;
|
---|
45 | settings['strict_loading_mode'] = true;
|
---|
46 |
|
---|
47 | settings.save_onsavecallback = function() {
|
---|
48 | window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});
|
---|
49 | window.opener.tinyMCE.get(oeID).execCommand('mceSave');
|
---|
50 | window.close();
|
---|
51 | };
|
---|
52 |
|
---|
53 | function unloadHandler(e) {
|
---|
54 | moveContent();
|
---|
55 | }
|
---|
56 |
|
---|
57 | function moveContent() {
|
---|
58 | window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());
|
---|
59 | }
|
---|
60 |
|
---|
61 | function closeFullscreen() {
|
---|
62 | moveContent();
|
---|
63 | window.close();
|
---|
64 | }
|
---|
65 |
|
---|
66 | function doParentSubmit() {
|
---|
67 | moveContent();
|
---|
68 |
|
---|
69 | if (window.opener.tinyMCE.selectedInstance.formElement.form)
|
---|
70 | window.opener.tinyMCE.selectedInstance.formElement.form.submit();
|
---|
71 |
|
---|
72 | window.close();
|
---|
73 |
|
---|
74 | return false;
|
---|
75 | }
|
---|
76 |
|
---|
77 | function render() {
|
---|
78 | var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
|
---|
79 |
|
---|
80 | e.value = window.opener.tinyMCE.get(oeID).getContent();
|
---|
81 |
|
---|
82 | vp = dom.getViewPort();
|
---|
83 | settings.width = vp.w;
|
---|
84 | settings.height = vp.h - 15;
|
---|
85 |
|
---|
86 | tinymce.dom.Event.add(window, 'resize', function() {
|
---|
87 | var vp = dom.getViewPort();
|
---|
88 |
|
---|
89 | tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
|
---|
90 | });
|
---|
91 |
|
---|
92 | tinyMCE.init(settings);
|
---|
93 | }
|
---|
94 |
|
---|
95 | // Add onunload
|
---|
96 | tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
|
---|
97 | </script>
|
---|
98 | </head>
|
---|
99 | <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">
|
---|
100 | <form onsubmit="doParentSubmit();">
|
---|
101 | <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
|
---|
102 | </form>
|
---|
103 |
|
---|
104 | <script type="text/javascript">
|
---|
105 | render();
|
---|
106 | </script>
|
---|
107 |
|
---|
108 | </body>
|
---|
109 | </html>
|
---|