Repository: wicket
Updated Branches:
  refs/heads/master 3f0e3c7d9 -> d5099d362


WICKET-6333 Use onConfigure() to set the visibility of ExportToolbar instead of 
overriding isVisible()


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d5099d36
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d5099d36
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d5099d36

Branch: refs/heads/master
Commit: d5099d36229d494506245c100144e7f8d5ea3594
Parents: 3f0e3c7
Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org>
Authored: Mon Mar 6 09:44:49 2017 +0100
Committer: Martin Tzvetanov Grigorov <mgrigo...@apache.org>
Committed: Mon Mar 6 09:44:49 2017 +0100

----------------------------------------------------------------------
 .../data/table/export/ExportToolbar.java        | 34 +++++++++++++-------
 1 file changed, 23 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d5099d36/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java
index aa71669..faad10e 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java
@@ -212,32 +212,44 @@ public class ExportToolbar extends AbstractToolbar
                        .setBody(dataExporter.getDataFormatNameModel());
        }
 
+       @Override
+       protected void onConfigure()
+       {
+               super.onConfigure();
+
+               calculateVisibility();
+       }
+
        /**
         * This toolbar is only visible if there are rows in the data set and 
if there are exportable columns in the
         * data table and if there are data exporters added to the toolbar.
         */
-       @Override
-       public boolean isVisible()
+       protected void calculateVisibility()
        {
+               final boolean isVisible;
                if (dataExporters.isEmpty())
                {
-                       return false;
+                       isVisible = false;
                }
-
-               if (getTable().getRowCount() == 0)
+               else if (getTable().getRowCount() == 0)
                {
-                       return false;
+                       isVisible = false;
                }
-
-               for (IColumn<?, ?> col : getTable().getColumns())
+               else
                {
-                       if (col instanceof IExportableColumn)
+                       boolean foundExportableColumn = false;
+                       for (IColumn<?, ?> col : getTable().getColumns())
                        {
-                               return true;
+                               if (col instanceof IExportableColumn)
+                               {
+                                       foundExportableColumn = true;
+                                       break;
+                               }
                        }
+                       isVisible = foundExportableColumn;
                }
 
-               return false;
+               setVisible(isVisible);
        }
 
        @Override

Reply via email to