From 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 26 Nov 2013 15:58:15 -0500
Subject: [PATCH] Remove artifact setting from manager dialog

---
 src/main/java/com/gitblit/wicket/PageRegistration.java |   64 +++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/PageRegistration.java b/src/main/java/com/gitblit/wicket/PageRegistration.java
index e8eeaba..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;
@@ -36,6 +36,7 @@
 	public final String translationKey;
 	public final Class<? extends WebPage> pageClass;
 	public final PageParameters params;
+	public final boolean hiddenPhone;
 
 	public PageRegistration(String translationKey, Class<? extends WebPage> pageClass) {
 		this(translationKey, pageClass, null);
@@ -43,16 +44,22 @@
 
 	public PageRegistration(String translationKey, Class<? extends WebPage> pageClass,
 			PageParameters params) {
+		this(translationKey, pageClass, params, false);
+	}
+
+	public PageRegistration(String translationKey, Class<? extends WebPage> pageClass,
+			PageParameters params, boolean hiddenPhone) {
 		this.translationKey = translationKey;
 		this.pageClass = pageClass;
 		this.params = params;
+		this.hiddenPhone = hiddenPhone;
 	}
 
 	/**
 	 * Represents a page link to a non-Wicket page. Might be external.
-	 * 
+	 *
 	 * @author James Moger
-	 * 
+	 *
 	 */
 	public static class OtherPageLink extends PageRegistration {
 
@@ -64,13 +71,18 @@
 			super(translationKey, null);
 			this.url = url;
 		}
+
+		public OtherPageLink(String translationKey, String url, boolean hiddenPhone) {
+			super(translationKey, null, null, hiddenPhone);
+			this.url = url;
+		}
 	}
 
 	/**
 	 * Represents a DropDownMenu for the topbar
-	 * 
+	 *
 	 * @author James Moger
-	 * 
+	 *
 	 */
 	public static class DropDownMenuRegistration extends PageRegistration {
 
@@ -86,9 +98,9 @@
 
 	/**
 	 * A MenuItem for the DropDownMenu.
-	 * 
+	 *
 	 * @author James Moger
-	 * 
+	 *
 	 */
 	public static class DropDownMenuItem implements Serializable {
 
@@ -109,7 +121,7 @@
 
 		/**
 		 * Standard Menu Item constructor.
-		 * 
+		 *
 		 * @param displayText
 		 * @param parameter
 		 * @param value
@@ -120,7 +132,7 @@
 
 		/**
 		 * Standard Menu Item constructor that preserves aggregate parameters.
-		 * 
+		 *
 		 * @param displayText
 		 * @param parameter
 		 * @param value
@@ -140,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;
@@ -155,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);
@@ -212,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