@@ -42,13 +42,15 @@ export default class Thumb extends React.Component {
42
42
this . dragStartOffsetX = ev . clientX - rect . left - rect . width / 2 ;
43
43
this . dragStartOffsetY = ev . clientY - rect . top - rect . height / 2 ;
44
44
45
- document . addEventListener ( "mousemove" , this . handleDragEvent ) ;
46
- document . addEventListener ( "mouseup" , this . handleDragEnd ) ;
47
-
48
- this . prevUserSelect = document . body . style . userSelect ;
49
- document . body . style . userSelect = "none" ;
50
- this . prevOnSelectStart = document . onselectstart ;
51
- document . onselectstart = ( ) => false ;
45
+ if ( global . document ) {
46
+ global . document . addEventListener ( "mousemove" , this . handleDragEvent ) ;
47
+ global . document . addEventListener ( "mouseup" , this . handleDragEnd ) ;
48
+
49
+ this . prevUserSelect = global . document . body . style . userSelect ;
50
+ global . document . body . style . userSelect = "none" ;
51
+ this . prevOnSelectStart = global . document . onselectstart ;
52
+ global . document . onselectstart = ( ) => false ;
53
+ }
52
54
53
55
this . props . onDragStart &&
54
56
this . props . onDragStart ( {
@@ -84,19 +86,21 @@ export default class Thumb extends React.Component {
84
86
this . dragStartOffsetY = false ;
85
87
this . element . classList . remove ( "dragging" ) ;
86
88
87
- document . removeEventListener ( "mousemove" , this . handleDragEvent ) ;
88
- document . removeEventListener ( "mouseup" , this . handleDragEnd ) ;
89
+ if ( global . document ) {
90
+ global . document . removeEventListener ( "mousemove" , this . handleDragEvent ) ;
91
+ global . document . removeEventListener ( "mouseup" , this . handleDragEnd ) ;
92
+
93
+ global . document . body . style . userSelect = this . prevUserSelect ;
94
+ this . prevUserSelect = null ;
95
+ global . document . onselectstart = this . prevOnSelectStart ;
96
+ this . prevOnSelectStart = null ;
97
+ }
89
98
90
99
if ( ! this . isDragging ) {
91
100
return ;
92
101
}
93
102
this . isDragging = false ;
94
103
95
- document . body . style . userSelect = this . prevUserSelect ;
96
- this . prevUserSelect = null ;
97
- document . onselectstart = this . prevOnSelectStart ;
98
- this . prevOnSelectStart = null ;
99
-
100
104
this . props . onDragEnd && this . props . onDragEnd ( { axis : this . props . type } ) ;
101
105
} ;
102
106
0 commit comments