@@ -47,8 +47,8 @@ class AppSidebarNav2 extends Component {
4747
4848  activeRoute ( routeName ,  props )  { 
4949    return  props . location . pathname . indexOf ( routeName )  >  - 1 
50-          ? 'nav-item nav-dropdown open' 
51-          : 'nav-item nav-dropdown' ; 
50+       ? 'nav-item nav-dropdown open' 
51+       : 'nav-item nav-dropdown' ; 
5252  } 
5353
5454  hideMobile ( )  { 
@@ -65,11 +65,11 @@ class AppSidebarNav2 extends Component {
6565  // nav type 
6666  navType ( item ,  idx )  { 
6767    return  ( 
68-          item . title  ? this . navTitle ( item ,  idx ) 
69-              : item . divider  ? this . navDivider ( item ,  idx ) 
70-              : item . label  ? this . navLabel ( item ,  idx ) 
71-                  : item . children  ? this . navDropdown ( item ,  idx ) 
72-                      : this . navItem ( item ,  idx ) 
68+       item . title  ? this . navTitle ( item ,  idx ) 
69+         : item . divider  ? this . navDivider ( item ,  idx ) 
70+           : item . label  ? this . navLabel ( item ,  idx ) 
71+             : item . children  ? this . navDropdown ( item ,  idx ) 
72+               : this . navItem ( item ,  idx ) 
7373    ) ; 
7474  } 
7575
@@ -96,27 +96,32 @@ class AppSidebarNav2 extends Component {
9696      item : classNames ( 'hidden-cn' ,  item . class ) , 
9797      link : classNames ( 'nav-label' ,  item . class  ? item . class  : '' ) , 
9898      icon : classNames ( 
99-            'nav-icon' , 
100-            ! item . icon  ? 'fa fa-circle'  : item . icon , 
101-            item . label . variant  ? `text-${ item . label . variant }   : '' , 
102-            item . label . class  ? item . label . class  : '' , 
99+         'nav-icon' , 
100+         ! item . icon  ? 'fa fa-circle'  : item . icon , 
101+         item . label . variant  ? `text-${ item . label . variant }   : '' , 
102+         item . label . class  ? item . label . class  : '' , 
103103      ) 
104104    } ; 
105105    return  ( 
106-          this . navLink ( item ,  key ,  classes ) 
106+       this . navLink ( item ,  key ,  classes ) 
107107    ) ; 
108108  } 
109109
110110  // nav dropdown 
111111  navDropdown ( item ,  key )  { 
112112    const  classIcon  =  classNames ( 'nav-icon' ,  item . icon ) ; 
113+     const  attributes  =  JSON . parse ( JSON . stringify ( item . attributes  ||  { } ) ) ; 
114+     const  classes  =  classNames ( 'nav-link' ,  'nav-dropdown-toggle' ,  item . class ,  attributes . class ) ; 
115+     delete  attributes . class ; 
113116    return  ( 
114-         < li  key = { key }  className = { this . activeRoute ( item . url ,  this . props ) } > 
115-           < a  className = "nav-link nav-dropdown-toggle"  href = "#"  onClick = { this . handleClick } > < i  className = { classIcon }  /> { item . name } { this . navBadge ( item . badge ) } </ a > 
116-           < ul  className = "nav-dropdown-items" > 
117-             { this . navList ( item . children ) } 
118-           </ ul > 
119-         </ li > ) ; 
117+       < li  key = { key }  className = { this . activeRoute ( item . url ,  this . props ) } > 
118+         < a  className = { classes }  href = "#"  onClick = { this . handleClick }  { ...attributes } > < i  className = { classIcon } /> 
119+           { item . name } { this . navBadge ( item . badge ) } 
120+         </ a > 
121+         < ul  className = "nav-dropdown-items" > 
122+           { this . navList ( item . children ) } 
123+         </ ul > 
124+       </ li > ) ; 
120125  } 
121126
122127  // nav item with nav link 
@@ -127,7 +132,7 @@ class AppSidebarNav2 extends Component {
127132      icon : classNames ( 'nav-icon' ,  item . icon ) 
128133    } ; 
129134    return  ( 
130-          this . navLink ( item ,  key ,  classes ) 
135+       this . navLink ( item ,  key ,  classes ) 
131136    ) ; 
132137  } 
133138
@@ -139,21 +144,21 @@ class AppSidebarNav2 extends Component {
139144    const  attributes  =  item . attributes  ||  { } 
140145    const  NavLink  =  this . props . router . NavLink  ||  RsNavLink 
141146    return  ( 
142-          < NavItem  key = { key }  className = { classes . item } > 
143-            {  attributes . disabled  ?
144-                < RsNavLink  href = { "" }  className = { classes . link }  { ...attributes } > 
145-                  { itemIcon } { item . name } { itemBadge } 
146-                </ RsNavLink > 
147-                :
148-                this . isExternal ( url )  ||  NavLink  ===  RsNavLink  ?
149-                    < RsNavLink  href = { url }  className = { classes . link }  active  { ...attributes } > 
150-                      { itemIcon } { item . name } { itemBadge } 
151-                    </ RsNavLink >  :
152-                    < NavLink  to = { url }  className = { classes . link }  activeClassName = "active"  onClick = { this . hideMobile }  { ...attributes } > 
153-                      { itemIcon } { item . name } { itemBadge } 
154-                    </ NavLink > 
155-            } 
156-          </ NavItem > 
147+       < NavItem  key = { key }  className = { classes . item } > 
148+         {  attributes . disabled  ?
149+             < RsNavLink  href = { '' }  className = { classes . link }  { ...attributes } > 
150+               { itemIcon } { item . name } { itemBadge } 
151+             </ RsNavLink > 
152+          :
153+           this . isExternal ( url )  ||  NavLink  ===  RsNavLink  ?
154+             < RsNavLink  href = { url }  className = { classes . link }  active  { ...attributes } > 
155+               { itemIcon } { item . name } { itemBadge } 
156+             </ RsNavLink >  :
157+             < NavLink  to = { url }  className = { classes . link }  activeClassName = "active"  onClick = { this . hideMobile }  { ...attributes } > 
158+               { itemIcon } { item . name } { itemBadge } 
159+             </ NavLink > 
160+         } 
161+       </ NavItem > 
157162    ) ; 
158163  } 
159164
@@ -162,7 +167,7 @@ class AppSidebarNav2 extends Component {
162167    if  ( badge )  { 
163168      const  classes  =  classNames ( badge . class ) ; 
164169      return  ( 
165-            < Badge  className = { classes }  color = { badge . variant } > { badge . text } </ Badge > 
170+         < Badge  className = { classes }  color = { badge . variant } > { badge . text } </ Badge > 
166171      ) ; 
167172    } 
168173    return  null ; 
@@ -184,15 +189,15 @@ class AppSidebarNav2 extends Component {
184189    const  navClasses  =  classNames ( className ,  'sidebar-nav' ) ; 
185190
186191    // ToDo: find better rtl fix 
187-     const  isRtl  =  getComputedStyle ( document . querySelector ( 'html' ) ) . direction  ===  'rtl' 
192+     const  isRtl  =  getComputedStyle ( document . documentElement ) . direction  ===  'rtl' 
188193
189194    // sidebar-nav root 
190195    return  ( 
191-          < PerfectScrollbar  className = { navClasses }  { ...attributes }  options = { {  suppressScrollX : ! isRtl  } }  > 
192-            < Nav > 
193-              { children  ||  this . navList ( navConfig . items ) } 
194-            </ Nav > 
195-          </ PerfectScrollbar > 
196+       < PerfectScrollbar  className = { navClasses }  { ...attributes }  options = { {  suppressScrollX : ! isRtl  } }  > 
197+         < Nav > 
198+           { children  ||  this . navList ( navConfig . items ) } 
199+         </ Nav > 
200+       </ PerfectScrollbar > 
196201    ) ; 
197202  } 
198203} 
0 commit comments