From ffc96e11de24bbd7d26deac5d0b52764b65ea0c0 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 5 Jul 2016 12:03:47 +0200
Subject: [PATCH] OO-2087: append default table size if not in the default list

---
 .../impl/elements/table/AbstractFlexiTableRenderer.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
index c32a98922a5..7f454ecacfd 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
@@ -19,6 +19,7 @@
  */
 package org.olat.core.gui.components.form.flexible.impl.elements.table;
 
+import java.util.Arrays;
 import java.util.List;
 
 import org.olat.core.gui.components.Component;
@@ -370,7 +371,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 		FlexiTableDataModel<?> dataModel = ftE.getTableDataModel();
 		int rows = dataModel.getRowCount();
 
-		if (rows > 20) {
+		if (rows > ftE.getDefaultPageSize()) {
 			renderPageSize(sb, ftC, translator);
 		}
 
@@ -418,6 +419,11 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 	      .append("<ul class='dropdown-menu' role='menu'>");
 		
 		int[] sizes = new int[]{ 20, 50, 100, 250 };
+		int defaultPageSize = ftE.getDefaultPageSize();
+		if (Arrays.binarySearch(sizes, defaultPageSize) < 0) {
+			sizes = new int[]{ 20, 50, 100, 250, defaultPageSize };
+			Arrays.sort(sizes);
+		}
 		for(int size:sizes) {
 			sb.append("<li><a href=\"javascript:")
 			  .append(FormJSHelper.getXHRFnCallFor(theForm, dispatchId, 1, true, true,
-- 
GitLab