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 <[email protected]>
Authored: Mon Feb 10 14:46:50 2014 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
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()

Reply via email to