File:
[LON-CAPA] /
loncom /
html /
htmlarea /
popups /
Attic /
old-fullscreen.html
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Wed Feb 18 08:07:16 2004 UTC (20 years, 4 months ago) by
www
Branches:
MAIN
CVS tags:
version_2_5_X,
version_2_5_99_0,
version_2_5_2,
version_2_5_1,
version_2_5_0,
version_2_4_X,
version_2_4_99_0,
version_2_4_2,
version_2_4_1,
version_2_4_0,
version_2_3_X,
version_2_3_99_0,
version_2_3_2,
version_2_3_1,
version_2_3_0,
version_2_2_X,
version_2_2_99_1,
version_2_2_99_0,
version_2_2_2,
version_2_2_1,
version_2_2_0,
version_2_1_X,
version_2_1_99_3,
version_2_1_99_2,
version_2_1_99_1,
version_2_1_99_0,
version_2_1_3,
version_2_1_2,
version_2_1_1,
version_2_1_0,
version_2_0_X,
version_2_0_99_1,
version_2_0_2,
version_2_0_1,
version_2_0_0,
version_1_99_3,
version_1_99_2,
version_1_99_1_tmcc,
version_1_99_1,
version_1_99_0_tmcc,
version_1_99_0,
version_1_3_X,
version_1_3_3,
version_1_3_2,
version_1_3_1,
version_1_3_0,
version_1_2_X,
version_1_2_99_1,
version_1_2_99_0,
version_1_2_1,
version_1_2_0,
version_1_1_99_5,
version_1_1_99_4,
version_1_1_99_3,
version_1_1_99_2,
version_1_1_99_1,
version_1_1_99_0,
HEAD
Install HTMLArea
1: <html>
2: <head><title>Fullscreen Editor</title>
3: <style type="text/css"> body { margin: 0px; border: 0px; background-color: buttonface; } </style>
4:
5: <script>
6:
7: // if we pass the "window" object as a argument and then set opener to
8: // equal that we can refer to dialogWindows and popupWindows the same way
9: if (window.dialogArguments) { opener = window.dialogArguments; }
10:
11: var _editor_url = "../";
12: document.write('<scr'+'ipt src="' +_editor_url+ 'editor.js" language="Javascript1.2"></scr'+'ipt>');
13:
14: var parent_objname = location.search.substring(1,location.search.length); // parent editor objname
15: var parent_config = opener.document.all[parent_objname].config;
16:
17: var config = cloneObject( parent_config );
18: var objname = 'editor'; // name of this editor
19:
20: // DOMViewerObj = config;
21: // DOMViewerName = 'config';
22: // window.open('/innerHTML/domviewer.htm');
23:
24: /* ---------------------------------------------------------------------- *\
25: Function :
26: Description :
27: \* ---------------------------------------------------------------------- */
28:
29: function _CloseOnEsc() {
30: if (event.keyCode == 27) {
31: update_parent();
32: window.close();
33: return;
34: }
35: }
36:
37: /* ---------------------------------------------------------------------- *\
38: Function : cloneObject
39: Description : copy an object by value instead of by reference
40: Usage : var newObj = cloneObject(oldObj);
41: \* ---------------------------------------------------------------------- */
42:
43: function cloneObject(obj) {
44: var newObj = new Object;
45:
46: // check for array objects
47: if (obj.constructor.toString().indexOf('function Array(') == 1) {
48: newObj = obj.constructor();
49: }
50:
51: for (var n in obj) {
52: var node = obj[n];
53: if (typeof node == 'object') { newObj[n] = cloneObject(node); }
54: else { newObj[n] = node; }
55: }
56:
57: return newObj;
58: }
59:
60: /* ---------------------------------------------------------------------- *\
61: Function : resize_editor
62: Description : resize the editor when the user resizes the popup
63: \* ---------------------------------------------------------------------- */
64:
65: function resize_editor() { // resize editor to fix window
66: var editor = document.all['_editor_editor'];
67:
68: newWidth = document.body.offsetWidth;
69: newHeight = document.body.offsetHeight - editor.offsetTop;
70:
71: if (newWidth < 0) { newWidth = 0; }
72: if (newHeight < 0) { newHeight = 0; }
73:
74: editor.style.width = newWidth;
75: editor.style.height = newHeight;
76: }
77:
78: /* ---------------------------------------------------------------------- *\
79: Function : init
80: Description : run this code on page load
81: \* ---------------------------------------------------------------------- */
82:
83: function init() {
84: // change maximize button to minimize button
85: config.btnList["popupeditor"] = ['popupeditor', 'Minimize Editor', 'update_parent(); window.close();', 'fullscreen_minimize.gif'];
86:
87: // set htmlmode button to refer to THIS editor
88: config.btnList["htmlmode"] = ['HtmlMode', 'View HTML Source', 'editor_setmode(\'editor\')', 'ed_html.gif'];
89:
90: // change image url to be relative to current path
91: config.imgURL = "../images/";
92:
93: // generate editor and resize it
94: editor_generate('editor', config);
95: resize_editor();
96:
97: // switch mode if needed
98: if (parent_config.mode == 'textedit') { editor_setmode(objname, 'textedit'); }
99:
100: // set child window contents
101: var parentHTML = opener.editor_getHTML(parent_objname);
102: editor_setHTML(objname, parentHTML);
103:
104: // continuously update parent editor window
105: window.setInterval(update_parent, 333);
106:
107: // setup event handlers
108: document.body.onkeypress = _CloseOnEsc;
109: window.onresize = resize_editor;
110: }
111:
112: /* ---------------------------------------------------------------------- *\
113: Function : update_parent
114: Description : update parent window editor field with contents from child window
115: \* ---------------------------------------------------------------------- */
116:
117: function update_parent() {
118: var childHTML = editor_getHTML(objname);
119: opener.editor_setHTML(parent_objname, childHTML);
120: }
121:
122:
123: </script>
124: </head>
125: <body scroll="no" onload="init()" onunload="update_parent()">
126:
127: <div style="margin: 0 0 0 0; border-width: 1; border-style: solid; border-color: threedshadow threedhighlight threedhighlight threedshadow; "></div>
128:
129: <textarea name="editor" style="width:100%; height:300px"></textarea><br>
130:
131: </body></html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>