summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/main/java/com/vaadin/client/ui/AbstractComponentConnector.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/AbstractComponentConnector.java b/client/src/main/java/com/vaadin/client/ui/AbstractComponentConnector.java
index c2bf273e7d..858b21d308 100644
--- a/client/src/main/java/com/vaadin/client/ui/AbstractComponentConnector.java
+++ b/client/src/main/java/com/vaadin/client/ui/AbstractComponentConnector.java
@@ -60,6 +60,7 @@ import com.vaadin.shared.EventId;
import com.vaadin.shared.MouseEventDetails;
import com.vaadin.shared.ui.ComponentStateUtil;
import com.vaadin.shared.ui.TabIndexState;
+import com.vaadin.shared.ui.ui.UIState;
public abstract class AbstractComponentConnector extends AbstractConnector
implements ComponentConnector, HasErrorIndicator {
@@ -437,6 +438,11 @@ public abstract class AbstractComponentConnector extends AbstractConnector
// + Util.getSimpleName(getWidget())
// + " which does not implement Focusable");
}
+ } else if (getState() instanceof UIState
+ && getWidget() instanceof Focusable) {
+ // UI behaves like a component with TabIndexState
+ ((Focusable) getWidget())
+ .setTabIndex(((UIState) getState()).tabIndex);
}
Profiler.leave(
"AbstractComponentConnector.onStateChanged update tab index");