From 49105c1d1b9e396931719a60c28aae095d41aeb1 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 17 Apr 2022 23:23:00 +0200 Subject: [PATCH] #663 - show button after successful migration --- .../migration/MigrationController.java | 3 ++- .../src/main/resources/static/js/migration.js | 27 +++++++++++++++++++ .../resources/templates/migration/status.ftl | 12 ++++++++- .../templates/migration/statusFragment.ftl | 6 ++++- 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java index 84d8e2885..63dab7369 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java @@ -95,8 +95,9 @@ public class MigrationController extends BaseController } @GetMapping("/status") - public String status() + public String status(Model model) { + model.addAttribute(ModelAttributes.STATUS, migrationService.getMigrationStatus()); return ReturnValues.STATUS; } diff --git a/BudgetMasterServer/src/main/resources/static/js/migration.js b/BudgetMasterServer/src/main/resources/static/js/migration.js index 1f053df3b..dc8c9c876 100644 --- a/BudgetMasterServer/src/main/resources/static/js/migration.js +++ b/BudgetMasterServer/src/main/resources/static/js/migration.js @@ -5,6 +5,33 @@ $(document).ready(function() function getMigrationStatus() { + if(typeof migrationStatus === 'undefined') + { + document.getElementById('progress-spinner').style.display = 'none'; + } + else + { + switch(migrationStatus) + { + case 'NOT_RUNNING': + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = 'none'; + break; + case 'SUCCESS': + document.getElementById('button-migration-home').style.display = ''; + document.getElementById('progress-spinner').style.display = 'none'; + break; + case 'RUNNING': + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = ''; + break; + default: + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = 'none'; + return; + } + } + $.ajax({ type: 'GET', url: $('#migration-status').attr('data-url'), diff --git a/BudgetMasterServer/src/main/resources/templates/migration/status.ftl b/BudgetMasterServer/src/main/resources/templates/migration/status.ftl index 5943e03b2..f45365e36 100644 --- a/BudgetMasterServer/src/main/resources/templates/migration/status.ftl +++ b/BudgetMasterServer/src/main/resources/templates/migration/status.ftl @@ -21,7 +21,7 @@ <div class="container center-align"> <div class="row"> <div class="col s12 m12 l8 offset-l2"> - <div class="preloader-wrapper small active"> + <div class="preloader-wrapper small active" id="progress-spinner"> <div class="spinner-layer spinner-blue-only"> <div class="circle-clipper left"> <div class="circle"></div> @@ -38,10 +38,20 @@ </div> <div id="migration-status" data-url="<@s.url '/migration/getStatus'/>"></div> + + <div class="row" id="button-migration-home"> + <div class="col s12 m12 l8 offset-l2"> + <@header.buttonLink url='/' icon='home' localizationKey='menu.home'/> + </div> + </div> </div> </div> </main> + <script> + migrationStatus = "${status.name()}"; + </script> + <!-- Scripts--> <#import "../helpers/scripts.ftl" as scripts> <@scripts.scripts/> diff --git a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl index 9d676d04e..8a379152a 100644 --- a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl +++ b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl @@ -11,4 +11,8 @@ <div class="row"> <div class="col s12 m12 l8 offset-l2"> </div> -</div> \ No newline at end of file +</div> + +<script> + migrationStatus = "${status.name()}"; +</script> \ No newline at end of file -- GitLab