From 66e4a930dcd8287b35f256eb13c8df9808efcf55 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 01 May 2014 19:58:44 -0400
Subject: [PATCH] Merged #15 "My Tickets page"
---
src/main/java/com/gitblit/wicket/PageRegistration.java | 56 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 36 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/PageRegistration.java b/src/main/java/com/gitblit/wicket/PageRegistration.java
index 6cbd862..1b98f2c 100644
--- a/src/main/java/com/gitblit/wicket/PageRegistration.java
+++ b/src/main/java/com/gitblit/wicket/PageRegistration.java
@@ -26,9 +26,9 @@
/**
* Represents a page link registration for the topbar.
- *
+ *
* @author James Moger
- *
+ *
*/
public class PageRegistration implements Serializable {
private static final long serialVersionUID = 1L;
@@ -46,7 +46,7 @@
PageParameters params) {
this(translationKey, pageClass, params, false);
}
-
+
public PageRegistration(String translationKey, Class<? extends WebPage> pageClass,
PageParameters params, boolean hiddenPhone) {
this.translationKey = translationKey;
@@ -57,9 +57,9 @@
/**
* Represents a page link to a non-Wicket page. Might be external.
- *
+ *
* @author James Moger
- *
+ *
*/
public static class OtherPageLink extends PageRegistration {
@@ -71,7 +71,7 @@
super(translationKey, null);
this.url = url;
}
-
+
public OtherPageLink(String translationKey, String url, boolean hiddenPhone) {
super(translationKey, null, null, hiddenPhone);
this.url = url;
@@ -80,9 +80,9 @@
/**
* Represents a DropDownMenu for the topbar
- *
+ *
* @author James Moger
- *
+ *
*/
public static class DropDownMenuRegistration extends PageRegistration {
@@ -98,9 +98,9 @@
/**
* A MenuItem for the DropDownMenu.
- *
+ *
* @author James Moger
- *
+ *
*/
public static class DropDownMenuItem implements Serializable {
@@ -121,7 +121,7 @@
/**
* Standard Menu Item constructor.
- *
+ *
* @param displayText
* @param parameter
* @param value
@@ -132,7 +132,7 @@
/**
* Standard Menu Item constructor that preserves aggregate parameters.
- *
+ *
* @param displayText
* @param parameter
* @param value
@@ -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