Mercurial > public > sg101
view static/js/tiny_mce/plugins/fullscreen/fullscreen.htm @ 917:0365fdbb4d78
Fix app conflict with messages.
Django's messages app label conflicts with our messages app.
We can't easily rename our label as that will make us rename database tables.
Since our app came first we'll just customize Django messages label.
For Django 1.7.7 upgrade.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 06 Apr 2015 20:02: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>