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