Skip to content

Commit c135530

Browse files
authored
Merge pull request #655 from GwtMaterialDesign/release_2.0
Release 2.0
2 parents 22a420b + 5b48f51 commit c135530

File tree

186 files changed

+10413
-6417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+10413
-6417
lines changed

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<br/>
88

99
## Demo
10-
* [2.0-rc6 Release Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/)
10+
* [2.0-rc7 Release Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/)
1111
* [2.0 Snapshot Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/snapshot/)
1212
* [2.1 Snapshot Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/2.1/)
1313

@@ -17,12 +17,12 @@ We created <a href="http://gwtmaterialdesign.github.io/gwt-material-demo/apidocs
1717

1818

1919
## Maven
20-
### Current Version 2.0-rc6
20+
### Current Version 2.0-rc7
2121
```xml
2222
<dependency>
2323
<groupId>com.github.gwtmaterialdesign</groupId>
2424
<artifactId>gwt-material</artifactId>
25-
<version>2.0-rc6</version>
25+
<version>2.0-rc7</version>
2626
</dependency>
2727
```
2828
### Snapshot Version 2.0-SNAPSHOT
@@ -64,6 +64,15 @@ Please follow the [contribution document](https://github.com/GwtMaterialDesign/g
6464
<li><a href="https://github.com/GwtMaterialDesign/gwt-material-patterns" >Patterns</a></li>
6565
</ul>
6666

67+
## JUnit Test
68+
69+
| Project | Number of Tests |
70+
| --- | --- |
71+
| gwt-material | 1545 |
72+
| gwt-material-addins | 1048 |
73+
| gwt-material-table | 100 |
74+
| **Total Unit Tests** | **2693** |
75+
6776
## Testing Platform
6877
<p>Many thanks to BrowserStack for sponsoring our Open Source projects</p>
6978
<a href="https://www.browserstack.com/" target="_blank">

gwt-material/pom.xml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>gwt-material-parent</artifactId>
66
<groupId>com.github.gwtmaterialdesign</groupId>
7-
<version>2.0-rc6</version>
7+
<version>2.0-rc7</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

@@ -17,7 +17,7 @@
1717
<dependency>
1818
<groupId>com.github.gwtmaterialdesign</groupId>
1919
<artifactId>gwt-material-jquery</artifactId>
20-
<version>2.0-rc6</version>
20+
<version>2.0-rc7</version>
2121
</dependency>
2222
<dependency>
2323
<groupId>com.google.gwt</groupId>
@@ -58,18 +58,13 @@
5858
<artifactId>maven-surefire-plugin</artifactId>
5959
<version>2.6</version>
6060
<configuration>
61-
<excludes>
62-
<exclude>**/*Test.java</exclude>
63-
</excludes>
64-
<includes>
65-
<include>**/GwtMaterialTest*.java</include>
66-
</includes>
6761
<additionalClasspathElements>
6862
<additionalClasspathElement>${project.build.sourceDirectory}</additionalClasspathElement>
6963
<additionalClasspathElement>${project.build.testSourceDirectory}</additionalClasspathElement>
7064
</additionalClasspathElements>
7165
<useManifestOnlyJar>false</useManifestOnlyJar>
7266
<forkMode>always</forkMode>
67+
<argLine>-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog</argLine>
7368
</configuration>
7469
</plugin>
7570
<plugin>

gwt-material/src/main/java/gwt/material/design/client/MaterialDesignBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public static void injectCss(TextResource resource) {
106106
StyleInjector.inject(resource.getText());
107107
}
108108

109-
protected static boolean checkJQuery(boolean debug) {
109+
public static boolean checkJQuery(boolean debug) {
110110
if (!isjQueryLoaded()) {
111111
if(isProvidingJQuery()) {
112112
if (debug) {

gwt-material/src/main/java/gwt/material/design/client/base/AbstractButton.java

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,12 @@
3333
public abstract class AbstractButton extends MaterialWidget implements HasHref, HasGrid, HasActivates,
3434
HasTargetHistoryToken, HasType<ButtonType> {
3535

36-
private final ActivatesMixin<AbstractButton> activatesMixin = new ActivatesMixin<>(this);
37-
private final CssTypeMixin<ButtonType, AbstractButton> cssTypeMixin = new CssTypeMixin<>(this);
38-
36+
private String targetHistoryToken;
3937
private Span span = new Span();
4038
private ButtonSize size;
4139

42-
private String targetHistoryToken;
40+
private ActivatesMixin<AbstractButton> activatesMixin;
41+
private CssTypeMixin<ButtonType, AbstractButton> typeMixin;
4342

4443
/**
4544
* Creates button with RAISED type.
@@ -105,23 +104,23 @@ public String getTarget() {
105104
@Override
106105
public void setActivates(String activates) {
107106
removeStyleName(getActivates() + " " + CssName.DROPDOWN_BUTTON);
108-
activatesMixin.setActivates(activates);
107+
getActivatesMixin().setActivates(activates);
109108
addStyleName(activates + " " + CssName.DROPDOWN_BUTTON);
110109
}
111110

112111
@Override
113112
public String getActivates() {
114-
return activatesMixin.getActivates();
113+
return getActivatesMixin().getActivates();
115114
}
116115

117116
@Override
118117
public void setType(ButtonType type) {
119-
cssTypeMixin.setType(type);
118+
getTypeMixin().setType(type);
120119
}
121120

122121
@Override
123122
public ButtonType getType() {
124-
return cssTypeMixin.getType();
123+
return getTypeMixin().getType();
125124
}
126125

127126
/**
@@ -192,4 +191,18 @@ public String getTargetHistoryToken() {
192191
public Span getSpan() {
193192
return span;
194193
}
194+
195+
protected ActivatesMixin<AbstractButton> getActivatesMixin() {
196+
if (activatesMixin == null) {
197+
activatesMixin = new ActivatesMixin<>(this);
198+
}
199+
return activatesMixin;
200+
}
201+
202+
protected CssTypeMixin<ButtonType, AbstractButton> getTypeMixin() {
203+
if (typeMixin == null) {
204+
typeMixin = new CssTypeMixin<>(this);
205+
}
206+
return typeMixin;
207+
}
195208
}

gwt-material/src/main/java/gwt/material/design/client/base/AbstractIconButton.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ public void setIconColor(Color iconColor) {
9494
icon.setIconColor(iconColor);
9595
}
9696

97+
@Override
98+
public Color getIconColor() {
99+
return icon.getIconColor();
100+
}
101+
97102
@Override
98103
public void setIconPrefix(boolean prefix) {
99104
icon.setIconPrefix(prefix);

gwt-material/src/main/java/gwt/material/design/client/base/AbstractValueWidget.java

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@
2020
package gwt.material.design.client.base;
2121

2222
import com.google.gwt.dom.client.Element;
23-
import com.google.gwt.editor.client.Editor;
2423
import com.google.gwt.editor.client.EditorError;
2524
import com.google.gwt.editor.client.HasEditorErrors;
2625
import com.google.gwt.editor.client.LeafValueEditor;
27-
import com.google.gwt.event.logical.shared.AttachEvent;
2826
import com.google.gwt.event.logical.shared.ValueChangeEvent;
2927
import com.google.gwt.event.logical.shared.ValueChangeHandler;
3028
import com.google.gwt.event.shared.HandlerRegistration;
@@ -47,12 +45,9 @@ public abstract class AbstractValueWidget<V> extends MaterialWidget implements H
4745

4846
private boolean allowBlank = true;
4947
private BlankValidator<V> blankValidator;
50-
private HandlerRegistration blurHandler, attachHandler;
51-
5248
private ValidatorMixin<AbstractValueWidget<V>, V> validatorMixin;
53-
5449
private ErrorMixin<AbstractValueWidget, ?> errorMixin;
55-
private final ErrorHandlerMixin<V> errorHandlerMixin = new ErrorHandlerMixin<>(this);
50+
private ErrorHandlerMixin<V> errorHandlerMixin;
5651

5752
public AbstractValueWidget(Element element) {
5853
super(element);
@@ -74,9 +69,14 @@ public void setValue(V value, boolean fireEvents) {
7469
}
7570
}
7671

77-
@Override
78-
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<V> handler) {
79-
return addHandler(handler, ValueChangeEvent.getType());
72+
public void setValue(V value, boolean fireEvents, boolean reload) {
73+
setValue(value, fireEvents);
74+
75+
if (this instanceof HasReload) {
76+
if (reload) {
77+
((HasReload)this).reload();
78+
}
79+
}
8080
}
8181

8282
@Override
@@ -101,27 +101,27 @@ public void clearErrorOrSuccess() {
101101

102102
@Override
103103
public void showErrors(List<EditorError> errors) {
104-
errorHandlerMixin.showErrors(errors);
104+
getErrorHandlerMixin().showErrors(errors);
105105
}
106106

107107
@Override
108108
public ErrorHandler getErrorHandler() {
109-
return errorHandlerMixin.getErrorHandler();
109+
return getErrorHandlerMixin().getErrorHandler();
110110
}
111111

112112
@Override
113113
public void setErrorHandler(ErrorHandler errorHandler) {
114-
errorHandlerMixin.setErrorHandler(errorHandler);
114+
getErrorHandlerMixin().setErrorHandler(errorHandler);
115115
}
116116

117117
@Override
118118
public ErrorHandlerType getErrorHandlerType() {
119-
return errorHandlerMixin.getErrorHandlerType();
119+
return getErrorHandlerMixin().getErrorHandlerType();
120120
}
121121

122122
@Override
123123
public void setErrorHandlerType(ErrorHandlerType errorHandlerType) {
124-
errorHandlerMixin.setErrorHandlerType(errorHandlerType);
124+
getErrorHandlerMixin().setErrorHandlerType(errorHandlerType);
125125
}
126126

127127
@Override
@@ -165,11 +165,6 @@ public boolean validate(boolean show) {
165165
return getValidatorMixin().validate(show);
166166
}
167167

168-
@Override
169-
public HandlerRegistration addValidationChangedHandler(ValidationChangedEvent.ValidationChangedHandler handler) {
170-
return getValidatorMixin().addValidationChangedHandler(handler);
171-
}
172-
173168
/**
174169
* Enable or disable the default blank validator.
175170
*/
@@ -207,22 +202,22 @@ protected BlankValidator<V> createBlankValidator() {
207202
protected void setupBlurValidation() {
208203
final AbstractValueWidget inputWidget = getValidatorMixin().getInputWidget();
209204
if (!inputWidget.isAttached()) {
210-
if(attachHandler == null) {
211-
attachHandler = inputWidget.addAttachHandler(event -> {
212-
if (blurHandler == null) {
213-
blurHandler = inputWidget.addBlurHandler(blurEvent -> {
214-
validate(isValidateOnBlur());
215-
});
216-
}
217-
});
218-
}
205+
registerHandler(inputWidget.addAttachHandler(attachEvent -> registerHandler(inputWidget.addBlurHandler(blurEvent -> validate(isValidateOnBlur())))));
219206
} else {
220-
if(blurHandler == null) {
221-
blurHandler = inputWidget.addBlurHandler(event -> validate(isValidateOnBlur()));
222-
}
207+
registerHandler(inputWidget.addBlurHandler(blurEvent -> validate(isValidateOnBlur())));
223208
}
224209
}
225210

211+
@Override
212+
public HandlerRegistration addValidationChangedHandler(ValidationChangedEvent.ValidationChangedHandler handler) {
213+
return getValidatorMixin().addValidationChangedHandler(handler);
214+
}
215+
216+
@Override
217+
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<V> handler) {
218+
return addHandler(handler, ValueChangeEvent.getType());
219+
}
220+
226221
protected ValidatorMixin<AbstractValueWidget<V>, V> getValidatorMixin() {
227222
if (validatorMixin == null) {
228223
validatorMixin = new ValidatorMixin<>(this, getErrorHandler());
@@ -236,4 +231,11 @@ protected ValidatorMixin<AbstractValueWidget<V>, V> getValidatorMixin() {
236231
}
237232
return errorMixin;
238233
}
234+
235+
protected ErrorHandlerMixin<V> getErrorHandlerMixin() {
236+
if (errorHandlerMixin == null) {
237+
errorHandlerMixin = new ErrorHandlerMixin<>(this);
238+
}
239+
return errorHandlerMixin;
240+
}
239241
}

gwt-material/src/main/java/gwt/material/design/client/base/BaseCheckBox.java

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -322,18 +322,6 @@ public void setAccessKey(char key) {
322322
inputElem.setAccessKey("" + key);
323323
}
324324

325-
/**
326-
* Checks or unchecks this check box. Does not fire {@link ValueChangeEvent}.
327-
* (If you want the event to fire, use {@link #setValue(Boolean, boolean)})
328-
*
329-
* @param checked <code>true</code> to check the check box.
330-
* @deprecated Use {@link #setValue(Boolean)} instead
331-
*/
332-
@Deprecated
333-
public void setChecked(boolean checked) {
334-
setValue(checked);
335-
}
336-
337325
/**
338326
* {@inheritDoc}
339327
* <p>
@@ -535,57 +523,4 @@ protected void onUnload() {
535523
DOM.setEventListener(inputElem, null);
536524
setValue(getValue());
537525
}
538-
539-
/**
540-
* Replace the current input element with a new one. Preserves all state
541-
* except for the name property, for nasty reasons related to radio button
542-
* grouping. (See implementation of {@link RadioButton#setName}.)
543-
*
544-
* @param elem the new input element
545-
*/
546-
protected void replaceInputElement(Element elem) {
547-
replaceInputElement(DOM.asOld(elem));
548-
}
549-
550-
/**
551-
* @deprecated Call and use {@link #replaceInputElement(Element)} instead.
552-
*/
553-
@Deprecated
554-
protected void replaceInputElement(com.google.gwt.user.client.Element elem) {
555-
InputElement newInputElem = InputElement.as(elem);
556-
// Collect information we need to set
557-
int tabIndex = getTabIndex();
558-
boolean checked = getValue();
559-
boolean enabled = isEnabled();
560-
String formValue = getFormValue();
561-
String uid = inputElem.getId();
562-
String accessKey = inputElem.getAccessKey();
563-
int sunkEvents = Event.getEventsSunk(inputElem);
564-
565-
// Clear out the old input element
566-
DOM.setEventListener(inputElem, null);
567-
568-
getElement().replaceChild(newInputElem, inputElem);
569-
570-
// Sink events on the new element
571-
Event.sinkEvents(elem, Event.getEventsSunk(inputElem));
572-
Event.sinkEvents(inputElem, 0);
573-
inputElem = newInputElem;
574-
575-
// Setup the new element
576-
Event.sinkEvents(inputElem, sunkEvents);
577-
inputElem.setId(uid);
578-
if (!"".equals(accessKey)) {
579-
inputElem.setAccessKey(accessKey);
580-
}
581-
setTabIndex(tabIndex);
582-
setValue(checked);
583-
setEnabled(enabled);
584-
setFormValue(formValue);
585-
586-
// Set the event listener
587-
if (isAttached()) {
588-
DOM.setEventListener(inputElem, this);
589-
}
590-
}
591526
}

0 commit comments

Comments
 (0)