From 8dac1ebf1e4b58523b06ffcf6477bc957ca0506a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Fri, 23 Apr 2010 18:06:06 +0200 Subject: [PATCH] ItEr55S04ValidacionEProbasFuncionaisItEr54S04: [Bug #419] Select elements in order element tree when focusing in any of the text entries. Works with orders and templates. --- .../web/orders/OrderElementTreeController.java | 1 + .../navalplanner/web/tree/TreeController.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) 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 0b4dc801f..42078b83a 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 @@ -584,6 +584,7 @@ public class OrderElementTreeController extends TreeController { notifyDateboxCantBeCreated(dateboxName, currentOrderElement .getCode()); } + registerFocusEvent(dinamicDatebox.getDateTextBox()); addCell(cell); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java index 8ee75508e..5f0ffca5f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java @@ -58,6 +58,7 @@ import org.zkoss.zul.Treecell; import org.zkoss.zul.Treeitem; import org.zkoss.zul.TreeitemRenderer; import org.zkoss.zul.Treerow; +import org.zkoss.zul.impl.api.InputElement; public abstract class TreeController> extends GenericForwardComposer { @@ -318,6 +319,20 @@ public abstract class TreeController> extends public Renderer() { } + protected void registerFocusEvent(final InputElement inputElement) { + inputElement.addEventListener(Events.ON_FOCUS, + new EventListener() { + + private Treeitem item = (Treeitem) getCurrentTreeRow().getParent(); + + @Override + public void onEvent(Event event) throws Exception { + item.setSelected(true); + Util.reloadBindings(item.getParent()); + } + }); + } + protected Treecell addCell(Component... components) { return addCell(null, components); } @@ -329,6 +344,9 @@ public abstract class TreeController> extends } for (Component component : components) { cell.appendChild(component); + if(component instanceof InputElement) { + registerFocusEvent((InputElement) component); + } } currentTreeRow.appendChild(cell); return cell;