source: trunk/popups/old-fullscreen.html @ 76

Last change on this file since 76 was 20, checked in by gogo, 15 years ago

Setting eol-style subversion property.

  • Property svn:eol-style set to native
  • Property svn:keywords set to LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
File size: 4.3 KB
Line 
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
9if (window.dialogArguments) { opener = window.dialogArguments; }
10
11var _editor_url = "../";
12document.write('<scr'+'ipt src="' +_editor_url+ 'editor.js" language="Javascript1.2"></scr'+'ipt>');
13
14var parent_objname = location.search.substring(1,location.search.length);  // parent editor objname
15var parent_config  = opener.document.all[parent_objname].config;
16
17var config         = cloneObject( parent_config );
18var 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
29function _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
43function 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
65function 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
83function 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
117function 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>
Note: See TracBrowser for help on using the repository browser.