From 5abe3350a38b3cdfc28ac2839860d28b88f2306a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 24 Jun 2013 14:02:54 -0400 Subject: [PATCH] Improve time filter language and handling of daysBack parameter --- src/main/java/com/gitblit/wicket/PageRegistration.java | 32 ++++++++++++++++++++++++-------- 1 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/PageRegistration.java b/src/main/java/com/gitblit/wicket/PageRegistration.java index 6cbd862..b0cb470 100644 --- a/src/main/java/com/gitblit/wicket/PageRegistration.java +++ b/src/main/java/com/gitblit/wicket/PageRegistration.java @@ -152,13 +152,8 @@ parameters = new PageParameters(params); if (parameters.containsKey(parameter)) { isSelected = params.getString(parameter).equals(value); - if (isSelected) { - // already selected, so remove this enables toggling - parameters.remove(parameter); - } else { - // set the new selection value - setParameter(parameter, value); - } + // set the new selection value + setParameter(parameter, value); } else { // not currently selected isSelected = false; @@ -167,7 +162,7 @@ } } - private void setParameter(String parameter, String value) { + protected void setParameter(String parameter, String value) { if (!StringUtils.isEmpty(parameter)) { if (StringUtils.isEmpty(value)) { this.parameters.remove(parameter); @@ -224,4 +219,25 @@ return displayText; } } + + public static class DropDownToggleItem extends DropDownMenuItem { + + private static final long serialVersionUID = 1L; + + /** + * Toggle Menu Item constructor that preserves aggregate parameters. + * + * @param displayText + * @param parameter + * @param value + */ + public DropDownToggleItem(String displayText, String parameter, String value, + PageParameters params) { + super(displayText, parameter, value, params); + if (isSelected) { + // already selected, so remove this enables toggling + parameters.remove(parameter); + } + } + } } \ No newline at end of file -- Gitblit v1.9.1