From 99b7e04a023aacaa9494b19c5a40dfad1e9fd6b4 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Wed, 23 Dec 2009 11:44:26 +0000
Subject: [PATCH] LMS-1317 More fine-grained cascading of refreshes when the
 browser grid is refreshed.

SVN: 14079
---
 .../application/ui/grid/AbstractBrowserGrid.java    | 13 ++++++++++++-
 .../ui/grid/expressions/filter/FilterToolbar.java   |  2 +-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
index 269ffa29914..70a35b1237a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java
@@ -871,11 +871,22 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod
             {
                 public void execute()
                 {
+                    // N. B. -- The order in which things are refreshed and configured is
+                    // significant
+
                     pagingToolbar.disableExportButton();
                     pagingToolbar.updateDefaultConfigButton(false);
-                    filterToolbar.refreshAndReset();
+
+                    // Need to reset filter fields *before* refreshing the gridso the list can be correctly
+                    // retrieved
+                    filterToolbar.resetFilterFields();
+
                     // export and config buttons are enabled when ListEntitiesCallback is complete
                     refresh();
+
+                    // Need to refresh the filter toolbar *after* refreshing the grid, because it has
+                    // a dependency on information from the grid that gets updated with the refesh
+                    filterToolbar.refresh();
                 }
             };
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/FilterToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/FilterToolbar.java
index 53208c2f7fa..1f399b24d5b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/FilterToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/expressions/filter/FilterToolbar.java
@@ -258,7 +258,7 @@ public class FilterToolbar<T> extends ToolBar implements IDatabaseModificationOb
     }
 
     @SuppressWarnings("unchecked")
-    private void resetFilterFields()
+    public void resetFilterFields()
     {
         for (Component field : filterContainer.getItems())
         {
-- 
GitLab