Skip to content

Commit 73db9d8

Browse files
committed
Fixed MaterialDatePicker setLanguage exception #705
1 parent 5121404 commit 73db9d8

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

gwt-material/src/main/java/gwt/material/design/client/ui/MaterialDatePicker.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public enum MaterialDatePickerType {
9696
private MaterialIcon icon = new MaterialIcon();
9797

9898
private JsDatePickerOptions options = new JsDatePickerOptions();
99-
private HandlerRegistration autoCloseHandlerRegistration;
99+
private HandlerRegistration autoCloseHandlerRegistration, attachHandler;
100100

101101
private ErrorMixin<AbstractValueWidget, MaterialLabel> errorMixin;
102102
private ReadOnlyMixin<MaterialDatePicker, DateInput> readOnlyMixin;
@@ -441,6 +441,19 @@ public DatePickerLanguage getLanguage() {
441441
public void setLanguage(DatePickerLanguage language) {
442442
this.language = language;
443443

444+
if (attachHandler != null) {
445+
attachHandler.removeHandler();
446+
attachHandler = null;
447+
}
448+
449+
if (isAttached()) {
450+
setupLanguage(language);
451+
} else {
452+
attachHandler = registerHandler(addAttachHandler(attachEvent -> setupLanguage(language)));
453+
}
454+
}
455+
456+
protected void setupLanguage(DatePickerLanguage language) {
444457
if (language.getJs() != null) {
445458
ScriptInjector.fromString(language.getJs().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
446459
getPicker().stop();

0 commit comments

Comments
 (0)