3434import com .google .gwt .user .client .ui .RootPanel ;
3535import com .google .gwt .user .client .ui .Widget ;
3636import com .google .web .bindery .event .shared .HandlerRegistration ;
37- import gwt .material .design .client .base .*;
37+ import gwt .material .design .client .base .HasSelectables ;
38+ import gwt .material .design .client .base .HasType ;
39+ import gwt .material .design .client .base .HasWaves ;
40+ import gwt .material .design .client .base .MaterialWidget ;
3841import gwt .material .design .client .base .helper .DOMHelper ;
3942import gwt .material .design .client .base .mixin .CssTypeMixin ;
4043import gwt .material .design .client .base .mixin .ToggleStyleMixin ;
4144import gwt .material .design .client .constants .Edge ;
4245import gwt .material .design .client .constants .SideNavType ;
4346import gwt .material .design .client .events .*;
44- import gwt .material .design .client .events .ClearActiveEvent .ClearActiveHandler ;
4547import gwt .material .design .client .events .SideNavClosedEvent .SideNavClosedHandler ;
4648import gwt .material .design .client .events .SideNavClosingEvent .SideNavClosingHandler ;
4749import gwt .material .design .client .events .SideNavOpenedEvent .SideNavOpenedHandler ;
@@ -160,15 +162,18 @@ public Widget wrap(Widget child) {
160162 child .getElement ().getStyle ().setProperty ("textAlign" , "center" );
161163 }
162164
163- boolean collapsible = child instanceof MaterialCollapsible ;
164- if (collapsible ) {
165- // Since the collapsible is separ
166- ((MaterialCollapsible )child ).addClearActiveHandler (new ClearActiveHandler () {
167- @ Override
168- public void onClearActive (ClearActiveEvent event ) {
169- clearActive ();
165+ // Check whether the widget is not selectable by default
166+ boolean isNotSelectable = false ;
167+ if (child instanceof MaterialWidget ) {
168+ MaterialWidget widget = (MaterialWidget ) child ;
169+ if (widget .getInitialClasses () != null ) {
170+ if (widget .getInitialClasses ().length > 0 ) {
171+ String initialClass = widget .getInitialClasses ()[0 ];
172+ if (initialClass .contains ("side-profile" ) || initialClass .contains ("collapsible" )) {
173+ isNotSelectable = true ;
174+ }
170175 }
171- });
176+ }
172177 }
173178
174179 if (!(child instanceof ListItem )) {
@@ -186,9 +191,9 @@ public void onClearActive(ClearActiveEvent event) {
186191 child = listItem ;
187192 }
188193
189- // Collapsible's should not be selectable
194+ // Collapsible and Side Porfile should not be selectable
190195 final Widget finalChild = child ;
191- if (!collapsible ) {
196+ if (!isNotSelectable ) {
192197 // Active click handler
193198 finalChild .addDomHandler (new ClickHandler () {
194199 @ Override
0 commit comments