Skip to content

Commit 47ed6d0

Browse files
committed
Fixed and added unit for MaterialDatePicker Exception on modal Dialog dateField.clear() #707
1 parent c43f4a1 commit 47ed6d0

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -655,12 +655,14 @@ public void stop() {
655655
@Override
656656
public void clear() {
657657
dateInput.clear();
658-
getPicker().set("select", null);
659-
658+
if (getPicker() != null) {
659+
getPicker().set("select", null);
660+
}
660661
// Clear all active / error styles on datepicker
661662
clearErrorOrSuccess();
662663
label.removeStyleName(CssName.ACTIVE);
663664
dateInput.removeStyleName(CssName.VALID);
665+
664666
}
665667

666668
protected void setPopupEnabled(boolean enabled) {

gwt-material/src/test/java/gwt/material/design/client/ui/MaterialDatePickerTest.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,26 @@ public void testAutoClose() {
162162
}
163163

164164
public void testClear() {
165+
// UiBinder
165166
// given
166-
MaterialDatePicker picker = getWidget();
167+
MaterialDatePicker picker = getWidget(false);
168+
169+
// when / then
170+
checkClear(picker);
171+
172+
// Standard
173+
// given
174+
attachWidget();
175+
176+
// when / then
177+
checkClear(picker);
178+
}
167179

168-
// when
180+
protected void checkClear(MaterialDatePicker picker) {
169181
picker.setValue(DATE);
170182
picker.setError("error");
171183
picker.clear();
172184

173-
// then
174185
assertEquals("", picker.getDateInput().getElement().getInnerText());
175186
assertFalse(picker.getLabel().getElement().hasClassName(CssName.ACTIVE));
176187
assertFalse(picker.getDateInput().getElement().hasClassName(CssName.VALID));

0 commit comments

Comments
 (0)