Slide 39
Slide 39 text
mousedown.flatMap((md) => {
var startX = md.offsetX, startY = md.offsetY;
return mousemove.map((mm) => {
return {
left: mm.clientX - startX,
top: mm.clientY - startY
};
}).takeUntil(mouseup);
}).subscribe((pos) => {
dragTarget.style.top = pos.top + 'px';
dragTarget.style.left = pos.left + 'px';
});
drag & drop