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 2014/02/10 13:47:27 UTC
git commit: WICKET-3335 Add support for InlineEnclosure
Updated Branches:
refs/heads/sandbox/component-queueing-2 101e20017 -> d24f46557
WICKET-3335 Add support for InlineEnclosure
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d24f4655
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d24f4655
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d24f4655
Branch: refs/heads/sandbox/component-queueing-2
Commit: d24f465574f8c781b963173ddecefa89b9831e84
Parents: 101e200
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Feb 10 14:46:50 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Feb 10 14:46:50 2014 +0200
----------------------------------------------------------------------
.../markup/parser/filter/EnclosureHandler.java | 3 --
.../parser/filter/InlineEnclosureHandler.java | 10 +++++++
.../wicket/queueing/ComponentQueueingTest.java | 30 ++++++++++++++++++++
3 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/d24f4655/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
index 91d53e7..4a47f38 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
@@ -45,7 +45,6 @@ import org.apache.wicket.markup.resolver.IComponentResolver;
* enclosure is identified by the 'child' attribute value which must be equal to the relative child
* id path.
*
- * @see EnclosureResolver
* @see Enclosure
*
* @author Juergen Donnerstag
@@ -56,8 +55,6 @@ public final class EnclosureHandler extends AbstractMarkupFilter implements ICom
private static final IAutoComponentFactory FACTORY = new IAutoComponentFactory()
{
-
-
@Override
public Component newComponent(ComponentTag tag)
{
http://git-wip-us.apache.org/repos/asf/wicket/blob/d24f4655/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
index 5eb94fc..e3c953a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java
@@ -124,6 +124,16 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter
}
tag.setAutoComponentTag(true);
+ tag.setAutoComponentFactory(new ComponentTag.IAutoComponentFactory()
+ {
+ @Override
+ public Component newComponent(ComponentTag tag)
+ {
+ String attributeName = getInlineEnclosureAttributeName(null);
+ String childId = tag.getAttribute(attributeName);
+ return new InlineEnclosure(tag.getId(), childId);
+ }
+ });
tag.setModified(true);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/d24f4655/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
index 175a8d6..6a247ff 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
@@ -515,6 +515,36 @@ public class ComponentQueueingTest extends WicketTestCase
assertEquals("", tester.getLastResponseAsString());
}
+ /**
+ * Test InlineEnclosure
+ */
+ @Test
+ public void autos6()
+ {
+ TestPage p = new TestPage();
+ p.setPageMarkup("<div wicket:enclosure='a'><div wicket:id='a'></div><div wicket:id='b'></div></div>");
+ A a = new A();
+ B b = new B();
+ p.queue(a, b);
+ tester.startPage(p);
+
+ assertTrue(a.getParent() instanceof Enclosure);
+ assertTrue(b.getParent() instanceof Enclosure);
+
+ // A is visible, enclosure renders
+
+ assertEquals(
+ "<div wicket:enclosure=\"a\" id=\"wicket__InlineEnclosure_01\"><div wicket:id=\"a\"></div><div wicket:id=\"b\"></div></div>",
+ tester.getLastResponseAsString());
+
+ // A is not visible, enclosure does not render
+
+ a.setVisible(false);
+ tester.startPage(p);
+ assertEquals("<div id=\"wicket__InlineEnclosure_01\" style=\"display:none\"></div>", tester.getLastResponseAsString());
+ }
+
+
private static class A extends WebMarkupContainer
{
public A()