| 226 | } |
| 227 | |
| 228 | export function createDoubleClickChecker() { |
| 229 | let doubleClick = false; |
| 230 | |
| 231 | const pos = { x: 0, y: 0 }; |
| 232 | |
| 233 | return (event: MouseEvent) => { |
| 234 | if (doubleClick) { |
| 235 | doubleClick = false; |
| 236 | |
| 237 | if ( |
| 238 | Math.sqrt( |
| 239 | Math.pow(event.clientX - pos.x, 2) + |
| 240 | Math.pow(event.clientY - pos.y, 2), |
| 241 | ) <= 24 |
| 242 | ) { |
| 243 | return true; |
| 244 | } |
| 245 | } else { |
| 246 | doubleClick = true; |
| 247 | |
| 248 | pos.x = event.clientX; |
| 249 | pos.y = event.clientY; |
| 250 | |
| 251 | setTimeout(() => { |
| 252 | doubleClick = false; |
| 253 | }, 250); |
| 254 | } |
| 255 | }; |
| 256 | } |