Files
old-holivud2/app/assets/javascripts/appearance_release_import.js
2020-05-31 22:38:19 +02:00

68 lines
1.9 KiB
JavaScript

function beforeUnloadHandler(e){
e.preventDefault();
e.returnValue = '';
}
function turbolinksClickHandler(){
return false;
}
let eventListenersAdded = false;
function addEventListenersForUploadProgresBar(){
if (eventListenersAdded) return;
eventListenersAdded = true;
addEventListener("direct-upload:initialize", event => {
const { detail } = event;
const { id, file } = detail;
const progressBar = App.FileUploadProgress.createProgressBar(id);
$('#upload-progress-container').append(progressBar);
});
addEventListener("direct-upload:start", event => {
const { id } = event.detail;
App.FileUploadProgress.showProgressBar(id);
})
addEventListener("direct-upload:progress", event => {
const { id, progress } = event.detail;
if (App.FileUploadProgress._findProgressBar(id)) {
App.FileUploadProgress.updateProgressBar(id, progress);
}
})
addEventListener("direct-upload:error", event => {
event.preventDefault();
const { id, error } = event.detail;
App.FileUploadProgress.showError(id, error);
})
addEventListener("direct-upload:end", event => {
const { id } = event.detail;
App.FileUploadProgress.removeProgressBar(id)
})
}
$(document).on("turbolinks:load", function() {
addEventListenersForUploadProgresBar();
window.removeEventListener('beforeunload', beforeUnloadHandler, true);
$(document).off('turbolinks:click', turbolinksClickHandler);
$("#import_appearance_releases").click(function(e) {
$('#appearance_release_file_upload').click();
});
$('#appearance_release_file_upload').change(function(e) {
$('#import_appearance_releases')
.html('Importing...')
.attr('disabled', 'disabled');
window.addEventListener('beforeunload', beforeUnloadHandler, true);
$(document).on('turbolinks:click', turbolinksClickHandler);
const fileUploadForm = document.getElementById('appearance_releases_import');
Rails.fire(fileUploadForm, 'submit');
});
});