/* * status.js * Copyright (C) 2016 thegrumpydictator@gmail.com * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file for details. */ /* globals $, jobImportUrl, jobStartUrl, token, langImportMultiError, langImportSingleError, langImportFatalError, langImportTimeOutError */ var startedImport = false; var startInterval = 2000; var interval = 500; var timeoutLimit = 5000; var currentLimit = 0; var stepCount = 0; $(function () { "use strict"; // check status, every 500 ms. setTimeout(checkImportStatus, startInterval); }); function checkImportStatus() { "use strict"; $.getJSON(jobImportUrl).success(reportOnJobImport).fail(failedJobImport); } function importComplete(data) { "use strict"; var bar = $('#import-status-bar'); bar.removeClass('active'); // TODO show more completion info. } function updateBar(data) { "use strict"; var bar = $('#import-status-bar'); if (data.showPercentage) { bar.addClass('progress-bar-success').removeClass('progress-bar-info'); bar.attr('aria-valuenow', data.percentage); bar.css('width', data.percentage + '%'); $('#import-status-bar').text(data.stepsDone + '/' + data.steps); if (data.percentage >= 100) { importComplete(data); return; } return; } // dont show percentage: $('#import-status-more-info').text(''); bar.removeClass('progress-bar-success').addClass('progress-bar-info'); bar.attr('aria-valuenow', 100); bar.css('width', '100%'); } function reportErrors(data) { "use strict"; if (data.errors.length == 1) { $('#import-status-error-intro').text(langImportSingleError); //'An error has occured during the import. The import can continue, however.' } if (data.errors.length > 1) { // 'Errors have occured during the import. The import can continue, however.' $('#import-status-error-intro').text(langImportMultiError); } // fill the list with error texts $('#import-status-error-list').empty(); for (var i = 0; i < data.errors.length; i++) { var item = $('