From 2846af704425e605025d52907934dcf22b25706d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 22 Jan 2010 20:50:39 +0100 Subject: [PATCH] ItEr44S10CUGravacionModelosUnidadesTraballoItEr43S12: Having to do a reload due to a zk bug. --- .../src/main/java/org/zkoss/ganttz/LeftTasksTree.java | 2 +- .../web/orders/OrderElementTreeController.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java index 042e634df..e026a23dc 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java @@ -233,7 +233,7 @@ public class LeftTasksTree extends HtmlMacroComponent { /** * This class is a workaround for an issue with zk {@link Tree}. Once the - * tree is created, a node with more children can't be added. Only the top + * tree is created, adding a node with children is troublesome. Only the top * element is added to the tree, although the element has children. The Tree * discards the adding event for the children because the parent says it's * not loaded. This is the condition that is not satisfied:
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java index d6edec0dd..f6804f697 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java @@ -119,8 +119,16 @@ public class OrderElementTreeController extends TreeController { public void found(OrderElementTemplate template) { OrderLineGroup parent = (OrderLineGroup) getModel() .getRoot(); - orderModel.createFrom(parent, template); + OrderElement created = orderModel.createFrom(parent, + template); getModel().addNewlyAddedChildrenOf(parent); + if (!created.getChildren().isEmpty()) { + // due to a bug of zk Tree, the children of a newly + // added element are not shown. Forcing reload. + // See comments at + // org.zkoss.ganttz.LeftTasksTree.DeferredFiller + Util.reloadBindings(tree); + } } }); }