You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2011/01/04 17:33:41 UTC

svn commit: r1055090 - /wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java

Author: ivaynberg
Date: Tue Jan  4 16:33:41 2011
New Revision: 1055090

URL: http://svn.apache.org/viewvc?rev=1055090&view=rev
Log:

Issue: WICKET-3306

Modified:
    wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java

Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java?rev=1055090&r1=1055089&r2=1055090&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java (original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java Tue Jan  4 16:33:41 2011
@@ -16,12 +16,13 @@
  */
 package org.apache.wicket.extensions.markup.html.repeater.data.sort;
 
-import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.IClusterable;
+import org.apache.wicket.behavior.AbstractBehavior;
+import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.lang.Objects;
+import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.version.undo.Change;
 
 /**
@@ -177,10 +178,11 @@ public class OrderByLink extends Link
 	 * @author Igor Vaynberg ( ivaynberg )
 	 * 
 	 */
-	public static class CssModifier extends AttributeModifier
+	public static class CssModifier extends AbstractBehavior
 	{
 		private static final long serialVersionUID = 1L;
-
+		private final OrderByLink link;
+		private final ICssProvider provider;
 
 		/**
 		 * @param link
@@ -190,36 +192,28 @@ public class OrderByLink extends Link
 		 */
 		public CssModifier(final OrderByLink link, final ICssProvider provider)
 		{
-			super("class", true, new Model<String>()
-			{
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				public String getObject()
-				{
-
-					final ISortState sortState = link.stateLocator.getSortState();
-					return provider.getClassAttributeValue(sortState, link.property);
-				}
-
-				@Override
-				public void setObject(String object)
-				{
-					throw new UnsupportedOperationException();
-				}
-
-			});
+			this.link = link;
+			this.provider = provider;
 		}
 
 		/**
-		 * @see org.apache.wicket.AttributeModifier#isEnabled(Component)
+		 * @see org.apache.wicket.behavior.AbstractBehavior#onComponentTag(org.apache.wicket.Component,
+		 *      org.apache.wicket.markup.ComponentTag)
 		 */
 		@Override
-		public boolean isEnabled(Component component)
+		public void onComponentTag(Component component, ComponentTag tag)
 		{
-			return getReplaceModel().getObject() != null;
+			super.onComponentTag(component, tag);
+
+			final ISortState sortState = link.stateLocator.getSortState();
+			String cssClass = provider.getClassAttributeValue(sortState, link.property);
+			if (!Strings.isEmpty(cssClass))
+			{
+				tag.append("class", cssClass, " ");
+			}
+
 		}
-	};
+	}
 
 
 	/**