You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mo...@apache.org on 2015/11/08 18:15:45 UTC
[46/50] wicket git commit: Revert "WICKET-6023 small tweak for
component queuing for the AbstractRepeater"
Revert "WICKET-6023 small tweak for component queuing for the AbstractRepeater"
This reverts commit 2bab2be8c4376a857423486e462a9c39786ecf5e.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8ea6acae
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8ea6acae
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8ea6acae
Branch: refs/heads/lambdas
Commit: 8ea6acaedbaf7f1d2f756bcadb3eeecd53e42066
Parents: 3269157
Author: Andrea Del Bene <ad...@apache.org>
Authored: Sat Nov 7 21:20:26 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Sat Nov 7 21:20:26 2015 +0100
----------------------------------------------------------------------
.../wicket/markup/html/list/ListItem.java | 12 +--------
.../markup/repeater/AbstractRepeater.java | 28 ++++++++++++++++++++
2 files changed, 29 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/8ea6acae/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 a3a7da2..68565a5 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,11 +16,7 @@
*/
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;
/**
@@ -32,7 +28,7 @@ import org.apache.wicket.model.IModel;
* @param <T>
* Model object type
*/
-public class ListItem<T> extends LoopItem implements IGenericComponent<T>, IQueueRegion
+public class ListItem<T> extends LoopItem implements IGenericComponent<T>
{
private static final long serialVersionUID = 1L;
@@ -101,10 +97,4 @@ public class ListItem<T> extends LoopItem implements IGenericComponent<T>, IQueu
{
setDefaultModelObject(object);
}
-
- @Override
- public DequeueContext newDequeueContext()
- {
- return new DequeueContext(getMarkup(), this, true);
- }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/8ea6acae/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 832196f..25e320a 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,4 +157,32 @@ 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();
+
+ }
}