110 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html xmlns="http://www.w3.org/1999/xhtml">
 | |
| <head>
 | |
| 	<title></title>
 | |
| 	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | |
| 	<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>
 |