forked from extern/egroupware
0a28f3812e
- Inclusion of the following javascript directories: * Connector: javascript object to interface xmlhttprequest object. This object allows asynchronous posts and support for messages while this post is being done, such as "wait, contacting server", etc. * JsAPI: general javascript functions and methods * jsolait: performs conversion from a xmlrpc message to a javascript object * xmlRpcMsgCreator: performs conversion from a javascript object to a xmlrpc message * dynapi: cross-browser class to draw layers - Update in setup version: now is 1.0.1.008; Update your versions. There was made a change in phpgw_vfs2_files table in handling of modified files. - Upgrade of vfs2 classes and PclZip class - Changes in javascript object and common object to allow the javascript backend to applications to work (now just filescenter will use it...)
140 lines
5.0 KiB
HTML
140 lines
5.0 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Fullscreen HTMLArea</title>
|
|
<script type="text/javascript">
|
|
_editor_url = window.opener._editor_url || '../';
|
|
_editor_lang = window.opener._editor_lang;
|
|
_editor_css = window.opener._editor_css;
|
|
var BASE = window.opener.document.baseURI || window.opener.document.URL;
|
|
var head = document.getElementsByTagName("head")[0];
|
|
var base = document.createElement("base");
|
|
base.href = BASE;
|
|
head.appendChild(base);
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
document.write('<scr' + 'ipt type="text/javascript" src="' + _editor_url + 'htmlarea.js"></scr' + 'ipt>');
|
|
</script>
|
|
<script type="text/javascript">
|
|
// load HTMLArea scripts that are present in the opener frame
|
|
var scripts = window.opener.HTMLArea._scripts;
|
|
for (var i = 3; i < scripts.length; ++i) {
|
|
//document.write("<scr" + "ipt type='text/javascript' src='" + scripts[i] + "'></scr" + "ipt>");
|
|
HTMLArea.loadScript(scripts[i]);
|
|
}
|
|
</script>
|
|
|
|
<!-- browser takes a coffee break here -->
|
|
<script type="text/javascript">
|
|
var parent_object = null;
|
|
var editor = null; // to be initialized later [ function init() ]
|
|
|
|
/* ---------------------------------------------------------------------- *\
|
|
Function :
|
|
Description :
|
|
\* ---------------------------------------------------------------------- */
|
|
|
|
function _CloseOnEsc(ev) {
|
|
ev || (ev = window.event) || (ev = editor._iframe.contentWindow.event);
|
|
if (ev.keyCode == 27) {
|
|
// update_parent();
|
|
window.close();
|
|
return;
|
|
}
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- *\
|
|
Function : resize_editor
|
|
Description : resize the editor when the user resizes the popup
|
|
\* ---------------------------------------------------------------------- */
|
|
|
|
function resize_editor() { // resize editor to fix window
|
|
var newHeight;
|
|
if (document.all) {
|
|
// IE
|
|
newHeight = document.body.offsetHeight - editor._toolbar.offsetHeight;
|
|
if (newHeight < 0) { newHeight = 0; }
|
|
} else {
|
|
// Gecko
|
|
newHeight = window.innerHeight - editor._toolbar.offsetHeight;
|
|
}
|
|
if (editor.config.statusBar) {
|
|
newHeight -= editor._statusBar.offsetHeight;
|
|
}
|
|
editor._textArea.style.height = editor._iframe.style.height = newHeight - (HTMLArea.is_gecko ? 8 : 0) + "px";
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- *\
|
|
Function : init
|
|
Description : run this code on page load
|
|
\* ---------------------------------------------------------------------- */
|
|
|
|
function init() {
|
|
parent_object = opener.HTMLArea._object;
|
|
var config = HTMLArea.cloneObject( parent_object.config );
|
|
config.width = "100%";
|
|
config.height = "auto";
|
|
|
|
// change maximize button to minimize button
|
|
config.btnList["popupeditor"] = [ 'Minimize Editor', _editor_url + 'images/fullscreen_minimize.gif', true,
|
|
function() { window.close(); } ];
|
|
|
|
// generate editor and resize it
|
|
editor = new HTMLArea("editor", config);
|
|
|
|
// register the plugins, if any
|
|
for (var i in parent_object.plugins) {
|
|
var plugin = parent_object.plugins[i];
|
|
try {
|
|
eval(plugin.name);
|
|
editor.registerPlugin2(plugin.name, plugin.args);
|
|
} catch(e) {};
|
|
}
|
|
// and restore the original toolbar
|
|
config.toolbar = parent_object.config.toolbar;
|
|
editor.generate();
|
|
editor._iframe.style.width = "100%";
|
|
editor._textArea.style.width = "100%";
|
|
resize_editor();
|
|
|
|
editor.doctype = parent_object.doctype;
|
|
|
|
// set child window contents and event handlers, after a small delay
|
|
setTimeout(function() {
|
|
editor.setHTML(parent_object.getInnerHTML());
|
|
|
|
// switch mode if needed
|
|
if (parent_object._mode == "textmode") { editor.setMode("textmode"); }
|
|
|
|
// continuously update parent editor window
|
|
setInterval(update_parent, 500);
|
|
|
|
// setup event handlers
|
|
document.body.onkeypress = _CloseOnEsc;
|
|
editor._doc.body.onkeypress = _CloseOnEsc;
|
|
editor._textArea.onkeypress = _CloseOnEsc;
|
|
window.onresize = resize_editor;
|
|
}, 333); // give it some time to meet the new frame
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- *\
|
|
Function : update_parent
|
|
Description : update parent window editor field with contents from child window
|
|
\* ---------------------------------------------------------------------- */
|
|
|
|
function update_parent() {
|
|
// use the fast version
|
|
parent_object.setHTML(editor.getInnerHTML());
|
|
}
|
|
|
|
</script>
|
|
<style type="text/css"> html, body { height: 100%; margin: 0px; border: 0px; background-color: buttonface; } </style>
|
|
</head>
|
|
<body scroll="no" onload="HTMLArea.onload = init; HTMLArea.init();" onunload="update_parent()">
|
|
<form style="margin: 0px; border: 1px solid; border-color: threedshadow threedhighlight threedhighlight threedshadow;">
|
|
<textarea name="editor" id="editor" style="width:100%; height:300px"> </textarea>
|
|
</form>
|
|
</body>
|
|
</html>
|