WICKET-6015 updateAjaxAttributes()

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6217815a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6217815a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6217815a

Branch: refs/heads/lambdas
Commit: 6217815ad21e55822d5582b7fd362b5c1b619293
Parents: db88fd2
Author: Sven Meier <[email protected]>
Authored: Thu Oct 29 10:32:36 2015 +0100
Committer: Sven Meier <[email protected]>
Committed: Thu Oct 29 10:32:36 2015 +0100

----------------------------------------------------------------------
 .../data/sort/AjaxFallbackOrderByBorder.java    | 36 ++++++++------------
 .../data/sort/AjaxFallbackOrderByLink.java      | 28 +++------------
 .../data/table/AjaxFallbackHeadersToolbar.java  | 18 +++++-----
 3 files changed, 28 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6217815a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
index f38e53c..d35433b 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
@@ -17,7 +17,7 @@
 package org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.IAjaxCallListener;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
@@ -38,7 +38,6 @@ import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
 public abstract class AjaxFallbackOrderByBorder<S> extends OrderByBorder<S>
 {
        private static final long serialVersionUID = 1L;
-       private IAjaxCallListener ajaxCallListener;
 
        /**
         * Constructor
@@ -50,35 +49,23 @@ public abstract class AjaxFallbackOrderByBorder<S> extends 
OrderByBorder<S>
        public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
                final ISortStateLocator<S> stateLocator)
        {
-               this(id, sortProperty, stateLocator, null);
-       }
-
-       /**
-        * Constructor
-        * 
-        * @param id
-        * @param sortProperty
-        * @param stateLocator
-        * @param ajaxCallListener
-        */
-       public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
-               final ISortStateLocator<S> stateLocator, final 
IAjaxCallListener ajaxCallListener)
-       {
                super(id, sortProperty, stateLocator);
-
-               this.ajaxCallListener = ajaxCallListener;
        }
 
        @Override
-       protected OrderByLink<S> newOrderByLink(String id, S property,
-               ISortStateLocator<S> stateLocator)
+       protected OrderByLink<S> newOrderByLink(String id, S property, 
ISortStateLocator<S> stateLocator)
        {
-               return new AjaxFallbackOrderByLink<S>("orderByLink", property, 
stateLocator, ajaxCallListener)
+               return new AjaxFallbackOrderByLink<S>("orderByLink", property, 
stateLocator)
                {
-
                        private static final long serialVersionUID = 1L;
 
                        @Override
+                       protected void 
updateAjaxAttributes(AjaxRequestAttributes attributes)
+                       {
+                               
AjaxFallbackOrderByBorder.this.updateAjaxAttributes(attributes);
+                       }
+
+                       @Override
                        protected void onSortChanged()
                        {
                                AjaxFallbackOrderByBorder.this.onSortChanged();
@@ -92,6 +79,11 @@ public abstract class AjaxFallbackOrderByBorder<S> extends 
OrderByBorder<S>
                        }
                };
        }
+
+       protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
+       {
+       }
+
        /**
         * This method is a hook for subclasses to perform an action after sort 
has changed
         */

http://git-wip-us.apache.org/repos/asf/wicket/blob/6217815a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
index 8f8a02a..e937e72 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
@@ -19,7 +19,6 @@ package 
org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
-import org.apache.wicket.ajax.attributes.IAjaxCallListener;
 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;
@@ -44,8 +43,6 @@ public abstract class AjaxFallbackOrderByLink<S> extends 
OrderByLink<S> implemen
         */
        private static final long serialVersionUID = 1L;
 
-       private final IAjaxCallListener ajaxCallListener;
-
        /**
         * Constructor
         * 
@@ -56,23 +53,7 @@ public abstract class AjaxFallbackOrderByLink<S> extends 
OrderByLink<S> implemen
        public AjaxFallbackOrderByLink(final String id, final S sortProperty,
                final ISortStateLocator<S> stateLocator)
        {
-               this(id, sortProperty, stateLocator, null);
-       }
-
-       /**
-        * Constructor
-        * 
-        * @param id
-        * @param sortProperty
-        * @param stateLocator
-        * @param ajaxCallListener
-        */
-       public AjaxFallbackOrderByLink(final String id, final S sortProperty,
-               final ISortStateLocator<S> stateLocator, final 
IAjaxCallListener ajaxCallListener)
-       {
                super(id, sortProperty, stateLocator);
-
-               this.ajaxCallListener = ajaxCallListener;
        }
 
        @Override
@@ -106,13 +87,14 @@ public abstract class AjaxFallbackOrderByLink<S> extends 
OrderByLink<S> implemen
                        {
                                super.updateAjaxAttributes(attributes);
                                attributes.setPreventDefault(true);
-                               if (ajaxCallListener != null) {
-                                       
attributes.getAjaxCallListeners().add(ajaxCallListener);
-                               }
-                       }
 
+                               
AjaxFallbackOrderByLink.this.updateAjaxAttributes(attributes);
+                       }
                };
+       }
 
+       protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
+       {
        }
 
        /**

http://git-wip-us.apache.org/repos/asf/wicket/blob/6217815a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackHeadersToolbar.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackHeadersToolbar.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackHeadersToolbar.java
index b02d553..88c0acc 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackHeadersToolbar.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackHeadersToolbar.java
@@ -17,7 +17,7 @@
 package org.apache.wicket.extensions.ajax.markup.html.repeater.data.table;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.IAjaxCallListener;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import 
org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort.AjaxFallbackOrderByBorder;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
@@ -58,11 +58,17 @@ public class AjaxFallbackHeadersToolbar<S> extends 
HeadersToolbar<S>
        protected WebMarkupContainer newSortableHeader(final String borderId, 
final S property,
                final ISortStateLocator<S> locator)
        {
-               return new AjaxFallbackOrderByBorder<S>(borderId, property, 
locator, getAjaxCallListener())
+               return new AjaxFallbackOrderByBorder<S>(borderId, property, 
locator)
                {
                        private static final long serialVersionUID = 1L;
 
                        @Override
+                       protected void 
updateAjaxAttributes(AjaxRequestAttributes attributes)
+                       {
+                               
AjaxFallbackHeadersToolbar.this.updateAjaxAttributes(attributes);
+                       }
+
+                       @Override
                        protected void onAjaxClick(final AjaxRequestTarget 
target)
                        {
                                target.add(getTable());
@@ -77,13 +83,7 @@ public class AjaxFallbackHeadersToolbar<S> extends 
HeadersToolbar<S>
                };
        }
 
-       /**
-        * Returns a decorator that will be used to decorate ajax links used in 
sortable headers
-        * 
-        * @return decorator or null for none
-        */
-       protected IAjaxCallListener getAjaxCallListener()
+       protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
        {
-               return null;
        }
 }

Reply via email to