Fixed FELIX-2253 /Display progress indiciator on configuration status page/
https://issues.apache.org/jira/browse/FELIX-2253

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@931151 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
index 552de34..908aba4 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
@@ -184,13 +184,9 @@
         //ConfigurationWriter pw = new HtmlConfigurationWriter( response.getWriter() );
         PrintWriter pw = response.getWriter();
         pw.println( "<script type='text/javascript' src='${appRoot}/res/ui/ui.tabs.paging.js'></script>" );
-        pw.println( "<script type='text/javascript'>" );
-        pw.println( "// <![CDATA[" );
-        pw.println( "$(document).ready(function() {$('#tabs').tabs().tabs('paging')} );" );
-        pw.println( "// ]]>" );
-        pw.println( "</script>" );
+        pw.println( "<script type='text/javascript' src='${appRoot}/res/ui/configurationrender.js'></script>" );
 
-        pw.println("<br/><p class=\"statline\">");
+        pw.println( "<br/><p class=\"statline\">");
 
         final Date currentTime = new Date();
         synchronized ( DISPLAY_DATE_FORMAT )
@@ -231,6 +227,8 @@
 
         pw.println("</div> <!-- end tabs container -->");
 
+        pw.println("<div id=\"waitDlg\" title=\"${configStatus.wait}\" class=\"ui-helper-hidden\"><img src=\"${appRoot}/res/imgs/loading.gif\" alt=\"${configStatus.wait}\" />${configStatus.wait.msg}</div>");
+
         pw.flush();
     }
 
diff --git a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
index ef10386..0c223b2 100644
--- a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
+++ b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_bg.properties
@@ -230,3 +230,5 @@
 
 # Configuration Status plugin
 configStatus.pluginTitle=Конфиг. статус
+configStatus.wait=Моля изчакайте...
+configStatus.wait.msg=Зареждане...
diff --git a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
index 83b2cad..4a8d74a 100644
--- a/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
+++ b/webconsole/src/main/native2ascii/OSGI-INF/l10n/bundle_de.properties
@@ -228,3 +228,5 @@
 
 # Configuration Status plugin
 configStatus.pluginTitle=Configuration Status
+configStatus.wait=Bitte warten...
+configStatus.wait.msg=Laden...
diff --git a/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties b/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
index 3ff8e9b..63a164f 100644
--- a/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
+++ b/webconsole/src/main/resources/OSGI-INF/l10n/bundle.properties
@@ -230,3 +230,6 @@
 
 # Configuration Status plugin
 configStatus.pluginTitle=Configuration Status
+configStatus.wait=Please wait...
+configStatus.wait.msg=Loading...
+
diff --git a/webconsole/src/main/resources/res/imgs/loading.gif b/webconsole/src/main/resources/res/imgs/loading.gif
new file mode 100644
index 0000000..85b99d4
--- /dev/null
+++ b/webconsole/src/main/resources/res/imgs/loading.gif
Binary files differ
diff --git a/webconsole/src/main/resources/res/ui/configurationrender.css b/webconsole/src/main/resources/res/ui/configurationrender.css
index 370e1aa..4417fe4 100644
--- a/webconsole/src/main/resources/res/ui/configurationrender.css
+++ b/webconsole/src/main/resources/res/ui/configurationrender.css
@@ -45,3 +45,6 @@
 	background: transparent 
 }
 .ui-tabs-paging-disabled { visibility: hidden }
+
+#waitDlg { text-align: center; padding: 2em; font-weight: bold }
+#waitDlg img { margin-right: 1em }
\ No newline at end of file
diff --git a/webconsole/src/main/resources/res/ui/configurationrender.js b/webconsole/src/main/resources/res/ui/configurationrender.js
new file mode 100644
index 0000000..da70d26
--- /dev/null
+++ b/webconsole/src/main/resources/res/ui/configurationrender.js
@@ -0,0 +1,14 @@
+$(document).ready(function() {

+	var dlg = $('#waitDlg').dialog({

+		modal    : true,

+		autoOpen : false,

+		draggable: false,

+		resizable: false,

+		closeOnEscape: false

+	});

+

+	$('#tabs').tabs({ajaxOptions: {

+		beforeSend : function() { dlg.dialog('open') },

+		complete   : function() { dlg.dialog('close')}

+	}}).tabs('paging');

+});
\ No newline at end of file