1919 */
2020package gwt .material .design .client .ui ;
2121
22- import com .google .gwt .user .client .ui .Widget ;
2322import gwt .material .design .client .base .AbstractSideNav ;
24- import gwt .material .design .client .base .MaterialWidget ;
2523import gwt .material .design .client .constants .SideNavType ;
2624
27- import static gwt .material .design .client .js .JsMaterialElement .$ ;
28-
2925//@formatter:off
3026
3127/**
5450public class MaterialSideNavMini extends AbstractSideNav {
5551
5652 private boolean overlay ;
57- private boolean expandable ;
58- private boolean expandOnClick ;
53+ private boolean expandOnClick = true ;
54+ private boolean collapseOnClick = true ;
5955
6056 public MaterialSideNavMini () {
61- super (SideNavType .MINI );
57+ super (SideNavType .MINI_WITH_EXPAND );
6258 setShowOnAttach (false );
6359 }
6460
6561 @ Override
6662 protected void setup () {
6763 applyBodyScroll ();
68- if (isExpandable ()) {
69- setType (SideNavType .MINI_WITH_EXPAND );
70- applyTransition (getElement ());
71- int originalWidth = getWidth ();
72- int miniWidth = 64 ;
73- pushElement (getMain (), miniWidth );
74- pushElementMargin (getFooter (), miniWidth );
75- setWidth (miniWidth );
76-
77- registerHandler (addOpeningHandler (event -> expand (originalWidth )));
78- registerHandler (addClosingHandler (event -> collapse (miniWidth )));
79-
80- // Add Opening when sidenav link is clicked by default
81- for (Widget w : getChildren ()) {
82- if (w instanceof MaterialWidget && isExpandOnClick ()) {
83- $ (w .getElement ()).off ("click" ).on ("click" , (e , param1 ) -> {
84- if (!getElement ().hasClassName ("expanded" )) {
85- open ();
86- }
87- return true ;
88- });
89- }
90- }
91- } else {
92- setType (SideNavType .MINI );
93- setWidth (64 );
94- }
64+ applyTransition (getElement ());
65+ int originalWidth = getWidth ();
66+ int miniWidth = 64 ;
67+ pushElement (getMain (), miniWidth );
68+ pushElementMargin (getFooter (), miniWidth );
69+ setWidth (miniWidth );
70+
71+ registerHandler (addOpeningHandler (event -> {
72+ if (expandOnClick ) expand (originalWidth );
73+ }));
74+ registerHandler (addClosingHandler (event -> {
75+ if (collapseOnClick ) collapse (miniWidth );
76+ }));
9577 }
9678
9779 protected void expand (int width ) {
@@ -112,12 +94,12 @@ protected void collapse(int width) {
11294 }
11395 }
11496
115- public void setExpandable ( boolean expandable ) {
116- this . expandable = expandable ;
97+ public boolean isCollapseOnClick ( ) {
98+ return collapseOnClick ;
11799 }
118100
119- public boolean isExpandable ( ) {
120- return expandable ;
101+ public void setCollapseOnClick ( boolean collapseOnClick ) {
102+ this . collapseOnClick = collapseOnClick ;
121103 }
122104
123105 public boolean isExpandOnClick () {
0 commit comments