You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by re...@apache.org on 2021/11/18 09:17:38 UTC

[wicket] 01/01: [WICKET-6935] several minor datatable improvements

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 <re...@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)
 		{