app/assets/javascripts/job.js.erb
"use strict";
(function($){
var setProgressBar = function(val1, val2) {
var $pb1 = $('#progress-bar-steps');
$pb1.css('width', val1 + '%');
$pb1.find('.progress-bar-value').text(val1);
$pb1.attr('aria-valuenow', val1);
var $pb2 = $('#progress-bar-current-step');
$pb2.css('width', val2 + '%');
$pb2.find('.progress-bar-value').text(val2);
$pb2.attr('aria-valuenow', val2);
};
var progressJob = function() {
var $el = $('[data-progress-job]');
if($el.length == 1) {
var url = $el.data('progress-job');
$.ajax({
url: url
})
.done(function( datas ) {
if (datas.redirect) {
setProgressBar(100, 100);
window.location.href = datas.redirect;
} else if (datas.error_code) {
$('.cvd-JobListActionsBlock').after('<p>Erreur impossible de traiter votre demande : ' + datas.error_code + '</p>');
$('.cvd-JobListActionsBlock').remove();
$('.progress').remove();
} else {
setProgressBar(datas.steps_percent, datas.current_step_percent);
}
});
window.setTimeout(progressJob, <%= raw ENV['TIMEOUT'] %>);
}
};
var shortUrl = function() {
var $el = $('[data-shorturl]');
if($el.length == 1) {
var url = $el.data('shorturl');
$.get(url);
window.setTimeout(shortUrl, <%= raw ENV['TIMEOUT'] %>);
}
};
var waitingStatus = function() {
var $el = $('[data-statusurl]');
if($el.length == 1) {
var url = $el.data('statusurl');
$.get(url);
window.setTimeout(waitingStatus, <%= raw ENV['TIMEOUT'] %>);
}
};
var format_switch = function(format) {
var $el = $('[name="job[iev_action]"]');
if ($el.length == 1) {
var val = $el.val();
if (val == 'convert_job') {
$('[data-convert-both="gtfs"]').addClass('hide');
$('[data-convert-input="gtfs"]').addClass('hide');
$('[data-convert-output="gtfs"]').addClass('hide');
var format = $('[name="job[format]"]:checked').val();
var format_convert = $('[name="job[format_convert]"]');
if (format && format_convert.length > 0) {
if(format == 'gtfs') {
$('label[for="job_format_convert_convert_neptune"]').click();
} else {
$('label[for="job_format_convert_convert_gtfs"]').click();
}
var format_convert = $('[name="job[format_convert]"]:checked').val();
if (format == 'gtfs') {
$('[data-convert-both="gtfs"]').removeClass('hide');
$('[data-convert-input="gtfs"]').removeClass('hide');
}
if (format_convert == 'convert_gtfs') {
$('[data-convert-both="gtfs"]').removeClass('hide');
$('[data-convert-output="gtfs"]').removeClass('hide');
}
}
if (format == 'gtfs' || format_convert == 'convert_gtfs') {
$('#cvd-FormBlock-moreOptions-button').show();
} else {
$('#cvd-FormBlock-moreOptions-button').hide();
}
}
}
};
$(document).on('page:change', function () {
window.setTimeout(waitingStatus, <%= raw ENV['TIMEOUT'] %>);
progressJob();
shortUrl();
format_switch();
$('[name="job[format]"]').change( function() {
format_switch();
});
$('[name="job[format_convert]"]').change( function() {
format_switch();
});
});
})(jQuery);