You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2006/11/02 23:34:17 UTC

svn commit: r470571 - in /incubator/wicket/trunk/wicket/src/main/java/wicket: ./ ajax/ behavior/

Author: knopp
Date: Thu Nov  2 14:34:15 2006
New Revision: 470571

URL: http://svn.apache.org/viewvc?view=rev&rev=470571
Log:
Added support for <wicket:link> in header contribution,
Header contribution fixes,
Renamed IBehavior.detachModel to IBehavior.detach

Modified:
    incubator/wicket/trunk/wicket/src/main/java/wicket/AttributeModifier.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/Component.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/wicket-ajax.js
    incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/AbstractBehavior.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/IBehavior.java
    incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/StringHeaderContributor.java

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/AttributeModifier.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/AttributeModifier.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/AttributeModifier.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/AttributeModifier.java Thu Nov  2 14:34:15 2006
@@ -186,7 +186,7 @@
 	 *            the model that initiates the detachement
 	 */
 	@Override
-	public final void detachModel(Component component)
+	public final void detach(Component component)
 	{
 		if (replaceModel != null)
 		{

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/Component.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/Component.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/Component.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/Component.java Thu Nov  2 14:34:15 2006
@@ -28,7 +28,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import wicket.ajax.AjaxRequestTarget;
 import wicket.annot.AnnotationUtils;
 import wicket.annot.OnAfterRender;
 import wicket.annot.OnAttach;
@@ -840,7 +839,7 @@
 		{
 			for (IBehavior behavior : behaviors)
 			{
-				behavior.detachModel(this);
+				behavior.detach(this);
 			}
 		}
 	}
@@ -1940,23 +1939,8 @@
 	{
 		// Tell the page that the component rendered
 		getPage().componentRendered(this);
-
+		
 		// notify the behaviors that component has been rendered
-		renderedBehaviors();
-	}
-
-	/**
-	 * THIS IS WICKET INTERNAL ONLY. DO NOT USE IT.
-	 * 
-	 * Notifies the behaviors that the component has been rendered. This is
-	 * decoupled from {@link #rendered()} because we don't want to call
-	 * <code>getPage().componentRendered(this)</code> every time. This method
-	 * is necessary for {@link AjaxRequestTarget} to be able to cleanup
-	 * component's behaviors after header contribution has been done (which is
-	 * separated from component render).
-	 */
-	public final void renderedBehaviors()
-	{
 		if (behaviors != null)
 		{
 			for (IBehavior behavior : behaviors)
@@ -1964,7 +1948,7 @@
 				behavior.rendered(this);
 			}
 		}
-	}
+	}	
 
 	/**
 	 * Print to the web response what ever the component wants to contribute to

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java Thu Nov  2 14:34:15 2006
@@ -509,8 +509,7 @@
 
 		encodingHeaderResponse.reset();
 
-		component.renderHead(header);
-		component.renderedBehaviors();
+		component.renderHead(header);		
 		
 		if (component instanceof MarkupContainer)
 		{
@@ -520,8 +519,7 @@
 				{
 					if (component.isVisible())
 					{
-						component.renderHead(header);
-						component.renderedBehaviors();
+						component.renderHead(header);						
 						
 						return CONTINUE_TRAVERSAL;
 					}

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/wicket-ajax.js
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/wicket-ajax.js?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/wicket-ajax.js (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/wicket-ajax.js Thu Nov  2 14:34:15 2006
@@ -817,7 +817,24 @@
 		for (var i = 0; i < rootNode.childNodes.length; i++) {
 			var node = rootNode.childNodes[i];			
 			if (node.tagName != null) {
-				var name = node.tagName.toLowerCase();		
+				var name = node.tagName.toLowerCase();
+				
+				if (name == "wicket:link") {
+					// it is a reference surrounded by wicket:link
+					// try to find content node
+					
+					for (var j = 0; j < node.childNodes.length; ++j) {
+						var childNode = node.childNodes[j];
+						// try to find a regular node inside wicket:link
+						
+						if (childNode.nodeType == 1) {
+							node = childNode;
+							name = node.tagName.toLowerCase();
+							break;
+						}					
+					}					
+				}
+						
 			    if (name == "link") {
 					this.processLink(steps, node);
 				} else if (name == "script") {
@@ -829,7 +846,7 @@
 		}	
 	},
 	
-	processLink: function(steps, node) {
+	processLink: function(steps, node) {		
 		steps.push(function(notify) {
 			if (Wicket.Head.containsElement(node, "href")) {
 				notify();

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/AbstractBehavior.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/AbstractBehavior.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/AbstractBehavior.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/AbstractBehavior.java Thu Nov  2 14:34:15 2006
@@ -48,9 +48,9 @@
 	}
 
 	/**
-	 * @see wicket.behavior.IBehavior#detachModel(Component)
+	 * @see wicket.behavior.IBehavior#detach(Component)
 	 */
-	public void detachModel(Component component)
+	public void detach(Component component)
 	{
 	}
 

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/IBehavior.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/IBehavior.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/IBehavior.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/IBehavior.java Thu Nov  2 14:34:15 2006
@@ -70,7 +70,7 @@
 	 * @param component
 	 *            the component that initiates the detachement of this behavior
 	 */
-	void detachModel(Component component);
+	void detach(Component component);
 
 	/**
 	 * Called any time a component that has this behavior registered is

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/StringHeaderContributor.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/StringHeaderContributor.java?view=diff&rev=470571&r1=470570&r2=470571
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/StringHeaderContributor.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/behavior/StringHeaderContributor.java Thu Nov  2 14:34:15 2006
@@ -151,10 +151,10 @@
 	}
 
 	/**
-	 * @see wicket.behavior.AbstractBehavior#detachModel(wicket.Component)
+	 * @see wicket.behavior.AbstractBehavior#detach(wicket.Component)
 	 */
 	@Override
-	public void detachModel(Component component)
+	public void detach(Component component)
 	{
 		contributor.contribution.detach();
 	}