aboutsummaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/main/java/com/vaadin/client/widgets/Grid.java49
1 files changed, 33 insertions, 16 deletions
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 e10035f9f7..5e33124405 100644
--- a/client/src/main/java/com/vaadin/client/widgets/Grid.java
+++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java
@@ -7311,31 +7311,34 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
eventCell.set(cell, getSectionFromContainer(container));
// Editor can steal focus from Grid and is still handled
- if (isEditorEnabled() && handleEditorEvent(event, container)) {
+ if (handleEditorEvent(event, container)) {
return;
}
// Fire GridKeyEvents and GridClickEvents. Pass the event to escalator.
- super.onBrowserEvent(event);
+ if (handleSuperEvent(event, container)) {
+ return;
+ }
- if (!isElementInChildWidget(e)) {
+ if (handleChildWidgetEvent(event, container)) {
+ return;
+ }
- if (handleHeaderCellDragStartEvent(event, container)) {
- return;
- }
+ if (handleHeaderCellDragStartEvent(event, container)) {
+ return;
+ }
- // Sorting through header Click / KeyUp
- if (handleHeaderDefaultRowEvent(event, container)) {
- return;
- }
+ // Sorting through header Click / KeyUp
+ if (handleHeaderDefaultRowEvent(event, container)) {
+ return;
+ }
- if (handleRendererEvent(event, container)) {
- return;
- }
+ if (handleRendererEvent(event, container)) {
+ return;
+ }
- if (handleCellFocusEvent(event, container)) {
- return;
- }
+ if (handleCellFocusEvent(event, container)) {
+ return;
}
}
@@ -7389,6 +7392,10 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
}
private boolean handleEditorEvent(Event event, RowContainer container) {
+ if (!isEditorEnabled()) {
+ return false;
+ }
+
Widget w;
if (editor.focusedColumnIndex < 0) {
w = null;
@@ -7402,6 +7409,16 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
return getEditor().getEventHandler().handleEvent(editorEvent);
}
+ private boolean handleSuperEvent(Event event, RowContainer container) {
+ super.onBrowserEvent(event);
+ return false;
+ }
+
+ private boolean handleChildWidgetEvent(Event event,
+ RowContainer container) {
+ return isElementInChildWidget(Element.as(event.getEventTarget()));
+ }
+
private boolean handleRendererEvent(Event event, RowContainer container) {
if (container == escalator.getBody()) {