From 2cf9f761649af76046130ba89c3a6c53414c302d Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 16 Jun 2022 14:06:34 +0200 Subject: [PATCH] Linework xls export progress bar made a lot more fancy --- Layout/default/Linework/Index.php | 49 ++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/Layout/default/Linework/Index.php b/Layout/default/Linework/Index.php index 78b225458..01521ec24 100644 --- a/Layout/default/Linework/Index.php +++ b/Layout/default/Linework/Index.php @@ -107,12 +107,10 @@ isAdmin()): ?>
- -
-
- +
@@ -680,8 +678,22 @@ function validateWorkflowItem(id) { var export_uid = ""; var export_progress = 0; - - $('#export-button').click(function() { + var downloadUrl; + + $('#filterform').change(function() { + downloadUrl = ""; + }); + + /* + * Eport button click + */ + function exportButtonClick() { + if(downloadUrl) { + document.location.href = '?uid=' + export_uid + return; + } + + var form = $('#filterform'); var actionUrl = ''; /*var formdata = new FormData(form); @@ -702,9 +714,13 @@ function validateWorkflowItem(id) { if(success.uid) { export_uid = success.uid; export_progress = success.progress; - $('#progress-bar-wrapper').show(); + //$('#progress-bar-wrapper').show(); + $('#export-button-label').hide(); + $('#progress-bar').show(); setTimeout(updateExportProgress, 200); - $('#export-button').prop("disabled", true); + $('#export-button').addClass("bg-secondary"); + $('#export-button').prop("onclick", null).off("click"); + //$('#export-button').prop("disabled", true); } else { console.log("no uid returned"); } @@ -712,7 +728,7 @@ function validateWorkflowItem(id) { } }); - }); + } function updateExportProgress() { if(!export_uid) { @@ -727,6 +743,7 @@ function validateWorkflowItem(id) { if(success.status == "OK") { updateProgressBar(success.progress); if(success.progress >= 100) { + downloadUrl = '?uid=' + export_uid; setTimeout(() => {document.location.href = '?uid=' + export_uid}, 200); setTimeout(clearProgressBar, 5000); } else { @@ -742,9 +759,9 @@ function validateWorkflowItem(id) { $('#progress-bar').css("width", progress + "%"); $('#progress-bar').text("Bitte warten... " + progress + "%"); - if(progress > 50) { + /*if(progress > 50) { $('#progress-bar').removeClass("text-secondary"); - } + }*/ if(progress >= 100) { $('#progress-bar').addClass("bg-success").removeClass("bg-primary"); @@ -753,11 +770,15 @@ function validateWorkflowItem(id) { } function clearProgressBar() { - $('#progress-bar-wrapper').hide(); + //$('#progress-bar-wrapper').hide(); $('#progress-bar').css("width", "0%"); $('#progress-bar').text("Bitte warten... 0%"); $('#progress-bar').addClass("bg-primary").removeClass("bg-success"); $('#export-button').prop("disabled", false); + $('#progress-bar').hide(); + $('#export-button').removeClass("bg-secondary"); + $('#export-button').click(exportButtonClick); + $('#export-button-label').show(); }