Turn on export functionality for snapshots

This commit is contained in:
Isaac Connor 2021-08-05 13:29:45 -04:00
parent bed41ca44b
commit 0bcbff5dd5
2 changed files with 71 additions and 6 deletions

View File

@ -26,6 +26,32 @@ function manageDelConfirmModalBtns() {
}); });
} }
function exportResponse(respObj, respText) {
clearInterval(exportTimer);
if ( respObj.result != 'Ok' ) {
$j('#exportProgressTicker').text(respObj.message);
} else {
$j('#exportProgressTicker').text(exportSucceededString);
setTimeout(startDownload, 1500, decodeURIComponent(respObj.exportFile));
}
return;
}
function startDownload(file) {
console.log('Starting download of ' + file);
window.location.replace(file);
}
function exportProgress() {
if ( exportTimer ) {
var tickerText = $j('#exportProgressTicker').text();
if ( tickerText.length < 1 || tickerText.length > 4 ) {
$j('#exportProgressTicker').text('.');
} else {
$j('#exportProgressTicker').append('.');
}
}
}
function initPage() { function initPage() {
// enable or disable buttons based on current selection and user rights // enable or disable buttons based on current selection and user rights
/* /*
@ -35,7 +61,6 @@ function initPage() {
*/ */
saveBtn.prop('disabled', !(canEdit.Events || (snapshot.CreatedBy == user.Id) )); saveBtn.prop('disabled', !(canEdit.Events || (snapshot.CreatedBy == user.Id) ));
/* /*
exportBtn.prop('disabled', !canView.Events);
downloadBtn.prop('disabled', !canView.Events); downloadBtn.prop('disabled', !canView.Events);
*/ */
deleteBtn.prop('disabled', !canEdit.Events); deleteBtn.prop('disabled', !canEdit.Events);
@ -63,17 +88,38 @@ function initPage() {
return; return;
} }
*/ */
console.log(evt);
evt.target.form.submit(); evt.target.form.submit();
}); });
/*
// Manage the EXPORT button // Manage the EXPORT button
bindButton('#exportBtn', 'click', null, function onExportClick(evt) { bindButton('#exportBtn', 'click', null, function onExportClick(evt) {
evt.preventDefault(); evt.preventDefault();
window.location.assign('?view=export&eids[]='+eventData.Id); formData = {
eids: snapshot.EventIds,
exportImages: 1,
exportVideo: 0,
exportFrames: 0,
exportDetail: 0,
exportMisc: 0,
exportFormat: 'zip',
exportCompress: 0,
exportFile: 'Snapshot'+snapshot.Id
};
$j.getJSON(thisUrl + '?view=event&request=event&action=export', formData)
.done(exportResponse)
.fail(logAjaxFail);
$j('#exportProgress').removeClass('hidden');
$j('#exportProgress').addClass('warnText');
$j('#exportProgress').text(exportProgressString);
//exportProgress();
exportTimer = setInterval(exportProgress, 500);
//window.location.assign('?view=export&eids[]='+snapshot.EventIds.join('&eids[]='));
}); });
/*
// Manage the DOWNLOAD VIDEO button // Manage the DOWNLOAD VIDEO button
bindButton('#downloadBtn', 'click', null, function onDownloadClick(evt) { bindButton('#downloadBtn', 'click', null, function onDownloadClick(evt) {
evt.preventDefault(); evt.preventDefault();

View File

@ -59,9 +59,7 @@ if ( !$snapshot->Id() ) {
<button id="editBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Edit') ?>" disabled><i class="fa fa-pencil"></i></button> <button id="editBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Edit') ?>" disabled><i class="fa fa-pencil"></i></button>
--> -->
<button id="saveBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Save') ?>"><i class="fa fa-save"></i></button> <button id="saveBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Save') ?>"><i class="fa fa-save"></i></button>
<!--
<button id="exportBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Export') ?>"><i class="fa fa-external-link"></i></button> <button id="exportBtn" class="btn btn-normal" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Export') ?>"><i class="fa fa-external-link"></i></button>
-->
<button id="deleteBtn" class="btn btn-danger" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Delete') ?>"><i class="fa fa-trash"></i></button> <button id="deleteBtn" class="btn btn-danger" data-toggle="tooltip" data-placement="top" title="<?php echo translate('Delete') ?>"><i class="fa fa-trash"></i></button>
<?php } // end if snapshot->Id ?> <?php } // end if snapshot->Id ?>
</div> </div>
@ -97,5 +95,26 @@ if ( !$snapshot->Id() ) {
</div><!--content--> </div><!--content-->
<?php } // end if snapshot->Id() ?> <?php } // end if snapshot->Id() ?>
</form> </form>
<h2 id="exportProgress" class="<?php
if ( isset($_REQUEST['generated']) ) {
if ( $_REQUEST['generated'] )
echo 'infoText';
else
echo 'errorText';
} else {
echo 'hidden warnText';
}
?>">
<span id="exportProgressText">
<?php
if ( isset($_REQUEST['generated']) ) {
if ( $_REQUEST['generated'] )
echo translate('ExportSucceeded');
else
echo translate('ExportFailed');
}
?></span>
<span id="exportProgressTicker"></span>
</h2>
</div><!--page--> </div><!--page-->
<?php xhtmlFooter() ?> <?php xhtmlFooter() ?>