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; } }
