Skip to content

Commit c4bfcaa

Browse files
authored
Merge pull request #975 from GwtMaterialDesign/release_2.4.0
Release 2.4.0-rc2
2 parents c0d2e7c + da63940 commit c4bfcaa

File tree

10 files changed

+92
-23
lines changed

10 files changed

+92
-23
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ We created <a href="http://gwtmaterialdesign.github.io/gwt-material-demo/apidocs
2020

2121

2222
## Maven
23-
### Current Version 2.4.0-rc1
23+
### Current Version 2.4.0-rc2
2424
```xml
2525
<dependency>
2626
<groupId>com.github.gwtmaterialdesign</groupId>
2727
<artifactId>gwt-material</artifactId>
28-
<version>2.4.0-rc1</version>
28+
<version>2.4.0-rc2</version>
2929
</dependency>
3030
```
3131
### Snapshot Version 2.4.0-SNAPSHOT

gwt-material/pom.xml

Lines changed: 1 addition & 1 deletion
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.4.0-rc1</version>
7+
<version>2.4.0-rc2</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@
1919
*/
2020
package gwt.material.design.client.base;
2121

22+
import gwt.material.design.client.constants.Autocomplete;
23+
24+
/**
25+
* The autocomplete attribute specifies whether or not an input field should have autocomplete enabled.
26+
*
27+
* <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion">Documentation</a>
28+
*/
2229
public interface HasAutocomplete {
2330

24-
void setAutocomplete(boolean value);
31+
void setAutocomplete(Autocomplete autocomplete);
2532

26-
boolean isAutocomplete();
33+
Autocomplete getAutocomplete();
2734
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* #%L
3+
* GwtMaterial
4+
* %%
5+
* Copyright (C) 2015 - 2020 GwtMaterialDesign
6+
* %%
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
* #L%
19+
*/
20+
package gwt.material.design.client.constants;
21+
22+
import java.util.Arrays;
23+
24+
public enum Autocomplete {
25+
26+
ON("on"),
27+
OFF("off"),
28+
NEW_PASSWORD("new-password");
29+
30+
private String name;
31+
32+
Autocomplete(String name) {
33+
this.name = name;
34+
}
35+
36+
public String getName() {
37+
return name;
38+
}
39+
40+
public static Autocomplete get(String name) {
41+
return name != null && !name.isEmpty() ? Arrays.stream(values()).filter(autocomplete -> autocomplete.getName().equals(name)).findAny().orElse(null) : null;
42+
}
43+
}

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@
2929
import gwt.material.design.client.base.HasActive;
3030
import gwt.material.design.client.base.HasSearchHandlers;
3131
import gwt.material.design.client.base.SearchObject;
32-
import gwt.material.design.client.constants.Color;
33-
import gwt.material.design.client.constants.CssName;
34-
import gwt.material.design.client.constants.IconType;
35-
import gwt.material.design.client.constants.InputType;
32+
import gwt.material.design.client.constants.*;
3633
import gwt.material.design.client.events.SearchFinishEvent;
3734
import gwt.material.design.client.events.SearchNoResultEvent;
3835
import gwt.material.design.client.ui.html.Label;
@@ -134,7 +131,7 @@ protected void onLoad() {
134131
super.onLoad();
135132

136133
setType(InputType.SEARCH);
137-
setAutocomplete(false);
134+
setAutocomplete(Autocomplete.OFF);
138135
label.add(iconSearch);
139136
label.getElement().setAttribute("for", "search");
140137
add(label);

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
public class MaterialValueBox<T> extends AbstractValueWidget<T> implements HasChangeHandlers, HasName,
7171
HasDirectionEstimator, HasText, AutoDirectionHandler.Target, IsEditor<ValueBoxEditor<T>>, HasIcon,
7272
HasInputType, HasPlaceholder, HasCounter, HasReadOnly, HasActive, HasFieldTypes,
73-
HasAutocomplete, HasPasteHandlers, HasFieldSensitivity, HasLabel {
73+
HasToggleReadOnlyHandler, HasAutocomplete, HasPasteHandlers, HasFieldSensitivity, HasLabel {
7474

7575

7676
private boolean returnBlankAsNull;
@@ -122,7 +122,7 @@ public MaterialValueBox(ValueBoxBase<T> tValueBox) {
122122
public void setup(ValueBoxBase<T> tValueBox) {
123123
valueBoxBase = tValueBox;
124124
add(valueBoxBase);
125-
setAutocomplete(false);
125+
setAutocomplete(Autocomplete.OFF);
126126
}
127127

128128
@Deprecated
@@ -565,13 +565,13 @@ public void setFieldWidth(double percentWidth) {
565565
}
566566

567567
@Override
568-
public void setAutocomplete(boolean value) {
569-
valueBoxBase.getElement().setAttribute("autocomplete", value ? "on" : "off");
568+
public void setAutocomplete(Autocomplete value) {
569+
valueBoxBase.getElement().setAttribute("autocomplete", value.getName());
570570
}
571571

572572
@Override
573-
public boolean isAutocomplete() {
574-
return valueBoxBase.getElement().getAttribute("autocomplete").equals("on");
573+
public Autocomplete getAutocomplete() {
574+
return Autocomplete.get(valueBoxBase.getElement().getAttribute("autocomplete"));
575575
}
576576

577577
@Override
@@ -881,6 +881,11 @@ public HandlerRegistration addPasteHandler(PasteEvent.PasteEventHandler handler)
881881
return addHandler(handler, PasteEvent.getType());
882882
}
883883

884+
@Override
885+
public HandlerRegistration addToggleReadOnlyHandler(ToggleReadOnlyEvent.ToggleReadOnlyHandler handler) {
886+
return addHandler(handler, ToggleReadOnlyEvent.getType());
887+
}
888+
884889
@Override
885890
protected FocusableMixin<MaterialWidget> getFocusableMixin() {
886891
if (focusableMixin == null) {

gwt-material/src/main/resources/gwt/material/design/client/resources/css/core-dark.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,4 +588,16 @@ blockquote {
588588

589589
pre {
590590
background: #323232 !important
591+
}
592+
593+
/** Autocomplete **/
594+
input:-webkit-autofill,
595+
input:-webkit-autofill:hover,
596+
input:-webkit-autofill:focus,
597+
textarea:-webkit-autofill,
598+
textarea:-webkit-autofill:hover,
599+
textarea:-webkit-autofill:focus {
600+
-webkit-text-fill-color: white;
601+
-webkit-box-shadow: 0 0 0px 1000px #2f2f2f inset !important;
602+
transition: background-color 5000s ease-in-out 0s;
591603
}

gwt-material/src/main/resources/gwt/material/design/client/resources/css/core-dark.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.google.gwt.event.shared.HasHandlers;
2323
import com.google.gwt.user.client.ui.IsWidget;
2424
import com.google.gwt.user.client.ui.ValueBoxBase;
25+
import gwt.material.design.client.constants.Autocomplete;
2526
import gwt.material.design.client.constants.StatusDisplayType;
2627
import gwt.material.design.client.ui.base.AbstractValueWidgetTest;
2728

@@ -120,14 +121,18 @@ protected <W extends MaterialValueBox> void checkMandatoryField(W widget) {
120121
protected <W extends MaterialValueBox> void checkAutocomplete(W widget) {
121122
ValueBoxBase valueBoxBase = widget.getValueBoxBase();
122123

123-
widget.setAutocomplete(true);
124-
assertTrue(widget.isAutocomplete());
124+
widget.setAutocomplete(Autocomplete.ON);
125+
assertEquals(Autocomplete.ON, widget.getAutocomplete());
125126
assertEquals(valueBoxBase.getElement().getAttribute("autocomplete"), "on");
126127

127-
widget.setAutocomplete(false);
128-
assertFalse(widget.isAutocomplete());
128+
widget.setAutocomplete(Autocomplete.OFF);
129+
assertEquals(Autocomplete.OFF, widget.getAutocomplete());
129130
assertEquals(valueBoxBase.getElement().getAttribute("autocomplete"), "off");
130131

132+
widget.setAutocomplete(Autocomplete.NEW_PASSWORD);
133+
assertEquals(Autocomplete.NEW_PASSWORD, widget.getAutocomplete());
134+
assertEquals(valueBoxBase.getElement().getAttribute("autocomplete"), "new-password");
135+
131136
valueBoxBase.getElement().removeAttribute("autocomplete");
132137
}
133138

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.github.gwtmaterialdesign</groupId>
77
<artifactId>gwt-material-parent</artifactId>
8-
<version>2.4.0-rc1</version>
8+
<version>2.4.0-rc2</version>
99
<packaging>pom</packaging>
1010
<modules>
1111
<module>gwt-material</module>
@@ -69,7 +69,7 @@
6969
<connection>scm:git:[email protected]:GwtMaterialDesign/gwt-material.git</connection>
7070
<developerConnection>scm:git:[email protected]:GwtMaterialDesign/gwt-material.git</developerConnection>
7171
<url>http://github.com/GwtMaterialDesign/gwt-material</url>
72-
<tag>v2.4.0-rc1</tag>
72+
<tag>v2.4.0-rc2</tag>
7373
</scm>
7474

7575
<licenses>

0 commit comments

Comments
 (0)