Changeset 140


Ignore:
Timestamp:
05/10/05 06:05:31 (15 years ago)
Author:
niko
Message:

#139

  1. replace HTMLArea.loadScript with HTMLArea._loadback
  2. remove the old fullscreen
  3. auto-load the fullscreen-plugin when there is a popupeditor-button in the toolbar
Location:
trunk
Files:
2 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/htmlarea.js

    r139 r140  
    121121 
    122122HTMLArea.onload = function(){}; 
    123 HTMLArea._scripts = []; 
    124  
    125 HTMLArea.loadScript = function(url, plugin) { 
    126   if (plugin) 
    127     url = HTMLArea.getPluginDir(plugin) + '/' + url; 
    128   this._scripts.push(url); 
    129 }; 
    130  
    131  
    132123HTMLArea.init = function() { 
    133  
    134   var head = document.getElementsByTagName("head")[0]; 
    135   var current = 0; 
    136   var savetitle = document.title; 
    137   var evt = HTMLArea.is_ie ? "onreadystatechange" : "onload"; 
    138   function loadNextScript() { 
    139     if (current > 0 && HTMLArea.is_ie && 
    140         !/loaded|complete/.test(window.event.srcElement.readyState)) 
    141       return; 
    142     if (current < HTMLArea._scripts.length) { 
    143       var url = HTMLArea._scripts[current++]; 
    144       document.title = "[HTMLArea: loading script " + current + "/" + HTMLArea._scripts.length + "]"; 
    145       var script = document.createElement("script"); 
    146       script.type = "text/javascript"; 
    147       script.src = url; 
    148       script[evt] = loadNextScript; 
    149       head.appendChild(script); 
    150     } else { 
    151       document.title = savetitle; 
    152124    HTMLArea.onload(); 
    153     } 
    154   }; 
    155   loadNextScript(); 
    156 }; 
    157  
    158 HTMLArea.loadScript(_editor_url + "dialog.js"); 
    159 HTMLArea.loadScript(_editor_url + "inline-dialog.js"); 
    160 HTMLArea.loadScript(_editor_url + "popupwin.js"); 
     125}; 
     126 
    161127 
    162128// cache some regexps 
     
    334300   "insert_table": "insert_table.html", 
    335301   "select_color": "select_color.html", 
    336    "fullscreen": "fullscreen.html", 
    337302   "about": "about.html" 
    338303  }; 
     
    399364    toggleborders: [ "Toggle Borders", ["ed_buttons_main.gif",7,2], false, function(e) { e._toggleBorders() } ], 
    400365    print:         [ "Print document", ["ed_buttons_main.gif",8,1], false, function(e) {e._iframe.contentWindow.print();} ], 
    401     popupeditor: [ "Enlarge Editor", "fullscreen_maximize.gif", true, 
     366    popupeditor: [ "Enlarge Editor", ["ed_buttons_main.gif",8,0], true, 
    402367      function(e, objname, obj) 
    403368      { 
    404         e.execCommand("popupeditor"); 
     369        //call FullScreen-plugin (backwards-compatibility) 
     370        e._fullScreen(); 
     371        if(e._isFullScreen) 
     372        { 
     373          obj.swapImage([_editor_url + cfg.imgURL + 'ed_buttons_main.gif',9,0]); 
     374        } 
     375        else 
     376        { 
     377          obj.swapImage([_editor_url + cfg.imgURL + 'ed_buttons_main.gif',8,0]); 
     378        } 
    405379      } ], 
    406380    about: [ "About this editor", ["ed_buttons_main.gif",8,2], true, function(e) {e.execCommand("about");} ], 
     
    10601034  var editor = this;    // we'll need "this" in some nested functions 
    10611035 
     1036  if(typeof Dialog == 'undefined') 
     1037  { 
     1038    HTMLArea._loadback 
     1039      (_editor_url + 'dialog.js', function() { editor.generate(); } ); 
     1040      return false; 
     1041  } 
     1042 
     1043  if(typeof HTMLArea.Dialog == 'undefined') 
     1044  { 
     1045    HTMLArea._loadback 
     1046      (_editor_url + 'inline-dialog.js', function() { editor.generate(); } ); 
     1047      return false; 
     1048  } 
     1049 
     1050  if(typeof PopupWin == 'undefined') 
     1051  { 
     1052    HTMLArea._loadback 
     1053      (_editor_url + 'popupwin.js', function() { editor.generate(); } ); 
     1054      return false; 
     1055  } 
     1056 
     1057  //backwards-compatibility: load FullScreen-Plugin if we find a "popupeditor"-button in the toolbar 
     1058  var toolbar = editor.config.toolbar; 
     1059  for (var i = toolbar.length; --i >= 0;) { 
     1060    for (var j = toolbar[i].length; --j >= 0; ) { 
     1061      if (toolbar[i][j]=="popupeditor") { 
     1062        if(typeof FullScreen == "undefined") { 
     1063          HTMLArea.loadPlugin("FullScreen", function() { editor.generate(); } ); 
     1064          return false; 
     1065        } 
     1066        editor.registerPlugin('FullScreen'); 
     1067      } 
     1068    } 
     1069  } 
     1070 
    10621071  // If this is gecko, set up the paragraph handling now 
    10631072  if(HTMLArea.is_gecko) 
     
    31323141      this._createLink(); 
    31333142      break; 
    3134     case "popupeditor": 
    3135     // this object will be passed to the newly opened window 
    3136     HTMLArea._object = this; 
    3137     var win; 
    3138     if (HTMLArea.is_ie) { 
    3139       { 
    3140                                 win = window.open(this.popupURL(editor.config.URIs["fullscreen"]), "ha_fullscreen", 
    3141               "toolbar=no,location=no,directories=no,status=no,menubar=no," + 
    3142               "scrollbars=no,resizable=yes,width=640,height=480"); 
    3143       } 
    3144     } else { 
    3145                             win = window.open(this.popupURL(editor.config.URIs["fullscreen"]), "ha_fullscreen", 
    3146             "toolbar=no,menubar=no,personalbar=no,width=640,height=480," + 
    3147             "scrollbars=no,resizable=yes"); 
    3148     } 
    3149     win.focus() 
    3150     break; 
    31513143      case "undo": 
    31523144      case "redo": 
Note: See TracChangeset for help on using the changeset viewer.