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 2007/09/01 13:15:56 UTC

svn commit: r571761 - /wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java

Author: knopp
Date: Sat Sep  1 04:15:53 2007
New Revision: 571761

URL: http://svn.apache.org/viewvc?rev=571761&view=rev
Log:
WICKET-914

Modified:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java?rev=571761&r1=571760&r2=571761&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java Sat Sep  1 04:15:53 2007
@@ -31,6 +31,7 @@
 import javax.swing.tree.TreeNode;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.HeaderContributor;
@@ -847,13 +848,28 @@
 		TreeNode node = (TreeNode)e.getTreePath().getLastPathComponent();
 
 		// has the tree root changed?
-		if (e.getTreePath().getPathCount() == 1 && node.equals(rootItem.getModelObject()))
+		if (e.getTreePath().getPathCount() == 1)
 		{
 			invalidateAll();
 		}
 		else
 		{
 			invalidateNodeWithChildren(node);
+		}
+	}
+
+	/**
+	 * Convenience method that updates changed portions on tree. You can call this method during
+	 * Ajax response, where calling {@link #updateTree(AjaxRequestTarget)} would be appropriate, but
+	 * you don't have the AjaxRequestTarget instance. However, it is also safe to call this method
+	 * outside Ajax response.
+	 */
+	public final void updateTree()
+	{
+		IRequestTarget target = getRequestCycle().getRequestTarget();
+		if (target instanceof AjaxRequestTarget)
+		{
+			updateTree((AjaxRequestTarget)target);
 		}
 	}