This is an automated email from the ASF dual-hosted git repository. reiern70 pushed a commit to branch make_datatables_more_easy_to_override_10_X in repository https://gitbox.apache.org/repos/asf/wicket.git
commit 55e10832ce22e7a122003d6c88e8e549814aa6c2 Author: reiern70 <reier...@gmail.com> AuthorDate: Thu Nov 18 12:17:14 2021 +0300 [WICKET-6935] several minor datatable improvements --- .../data/table/AjaxFallbackDefaultDataTable.java | 11 ++++++++++- .../html/repeater/data/table/NavigationToolbar.java | 17 ++++++----------- .../markup/html/repeater/data/table/NavigatorLabel.java | 8 ++++---- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java index 0cf9af3..795cef7 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java @@ -71,8 +71,17 @@ public class AjaxFallbackDefaultDataTable<T, S> extends DataTable<T, S> super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true); setVersioned(false); + addToolBars(dataProvider); + } + + /** + * Factory method for toolbars + * @param dataProvider {@link org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider} + */ + protected void addToolBars(final ISortableDataProvider<T, S> dataProvider) + { addTopToolbar(new AjaxNavigationToolbar(this)); - addTopToolbar(new AjaxFallbackHeadersToolbar(this, dataProvider)); + addTopToolbar(new AjaxFallbackHeadersToolbar<>(this, dataProvider)); addBottomToolbar(new NoRecordsToolbar(this)); } diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigationToolbar.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigationToolbar.java index 70515de..1adee04 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigationToolbar.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigationToolbar.java @@ -17,8 +17,10 @@ package org.apache.wicket.extensions.markup.html.repeater.data.table; import org.apache.wicket.AttributeModifier; +import org.apache.wicket.Component; import org.apache.wicket.markup.html.WebComponent; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.navigation.paging.IPageableItems; import org.apache.wicket.markup.html.navigation.paging.PagingNavigator; import org.apache.wicket.model.IModel; @@ -44,14 +46,7 @@ public class NavigationToolbar extends AbstractToolbar WebMarkupContainer span = new WebMarkupContainer("span"); add(span); - span.add(AttributeModifier.replace("colspan", new IModel<String>() - { - @Override - public String getObject() - { - return String.valueOf(table.getColumns().size()).intern(); - } - })); + span.add(AttributeModifier.replace("colspan", (IModel<String>) () -> String.valueOf(table.getColumns().size()).intern())); span.add(newPagingNavigator("navigator", table)); span.add(newNavigatorLabel("navigatorLabel", table)); @@ -73,16 +68,16 @@ public class NavigationToolbar extends AbstractToolbar } /** - * Factory method used to create the navigator label that will be used by the datatable + * Factory method used to create the navigator label. * * @param navigatorId * component id navigator label should be created with * @param table - * dataview used by datatable + * DataTable used by datatable * @return navigator label that will be used to navigate the data table * */ - protected WebComponent newNavigatorLabel(final String navigatorId, final DataTable<?, ?> table) + protected Component newNavigatorLabel(final String navigatorId, final DataTable<?, ?> table) { return new NavigatorLabel(navigatorId, table); } diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigatorLabel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigatorLabel.java index 283118e..fbbfcbe 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigatorLabel.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/NavigatorLabel.java @@ -40,8 +40,8 @@ public class NavigatorLabel extends Label /** * Construct. * - * @param id - * @param pageable + * @param id The id + * @param pageable {@link org.apache.wicket.markup.html.navigation.paging.IPageableItems} */ public NavigatorLabel(final String id, final IPageableItems pageable) { @@ -50,7 +50,7 @@ public class NavigatorLabel extends Label new Model<>(new LabelModelObject(pageable)))); } - private static class LabelModelObject implements IClusterable + public static class LabelModelObject implements IClusterable { private static final long serialVersionUID = 1L; private final IPageableItems pageable; @@ -58,7 +58,7 @@ public class NavigatorLabel extends Label /** * Construct. * - * @param table + * @param table {@link org.apache.wicket.markup.html.navigation.paging.IPageableItems} */ public LabelModelObject(final IPageableItems table) {