Browse Source

Fix initially selected CheckBox rendering in Safari (#11024)

tags/8.6.0.alpha1
Teemu Suo-Anttila 5 years ago
parent
commit
71b6a20b60
1 changed files with 19 additions and 0 deletions
  1. 19
    0
      client/src/main/java/com/vaadin/client/ui/VCheckBox.java

+ 19
- 0
client/src/main/java/com/vaadin/client/ui/VCheckBox.java View File

@@ -16,7 +16,9 @@

package com.vaadin.client.ui;

import com.google.gwt.core.client.Scheduler;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style.Visibility;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.vaadin.client.ApplicationConnection;
@@ -116,4 +118,21 @@ public class VCheckBox extends com.google.gwt.user.client.ui.CheckBox
errorIndicatorElement = null;
}
}

@Override
protected void onAttach() {
super.onAttach();

if (BrowserInfo.get().isSafari()) {
/*
* Sometimes Safari does not render checkbox correctly when
* attaching. Setting the visibility to hidden and a bit later
* restoring will make everything just fine.
*/
getElement().getStyle().setVisibility(Visibility.HIDDEN);
Scheduler.get().scheduleFinally(() -> {
getElement().getStyle().setVisibility(Visibility.VISIBLE);
});
}
}
}

Loading…
Cancel
Save