zoneminder/web/skins/classic/js/export.js

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');
}