Skip to content

Commit cf689b7

Browse files
authored
Merge pull request #416 from GwtMaterialDesign/release_2.4.0
Official 2.4.0 Release
2 parents 1ecf7df + 80fc9c0 commit cf689b7

File tree

12 files changed

+82
-30
lines changed

12 files changed

+82
-30
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66

77
Gwt Material Design Extra Components for https://github.com/GwtMaterialDesign/gwt-material <br>
88

9-
## Current Version 2.4.0-rc2
9+
## Current Version 2.4.0
1010
```xml
1111
<dependency>
1212
<groupId>com.github.gwtmaterialdesign</groupId>
1313
<artifactId>gwt-material-addins</artifactId>
14-
<version>2.4.0-rc2</version>
14+
<version>2.4.0</version>
1515
</dependency>
1616
```
1717

18-
## Snapshot Version 2.4.0-SNAPSHOT
18+
## Snapshot Version 2.5.0-SNAPSHOT
1919
```xml
2020
<dependency>
2121
<groupId>com.github.gwtmaterialdesign</groupId>
2222
<artifactId>gwt-material-addins</artifactId>
23-
<version>2.4.0-SNAPSHOT</version>
23+
<version>2.5.0-SNAPSHOT</version>
2424
</dependency>
2525
```
2626

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>gwt-material-parent</artifactId>
77
<groupId>com.github.gwtmaterialdesign</groupId>
8-
<version>2.4.0-rc2</version>
8+
<version>2.4.0</version>
99
</parent>
1010

1111
<artifactId>gwt-material-addins</artifactId>
@@ -24,7 +24,7 @@
2424
<connection>scm:git:[email protected]:GwtMaterialDesign/gwt-material-addins.git</connection>
2525
<developerConnection>scm:git:[email protected]:GwtMaterialDesign/gwt-material-addins.git</developerConnection>
2626
<url>http://github.com/GwtMaterialDesign/gwt-material-addins</url>
27-
<tag>v2.4.0-rc2</tag>
27+
<tag>v2.4.0</tag>
2828
</scm>
2929

3030
<licenses>

