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/PageRegistration.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/wicket/PageRegistration.java b/src/com/gitblit/wicket/PageRegistration.java index f7ddcc5..6c13b82 100644 --- a/src/com/gitblit/wicket/PageRegistration.java +++ b/src/com/gitblit/wicket/PageRegistration.java @@ -76,6 +76,7 @@ private static final long serialVersionUID = 1L; + final PageParameters params; final String displayText; final String parameter; final String value; @@ -87,6 +88,7 @@ displayText = null; parameter = null; value = null; + params = null; } /** @@ -97,9 +99,33 @@ * @param value */ public DropDownMenuItem(String displayText, String parameter, String value) { + this(displayText, parameter, value, null); + } + + /** + * Standard Menu Item constructor that preserves aggregate parameters. + * + * @param displayText + * @param parameter + * @param value + */ + public DropDownMenuItem(String displayText, String parameter, String value, + PageParameters params) { this.displayText = displayText; this.parameter = parameter; this.value = value; + if (params == null) { + this.params = new PageParameters(); + } else { + this.params = new PageParameters(params); + } + if (!StringUtils.isEmpty(parameter)) { + if (StringUtils.isEmpty(value)) { + this.params.remove(parameter); + } else { + this.params.put(parameter, value); + } + } } public String formatParameter() { @@ -109,6 +135,10 @@ return parameter + "=" + value; } + public PageParameters getPageParameters() { + return params; + } + public boolean isDivider() { return displayText == null && value == null && parameter == null; } -- Gitblit v1.9.1