42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/*
|
|
* This file contains UI functions relating to export / download modals
|
|
*
|
|
*/
|
|
|
|
function startDownload(exportFile) {
|
|
console.log("Starting download from " + exportFile);
|
|
window.location.replace(exportFile);
|
|
}
|
|
|
|
function exportResponse(data, responseText) {
|
|
const generated = (data.result=='Ok') ? 1 : 0;
|
|
|
|
$j('#exportProgress').removeClass( 'text-warning' );
|
|
if (generated) {
|
|
const exportFile = data.exportFile;
|
|
$j('#downloadLink').text('Download');
|
|
$j('#downloadLink').attr("href", thisUrl + exportFile);
|
|
$j('#exportProgress').addClass( 'text-success' );
|
|
$j('#exportProgress').text(exportSucceededString);
|
|
setTimeout(startDownload, 1500, exportFile);
|
|
} else {
|
|
$j('#exportProgress').addClass( 'text-danger' );
|
|
$j('#exportProgress').text(exportFailedString);
|
|
}
|
|
}
|
|
|
|
function exportEvent() {
|
|
$j.ajax({
|
|
url: thisUrl + '?view=request&request=event&action=download',
|
|
dataType: 'json',
|
|
data: $j('#downloadForm').serialize(),
|
|
success: exportResponse,
|
|
timeout: 0,
|
|
error: function(jqXHR, status, errorThrown) {
|
|
logAjaxFail(jqXHR, status, errorThrown);
|
|
$j('#exportProgress').html('Failed: ' + errorThrown);
|
|
}
|
|
});
|
|
$j('#exportProgress').removeClass('invisible');
|
|
}
|