File tree 5 files changed +34
-1
lines changed
5 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -85,6 +85,11 @@ export default function Note({ data, onPointerDown }) {
85
85
< g
86
86
onPointerEnter = { ( e ) => e . isPrimary && setHovered ( true ) }
87
87
onPointerLeave = { ( e ) => e . isPrimary && setHovered ( false ) }
88
+ onPointerDown = { ( e ) => {
89
+ // Required for onPointerLeave to trigger when a touch pointer leaves
90
+ // https://stackoverflow.com/a/70976017/1137077
91
+ e . target . releasePointerCapture ( e . pointerId ) ;
92
+ } }
88
93
>
89
94
< path
90
95
d = { `M${ data . x + fold } ${ data . y } L${ data . x + w - r } ${
Original file line number Diff line number Diff line change @@ -280,6 +280,11 @@ export default function Table(props) {
280
280
281
281
setHoveredField ( - 1 ) ;
282
282
} }
283
+ onPointerDown = { ( e ) => {
284
+ // Required for onPointerLeave to trigger when a touch pointer leaves
285
+ // https://stackoverflow.com/a/70976017/1137077
286
+ e . target . releasePointerCapture ( e . pointerId ) ;
287
+ } }
283
288
>
284
289
< div
285
290
className = { `${
Original file line number Diff line number Diff line change @@ -1540,6 +1540,11 @@ export default function ControlPanel({
1540
1540
className = "text-xl me-1"
1541
1541
onPointerEnter = { ( e ) => e . isPrimary && setShowEditName ( true ) }
1542
1542
onPointerLeave = { ( e ) => e . isPrimary && setShowEditName ( false ) }
1543
+ onPointerDown = { ( e ) => {
1544
+ // Required for onPointerLeave to trigger when a touch pointer leaves
1545
+ // https://stackoverflow.com/a/70976017/1137077
1546
+ e . target . releasePointerCapture ( e . pointerId ) ;
1547
+ } }
1543
1548
onClick = { ( ) => setModal ( MODAL . RENAME ) }
1544
1549
>
1545
1550
{ window . name . split ( " " ) [ 0 ] === "t" ? "Templates/" : "Diagrams/" }
Original file line number Diff line number Diff line change @@ -24,7 +24,15 @@ function Table({ table, grab }) {
24
24
width = { tableWidth }
25
25
height = { height }
26
26
className = "drop-shadow-lg rounded-md cursor-move"
27
- onPointerDown = { ( e ) => e . isPrimary && grab ( e ) }
27
+ onPointerDown = { ( e ) => {
28
+ // Required for onPointerLeave to trigger when a touch pointer leaves
29
+ // https://stackoverflow.com/a/70976017/1137077
30
+ e . target . releasePointerCapture ( e . pointerId ) ;
31
+
32
+ if ( ! e . isPrimary ) return ;
33
+
34
+ grab ( e ) ;
35
+ } }
28
36
onPointerEnter = { ( e ) => e . isPrimary && setIsHovered ( true ) }
29
37
onPointerLeave = { ( e ) => e . isPrimary && setIsHovered ( false ) }
30
38
>
@@ -48,6 +56,11 @@ function Table({ table, grab }) {
48
56
} h-[36px] px-2 py-1 flex justify-between`}
49
57
onPointerEnter = { ( e ) => e . isPrimary && setHoveredField ( i ) }
50
58
onPointerLeave = { ( e ) => e . isPrimary && setHoveredField ( - 1 ) }
59
+ onPointerDown = { ( e ) => {
60
+ // Required for onPointerLeave to trigger when a touch pointer leaves
61
+ // https://stackoverflow.com/a/70976017/1137077
62
+ e . target . releasePointerCapture ( e . pointerId ) ;
63
+ } }
51
64
>
52
65
< div className = { hoveredField === i ? "text-zinc-500" : "" } >
53
66
< button
Original file line number Diff line number Diff line change @@ -352,6 +352,11 @@ export default function WorkSpace() {
352
352
onPointerUp = { ( e ) => e . isPrimary && setResize ( false ) }
353
353
onPointerLeave = { ( e ) => e . isPrimary && setResize ( false ) }
354
354
onPointerMove = { ( e ) => e . isPrimary && handleResize ( e ) }
355
+ onPointerDown = { ( e ) => {
356
+ // Required for onPointerLeave to trigger when a touch pointer leaves
357
+ // https://stackoverflow.com/a/70976017/1137077
358
+ e . target . releasePointerCapture ( e . pointerId ) ;
359
+ } }
355
360
>
356
361
{ layout . sidebar && (
357
362
< SidePanel resize = { resize } setResize = { setResize } width = { width } />
You can’t perform that action at this time.
0 commit comments