Skip to content

Commit 99b710c

Browse files
committed
Fixed DateRange issue with classexception.
Fixed MaterialIconMorph potential NPE when setting a custom size.
1 parent 8a7dce0 commit 99b710c

File tree

6 files changed

+42
-36
lines changed

6 files changed

+42
-36
lines changed

src/main/java/gwt/material/design/addins/client/iconmorph/MaterialIconMorph.java

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -90,28 +90,42 @@ protected void onLoad() {
9090
}));
9191

9292
// Check if we add the source and target icons thru ui binder
93-
if (source == null && target == null && getWidgetCount() == 2) {
94-
source = (MaterialIcon) getWidget(0);
95-
target = (MaterialIcon) getWidget(1);
96-
} else {
97-
// Set container dimension
93+
if (source == null && target == null) {
94+
if (getWidgetCount() == 2) {
95+
source = (MaterialIcon) getWidget(0);
96+
target = (MaterialIcon) getWidget(1);
97+
}
98+
}
99+
100+
if (source != null) {
101+
source.addStyleName(AddinsCssName.ICONS + " " + AddinsCssName.SOURCE);
102+
if (!source.isAttached()) add(source);
103+
}
104+
if (target != null) {
105+
target.addStyleName(AddinsCssName.ICONS + " " + AddinsCssName.TARGET);
106+
if (!target.isAttached()) add(target);
107+
}
108+
109+
applyCustomSize(customSize);
110+
}
111+
112+
protected void applyCustomSize(String customSize) {
113+
if (customSize != null) {
98114
setWidth(customSize);
99115
setHeight(customSize);
100-
// Set source size
101-
source.setWidth(customSize);
102-
source.setHeight(customSize);
103-
source.setFontSize(customSize);
104-
// Set target size
105-
target.setWidth(customSize);
106-
target.setHeight(customSize);
107-
target.setFontSize(customSize);
108-
109-
add(target);
110-
add(source);
111-
}
112116

113-
source.addStyleName(AddinsCssName.ICONS + " " + AddinsCssName.SOURCE);
114-
target.addStyleName(AddinsCssName.ICONS + " " + AddinsCssName.TARGET);
117+
if (source != null) {
118+
source.setWidth(customSize);
119+
source.setHeight(customSize);
120+
source.setFontSize(customSize);
121+
}
122+
123+
if (target != null) {
124+
target.setWidth(customSize);
125+
target.setHeight(customSize);
126+
target.setFontSize(customSize);
127+
}
128+
}
115129
}
116130

117131
public void reset() {

src/main/java/gwt/material/design/incubator/client/daterange/DateRangePicker.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
* Licensed under the Apache License, Version 2.0 (the "License");
88
* you may not use this file except in compliance with the License.
99
* You may obtain a copy of the License at
10-
*
10+
*
1111
* http://www.apache.org/licenses/LICENSE-2.0
12-
*
12+
*
1313
* Unless required by applicable law or agreed to in writing, software
1414
* distributed under the License is distributed on an "AS IS" BASIS,
1515
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,7 +118,7 @@ protected void load() {
118118
add(errorLabel);
119119

120120
getInputElement().daterangepicker(options, (startDate, endDate) -> {
121-
setValue(new Date[]{new Date(startDate.format()), new Date(endDate.format())}, true);
121+
setValue(new Date[]{new Date(startDate.toString()), new Date(endDate.toString())}, true);
122122
});
123123

124124
getInputElement().on(DateRangeEvents.UPDATE_CALENDAR, (e, picker) -> {

src/main/java/gwt/material/design/incubator/client/daterange/js/DateRangeLocale.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
* Licensed under the Apache License, Version 2.0 (the "License");
88
* you may not use this file except in compliance with the License.
99
* You may obtain a copy of the License at
10-
*
10+
*
1111
* http://www.apache.org/licenses/LICENSE-2.0
12-
*
12+
*
1313
* Unless required by applicable law or agreed to in writing, software
1414
* distributed under the License is distributed on an "AS IS" BASIS,
1515
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

src/main/java/gwt/material/design/incubator/client/daterange/js/JsDateRangePicker.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*/
2020
package gwt.material.design.incubator.client.daterange.js;
2121

22+
import com.google.gwt.core.client.JsDate;
2223
import com.google.gwt.dom.client.Element;
2324
import gwt.material.design.addins.client.moment.Moment;
2425
import gwt.material.design.incubator.client.daterange.DateRangeOptions;
@@ -34,7 +35,7 @@
3435
* @author kevzlou7979
3536
*/
3637
@JsType(isNative = true, name = "Object", namespace = JsPackage.GLOBAL)
37-
public class JsDateRangePicker {
38+
public class JsDateRangePicker extends DateRangeOptions {
3839

3940
@JsMethod(name = "$", namespace = JsPackage.GLOBAL)
4041
public static native JsDateRangePicker $(JQueryElement element);
@@ -49,7 +50,7 @@ public class JsDateRangePicker {
4950
public native void daterangepicker(DateRangeOptions options);
5051

5152
@JsMethod
52-
public native void daterangepicker(DateRangeOptions options, Functions.Func2<Moment, Moment> callback);
53+
public native void daterangepicker(DateRangeOptions options, Functions.Func2<Object, Object> callback);
5354

5455
@JsMethod
5556
public native void daterangepicker();

src/test/java/gwt/material/design/addins/client/ui/MaterialIconMorphTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,5 @@ public void testStructure() {
8989
// when / then
9090
fireClickEvent(iconMorph);
9191
assertTrue(isClicked[0]);
92-
assertTrue(iconMorph.getElement().hasAttribute("onclick"));
93-
assertEquals("this.classList.toggle('morphed')", iconMorph.getElement().getAttribute("onclick"));
9492
}
9593
}

src/test/java/gwt/material/design/addins/client/ui/MaterialTimePickerTest.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,7 @@ protected void checkOrientation(MaterialTimePicker timePicker) {
150150
@Override
151151
public void testEnabled() {
152152
// given
153-
MaterialTimePicker timePicker = getWidget(false);
154-
155-
// when / then
156-
checkEnabled(timePicker, timePicker.getTimeInput());
157-
158-
// Standard
159-
// given
160-
attachWidget();
153+
MaterialTimePicker timePicker = getWidget();
161154

162155
// when / then
163156
checkEnabled(timePicker, timePicker.getTimeInput());

0 commit comments

Comments
 (0)