@@ -4,8 +4,8 @@ module.exports = mouseListen
4
4
5
5
var mouse = require ( 'mouse-event' )
6
6
7
- function mouseListen ( element , callback ) {
8
- if ( ! callback ) {
7
+ function mouseListen ( element , callback ) {
8
+ if ( ! callback ) {
9
9
callback = element
10
10
element = window
11
11
}
@@ -14,95 +14,94 @@ function mouseListen(element, callback) {
14
14
var x = 0
15
15
var y = 0
16
16
var mods = {
17
- shift : false ,
18
- alt : false ,
17
+ shift : false ,
18
+ alt : false ,
19
19
control : false ,
20
- meta : false
20
+ meta : false
21
21
}
22
22
var attached = false
23
23
24
- function updateMods ( ev ) {
24
+ function updateMods ( ev ) {
25
25
var changed = false
26
- if ( 'altKey' in ev ) {
26
+ if ( 'altKey' in ev ) {
27
27
changed = changed || ev . altKey !== mods . alt
28
28
mods . alt = ! ! ev . altKey
29
29
}
30
- if ( 'shiftKey' in ev ) {
30
+ if ( 'shiftKey' in ev ) {
31
31
changed = changed || ev . shiftKey !== mods . shift
32
32
mods . shift = ! ! ev . shiftKey
33
33
}
34
- if ( 'ctrlKey' in ev ) {
34
+ if ( 'ctrlKey' in ev ) {
35
35
changed = changed || ev . ctrlKey !== mods . control
36
36
mods . control = ! ! ev . ctrlKey
37
37
}
38
- if ( 'metaKey' in ev ) {
38
+ if ( 'metaKey' in ev ) {
39
39
changed = changed || ev . metaKey !== mods . meta
40
40
mods . meta = ! ! ev . metaKey
41
41
}
42
42
return changed
43
43
}
44
44
45
- function handleEvent ( nextButtons , ev ) {
45
+ function handleEvent ( nextButtons , ev ) {
46
46
var nextX = mouse . x ( ev )
47
47
var nextY = mouse . y ( ev )
48
- if ( 'buttons' in ev ) {
49
- nextButtons = ev . buttons | 0
48
+ if ( 'buttons' in ev ) {
49
+ nextButtons = ev . buttons | 0
50
50
}
51
- if ( nextButtons !== buttonState ||
52
- nextX !== x ||
53
- nextY !== y ||
54
- updateMods ( ev ) ) {
55
- buttonState = nextButtons | 0
56
- x = nextX || 0
57
- y = nextY || 0
51
+ if ( nextButtons !== buttonState ||
52
+ nextX !== x ||
53
+ nextY !== y ||
54
+ updateMods ( ev ) ) {
55
+ buttonState = nextButtons | 0
56
+ x = nextX || 0
57
+ y = nextY || 0
58
58
callback && callback ( buttonState , x , y , mods )
59
59
}
60
60
}
61
61
62
- function clearState ( ev ) {
62
+ function clearState ( ev ) {
63
63
handleEvent ( 0 , ev )
64
64
}
65
65
66
- function handleBlur ( ) {
67
- if ( buttonState ||
66
+ function handleBlur ( ) {
67
+ if ( buttonState ||
68
68
x ||
69
69
y ||
70
70
mods . shift ||
71
71
mods . alt ||
72
72
mods . meta ||
73
73
mods . control ) {
74
-
75
74
x = y = 0
76
75
buttonState = 0
77
76
mods . shift = mods . alt = mods . control = mods . meta = false
78
77
callback && callback ( 0 , 0 , 0 , mods )
79
78
}
80
79
}
81
80
82
- function handleMods ( ev ) {
83
- if ( updateMods ( ev ) ) {
81
+ function handleMods ( ev ) {
82
+ if ( updateMods ( ev ) ) {
84
83
callback && callback ( buttonState , x , y , mods )
85
84
}
86
85
}
87
86
88
- function handleMouseMove ( ev ) {
89
- if ( mouse . buttons ( ev ) === 0 ) {
87
+ function handleMouseMove ( ev ) {
88
+ if ( mouse . buttons ( ev ) === 0 ) {
90
89
handleEvent ( 0 , ev )
91
90
} else {
92
91
handleEvent ( buttonState , ev )
93
92
}
94
93
}
95
94
96
- function handleMouseDown ( ev ) {
95
+ function handleMouseDown ( ev ) {
97
96
handleEvent ( buttonState | mouse . buttons ( ev ) , ev )
98
97
}
99
98
100
- function handleMouseUp ( ev ) {
99
+ function handleMouseUp ( ev ) {
101
100
handleEvent ( buttonState & ~ mouse . buttons ( ev ) , ev )
102
101
}
103
102
104
- function attachListeners ( ) {
105
- if ( attached ) {
103
+ function attachListeners ( ) {
104
+ if ( attached ) {
106
105
return
107
106
}
108
107
attached = true
@@ -124,7 +123,7 @@ function mouseListen(element, callback) {
124
123
element . addEventListener ( 'keydown' , handleMods )
125
124
element . addEventListener ( 'keypress' , handleMods )
126
125
127
- if ( element !== window ) {
126
+ if ( element !== window ) {
128
127
window . addEventListener ( 'blur' , handleBlur )
129
128
130
129
window . addEventListener ( 'keyup' , handleMods )
@@ -133,8 +132,8 @@ function mouseListen(element, callback) {
133
132
}
134
133
}
135
134
136
- function detachListeners ( ) {
137
- if ( ! attached ) {
135
+ function detachListeners ( ) {
136
+ if ( ! attached ) {
138
137
return
139
138
}
140
139
attached = false
@@ -156,7 +155,7 @@ function mouseListen(element, callback) {
156
155
element . removeEventListener ( 'keydown' , handleMods )
157
156
element . removeEventListener ( 'keypress' , handleMods )
158
157
159
- if ( element !== window ) {
158
+ if ( element !== window ) {
160
159
window . removeEventListener ( 'blur' , handleBlur )
161
160
162
161
window . removeEventListener ( 'keyup' , handleMods )
@@ -165,7 +164,7 @@ function mouseListen(element, callback) {
165
164
}
166
165
}
167
166
168
- //Attach listeners
167
+ // Attach listeners
169
168
attachListeners ( )
170
169
171
170
var result = {
@@ -174,30 +173,30 @@ function mouseListen(element, callback) {
174
173
175
174
Object . defineProperties ( result , {
176
175
enabled : {
177
- get : function ( ) { return attached } ,
178
- set : function ( f ) {
179
- if ( f ) {
176
+ get : function ( ) { return attached } ,
177
+ set : function ( f ) {
178
+ if ( f ) {
180
179
attachListeners ( )
181
180
} else {
182
- detachListeners
181
+ detachListeners ( )
183
182
}
184
183
} ,
185
184
enumerable : true
186
185
} ,
187
186
buttons : {
188
- get : function ( ) { return buttonState } ,
187
+ get : function ( ) { return buttonState } ,
189
188
enumerable : true
190
189
} ,
191
190
x : {
192
- get : function ( ) { return x } ,
191
+ get : function ( ) { return x } ,
193
192
enumerable : true
194
193
} ,
195
194
y : {
196
- get : function ( ) { return y } ,
195
+ get : function ( ) { return y } ,
197
196
enumerable : true
198
197
} ,
199
198
mods : {
200
- get : function ( ) { return mods } ,
199
+ get : function ( ) { return mods } ,
201
200
enumerable : true
202
201
}
203
202
} )
0 commit comments