refactor(web): extract document drag listeners
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
type MouseDragDocumentLike = {
|
||||
addEventListener: (type: "mousemove" | "mouseup", listener: (event: MouseEvent) => void) => void;
|
||||
removeEventListener: (type: "mousemove" | "mouseup", listener: (event: MouseEvent) => void) => void;
|
||||
};
|
||||
|
||||
export function attachDocumentMouseDrag(
|
||||
doc: MouseDragDocumentLike,
|
||||
onMove: (event: MouseEvent) => void,
|
||||
onUp: (event: MouseEvent) => void,
|
||||
): () => void {
|
||||
function cleanup() {
|
||||
doc.removeEventListener("mousemove", onMove);
|
||||
doc.removeEventListener("mouseup", onUp);
|
||||
}
|
||||
|
||||
doc.addEventListener("mousemove", onMove);
|
||||
doc.addEventListener("mouseup", onUp);
|
||||
return cleanup;
|
||||
}
|
||||
Reference in New Issue
Block a user