From 554f39ad0455623fbb1befc4444e67c809de5c0a Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Fri, 18 Aug 2017 15:39:44 +0300 Subject: Fix focus when Grid editor is saved or cancelled (#9835) Fixes #9832 --- .../client/widget/grid/DefaultEditorEventHandler.java | 1 + client/src/main/java/com/vaadin/client/widgets/Grid.java | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/widget/grid/DefaultEditorEventHandler.java b/client/src/main/java/com/vaadin/client/widget/grid/DefaultEditorEventHandler.java index 8a6a5e59e2..b7059c035f 100644 --- a/client/src/main/java/com/vaadin/client/widget/grid/DefaultEditorEventHandler.java +++ b/client/src/main/java/com/vaadin/client/widget/grid/DefaultEditorEventHandler.java @@ -230,6 +230,7 @@ public class DefaultEditorEventHandler implements Editor.EventHandler { // Save and close. event.getGrid().getEditor().save(); + FocusUtil.setFocus(event.getGrid(), true); return true; } diff --git a/client/src/main/java/com/vaadin/client/widgets/Grid.java b/client/src/main/java/com/vaadin/client/widgets/Grid.java index 9f70a63f5e..267dbccc87 100755 --- a/client/src/main/java/com/vaadin/client/widgets/Grid.java +++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java @@ -1468,6 +1468,7 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, @Override public void onClick(ClickEvent event) { save(); + FocusUtil.setFocus(grid, true); } }); @@ -1477,6 +1478,7 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, @Override public void onClick(ClickEvent event) { cancel(); + FocusUtil.setFocus(grid, true); } }); } @@ -7665,12 +7667,13 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, event.getDomEvent().stopPropagation(); // fixes https://github.com/vaadin/framework/issues/8632 - // don't mark the event as handled, in order for the next handler - // in the handler chain (HeaderDefaultRowEventHandler) to be able to - // receive it. This should be safe since the next handlers in the - // chain (RendererEventHandler and CellFocusEventHandler) do not - // react to header touches/clicks. -// event.setHandled(true); + // don't mark the event as handled, in order for the next + // handler in the handler chain (HeaderDefaultRowEventHandler) + // to be able to receive it. This should be safe since the next + // handlers in the chain (RendererEventHandler and + // CellFocusEventHandler) do not react to header touches/clicks. + + // event.setHandled(true); } } }; -- cgit v1.2.3