home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / CMS / drupal-6.0.exe / drupal-6.0 / misc / batch.js < prev    next >
Encoding:
JavaScript  |  2007-10-21  |  1.2 KB  |  39 lines

  1. // $Id: batch.js,v 1.4 2007/10/21 18:59:01 goba Exp $
  2.  
  3. /**
  4.  * Attaches the batch behavior to progress bars.
  5.  */
  6. Drupal.behaviors.batch = function (context) {
  7.   // This behavior attaches by ID, so is only valid once on a page.
  8.   if ($('#progress.batch-processed').size()) {
  9.     return;
  10.   }
  11.   $('#progress', context).addClass('batch-processed').each(function () {
  12.     var holder = this;
  13.     var uri = Drupal.settings.batch.uri;
  14.     var initMessage = Drupal.settings.batch.initMessage;
  15.     var errorMessage = Drupal.settings.batch.errorMessage;
  16.  
  17.     // Success: redirect to the summary.
  18.     var updateCallback = function (progress, status, pb) {
  19.       if (progress == 100) {
  20.         pb.stopMonitoring();
  21.         window.location = uri+'&op=finished';
  22.       }
  23.     };
  24.  
  25.     var errorCallback = function (pb) {
  26.       var div = document.createElement('p');
  27.       div.className = 'error';
  28.       $(div).html(errorMessage);
  29.       $(holder).prepend(div);
  30.       $('#wait').hide();
  31.     };
  32.  
  33.     var progress = new Drupal.progressBar('updateprogress', updateCallback, "POST", errorCallback);
  34.     progress.setProgress(-1, initMessage);
  35.     $(holder).append(progress.element);
  36.     progress.startMonitoring(uri+'&op=do', 10);
  37.   });
  38. };
  39.