summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/TreeTable.java
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2011-09-19 08:29:24 +0000
committerLeif Åstrand <leif@vaadin.com>2011-09-19 08:29:24 +0000
commit086bc7de8f7d39f78f1fbff7fe8e0c8d513a2479 (patch)
tree7afaf8f32841bb1c1dadb34b4388acdfd8ab6b24 /src/com/vaadin/ui/TreeTable.java
parent8993a9d1e6fc7ed7045961d95a0ce4d1a462af71 (diff)
downloadvaadin-framework-086bc7de8f7d39f78f1fbff7fe8e0c8d513a2479.tar.gz
vaadin-framework-086bc7de8f7d39f78f1fbff7fe8e0c8d513a2479.zip
Add keyboard navigation events to a queue if waiting for potential content changes from the server #7028
svn changeset:21109/svn branch:6.7
Diffstat (limited to 'src/com/vaadin/ui/TreeTable.java')
-rw-r--r--src/com/vaadin/ui/TreeTable.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/vaadin/ui/TreeTable.java b/src/com/vaadin/ui/TreeTable.java
index 42c56bac6e..aa72793636 100644
--- a/src/com/vaadin/ui/TreeTable.java
+++ b/src/com/vaadin/ui/TreeTable.java
@@ -314,6 +314,7 @@ public class TreeTable extends Table implements Hierarchical {
private Object hierarchyColumnId;
private Object toggledItemId;
private boolean animationsEnabled;
+ private boolean clearFocusedRowPending;
private ContainerStrategy getContainerStrategy() {
if (cStrategy == null) {
@@ -403,6 +404,11 @@ public class TreeTable extends Table implements Hierarchical {
private void setFocusedRow(Object itemId) {
focusedRowId = itemId;
+ if (focusedRowId == null) {
+ // Must still inform the client that the focusParent request has
+ // been processed
+ clearFocusedRowPending = true;
+ }
requestRepaint();
}
@@ -411,6 +417,11 @@ public class TreeTable extends Table implements Hierarchical {
if (focusedRowId != null) {
target.addAttribute("focusedRow", itemIdMapper.key(focusedRowId));
focusedRowId = null;
+ } else if (clearFocusedRowPending) {
+ // Must still inform the client that the focusParent request has
+ // been processed
+ target.addAttribute("clearFocusPending", true);
+ clearFocusedRowPending = false;
}
target.addAttribute("animate", animationsEnabled);
if (hierarchyColumnId != null) {