Mercurial > hg > isophonics-drupal-site
view core/misc/batch.es6.js @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
/** * @file * Drupal's batch API. */ (function($, Drupal) { /** * Attaches the batch behavior to progress bars. * * @type {Drupal~behavior} */ Drupal.behaviors.batch = { attach(context, settings) { const batch = settings.batch; const $progress = $('[data-drupal-progress]').once('batch'); let progressBar; // Success: redirect to the summary. function updateCallback(progress, status, pb) { if (progress === '100') { pb.stopMonitoring(); window.location = `${batch.uri}&op=finished`; } } function errorCallback(pb) { $progress.prepend($('<p class="error"></p>').html(batch.errorMessage)); $('#wait').hide(); } if ($progress.length) { progressBar = new Drupal.ProgressBar( 'updateprogress', updateCallback, 'POST', errorCallback, ); progressBar.setProgress(-1, batch.initMessage); progressBar.startMonitoring(`${batch.uri}&op=do`, 10); // Remove HTML from no-js progress bar. $progress.empty(); // Append the JS progressbar element. $progress.append(progressBar.element); } }, }; })(jQuery, Drupal);