From ba6150d1712d5f5986e72333831940a46316aab3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 02 Nov 2012 16:52:41 -0400
Subject: [PATCH] Permission filtering in web ui

---
 src/com/gitblit/client/Utils.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/com/gitblit/client/Utils.java b/src/com/gitblit/client/Utils.java
index b24c6d8..1e6ab2b 100644
--- a/src/com/gitblit/client/Utils.java
+++ b/src/com/gitblit/client/Utils.java
@@ -49,7 +49,25 @@
 	public final static String DATE_FORMAT = "yyyy-MM-dd";
 
 	public static JTable newTable(TableModel model, String datePattern) {
-		JTable table = new JTable(model);
+		return newTable(model, datePattern, null);
+	}
+	
+	public static JTable newTable(TableModel model, String datePattern, final RowRenderer rowRenderer) {
+		JTable table;
+		if (rowRenderer == null) {
+			table = new JTable(model);
+		} else {
+			table = new JTable(model) {
+				
+				@Override
+				public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
+					Component c = super.prepareRenderer(renderer, row, column);
+					boolean isSelected = isCellSelected(row, column);
+					rowRenderer.prepareRow(c, isSelected, row, column);
+					return c;
+				}
+			};
+		}
 		table.setRowHeight(table.getFont().getSize() + 8);
 		table.setCellSelectionEnabled(false);
 		table.setRowSelectionAllowed(true);
@@ -148,5 +166,8 @@
 			showException(null, x);
 		}
 	}
-
+	
+	public static abstract class RowRenderer {
+		public abstract void prepareRow(Component c, boolean isSelected, int row, int column);
+	}
 }

--
Gitblit v1.9.1