From bc57cd86db78fccf6b981375425d74bab540ad7b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 29 Dec 2011 19:35:40 -0500 Subject: [PATCH] Integrated selectable days back filtering in filters menu --- src/com/gitblit/wicket/pages/RepositoriesPage.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index 4c50b44..21efdda 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -35,6 +35,7 @@ import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.PageRegistration; +import com.gitblit.wicket.PageRegistration.DropDownMenuItem; import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.RepositoriesPanel; @@ -49,6 +50,11 @@ public RepositoriesPage(PageParameters params) { super(params); setup(params); + } + + @Override + protected boolean reusePageParameters() { + return true; } private void setup(PageParameters params) { @@ -85,8 +91,29 @@ @Override protected void addDropDownMenus(List<PageRegistration> pages) { - DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters", RepositoriesPage.class); - menu.menuItems.addAll(getFilterMenuItems()); + int daysBack = 0; + PageParameters currentParameters = getPageParameters(); + if (currentParameters != null && currentParameters.containsKey("db")) { + daysBack = currentParameters.getInt("db"); + } + PageParameters params = null; + if (daysBack > 0) { + params = new PageParameters("db=" + daysBack); + } + + DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters", + RepositoriesPage.class); + // preserve time filter option on repository choices + menu.menuItems.addAll(getRepositoryFilterItems(params)); + + // preserve repository filter option on time choices + menu.menuItems.addAll(getTimeFilterItems(currentParameters)); + + if (menu.menuItems.size() > 0) { + // Reset Filter + menu.menuItems.add(new DropDownMenuItem(getString("gb.reset"), null, null)); + } + pages.add(menu); } @@ -129,7 +156,7 @@ } return message; } - + @Override protected void onBeforeRender() { if (GitBlit.isDebugMode()) { @@ -138,6 +165,7 @@ } super.onBeforeRender(); } + @Override protected void onAfterRender() { if (GitBlit.isDebugMode()) { -- Gitblit v1.9.1