Hi Andrea, The change looks like now queueing will work for ListView (because it uses ListItem), but won't work for other repeaters like RepeatableView, RefreshingView, Loop, ...
Maybe I miss something but the ticket description doesn't explain much ... :-/ Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Nov 5, 2015 at 3:15 PM, <[email protected]> wrote: > Repository: wicket > Updated Branches: > refs/heads/wicket-7.x 75d5b5c0f -> 86f57f3fc > > > WICKET-6023 small tweak for component queuing for the AbstractRepeater > > > Project: http://git-wip-us.apache.org/repos/asf/wicket/repo > Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/86f57f3f > Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/86f57f3f > Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/86f57f3f > > Branch: refs/heads/wicket-7.x > Commit: 86f57f3fcb3b3515f0fb61d38d221628d4abe0ae > Parents: 75d5b5c > Author: Andrea Del Bene <[email protected]> > Authored: Thu Nov 5 15:14:44 2015 +0100 > Committer: Andrea Del Bene <[email protected]> > Committed: Thu Nov 5 15:14:44 2015 +0100 > > ---------------------------------------------------------------------- > .../wicket/markup/html/list/ListItem.java | 12 ++++++++- > .../markup/repeater/AbstractRepeater.java | 28 -------------------- > 2 files changed, 11 insertions(+), 29 deletions(-) > ---------------------------------------------------------------------- > > > > http://git-wip-us.apache.org/repos/asf/wicket/blob/86f57f3f/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java > ---------------------------------------------------------------------- > diff --git > a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java > b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java > index 68565a5..a3a7da2 100644 > --- > a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java > +++ > b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java > @@ -16,7 +16,11 @@ > */ > package org.apache.wicket.markup.html.list; > > +import org.apache.wicket.DequeueContext; > import org.apache.wicket.IGenericComponent; > +import org.apache.wicket.IQueueRegion; > +import org.apache.wicket.markup.IMarkupFragment; > +import org.apache.wicket.markup.Markup; > import org.apache.wicket.model.IModel; > > /** > @@ -28,7 +32,7 @@ import org.apache.wicket.model.IModel; > * @param <T> > * Model object type > */ > -public class ListItem<T> extends LoopItem implements IGenericComponent<T> > +public class ListItem<T> extends LoopItem implements > IGenericComponent<T>, IQueueRegion > { > private static final long serialVersionUID = 1L; > > @@ -97,4 +101,10 @@ public class ListItem<T> extends LoopItem implements > IGenericComponent<T> > { > setDefaultModelObject(object); > } > + > + @Override > + public DequeueContext newDequeueContext() > + { > + return new DequeueContext(getMarkup(), this, true); > + } > } > > > http://git-wip-us.apache.org/repos/asf/wicket/blob/86f57f3f/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java > ---------------------------------------------------------------------- > diff --git > a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java > b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java > index 25e320a..832196f 100644 > --- > a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java > +++ > b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java > @@ -157,32 +157,4 @@ public abstract class AbstractRepeater extends > WebMarkupContainer > * Callback to let the repeater know it should populate itself > with its items. > */ > protected abstract void onPopulate(); > - > - @Override > - public void dequeue(DequeueContext dequeue) > - { > - if (size() > 0) > - { > - // essentially what we do is for every child > replace the repeater with the child in > - // dequeue container stack and run the dequeue on > the child. we also take care to reset > - // the state of the dequeue context after we > process every child. > - > - Bookmark bookmark = dequeue.save(); > - > - for (Component child : this) > - { > - if (child instanceof MarkupContainer) > - { > - dequeue.popContainer(); // pop the > repeater > - MarkupContainer container = > (MarkupContainer) child; > - dequeue.pushContainer(container); > - container.dequeue(dequeue); > - dequeue.restore(bookmark); > - } > - } > - } > - > - dequeue.skipToCloseTag(); > - > - } > } > >
