JSFiddle - React, Tailwind, and code Playground
by georgie
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/4.1.0/rx.all.js"></script>
JavaScript
let Observable = Rx.Observable;
let mousemoves = Observable.fromEvent(document, 'mousemove')
let mousedowns = Observable.fromEvent(document, 'mousedown')
let mouseups = Observable.fromEvent(document, 'mouseup')
let mouseDeltaMoves = mousedowns
.concatMap(function({offsetX, offsetY}){
return mousemoves
.takeUntil(mouseups)
.map( ({pageX, pageY}) => ({x:pageX-offsetX, y: pageY-offsetY}) )
})
mouseMagicMoves.forEach(function({x,y}){
console.log('moved',x,y)
})