diff options
author | Manolo Carrasco <manolo@vaadin.com> | 2015-05-15 08:43:28 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-06-08 08:58:46 +0000 |
commit | acce09843e9fe1c26885dd09d723cbf0de969750 (patch) | |
tree | ccdcfdb6e319bbde9a87bc5350574b4742c8eeba /client | |
parent | 3a42436fc9ce52e9689adf7166a9c5698224ec40 (diff) | |
download | vaadin-framework-acce09843e9fe1c26885dd09d723cbf0de969750.tar.gz vaadin-framework-acce09843e9fe1c26885dd09d723cbf0de969750.zip |
Open editor on double touch (#17338)
Change-Id: I3ec5faf0086be70eda872ec81ea40f69d9c3e627
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/widgets/Grid.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 0eabf3686d..0941a1ea97 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -31,6 +31,7 @@ import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; +import com.google.gwt.core.client.Duration; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.core.shared.GWT; @@ -3494,6 +3495,7 @@ public class Grid<T> extends ResizeComposite implements private final AutoColumnWidthsRecalculator autoColumnWidthsRecalculator = new AutoColumnWidthsRecalculator(); private boolean enabled = true; + private double lastTouchEventTime = 0; private DetailsGenerator detailsGenerator = DetailsGenerator.NULL; private GridSpacerUpdater gridSpacerUpdater = new GridSpacerUpdater(); @@ -6438,8 +6440,15 @@ public class Grid<T> extends ResizeComposite implements final boolean closeEvent = event.getTypeInt() == Event.ONKEYDOWN && event.getKeyCode() == Editor.KEYCODE_HIDE; + double now = Duration.currentTimeMillis(); final boolean openEvent = event.getTypeInt() == Event.ONDBLCLICK - || (event.getTypeInt() == Event.ONKEYDOWN && event.getKeyCode() == Editor.KEYCODE_SHOW); + || (event.getTypeInt() == Event.ONKEYDOWN && event.getKeyCode() == Editor.KEYCODE_SHOW) + || (event.getTypeInt() == Event.ONTOUCHEND && now + - lastTouchEventTime < 500); + + if (event.getTypeInt() == Event.ONTOUCHEND) { + lastTouchEventTime = now; + } if (editor.getState() != Editor.State.INACTIVE) { if (closeEvent) { @@ -6452,6 +6461,7 @@ public class Grid<T> extends ResizeComposite implements if (container == escalator.getBody() && editor.isEnabled() && openEvent) { editor.editRow(eventCell.getRowIndex(), eventCell.getColumnIndexDOM()); + event.preventDefault(); return true; } |