Skip to content

Commit b31516c

Browse files
authored
Fix: [Regions] drag selection on the wrapper element to avoid clip-path (#3371)
1 parent a242abe commit b31516c

File tree

4 files changed

+4
-2
lines changed

4 files changed

+4
-2
lines changed

cypress/e2e/regions.cy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ describe('WaveSurfer Regions plugin tests', () => {
187187
clientX: 100,
188188
clientY: 10,
189189
})
190-
win.wavesurfer.getWrapper().querySelector('div').dispatchEvent(pointerDownEvent)
190+
win.wavesurfer.getWrapper().dispatchEvent(pointerDownEvent)
191191
win.document.dispatchEvent(pointerMoveEvent)
192192
win.document.dispatchEvent(pointerUpEvent)
193193

83.7 KB
Loading

src/draggable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,15 @@ export function makeDraggable(
6666

6767
document.addEventListener('pointermove', onPointerMove)
6868
document.addEventListener('pointerup', onPointerUp)
69+
document.addEventListener('pointerout', onPointerUp)
6970
document.addEventListener('pointercancel', onPointerUp)
7071
document.addEventListener('touchmove', onTouchMove, { passive: false })
7172
document.addEventListener('click', onClick, { capture: true })
7273

7374
unsubscribeDocument = () => {
7475
document.removeEventListener('pointermove', onPointerMove)
7576
document.removeEventListener('pointerup', onPointerUp)
77+
document.removeEventListener('pointerout', onPointerUp)
7678
document.removeEventListener('pointercancel', onPointerUp)
7779
document.removeEventListener('touchmove', onTouchMove)
7880
setTimeout(() => {

src/plugins/regions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ class RegionsPlugin extends BasePlugin<RegionsPluginEvents, RegionsPluginOptions
509509
* Returns a function to disable the drag selection.
510510
*/
511511
public enableDragSelection(options: Omit<RegionParams, 'start' | 'end'>): () => void {
512-
const wrapper = this.wavesurfer?.getWrapper()?.querySelector('div.canvases')
512+
const wrapper = this.wavesurfer?.getWrapper()
513513
if (!wrapper || !(wrapper instanceof HTMLElement)) return () => undefined
514514

515515
const initialSize = 5

0 commit comments

Comments
 (0)