Annotation of loncom/html/htmlarea/popups/old-fullscreen.html, revision 1.1

1.1     ! www         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>