@@ -19,7 +19,10 @@ export default class SimpleBar {
19
19
this . scrollbarWidth ;
20
20
this . minScrollbarWidth = 20 ;
21
21
this . options = { ...SimpleBar . defaultOptions , ...options } ;
22
- this . classNames = { ...SimpleBar . defaultOptions . classNames , ...this . options . classNames } ;
22
+ this . classNames = {
23
+ ...SimpleBar . defaultOptions . classNames ,
24
+ ...this . options . classNames
25
+ } ;
23
26
this . isRtl ;
24
27
this . axis = {
25
28
x : {
@@ -50,6 +53,11 @@ export default class SimpleBar {
50
53
}
51
54
} ;
52
55
56
+ // Don't re-instantiate over an existing one
57
+ if ( this . el . SimpleBar ) {
58
+ return ;
59
+ }
60
+
53
61
this . recalculate = throttle ( this . recalculate . bind ( this ) , 64 ) ;
54
62
this . onMouseMove = throttle ( this . onMouseMove . bind ( this ) , 64 ) ;
55
63
this . hideScrollbars = debounce (
@@ -124,7 +132,7 @@ export default class SimpleBar {
124
132
horizontal : 'simplebar-horizontal' ,
125
133
vertical : 'simplebar-vertical' ,
126
134
hover : 'simplebar-hover' ,
127
- dragging : 'simplebar-dragging' ,
135
+ dragging : 'simplebar-dragging'
128
136
} ,
129
137
scrollbarMinSize : 25 ,
130
138
scrollbarMaxSize : 0 ,
@@ -141,7 +149,7 @@ export default class SimpleBar {
141
149
mutations . forEach ( mutation => {
142
150
Array . prototype . forEach . call ( mutation . addedNodes , addedNode => {
143
151
if ( addedNode . nodeType === 1 ) {
144
- if ( addedNode . hasAttribute ( 'data- simplebar' ) ) {
152
+ if ( addedNode . dataset . simplebar ) {
145
153
! addedNode . SimpleBar &&
146
154
new SimpleBar ( addedNode , SimpleBar . getElOptions ( addedNode ) ) ;
147
155
} else {
@@ -466,8 +474,10 @@ export default class SimpleBar {
466
474
this . axis . y . isOverflowing =
467
475
this . elStyles . overflowY === 'hidden' ? false : this . axis . y . isOverflowing ;
468
476
469
- this . axis . x . forceVisible = this . options . forceVisible === "x" || this . options . forceVisible === true ;
470
- this . axis . y . forceVisible = this . options . forceVisible === "y" || this . options . forceVisible === true ;
477
+ this . axis . x . forceVisible =
478
+ this . options . forceVisible === 'x' || this . options . forceVisible === true ;
479
+ this . axis . y . forceVisible =
480
+ this . options . forceVisible === 'y' || this . options . forceVisible === true ;
471
481
472
482
this . axis . x . scrollbar . size = this . getScrollbarSize ( 'x' ) ;
473
483
this . axis . y . scrollbar . size = this . getScrollbarSize ( 'y' ) ;
0 commit comments