]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix for CheckBox and Layout (#11407)
authormichaelvogt <michael@vaadin.com>
Wed, 3 Apr 2013 11:12:42 +0000 (14:12 +0300)
committerVaadin Code Review <review@vaadin.com>
Wed, 3 Apr 2013 11:39:17 +0000 (11:39 +0000)
Change in CheckBoxConnector led to wrong enabled behaviour and addition
to top coordinate to prevent scrollbars with VPopupCalendar

Change-Id: I381ab7c8a605535280ae58716181ef4c346997f7

WebContent/VAADIN/themes/base/common/common.scss
client/src/com/vaadin/client/ui/checkbox/CheckBoxConnector.java
uitest/src/com/vaadin/tests/layouts/CaptionsInLayoutsWaiAria.java

index 27c6dc949cc19cce87141917034fc15f76f603f7..926bdc7b74b12f34e16562cb407fdf9cf8c60636 100644 (file)
@@ -240,6 +240,7 @@ input::-ms-clear {
 
 .v-assistive-device-only {
        position: absolute;
+       top: -2000px;
        left: -2000px;
        width: 10px;
        overflow: hidden;
index ebfda2d71579d16bd7d7f9bf3e6bf3ef980492ab..7c2052e6f145e0228bddb35a5f7ead6819898fa6 100644 (file)
@@ -92,7 +92,9 @@ public class CheckBoxConnector extends AbstractFieldConnector implements
         }
 
         getWidget().setRequired(isRequired());
-        getWidget().setEnabled(!isReadOnly());
+        if (isReadOnly()) {
+            getWidget().setEnabled(false);
+        }
 
         if (getIcon() != null) {
             if (getWidget().icon == null) {
index 4ffe7f806ea78de7c50ab19c14b5316151a63c3c..ec323f2db21f0f1802cb7d8d994ba87b40a07eb9 100644 (file)
@@ -55,6 +55,7 @@ public class CaptionsInLayoutsWaiAria extends TestBase {
         addComponent(toggleIcon());
         addComponent(toggleReadOnly());
         addComponent(toggleInvalid());
+        addComponent(toggleEnabled());
         addComponent(addCaptionText());
         // layoutParent.addComponent(new
         // NativeButton("Button right of layout"));
@@ -125,6 +126,21 @@ public class CaptionsInLayoutsWaiAria extends TestBase {
         return readOnlyToggle;
     }
 
+    private Component toggleEnabled() {
+        CheckBox enabledToggle = new CheckBox();
+        enabledToggle.setImmediate(true);
+        enabledToggle.setValue(true);
+        enabledToggle.setCaption("Enabled");
+        enabledToggle.addValueChangeListener(new ValueChangeListener() {
+            @Override
+            public void valueChange(ValueChangeEvent event) {
+                setEnabled((Boolean) event.getProperty().getValue());
+            }
+        });
+
+        return enabledToggle;
+    }
+
     private Component toggleInvalid() {
         CheckBox invalid = new CheckBox("Invalid");
         invalid.setImmediate(true);
@@ -174,6 +190,12 @@ public class CaptionsInLayoutsWaiAria extends TestBase {
         }
     }
 
+    protected void setEnabled(boolean value) {
+        for (AbstractField<?> c : components) {
+            c.setEnabled(value);
+        }
+    }
+
     private Component toggleError() {
         CheckBox errorToggle = new CheckBox();
         errorToggle.setImmediate(true);