You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/04/04 18:06:39 UTC

svn commit: r1088668 - in /wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort: AjaxFallbackOrderByBorder.java AjaxFallbackOrderByLink.java

Author: mgrigorov
Date: Mon Apr  4 16:06:39 2011
New Revision: 1088668

URL: http://svn.apache.org/viewvc?rev=1088668&view=rev
Log:
WICKET-3592 Make AjaxFallbackOrderByLink an implementation of IAjaxLink

Replace onAjaxClick(ART) with onClick(ART)
While here make it possible to override the ajax behavior used for the link (WICKET-3540).


Modified:
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java?rev=1088668&r1=1088667&r2=1088668&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java Mon Apr  4 16:06:39 2011
@@ -110,7 +110,7 @@ public abstract class AjaxFallbackOrderB
 			}
 
 			@Override
-			protected void onAjaxClick(final AjaxRequestTarget target)
+			public void onClick(final AjaxRequestTarget target)
 			{
 				AjaxFallbackOrderByBorder.this.onAjaxClick(target);
 

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java?rev=1088668&r1=1088667&r2=1088668&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java Mon Apr  4 16:06:39 2011
@@ -20,6 +20,7 @@ import org.apache.wicket.ajax.AjaxEventB
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.IAjaxCallDecorator;
 import org.apache.wicket.ajax.calldecorator.CancelEventIfNoAjaxDecorator;
+import org.apache.wicket.ajax.markup.html.IAjaxLink;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
 
@@ -34,13 +35,15 @@ import org.apache.wicket.extensions.mark
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public abstract class AjaxFallbackOrderByLink extends OrderByLink
+public abstract class AjaxFallbackOrderByLink extends OrderByLink implements IAjaxLink
 {
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
 
+	private final IAjaxCallDecorator decorator;
+
 	/**
 	 * Constructor
 	 * 
@@ -68,7 +71,6 @@ public abstract class AjaxFallbackOrderB
 		this(id, property, stateLocator, DefaultCssProvider.getInstance(), null);
 	}
 
-
 	/**
 	 * Constructor
 	 * 
@@ -98,7 +100,25 @@ public abstract class AjaxFallbackOrderB
 	{
 		super(id, property, stateLocator, cssProvider);
 
-		add(new AjaxEventBehavior("onclick")
+		this.decorator = decorator;
+	}
+
+	@Override
+	public void onInitialize()
+	{
+		super.onInitialize();
+
+		add(newAjaxEventBehavior("onclick"));
+	}
+
+	/**
+	 * @param event
+	 *            the name of the default event on which this link will listen to
+	 * @return the ajax behavior which will be executed when the user clicks the link
+	 */
+	protected AjaxEventBehavior newAjaxEventBehavior(final String event)
+	{
+		return new AjaxEventBehavior(event)
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -106,7 +126,7 @@ public abstract class AjaxFallbackOrderB
 			protected void onEvent(final AjaxRequestTarget target)
 			{
 				onClick();
-				onAjaxClick(target);
+				onClick(target);
 			}
 
 			@Override
@@ -114,19 +134,17 @@ public abstract class AjaxFallbackOrderB
 			{
 				return new CancelEventIfNoAjaxDecorator(decorator);
 			}
-
-		});
+		};
 
 	}
 
 	/**
 	 * Callback method when an ajax click occurs. All the behavior of changing the sort, etc is
-	 * already performed bfore this is called so this method should primarily be used to configure
+	 * already performed before this is called so this method should primarily be used to configure
 	 * the target.
 	 * 
 	 * @param target
 	 */
-	protected abstract void onAjaxClick(AjaxRequestTarget target);
-
+	public abstract void onClick(AjaxRequestTarget target);
 
 }