]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix for #3450 - isActive should wait until loading indicator has disappeared
authorArtur Signell <artur.signell@itmill.com>
Fri, 2 Oct 2009 08:13:30 +0000 (08:13 +0000)
committerArtur Signell <artur.signell@itmill.com>
Fri, 2 Oct 2009 08:13:30 +0000 (08:13 +0000)
svn changeset:9034/svn branch:6.1

src/com/vaadin/terminal/gwt/client/ApplicationConnection.java

index 7c8f49d8bc59bc97abb6884c58951d29ff5f0cbc..c65e787cced4c86b7b1a94c34f5bf4c6ae319488 100755 (executable)
@@ -63,6 +63,7 @@ public class ApplicationConnection {
     /**
      * @deprecated use UIDL_SECURITY_TOKEN_ID instead
      */
+    @Deprecated
     public static final String UIDL_SECURITY_HEADER = UIDL_SECURITY_TOKEN_ID;
 
     public static final String PARAM_UNLOADBURST = "onunloadburst";
@@ -162,7 +163,7 @@ public class ApplicationConnection {
         var ap = this;
         var client = {};
         client.isActive = function() {
-            return ap.@com.vaadin.terminal.gwt.client.ApplicationConnection::hasActiveRequest()();
+            return ap.@com.vaadin.terminal.gwt.client.ApplicationConnection::hasActiveRequest()() || ap.@com.vaadin.terminal.gwt.client.ApplicationConnection::isLoadingIndicatorVisible()();
         }
         var vi = ap.@com.vaadin.terminal.gwt.client.ApplicationConnection::getVersionInfo()();
         if (vi) {
@@ -602,6 +603,17 @@ public class ApplicationConnection {
         }
     }
 
+    public boolean isLoadingIndicatorVisible() {
+        if (loadElement == null) {
+            return false;
+        }
+        if (loadElement.getStyle().getProperty("display").equals("none")) {
+            return false;
+        }
+
+        return true;
+    }
+
     private static native ValueMap parseJSONResponse(String jsonText)
     /*-{
         return eval('(' + jsonText + ')');