From 94e77aa846d5ecf532606f33de48b9845c5cf990 Mon Sep 17 00:00:00 2001 From: Shawn Pearce Date: Fri, 11 Oct 2013 15:22:17 -0700 Subject: [PATCH] Fix RpcStatus to display "Working..." when header is hidden Simplify the DOM structure and place "Working..." at the top level of the document, positioned using fixed positioning. Now it is always visible when saving a draft comment is slow. Change-Id: I106dece4265b51b4e38585c03026b158d5876761 --- .../main/java/com/google/gerrit/client/Gerrit.java | 2 +- .../java/com/google/gerrit/client/GerritCss.java | 2 -- .../java/com/google/gerrit/client/RpcStatus.java | 12 +++--------- .../main/java/com/google/gerrit/client/gerrit.css | 13 +++---------- 4 files changed, 7 insertions(+), 22 deletions(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java index 2f594357e2..6466f42f37 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java @@ -560,7 +560,7 @@ public class Gerrit implements EntryPoint { }; gBody.add(body); - RpcStatus.INSTANCE = new RpcStatus(topMenu); + RpcStatus.INSTANCE = new RpcStatus(); JsonUtil.addRpcStartHandler(RpcStatus.INSTANCE); JsonUtil.addRpcCompleteHandler(RpcStatus.INSTANCE); JsonUtil.setDefaultXsrfManager(new XsrfManager() { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java index 44b4479ecd..0cb3fa20fb 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java @@ -198,8 +198,6 @@ public interface GerritCss extends CssResource { String rightBorder(); String rightmost(); String rpcStatus(); - String rpcStatusLoading(); - String rpcStatusPanel(); String screen(); String screenHeader(); String screenNoHeader(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/RpcStatus.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/RpcStatus.java index 955c8e2648..cd715c656b 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/RpcStatus.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/RpcStatus.java @@ -14,10 +14,9 @@ package com.google.gerrit.client; -import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.InlineLabel; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.Panel; +import com.google.gwt.user.client.ui.RootPanel; import com.google.gwtjsonrpc.client.event.RpcCompleteEvent; import com.google.gwtjsonrpc.client.event.RpcCompleteHandler; import com.google.gwtjsonrpc.client.event.RpcStartEvent; @@ -41,17 +40,12 @@ public class RpcStatus implements RpcStartHandler, RpcCompleteHandler { private final Label loading; private int activeCalls; - RpcStatus(final Panel p) { - final FlowPanel r = new FlowPanel(); - r.setStyleName(Gerrit.RESOURCES.css().rpcStatusPanel()); - p.add(r); - + RpcStatus() { loading = new InlineLabel(); loading.setText(Gerrit.C.rpcStatusWorking()); loading.setStyleName(Gerrit.RESOURCES.css().rpcStatus()); - loading.addStyleName(Gerrit.RESOURCES.css().rpcStatusLoading()); loading.setVisible(false); - r.add(loading); + RootPanel.get().add(loading); } @Override diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css b/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css index 7f45d2e4ad..82bcdda950 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css @@ -360,25 +360,18 @@ a:hover { } /** RPC Status **/ -.rpcStatusPanel { - position: absolute; - left: 50%; - float: left; - top: 6px; -} - .rpcStatus { position: fixed; + top: 6px; + left: 50%; padding-top: 4px; padding-bottom: 4px; padding-left: 10px; padding-right: 10px; text-align: center; font-weight: bold; -} - -.rpcStatusLoading { background: #FFF1A8; + z-index: 10; }