src/main/java/gwt/material/design/addins/client/combobox/MaterialComboBox.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
*/
100100
//@formatter:on
101101
public class MaterialComboBox<T> extends AbstractValueWidget<List<T>> implements JsLoader, HasPlaceholder,
102-
HasComboBoxHandlers<T>, HasReadOnly, HasFieldTypes, IsAsyncWidget<MaterialComboBox, List<T>>, HasLabel {
102+
HasComboBoxHandlers<T>, HasReadOnly, HasFieldTypes, IsAsyncWidget<MaterialComboBox, List<T>>, HasLabel, HasOpenClose {
103103

104104
static {
105105
if (MaterialAddins.isDebug()) {
@@ -112,6 +112,7 @@ public class MaterialComboBox<T> extends AbstractValueWidget<List<T>> implements
112112
}
113113

114114
private int selectedIndex;
115+
private boolean open;
115116
private boolean suppressChangeEvent;
116117
protected List<T> values = new ArrayList<>();
117118
private Label label = new Label();
@@ -191,7 +192,7 @@ public void load() {
191192
} else {
192193
OpenEvent.fire(this, null);
193194
}
194-
195+
open = true;
195196
return true;
196197
});
197198

@@ -205,6 +206,7 @@ public void load() {
205206

206207
jsComboBox.on(ComboBoxEvents.CLOSE, (event1, o) -> {
207208
CloseEvent.fire(this, null);
209+
open = false;
208210
return true;
209211
});
210212

@@ -286,17 +288,24 @@ public void add(Widget child) {
286288
/**
287289
* Programmatically open the combobox component
288290
*/
291+
@Override
289292
public void open() {
290293
getJsComboBox().select2("open");
291294
}
292295

293296
/**
294297
* Programmatically close the combobox component
295298
*/
299+
@Override
296300
public void close() {
297301
getJsComboBox().select2("close");
298302
}
299303

304+
@Override
305+
public boolean isOpen() {
306+
return open;
307+
}
308+
300309
@Override
301310
public void clear() {
302311
final Iterator<Widget> it = iterator();

src/main/java/gwt/material/design/addins/client/cutout/MaterialCutOut.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import gwt.material.design.addins.client.base.constants.AddinsCssName;
3636
import gwt.material.design.client.base.HasCircle;
3737
import gwt.material.design.client.base.HasDurationTransition;
38+
import gwt.material.design.client.base.HasOpenClose;
3839
import gwt.material.design.client.base.MaterialWidget;
3940
import gwt.material.design.client.base.helper.ColorHelper;
4041
import gwt.material.design.client.constants.Color;
@@ -87,7 +88,7 @@
8788
*/
8889
// @formatter:on
8990
public class MaterialCutOut extends MaterialWidget implements HasCloseHandlers<MaterialCutOut>,
90-
HasOpenHandlers<MaterialCutOut>, HasCircle, HasDurationTransition {
91+
HasOpenHandlers<MaterialCutOut>, HasCircle, HasDurationTransition, HasOpenClose {
9192

9293
private Color backgroundColor = Color.BLUE;
9394
private int cutOutPadding = 10;
@@ -127,6 +128,7 @@ public MaterialCutOut(Color backgroundColor, Boolean circle, Double opacity) {
127128
* @throws IllegalStateException if the target element is <code>null</code>
128129
* @see #setTarget(Widget)
129130
*/
131+
@Override
130132
public void open() {
131133
setCutOutStyle();
132134

@@ -159,7 +161,7 @@ public void open() {
159161
} else {
160162
focusElement.getStyle().setProperty("boxShadow", "0px 0px 0px " + backgroundSize + " " + computedBackgroundColor);
161163
}
162-
164+
163165
if (circle) {
164166
focusElement.getStyle().setProperty("WebkitBorderRadius", "50%");
165167
focusElement.getStyle().setProperty("borderRadius", "50%");
@@ -206,10 +208,17 @@ protected void setCutOutStyle() {
206208
* Closes the cut out. It is the same as calling
207209
* {@link #close(boolean)} with <code>false</code>.
208210
*/
211+
@Override
209212
public void close() {
210213
this.close(false);
211214
}
212215

216+
@Override
217+
public boolean isOpen() {
218+
String display = getElement().getStyle().getDisplay();
219+
return display != null && display.equals(Display.BLOCK.getCssName());
220+
}
221+
213222
/**
214223
* Closes the cut out.
215224
*

src/main/java/gwt/material/design/addins/client/overlay/MaterialOverlay.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import gwt.material.design.addins.client.pathanimator.MaterialPathAnimator;
3232
import gwt.material.design.client.MaterialDesignBase;
3333
import gwt.material.design.client.base.HasDurationTransition;
34+
import gwt.material.design.client.base.HasOpenClose;
3435
import gwt.material.design.client.base.MaterialWidget;
3536
import gwt.material.design.client.constants.Color;
3637
import gwt.material.design.client.constants.IconType;
@@ -64,7 +65,7 @@
6465
*/
6566
//@formatter:on
6667
public class MaterialOverlay extends MaterialWidget implements HasOpenHandlers<MaterialOverlay>,
67-
HasCloseHandlers<MaterialOverlay>, HasDurationTransition {
68+
HasCloseHandlers<MaterialOverlay>, HasDurationTransition, HasOpenClose {
6869

6970
static {
7071
if (MaterialAddins.isDebug()) {
@@ -120,6 +121,7 @@ public void open(Element sourceElement) {
120121
/**
121122
* Open the Overlay Panel without Path Animator
122123
*/
124+
@Override
123125
public void open() {
124126
setVisibility(Style.Visibility.VISIBLE);
125127
setOpacity(1);
@@ -129,6 +131,7 @@ public void open() {
129131
/**
130132
* Close the Overlay Panel with Path Animator applied.
131133
*/
134+
@Override
132135
public void close() {
133136
close(true);
134137
}
@@ -158,6 +161,7 @@ public void close(boolean fireEventImmediately) {
158161
}
159162
}
160163

164+
@Override
161165
public boolean isOpen() {
162166
Style.Visibility visibility = getVisibility();
163167
return visibility == null || !visibility.equals(Style.Visibility.HIDDEN);

src/main/java/gwt/material/design/addins/client/popupmenu/MaterialPopupMenu.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import gwt.material.design.addins.client.MaterialAddins;
2828
import gwt.material.design.addins.client.base.constants.AddinsCssName;
2929
import gwt.material.design.client.MaterialDesignBase;
30+
import gwt.material.design.client.base.HasOpenClose;
3031
import gwt.material.design.client.base.JsLoader;
3132
import gwt.material.design.client.constants.CssName;
3233
import gwt.material.design.client.ui.html.UnorderedList;
@@ -41,7 +42,7 @@
4142
* @author Ben Dol
4243
*/
4344
public class MaterialPopupMenu extends UnorderedList implements JsLoader, HasSelectionHandlers<Element>, HasOpenHandlers<MaterialPopupMenu>,
44-
HasCloseHandlers<MaterialPopupMenu> {
45+
HasCloseHandlers<MaterialPopupMenu>, HasOpenClose {
4546

4647
static {
4748
if (MaterialAddins.isDebug()) {
@@ -173,6 +174,7 @@ public HandlerRegistration addSelectionHandler(SelectionHandler<Element> selecti
173174
return addHandler(selectionHandler, SelectionEvent.getType());
174175
}
175176

177+
@Override
176178
public void open() {
177179
setVisible(true);
178180
Scheduler.get().scheduleDeferred(() -> setFocus(true));
@@ -184,11 +186,17 @@ public void open() {
184186
OpenEvent.fire(this, this);
185187
}
186188

189+
@Override
187190
public void close() {
188191
setVisible(false);
189192
CloseEvent.fire(this, this);
190193
}
191194

195+
@Override
196+
public boolean isOpen() {
197+
return isVisible();
198+
}
199+
192200
public Object getSelected() {
193201
return selected;
194202
}

src/main/java/gwt/material/design/addins/client/timepicker/MaterialTimePicker.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
* @see <a href="https://github.com/weareoutman/clockpicker">ClockPicker 0.0.7</a>
6969
*/
7070
//@formatter:on
71-
public class MaterialTimePicker extends AbstractValueWidget<Date> implements JsLoader, HasPlaceholder,
71+
public class MaterialTimePicker extends AbstractValueWidget<Date> implements JsLoader, HasPlaceholder, HasOpenClose,
7272
HasCloseHandlers<Date>, HasOpenHandlers<Date>, HasIcon, HasReadOnly, HasFieldTypes, HasLabel {
7373

7474
static {
@@ -81,6 +81,7 @@ public class MaterialTimePicker extends AbstractValueWidget<Date> implements JsL
8181
}
8282
}
8383

84+
private boolean open;
8485
private Date time;
8586
private String label;
8687
private MaterialPanel container = new MaterialPanel();
@@ -161,15 +162,24 @@ public void reload() {
161162
/**
162163
* Programmatically open the time picker component
163164
*/
165+
@Override
164166
public void open() {
165167
Scheduler.get().scheduleDeferred(() -> $(timeInput.getElement()).lolliclock("show"));
168+
open = true;
166169
}
167170

168171
/**
169172
* Programmatically close the time picker component
170173
*/
174+
@Override
171175
public void close() {
172176
Scheduler.get().scheduleDeferred(() -> $(timeInput.getElement()).lolliclock("hide"));
177+
open = false;
178+
}
179+
180+
@Override
181+
public boolean isOpen() {
182+
return open;
173183
}
174184

175185
@Override

src/main/java/gwt/material/design/addins/client/window/MaterialWindow.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import gwt.material.design.addins.client.dnd.constants.Restriction;
3636
import gwt.material.design.addins.client.dnd.js.JsDragOptions;
3737
import gwt.material.design.client.MaterialDesignBase;
38+
import gwt.material.design.client.base.HasOpenClose;
3839
import gwt.material.design.client.base.JsLoader;
3940
import gwt.material.design.client.base.MaterialWidget;
4041
import gwt.material.design.client.base.mixin.ToggleStyleMixin;
@@ -84,7 +85,7 @@
8485
*/
8586
//@formatter:on
8687
public class MaterialWindow extends MaterialPanel implements JsLoader,
87-
HasCloseHandlers<Boolean>, HasOpenHandlers<Boolean> {
88+
HasCloseHandlers<Boolean>, HasOpenHandlers<Boolean>, HasOpenClose {
8889

8990
static {
9091
if (MaterialAddins.isDebug()) {
@@ -285,6 +286,7 @@ public static void setOverlay(boolean overlay) {
285286
/**
286287
* Open the window.
287288
*/
289+
@Override
288290
public void open() {
289291
if (!isAttached()) {
290292
RootPanel.get().add(this);
@@ -313,6 +315,7 @@ public void open() {
313315
/**
314316
* Close the window.
315317
*/
318+
@Override
316319
public void close() {
317320
// Turn back the cursor to POINTER
318321
RootPanel.get().getElement().getStyle().setCursor(Style.Cursor.DEFAULT);
@@ -335,6 +338,11 @@ public void close() {
335338
}
336339
}
337340

341+
@Override
342+
public boolean isOpen() {
343+
return getOpenMixin().isOn();
344+
}
345+
338346
public Color getToolbarColor() {
339347
return toolbar.getBackgroundColor();
340348
}
@@ -392,10 +400,6 @@ public HandlerRegistration addOpenHandler(final OpenHandler<Boolean> handler) {
392400
return addHandler(handler, OpenEvent.getType());
393401
}
394402

395-
public boolean isOpen() {
396-
return getOpenMixin().isOn();
397-
}
398-
399403
/**
400404
* @deprecated can now reference the {@link MaterialWindow} directly.
401405
*/

src/main/java/gwt/material/design/incubator/client/alert/Alert.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import gwt.material.design.addins.client.note.MaterialNote;
2828
import gwt.material.design.client.MaterialDesignBase;
2929
import gwt.material.design.client.base.HasInOutDurationTransition;
30+
import gwt.material.design.client.base.HasOpenClose;
3031
import gwt.material.design.client.base.HasType;
3132
import gwt.material.design.client.base.TransitionConfig;
3233
import gwt.material.design.client.base.mixin.CssTypeMixin;
@@ -58,7 +59,7 @@
5859
*
5960
* @author kevzlou7979
6061
*/
61-
public class Alert extends MaterialNote implements HasType<AlertType>, HasOpenHandlers, HasCloseHandlers, HasInOutDurationTransition {
62+
public class Alert extends MaterialNote implements HasType<AlertType>, HasOpenClose, HasOpenHandlers, HasCloseHandlers, HasInOutDurationTransition {
6263

6364
private static boolean resourcesLoaded = false;
6465

@@ -102,6 +103,7 @@ protected void onLoad() {
102103
/**
103104
* Open / Show alert messages component.
104105
*/
106+
@Override
105107
public void open() {
106108
getToggleStyleMixin().setOn(true);
107109
OpenEvent.fire(this, this);
@@ -130,11 +132,17 @@ public void open(int delay) {
130132
/**
131133
* Close / Hide alert message component.
132134
*/
135+
@Override
133136
public void close() {
134137
getToggleStyleMixin().setOn(false);
135138
CloseEvent.fire(this, this);
136139
}
137140

141+
@Override
142+
public boolean isOpen() {
143+
return getToggleStyleMixin().isOn();
144+
}
145+
138146
/**
139147
* Set the text of alert message component.
140148
*/

0 commit comments

Comments
 (0)