[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title></title> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 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 moveContent(); 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 // find the original editor, execute restore state in it's plugin instance 60 window.opener.tinyMCE.get(oeID).plugins.fullscreen.saveState(tinyMCE.activeEditor); 61 62 // prevent moveContent from being called twice - e.g. if the unloadHandler runs after moveContent() 63 tinymce.dom.Event.remove(window, "beforeunload", unloadHandler); 64 } 65 66 function closeFullscreen() { 67 // moveContent() will be called by the unload handler 68 window.close(); 69 } 70 71 function doParentSubmit() { 72 moveContent(); 73 74 if (window.opener.tinyMCE.selectedInstance.formElement.form) 75 window.opener.tinyMCE.selectedInstance.formElement.form.submit(); 76 77 window.close(); 78 79 return false; 80 } 81 82 function render() { 83 var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM; 84 85 vp = dom.getViewPort(); 86 settings.width = vp.w; 87 settings.height = vp.h - 15; 88 89 settings.oninit = function() { 90 var ed = tinyMCE.activeEditor; 91 window.opener.tinyMCE.get(oeID).plugins.fullscreen.loadState(ed); 92 93 tinymce.dom.Event.add(window, 'resize', function() { 94 var vp = dom.getViewPort(); 95 96 tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h); 97 }); 98 } 99 100 tinyMCE.init(settings); 101 } 102 103 // Add onunload 104 tinymce.dom.Event.add(window, "beforeunload", unloadHandler); 105 </script> 106 </head> 107 <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no"> 108 <form onsubmit="doParentSubmit();"> 109 <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea> 110 </form> 111 112 <script type="text/javascript"> 113 render(); 114 </script> 115 116 </body> 117 </html>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |