const { fromEvent } = rxjs;
const { switchMap, takeUntil, map } = rxjs.operators;
const card = document.querySelector('.card');
const mouseDown$ = fromEvent(card,'mousedown');
const mouseUp$ = fromEvent(document, 'mouseup');
const mouseMove$ = fromEvent(document, 'mousemove');
const dragAndDrop$ = mouseDown$.pipe(
map(e => ({})),
switchMap( start => mouseMove$.pipe(
takeUntil(mouseUp$)
))
);
dragAndDrop$.subscribe(v => console.log(v))
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter