|
1 | 1 | import { ElementOrSelector } from "../../utils/resolve-elements" |
2 | 2 | import { isDragActive } from "../drag/state/is-active" |
3 | 3 | import { EventOptions } from "../types" |
| 4 | +import { capturePointer } from "../utils/capture-pointer" |
4 | 5 | import { isNodeOrChild } from "../utils/is-node-or-child" |
5 | 6 | import { isPrimaryPointer } from "../utils/is-primary-pointer" |
6 | 7 | import { setupGesture } from "../utils/setup" |
@@ -51,37 +52,22 @@ export function press( |
51 | 52 | ) |
52 | 53 |
|
53 | 54 | const startPress = (startEvent: PointerEvent) => { |
54 | | - const lockTarget = startEvent.target as Element |
55 | 55 | const target = startEvent.currentTarget as Element |
56 | 56 |
|
57 | 57 | if (!target || !isValidPressEvent(startEvent) || isPressing.has(target)) |
58 | 58 | return |
59 | 59 |
|
60 | 60 | isPressing.add(target) |
61 | 61 |
|
62 | | - if ( |
63 | | - lockTarget.setPointerCapture && |
64 | | - startEvent.pointerId !== undefined |
65 | | - ) { |
66 | | - try { |
67 | | - lockTarget.setPointerCapture(startEvent.pointerId) |
68 | | - } catch (e) {} |
69 | | - } |
| 62 | + capturePointer(startEvent, "set") |
70 | 63 |
|
71 | 64 | const onPressEnd = onPressStart(target, startEvent) |
72 | 65 |
|
73 | 66 | const onPointerEnd = (endEvent: PointerEvent, success: boolean) => { |
74 | 67 | target.removeEventListener("pointerup", onPointerUp) |
75 | 68 | target.removeEventListener("pointercancel", onPointerCancel) |
76 | 69 |
|
77 | | - if ( |
78 | | - lockTarget.releasePointerCapture && |
79 | | - endEvent.pointerId !== undefined |
80 | | - ) { |
81 | | - try { |
82 | | - lockTarget.releasePointerCapture(endEvent.pointerId) |
83 | | - } catch (e) {} |
84 | | - } |
| 70 | + capturePointer(endEvent, "release") |
85 | 71 |
|
86 | 72 | if (!isValidPressEvent(endEvent) || !isPressing.has(target)) { |
87 | 73 | return |
|
0 commit comments