From 05d588db2b50fe79a17ed800e457fb0bf5814432 Mon Sep 17 00:00:00 2001 From: "Matteo E. Minnai" Date: Wed, 10 Jun 2026 15:29:09 +0200 Subject: [PATCH] ESB-1129 Fixed reload progress message --- pom.xml | 2 +- .../apsadmin/admin/package_en.properties | 1 + .../apsadmin/admin/package_it.properties | 3 +- .../apsadmin/jsp/admin/reloadProgress.jsp | 50 +++++++++++++++---- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index e3d1c8ce..21715ec7 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ org.entando.entando entando-admin-console - 6.5.3 + 6.5.4 war Entando Core: Administration Console Entando Administration Console: an agile, modern and user-centric open source Portal platform. diff --git a/src/main/java/com/agiletec/apsadmin/admin/package_en.properties b/src/main/java/com/agiletec/apsadmin/admin/package_en.properties index 62f18435..10c1dda7 100644 --- a/src/main/java/com/agiletec/apsadmin/admin/package_en.properties +++ b/src/main/java/com/agiletec/apsadmin/admin/package_en.properties @@ -11,6 +11,7 @@ name.editor.hoofed=Hoofed (moo-Entando component) message.reloadConfig.ok=The configuration has been reloaded message.reloadConfig.warning=Some services reported an error during the reload message.reloadConfig.ko=Something went wrong while reloading the configuration. Try again in a minute. +message.reload.connectionError=The connection to the server was lost. The reload may still be running. Please check the result manually. message.reloadEntities.ok=Reloading Entity references message.configSystemParams.ok=The settings have been updated diff --git a/src/main/java/com/agiletec/apsadmin/admin/package_it.properties b/src/main/java/com/agiletec/apsadmin/admin/package_it.properties index 08c10413..c372bb7a 100644 --- a/src/main/java/com/agiletec/apsadmin/admin/package_it.properties +++ b/src/main/java/com/agiletec/apsadmin/admin/package_it.properties @@ -12,6 +12,7 @@ name.editor.hoofed=Hoofed (fa parte di moo-Entando) message.reloadConfig.ok=La configurazione di sistema è stata ricaricata message.reloadConfig.warning=Durante il ricaricamento alcuni servizi hanno riportato un errore message.reloadConfig.ko=Non è stato possibile ricaricare la configurazione di sistema +message.reload.connectionError=La connessione con il server è stata interrotta. Il ricaricamento potrebbe essere ancora in corso. Verificare il risultato manualmente. message.reloadEntities.ok=Il ricaricamento delle referenze delle Entità è in corso message.configSystemParams.ok=I cambiamenti sono stati salvati @@ -30,4 +31,4 @@ reload.table.head.status=Stato reload.bean.status.ok=Successo reload.bean.status.ko=ERRORE -reload.legend.info=le informazioni mostrate dipendono da come il servizio è stato implementato. Eventuali errori interni potrebbero non essere riportati in questa schermata, ma sono visibili solo a livello di log. +reload.legend.info=le informazioni mostrate dipendono da come il servizio � stato implementato. Eventuali errori interni potrebbero non essere riportati in questa schermata, ma sono visibili solo a livello di log. diff --git a/src/main/webapp/WEB-INF/apsadmin/jsp/admin/reloadProgress.jsp b/src/main/webapp/WEB-INF/apsadmin/jsp/admin/reloadProgress.jsp index 787c7124..b7f45d11 100644 --- a/src/main/webapp/WEB-INF/apsadmin/jsp/admin/reloadProgress.jsp +++ b/src/main/webapp/WEB-INF/apsadmin/jsp/admin/reloadProgress.jsp @@ -6,7 +6,9 @@
-

+

+ +

@@ -15,11 +17,23 @@
-
-

- :  - % -

+
+

+ + +

+
+
+ 0% +
+
+
@@ -29,16 +43,29 @@ $(document).ready(function () { let reloadUrl = ""; + function updateBar(pct) { + $('#reload-progress-bar').css('width', pct + '%').attr('aria-valuenow', pct); + $('#reload-progress-label').text(pct + '%'); + $('#show-reload-progress .progress').attr('title', pct + '%'); + } + + function showConnectionError() { + clearInterval(pollInterval); + $('#reload-progress-bar').removeClass('active'); + $('#show-reload-progress .progress').removeClass('active'); + $('#reload-connection-error').show(); + } + function refreshProgress() { + $('#reload-spinner').show(); $.getJSON(reloadUrl, function (data) { let progress = parseInt(data, 10); - if (!isNaN(progress)) { if (progress === -1) { - $('#show-reload-progress b').text('100%'); + updateBar(100); window.location.href = $('#link-reload-action').attr('href'); } else { - $('#show-reload-progress b').text(progress + '%'); + updateBar(progress); } } else { console.warn('NaN, leaving...'); @@ -46,10 +73,13 @@ } }).fail(function (jqxhr, textStatus, error) { console.error('AJAX error:', textStatus, error); + showConnectionError(); + }).always(function () { + $('#reload-spinner').hide(); }); } refreshProgress(); - setInterval(refreshProgress, 2000); + let pollInterval = setInterval(refreshProgress, 2000); });