Mercurial > public > sg101
view static/js/tiny_mce/plugins/fullscreen/fullscreen.htm @ 645:99f7917702ca
Fix 081a88b3bfc8, javascript resize of forum images.
Commit 081a88b3bfc8 broke those pages that loaded forums.js but did not load
the imagesLoaded jQuery extension. Now we have arranged it so that only the
forums topic view loads imagesLoaded and put the resizing javascript inline.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 11 Mar 2013 15:30:25 -0500 |
parents | 88b2b9cb8c1f |
children |
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript" src="../../tiny_mce.js"></script> <script type="text/javascript"> function patchCallback(settings, key) { if (settings[key]) settings[key] = "window.opener." + settings[key]; } var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id; // Clone array for (var n in paSe) settings[n] = paSe[n]; // Override options for fullscreen for (var n in paSe.fullscreen_settings) settings[n] = paSe.fullscreen_settings[n]; // Patch callbacks, make them point to window.opener patchCallback(settings, 'urlconverter_callback'); patchCallback(settings, 'insertlink_callback'); patchCallback(settings, 'insertimage_callback'); patchCallback(settings, 'setupcontent_callback'); patchCallback(settings, 'save_callback'); patchCallback(settings, 'onchange_callback'); patchCallback(settings, 'init_instance_callback'); patchCallback(settings, 'file_browser_callback'); patchCallback(settings, 'cleanup_callback'); patchCallback(settings, 'execcommand_callback'); patchCallback(settings, 'oninit'); // Set options delete settings.id; settings['mode'] = 'exact'; settings['elements'] = 'fullscreenarea'; settings['add_unload_trigger'] = false; settings['ask'] = false; settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI(); settings['fullscreen_is_enabled'] = true; settings['fullscreen_editor_id'] = oeID; settings['theme_advanced_resizing'] = false; settings['strict_loading_mode'] = true; settings.save_onsavecallback = function() { window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'}); window.opener.tinyMCE.get(oeID).execCommand('mceSave'); window.close(); }; function unloadHandler(e) { moveContent(); } function moveContent() { window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent()); } function closeFullscreen() { moveContent(); window.close(); } function doParentSubmit() { moveContent(); if (window.opener.tinyMCE.selectedInstance.formElement.form) window.opener.tinyMCE.selectedInstance.formElement.form.submit(); window.close(); return false; } function render() { var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM; e.value = window.opener.tinyMCE.get(oeID).getContent(); vp = dom.getViewPort(); settings.width = vp.w; settings.height = vp.h - 15; tinymce.dom.Event.add(window, 'resize', function() { var vp = dom.getViewPort(); tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h); }); tinyMCE.init(settings); } // Add onunload tinymce.dom.Event.add(window, "beforeunload", unloadHandler); </script> </head> <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no"> <form onsubmit="doParentSubmit();"> <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea> </form> <script type="text/javascript"> render(); </script> </body> </html>