소스 검색

Fix initially selected CheckBox rendering in Safari in v7 compatibility package (#11024) (#11456)

This fix was already applied to com.vaadin.client.ui.VCheckBox but the committer forget to apply the same fix to the com.vaadin.v7.client.ui.VCheckBox. Some people are still temporarely using the checkbox from the compatibility package.
tags/8.8.0.beta1
Koen De Cock 5 년 전
부모
커밋
fd654b100b
1개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. 19
    0
      compatibility-client/src/main/java/com/vaadin/v7/client/ui/VCheckBox.java

+ 19
- 0
compatibility-client/src/main/java/com/vaadin/v7/client/ui/VCheckBox.java 파일 보기

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

package com.vaadin.v7.client.ui;

import com.google.gwt.core.client.Scheduler;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.DOM;
@@ -106,4 +108,21 @@ public class VCheckBox extends com.google.gwt.user.client.ui.CheckBox
public void setAriaInvalid(boolean invalid) {
AriaHelper.handleInputInvalid(getCheckBoxElement(), invalid);
}

@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(Style.Visibility.HIDDEN);
Scheduler.get().scheduleFinally(() -> {
getElement().getStyle().setVisibility(Style.Visibility.VISIBLE);
});
}
}
}

Loading…
취소
저장