]> git.mxchange.org Git - friendica.git/blob - library/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
updated tinymce to 3.5.11
[friendica.git] / library / tinymce / jscripts / tiny_mce / plugins / fullscreen / fullscreen.htm
1 <!DOCTYPE html>\r
2 <html xmlns="http://www.w3.org/1999/xhtml">\r
3 <head>\r
4         <title></title>\r
5         <meta http-equiv="X-UA-Compatible" content="IE=edge" />\r
6         <script type="text/javascript" src="../../tiny_mce.js"></script>\r
7         <script type="text/javascript">\r
8                 function patchCallback(settings, key) {\r
9                         if (settings[key])\r
10                                 settings[key] = "window.opener." + settings[key];\r
11                 }\r
12 \r
13                 var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;\r
14 \r
15                 // Clone array\r
16                 for (var n in paSe)\r
17                         settings[n] = paSe[n];\r
18 \r
19                 // Override options for fullscreen\r
20                 for (var n in paSe.fullscreen_settings)\r
21                         settings[n] = paSe.fullscreen_settings[n];\r
22 \r
23                 // Patch callbacks, make them point to window.opener\r
24                 patchCallback(settings, 'urlconverter_callback');\r
25                 patchCallback(settings, 'insertlink_callback');\r
26                 patchCallback(settings, 'insertimage_callback');\r
27                 patchCallback(settings, 'setupcontent_callback');\r
28                 patchCallback(settings, 'save_callback');\r
29                 patchCallback(settings, 'onchange_callback');\r
30                 patchCallback(settings, 'init_instance_callback');\r
31                 patchCallback(settings, 'file_browser_callback');\r
32                 patchCallback(settings, 'cleanup_callback');\r
33                 patchCallback(settings, 'execcommand_callback');\r
34                 patchCallback(settings, 'oninit');\r
35 \r
36                 // Set options\r
37                 delete settings.id;\r
38                 settings['mode'] = 'exact';\r
39                 settings['elements'] = 'fullscreenarea';\r
40                 settings['add_unload_trigger'] = false;\r
41                 settings['ask'] = false;\r
42                 settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();\r
43                 settings['fullscreen_is_enabled'] = true;\r
44                 settings['fullscreen_editor_id'] = oeID;\r
45                 settings['theme_advanced_resizing'] = false;\r
46                 settings['strict_loading_mode'] = true;\r
47 \r
48                 settings.save_onsavecallback = function() {\r
49                         moveContent();\r
50                         window.opener.tinyMCE.get(oeID).execCommand('mceSave');\r
51                         window.close();\r
52                 };\r
53 \r
54                 function unloadHandler(e) {\r
55                         moveContent();\r
56                 }\r
57 \r
58                 function moveContent() {\r
59                         // find the original editor, execute restore state in it's plugin instance\r
60                         window.opener.tinyMCE.get(oeID).plugins.fullscreen.saveState(tinyMCE.activeEditor);\r
61 \r
62                         // prevent moveContent from being called twice - e.g. if the unloadHandler runs after moveContent()\r
63                         tinymce.dom.Event.remove(window, "beforeunload", unloadHandler);\r
64                 }\r
65 \r
66                 function closeFullscreen() {\r
67                         // moveContent() will be called by the unload handler\r
68                         window.close();\r
69                 }\r
70 \r
71                 function doParentSubmit() {\r
72                         moveContent();\r
73 \r
74                         if (window.opener.tinyMCE.selectedInstance.formElement.form)\r
75                                 window.opener.tinyMCE.selectedInstance.formElement.form.submit();\r
76 \r
77                         window.close();\r
78 \r
79                         return false;\r
80                 }\r
81 \r
82                 function render() {\r
83                         var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;\r
84 \r
85                         vp = dom.getViewPort();\r
86                         settings.width = vp.w;\r
87                         settings.height = vp.h - 15;\r
88 \r
89                         settings.oninit = function() {\r
90                                 var ed = tinyMCE.activeEditor;\r
91                                 window.opener.tinyMCE.get(oeID).plugins.fullscreen.loadState(ed);\r
92 \r
93                                 tinymce.dom.Event.add(window, 'resize', function() {\r
94                                         var vp = dom.getViewPort();\r
95 \r
96                                         tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);\r
97                                 });\r
98                         }\r
99 \r
100                         tinyMCE.init(settings);\r
101                 }\r
102 \r
103                 // Add onunload\r
104                 tinymce.dom.Event.add(window, "beforeunload", unloadHandler);\r
105         </script>\r
106 </head>\r
107 <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">\r
108 <form onsubmit="doParentSubmit();">\r
109 <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>\r
110 </form>\r
111 \r
112 <script type="text/javascript">\r
113         render();\r
114 </script>\r
115 \r
116 </body>\r
117 </html>\r