Mercurial > hg > AnnotationManager
comparison WebContent/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm @ 5:0be9d53a6967
editor for annotations
| author | dwinter |
|---|---|
| date | Tue, 13 Dec 2011 17:43:46 +0100 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 4:c32080f364c6 | 5:0be9d53a6967 |
|---|---|
| 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 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> |
