Skip to content

Commit 86feefb

Browse files
authored
Merge pull request #857 from GwtMaterialDesign/release_2.1.1
Release 2.1.1
2 parents a8ba884 + 424a651 commit 86feefb

File tree

17 files changed

+164
-117
lines changed

17 files changed

+164
-117
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ cache:
77
- $HOME/.m2
88
before_install:
99
# install the gwt-material-jquery because it will depends on built in jquery
10-
- git clone -b master https://github.com/GwtMaterialDesign/gwt-material-jquery.git
10+
- git clone -b release_2.1.1 https://github.com/GwtMaterialDesign/gwt-material-jquery.git
1111
- cd gwt-material-jquery
1212
- mvn install -DskipTests=true -DdryRun=true
1313
- cd ..

.utility/deploy.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
set -ev
3-
if [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
3+
if [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "release_2.1.1" ]; then
44
echo "<settings><servers><server><id>ossrh</id><username>\${env.OSSRH_USER}</username><password>\${env.OSSRH_PASS}</password></server></servers></settings>" > ~/settings.xml
55
mvn deploy --settings ~/settings.xml
66
fi

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
- [PWA Support](https://github.com/GwtMaterialDesign/gwt-material/wiki/PWA-:-Service-Worker-Automation)
1212

1313
## Demo
14-
* [2.1 Release Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/)
14+
* [2.1.1 Release Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/)
1515
* [2.2 Snapshot Demo](http://gwtmaterialdesign.github.io/gwt-material-demo/snapshot/)
1616

1717
## Documentation
@@ -20,20 +20,20 @@ We created <a href="http://gwtmaterialdesign.github.io/gwt-material-demo/apidocs
2020

2121

2222
## Maven
23-
### Current Version 2.1
23+
### Current Version 2.1.1
2424
```xml
2525
<dependency>
2626
<groupId>com.github.gwtmaterialdesign</groupId>
2727
<artifactId>gwt-material</artifactId>
28-
<version>2.1</version>
28+
<version>2.1.1</version>
2929
</dependency>
3030
```
31-
### Snapshot Version 2.1.1-SNAPSHOT
31+
### Snapshot Version 2.2-SNAPSHOT
3232
```xml
3333
<dependency>
3434
<groupId>com.github.gwtmaterialdesign</groupId>
3535
<artifactId>gwt-material</artifactId>
36-
<version>2.1.1-SNAPSHOT</version>
36+
<version>2.2-SNAPSHOT</version>
3737
</dependency>
3838
```
3939

gwt-material/pom.xml

Lines changed: 2 additions & 2 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.1</version>
7+
<version>2.1.1</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

@@ -18,7 +18,7 @@
1818
<dependency>
1919
<groupId>com.github.gwtmaterialdesign</groupId>
2020
<artifactId>gwt-material-jquery</artifactId>
21-
<version>2.1</version>
21+
<version>2.1.1</version>
2222
</dependency>
2323
<dependency>
2424
<groupId>com.google.gwt</groupId>

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

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import gwt.material.design.client.js.JsSideNavOptions;
3939
import gwt.material.design.client.ui.*;
4040
import gwt.material.design.client.ui.html.ListItem;
41+
import gwt.material.design.jquery.client.api.JQueryElement;
4142

4243
import static gwt.material.design.client.js.JsMaterialElement.$;
4344

@@ -401,6 +402,7 @@ protected MaterialWidget getNavMenu() {
401402

402403
protected void onClosing() {
403404
open = false;
405+
$("#sidenav-overlay").remove();
404406
SideNavClosingEvent.fire(this);
405407
}
406408

@@ -410,17 +412,18 @@ protected void onClosed() {
410412

411413
protected void onOpening() {
412414
open = true;
413-
SideNavOpeningEvent.fire(this);
414-
// Ensure to clean all the overlays attached before opening
415-
// This will fixed multiple sidenav implementations with edge support.
416-
$(".drag-target").remove();
415+
417416
$("#sidenav-overlay").each((param1, element) -> element.removeFromParent());
417+
SideNavOpeningEvent.fire(this);
418418
}
419419

420420
protected void onOpened() {
421421
if (allowBodyScroll) {
422422
RootPanel.getBodyElement().getStyle().clearOverflow();
423423
}
424+
425+
String overlayZIndex = $("#sidenav-overlay").css("zIndex");
426+
$(".drag-target").css("zIndex", (overlayZIndex != null ? Integer.parseInt(overlayZIndex) : 1) + "");
424427
SideNavOpenedEvent.fire(this);
425428
}
426429

@@ -555,6 +558,14 @@ public Element getActivator() {
555558
return activator;
556559
}
557560

561+
public JQueryElement getOverlayElement() {
562+
return $("#sidenav-overlay");
563+
}
564+
565+
public JQueryElement getDragTargetElement() {
566+
return $(".drag-target");
567+
}
568+
558569
@Override
559570
public HandlerRegistration addOpeningHandler(SideNavOpeningEvent.SideNavOpeningHandler handler) {
560571
return addHandler(handler, SideNavOpeningEvent.TYPE);

gwt-material/src/main/java/gwt/material/design/client/base/helper/EventHelper.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,19 @@ public final class EventHelper {
3030

3131
public static void onAttachOnce(HasAttachHandlers has, AttachEvent.Handler handler) {
3232
HandlerRegistration[] reg = new HandlerRegistration[1];
33-
reg[0] = has.addAttachHandler(event -> {
34-
if(event.isAttached()) {
35-
handler.onAttachOrDetach(event);
3633

37-
if (reg[0] != null) {
38-
reg[0].removeHandler();
34+
if (has.isAttached()) {
35+
handler.onAttachOrDetach(null);
36+
} else {
37+
reg[0] = has.addAttachHandler(event -> {
38+
if (event.isAttached()) {
39+
handler.onAttachOrDetach(event);
40+
41+
if (reg[0] != null) {
42+
reg[0].removeHandler();
43+
}
3944
}
40-
}
41-
});
45+
});
46+
}
4247
}
4348
}

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,17 @@
2323
import com.google.gwt.dom.client.Document;
2424
import com.google.gwt.dom.client.Element;
2525
import com.google.gwt.event.shared.HandlerRegistration;
26+
import com.google.gwt.user.client.ui.HasWidgets;
2627
import com.google.gwt.user.client.ui.Widget;
2728
import gwt.material.design.client.base.*;
2829
import gwt.material.design.client.base.mixin.CssTypeMixin;
2930
import gwt.material.design.client.constants.CollapsibleType;
3031
import gwt.material.design.client.constants.CssName;
32+
import gwt.material.design.client.constants.Display;
3133
import gwt.material.design.client.events.ClearActiveEvent;
3234
import gwt.material.design.client.events.ClearActiveEvent.ClearActiveHandler;
3335
import gwt.material.design.client.events.CollapseEvent;
3436
import gwt.material.design.client.events.ExpandEvent;
35-
import gwt.material.design.client.base.HasCollapsibleHandlers;
3637

3738
import static gwt.material.design.client.js.JsMaterialElement.$;
3839

@@ -173,13 +174,24 @@ public void clearActive() {
173174
ClearActiveEvent.fire(this);
174175
}
175176

177+
@Override
178+
protected void clearActiveClass(HasWidgets widget) {
179+
super.clearActiveClass(widget);
180+
181+
for (Widget child : widget) {
182+
if (child instanceof MaterialCollapsibleBody) {
183+
((MaterialCollapsibleBody) child).setDisplay(Display.NONE);
184+
}
185+
}
186+
}
187+
176188
/**
177189
* Open the given collapsible item.
178190
*
179191
* @param index the one-based collapsible item index.
180192
*/
181193
public void open(int index) {
182-
setActive(index, true);
194+
setActive(index);
183195
}
184196

185197
/**
@@ -236,7 +248,9 @@ public boolean isAccordion() {
236248

237249
@Override
238250
public void setActive(int index) {
239-
clearActive();
251+
if (isAccordion()) {
252+
clearActive();
253+
}
240254
setActive(index, true);
241255
}
242256

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public void setActive(boolean active) {
156156
header.removeStyleName(CssName.ACTIVE);
157157
}
158158
if (active) {
159-
if (parent != null) {
159+
if (parent != null && parent.isAccordion()) {
160160
parent.clearActive();
161161
}
162162
addStyleName(CssName.ACTIVE);

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

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,6 @@ public void reload() {
190190

191191
/**
192192
* As of now use {@link MaterialDatePicker#setSelectionType(MaterialDatePickerType)}
193-
*
194-
* @param type
195193
*/
196194
@Deprecated
197195
public void setDateSelectionType(MaterialDatePickerType type) {
@@ -399,28 +397,23 @@ public void setFormat(String format) {
399397

400398
@Override
401399
public Date getValue() {
402-
if (isAttached()) {
403-
return getPickerDate();
404-
}
405-
else {
406-
return this.date;
407-
}
400+
return isAttached() ? getPickerDate() : this.date;
408401
}
409402

410403
@Override
411404
public void setValue(Date value, boolean fireEvents) {
412405
this.date = value;
413406
if (value == null) {
414407
clear();
415-
return;
416-
}
417-
if (isAttached()) {
418-
suppressChangeEvent = !fireEvents;
419-
setPickerDate(JsDate.create((double) value.getTime()), pickatizedDateInput);
420-
suppressChangeEvent = false;
421-
label.addStyleName(CssName.ACTIVE);
408+
} else {
409+
if (isAttached()) {
410+
suppressChangeEvent = !fireEvents;
411+
setPickerDate(JsDate.create((double) value.getTime()), pickatizedDateInput);
412+
suppressChangeEvent = false;
413+
label.addStyleName(CssName.ACTIVE);
414+
}
415+
super.setValue(value, fireEvents);
422416
}
423-
super.setValue(value, fireEvents);
424417
}
425418

426419
@Override
@@ -476,7 +469,7 @@ protected void setupLanguage(DatePickerLanguage language) {
476469
if (language.getJs() != null) {
477470
ScriptInjector.fromString(language.getJs().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
478471
getPicker().stop();
479-
Scheduler.get().scheduleDeferred(() -> load());
472+
Scheduler.get().scheduleDeferred(this::load);
480473
}
481474
}
482475

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

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,11 @@ public void setValue(T value) {
627627
@Override
628628
public void setValue(T value, boolean fireEvents) {
629629
int index = values.indexOf(value);
630-
if (index >= 0) {
630+
if (index < 0 && value instanceof String) {
631+
index = getIndexByString((String) value);
632+
}
633+
634+
if (index > -1) {
631635
T before = getValue();
632636
setSelectedIndexInternal(index);
633637

@@ -637,6 +641,28 @@ public void setValue(T value, boolean fireEvents) {
637641
}
638642
}
639643

644+
// TODO: Optimize performance (maybe use a map)
645+
public T getValueByString(String key) {
646+
for (T value : values) {
647+
if (keyFactory.generateKey(value).equals(key)) {
648+
return value;
649+
}
650+
}
651+
return null;
652+
}
653+
654+
// TODO: Optimize performance (maybe use a map)
655+
public int getIndexByString(String key) {
656+
int index = -1;
657+
for (T value : values) {
658+
index++;
659+
if (keyFactory.generateKey(value).equals(key)) {
660+
return index;
661+
}
662+
}
663+
return index;
664+
}
665+
640666
public boolean isOld() {
641667
return getToggleOldMixin().isOn();
642668
}

0 commit comments

Comments
 (0)