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()