You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2012/07/31 20:12:13 UTC
git commit: make updateNode() and updateBranch() abstract,
NestedTree and TableTree handle markupIds as they need it
Updated Branches:
refs/heads/master 3be3f20f5 -> fe0815b58
make updateNode() and updateBranch() abstract, NestedTree and TableTree handle markupIds as they need it
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fe0815b5
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fe0815b5
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fe0815b5
Branch: refs/heads/master
Commit: fe0815b586c485e50df8285eea379f9bbb00da2f
Parents: 3be3f20
Author: svenmeier <sv...@apache.org>
Authored: Tue Jul 31 20:11:56 2012 +0200
Committer: svenmeier <sv...@apache.org>
Committed: Tue Jul 31 20:11:56 2012 +0200
----------------------------------------------------------------------
.../markup/html/repeater/tree/AbstractTree.java | 23 +-------------
.../markup/html/repeater/tree/NestedTree.java | 6 ++-
.../markup/html/repeater/tree/TableTree.java | 22 +++++++++++++-
3 files changed, 27 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/fe0815b5/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
index c3470b9..d3b9457 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
@@ -62,9 +62,6 @@ public abstract class AbstractTree<T> extends Panel
throw new IllegalArgumentException("argument [provider] cannot be null");
}
this.provider = provider;
-
- // see #updateBranch(Object, AjaxRequestTarget)
- setOutputMarkupId(true);
}
/**
@@ -288,39 +285,23 @@ public abstract class AbstractTree<T> extends Panel
* Convenience method to update a single branch on an {@link AjaxRequestTarget}. Does nothing if
* the given node is currently not visible or target is <code>null</code>.
*
- * This default implementation adds this whole component for rendering.
- *
* @param node
* node to update
* @param target
* request target
*/
- public void updateBranch(T node, final AjaxRequestTarget target)
- {
- if (target != null)
- {
- target.add(this);
- }
- }
+ public abstract void updateBranch(T node, final AjaxRequestTarget target);
/**
* Convenience method to update a single node on an {@link AjaxRequestTarget}. Does nothing if
* the given node is currently not visible or target is {@code null}.
*
- * This default implementation adds this whole component for rendering.
- *
* @param node
* node to update
* @param target
* request target or {@code null}
*/
- public void updateNode(T node, final AjaxRequestTarget target)
- {
- if (target != null)
- {
- target.add(this);
- }
- }
+ public abstract void updateNode(T node, final AjaxRequestTarget target);
/**
* The state of a node.
http://git-wip-us.apache.org/repos/asf/wicket/blob/fe0815b5/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
index cd6084f..6406a89 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
@@ -102,7 +102,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
}
/**
- * Overridden to update the affected {@link BranchItem} only.
+ * Overridden to update the corresponding {@link BranchItem} only.
*/
@Override
public void updateBranch(T t, final AjaxRequestTarget target)
@@ -117,6 +117,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
{
if (model.equals(branch.getModel()))
{
+ // BranchItem always outputs its markupId
target.add(branch);
visit.stop();
}
@@ -127,7 +128,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
}
/**
- * Overridden to update the affected {@link Node} only.
+ * Overridden to update the corresponding {@link Node} only.
*/
@Override
public void updateNode(T node, final AjaxRequestTarget target)
@@ -142,6 +143,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
{
if (model.equals(node.getModel()))
{
+ // nodes are configured to output their markup id, see #newNodeComponent()
target.add(node);
visit.stop();
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/fe0815b5/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
index 3fa2bfc..d95596f 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
@@ -99,11 +99,17 @@ public abstract class TableTree<T, S> extends AbstractTree<T>
this.table = newDataTable("table", columns, newDataProvider(provider), rowsPerPage);
add(table);
+
+ // see #updateBranch(Object, AjaxRequestTarget)
+ setOutputMarkupId(true);
}
/**
* Factory method for the wrapped {@link DataTable}.
*
+ * Note: If overwritten, the DataTable's row items have to output their markupId, or
+ * {@link #updateNode(Object, AjaxRequestTarget)} will fail.
+ *
* @param id
* @param columns
* @param dataProvider
@@ -161,7 +167,20 @@ public abstract class TableTree<T, S> extends AbstractTree<T>
}
/**
- * Overriden to update the complete row item of the node.
+ * For updating of a single branch the whole table is added to the ART.
+ */
+ @Override
+ public void updateBranch(T node, AjaxRequestTarget target)
+ {
+ if (target != null)
+ {
+ // TableTree always outputs markupId
+ target.add(this);
+ }
+ }
+
+ /**
+ * For an update of a node the complete row item is added to the ART.
*/
@Override
public void updateNode(T t, final AjaxRequestTarget target)
@@ -178,6 +197,7 @@ public abstract class TableTree<T, S> extends AbstractTree<T>
if (model.equals(nodeModel.getWrappedModel()))
{
+ // row items are configured to output their markupId
target.add(item);
visit.stop();
return;