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/03/27 12:43:59 UTC

svn commit: r1085907 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ajax/markup/html/ main/java/org/apache/wicket/ajax/markup/html/navigation/paging/ test/java/org/apache/wicket/ajax/markup/html/ajaxLink/ test/java/org/apache/wicket/ma...

Author: mgrigorov
Date: Sun Mar 27 10:43:59 2011
New Revision: 1085907

URL: http://svn.apache.org/viewvc?rev=1085907&view=rev
Log:
WICKET-3540 Make AjaxLink's URL more configurable

Make the ajax behavior assignment overrideable. Now client apps can override the AjaxLink's behavior and customize it as required.


Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationIncrementLink.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationLink.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkPageExpectedResult.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkWithBorderPageExpectedResult.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxPage2_ExpectedResult.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/border/HideableBorderPage_ExpectedResult.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_7.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java Sun Mar 27 10:43:59 2011
@@ -59,7 +59,23 @@ public abstract class AjaxFallbackLink<T
 	{
 		super(id, model);
 
-		add(new AjaxEventBehavior("onclick")
+	}
+
+	@Override
+	protected 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(String event)
+	{
+		return new AjaxEventBehavior("onclick")
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -97,7 +113,7 @@ public abstract class AjaxFallbackLink<T
 					super.onComponentTag(tag);
 				}
 			}
-		});
+		};
 	}
 
 	/**

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java Sun Mar 27 10:43:59 2011
@@ -57,8 +57,24 @@ public abstract class AjaxLink<T> extend
 	public AjaxLink(final String id, final IModel<T> model)
 	{
 		super(id, model);
+	}
+
 
-		add(new AjaxEventBehavior("onclick")
+	@Override
+	protected 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(String event)
+	{
+		return new AjaxEventBehavior(event)
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -83,7 +99,7 @@ public abstract class AjaxLink<T> extend
 					super.onComponentTag(tag);
 				}
 			}
-		});
+		};
 	}
 
 	@Override

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationIncrementLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationIncrementLink.java?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationIncrementLink.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationIncrementLink.java Sun Mar 27 10:43:59 2011
@@ -62,11 +62,30 @@ public class AjaxPagingNavigationIncreme
 		final int increment)
 	{
 		super(id, pageable, increment);
-		add(new AjaxPagingNavigationBehavior(this, pageable, "onclick"));
 
 		setOutputMarkupId(true);
 	}
 
+	@Override
+	protected void onInitialize()
+	{
+		super.onInitialize();
+		add(newAjaxPagingNavigationBehavior(pageable, "onclick"));
+	}
+
+	/**
+	 * @param pageable
+	 *            The pageable component the page links are referring to
+	 * @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 AjaxPagingNavigationBehavior newAjaxPagingNavigationBehavior(IPageable pageable,
+		String event)
+	{
+		return new AjaxPagingNavigationBehavior(this, pageable, "onclick");
+	}
+
 	/**
 	 * Returns the javascript event handler for this component. This function is used to decorate
 	 * the generated javascript handler.

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationLink.java?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationLink.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/navigation/paging/AjaxPagingNavigationLink.java Sun Mar 27 10:43:59 2011
@@ -46,10 +46,30 @@ public class AjaxPagingNavigationLink ex
 	public AjaxPagingNavigationLink(final String id, final IPageable pageable, final int pageNumber)
 	{
 		super(id, pageable, pageNumber);
-		add(new AjaxPagingNavigationBehavior(this, pageable, "onclick"));
+
 		setOutputMarkupId(true);
 	}
 
+	@Override
+	protected void onInitialize()
+	{
+		super.onInitialize();
+		add(newAjaxPagingNavigationBehavior(pageable, "onclick"));
+	}
+
+	/**
+	 * @param pageable
+	 *            The pageable component the page links are referring to
+	 * @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 AjaxPagingNavigationBehavior newAjaxPagingNavigationBehavior(IPageable pageable,
+		String event)
+	{
+		return new AjaxPagingNavigationBehavior(this, pageable, event);
+	}
+
 	/**
 	 * Fallback event listener, will redisplay the current page.
 	 * 

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkPageExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkPageExpectedResult.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkPageExpectedResult.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkPageExpectedResult.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxLinkPage?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxLinkPage";
 /*-->]]>*/</script>
 </head><body>
   <span wicket:id="ajaxLabel" id="ajaxLabel1">UpdateMe</span>

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkWithBorderPageExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkWithBorderPageExpectedResult.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkWithBorderPageExpectedResult.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxLinkWithBorderPageExpectedResult.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxLinkWithBorderPage?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxLinkWithBorderPage";
 /*-->]]>*/</script>
 </head><body>
   <span wicket:id="border"><wicket:border>

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxPage2_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxPage2_ExpectedResult.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxPage2_ExpectedResult.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/ajaxLink/AjaxPage2_ExpectedResult.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxPage2?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.ajaxLink.AjaxPage2";
 /*-->]]>*/</script>
 </head><body>
   <span wicket:id="pageLayout"><wicket:border>

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html Sun Mar 27 10:43:59 2011
@@ -9,7 +9,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.basic.SimplePage_13?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.basic.SimplePage_13";
 /*-->]]>*/</script>
 <link rel="stylesheet" type="text/css" href="../../BasePage.css" />
 </head><body>

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/border/HideableBorderPage_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/border/HideableBorderPage_ExpectedResult.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/border/HideableBorderPage_ExpectedResult.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/border/HideableBorderPage_ExpectedResult.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.border.HideableBorderPage?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.border.HideableBorderPage";
 /*-->]]>*/</script>
 </head><body>
   <div wicket:id="hideable"><wicket:border>

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_7.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_7.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_7.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_7.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.panel.InlinePanelPage_7?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.panel.InlinePanelPage_7";
 /*-->]]>*/</script>
 </head><body>
 

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html?rev=1085907&r1=1085906&r2=1085907&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html Sun Mar 27 10:43:59 2011
@@ -6,7 +6,7 @@
 wicketAjaxDebugEnable=true;
 /*-->]]>*/</script>
 <script type="text/javascript" id="wicket-ajax-base-url"><!--/*--><![CDATA[/*><!--*/
-Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.panel.InlinePanelPage_8?0";
+Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.panel.InlinePanelPage_8";
 /*-->]]>*/</script>
 </head><body>