From 425e91b77da4b7078a9ab1a4df141c3de71de355 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Fri, 23 Jan 2015 12:32:41 +0200 Subject: [PATCH] Prevent text selection when multi sorting with header clicks (#16275) Change-Id: I294b60f9aa613bc976adcc1d265e4b260dda1876 --- client/src/com/vaadin/client/widgets/Grid.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 980261c452..9445ab77fb 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -3506,7 +3506,8 @@ public class Grid extends ResizeComposite implements // Sink header events and key events sinkEvents(getHeader().getConsumedEvents()); sinkEvents(Arrays.asList(BrowserEvents.KEYDOWN, BrowserEvents.KEYUP, - BrowserEvents.KEYPRESS, BrowserEvents.DBLCLICK)); + BrowserEvents.KEYPRESS, BrowserEvents.DBLCLICK, + BrowserEvents.MOUSEDOWN)); // Make ENTER and SHIFT+ENTER in the header perform sorting addHeaderKeyUpHandler(new HeaderKeyUpHandler() { @@ -4740,6 +4741,12 @@ public class Grid extends ResizeComposite implements return false; } + if (BrowserEvents.MOUSEDOWN.equals(event.getType()) + && event.getShiftKey()) { + // Don't select text when shift clicking on a header. + event.preventDefault(); + } + if (BrowserEvents.TOUCHSTART.equals(event.getType())) { if (event.getTouches().length() > 1) { return false; -- 2.39.5