[ Index ]
 

Code source de Serendipity 1.2

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/htmlarea/ -> dialog.js (source)

   1  // htmlArea v3.0 - Copyright (c) 2003-2004 interactivetools.com, inc.
   2  // This copyright notice MUST stay intact for use (see license.txt).
   3  //
   4  // Portions (c) dynarch.com, 2003-2004
   5  //
   6  // A free WYSIWYG editor replacement for <textarea> fields.
   7  // For full source code and docs, visit http://www.interactivetools.com/
   8  //
   9  // Version 3.0 developed by Mihai Bazon.
  10  //   http://dynarch.com/mishoo
  11  //
  12  // $Id: dialog.js,v 1.3 2005/01/11 15:00:34 garvinhicking Exp $
  13  
  14  // Though "Dialog" looks like an object, it isn't really an object.  Instead
  15  // it's just namespace for protecting global symbols.
  16  
  17  function Dialog(url, action, init) {
  18      if (typeof init == "undefined") {
  19          init = window;    // pass this window object by default
  20      }
  21      Dialog._geckoOpenModal(url, action, init);
  22  };
  23  
  24  Dialog._parentEvent = function(ev) {
  25      setTimeout( function() { if (Dialog._modal && !Dialog._modal.closed) { Dialog._modal.focus() } }, 50);
  26      if (Dialog._modal && !Dialog._modal.closed) {
  27          HTMLArea._stopEvent(ev);
  28      }
  29  };
  30  
  31  
  32  // should be a function, the return handler of the currently opened dialog.
  33  Dialog._return = null;
  34  
  35  // constant, the currently opened dialog
  36  Dialog._modal = null;
  37  
  38  // the dialog will read it's args from this variable
  39  Dialog._arguments = null;
  40  
  41  Dialog._geckoOpenModal = function(url, action, init) {
  42      var dlg = window.open(url, "hadialog",
  43                    "toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
  44                    "scrollbars=no,resizable=yes,modal=yes,dependable=yes");
  45      Dialog._modal = dlg;
  46      Dialog._arguments = init;
  47  
  48      // capture some window's events
  49  	function capwin(w) {
  50          HTMLArea._addEvent(w, "click", Dialog._parentEvent);
  51          HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
  52          HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
  53      };
  54      // release the captured events
  55  	function relwin(w) {
  56          HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
  57          HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
  58          HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
  59      };
  60      capwin(window);
  61      // capture other frames
  62      for (var i = 0; i < window.frames.length; capwin(window.frames[i++]));
  63      // make up a function to be called when the Dialog ends.
  64      Dialog._return = function (val) {
  65          if (val && action) {
  66              action(val);
  67          }
  68          relwin(window);
  69          // capture other frames
  70          for (var i = 0; i < window.frames.length; relwin(window.frames[i++]));
  71          Dialog._modal = null;
  72      };
  73  };


Généré le : Sat Nov 24 09:00:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics