[ Index ]
 

Code source de DokuWiki 2006-11-06

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/lib/scripts/ -> ajax.js (source)

   1  /**
   2   * AJAX functions for the pagename quicksearch
   3   *
   4   * We're using a global object with self referencing methods
   5   * here to make callbacks work
   6   *
   7   * @license  GPL2 (http://www.gnu.org/licenses/gpl.html)
   8   * @author   Andreas Gohr <andi@splitbrain.org>
   9   */
  10  
  11  //prepare class
  12  function ajax_qsearch_class(){
  13    this.sack = null;
  14    this.inObj = null;
  15    this.outObj = null;
  16    this.timer = null;
  17  }
  18  
  19  //create global object and add functions
  20  var ajax_qsearch = new ajax_qsearch_class();
  21  ajax_qsearch.sack = new sack(DOKU_BASE + 'lib/exe/ajax.php');
  22  ajax_qsearch.sack.AjaxFailedAlert = '';
  23  ajax_qsearch.sack.encodeURIString = false;
  24  
  25  ajax_qsearch.init = function(inID,outID){
  26    ajax_qsearch.inObj  = document.getElementById(inID);
  27    ajax_qsearch.outObj = document.getElementById(outID);
  28  
  29    // objects found?
  30    if(ajax_qsearch.inObj === null){ return; }
  31    if(ajax_qsearch.outObj === null){ return; }
  32  
  33    // attach eventhandler to search field
  34    addEvent(ajax_qsearch.inObj,'keyup',ajax_qsearch.call);
  35  
  36    // attach eventhandler to output field
  37    addEvent(ajax_qsearch.outObj,'click',function(){ ajax_qsearch.outObj.style.display='none'; });
  38  };
  39  
  40  ajax_qsearch.clear = function(){
  41    ajax_qsearch.outObj.style.display = 'none';
  42    ajax_qsearch.outObj.innerHTML = '';
  43    if(ajax_qsearch.timer !== null){
  44      window.clearTimeout(ajax_qsearch.timer);
  45      ajax_qsearch.timer = null;
  46    }
  47  };
  48  
  49  ajax_qsearch.exec = function(){
  50    ajax_qsearch.clear();
  51    var value = ajax_qsearch.inObj.value;
  52    if(value === ''){ return; }
  53    ajax_qsearch.sack.runAJAX('call=qsearch&q='+encodeURI(value));
  54  };
  55  
  56  ajax_qsearch.sack.onCompletion = function(){
  57    var data = ajax_qsearch.sack.response;
  58    if(data === ''){ return; }
  59  
  60    ajax_qsearch.outObj.innerHTML = data;
  61    ajax_qsearch.outObj.style.display = 'block';
  62  };
  63  
  64  ajax_qsearch.call = function(){
  65    ajax_qsearch.clear();
  66    ajax_qsearch.timer = window.setTimeout("ajax_qsearch.exec()",500);
  67  };
  68  


Généré le : Tue Apr 3 20:47:31 2007 par Balluche grâce à PHPXref 0.7