Repository: wicket Updated Branches: refs/heads/wicket-7.x db13d92e5 -> 251dd2115
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/251dd211 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/251dd211 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/251dd211 Branch: refs/heads/wicket-7.x Commit: 251dd21157e58bf254151c9696bb8d7756f02235 Parents: db13d92 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:45:30 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/251dd211/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 4c0facb..864ea5d 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