Skip to content

Commit dad8962

Browse files
committed
Fix #16
1 parent bca811e commit dad8962

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ const createScatterplot = (initialProperties = {}) => {
386386
};
387387

388388
const mouseMoveHandler = (event) => {
389-
if (!isInit) return;
389+
if (!isInit || (!isMouseInCanvas && !mouseDown)) return;
390390

391391
getRelativeMousePosition(event);
392392

@@ -398,7 +398,7 @@ const createScatterplot = (initialProperties = {}) => {
398398

399399
if (mouseDownShift) lassoExtendDb();
400400

401-
// Always redraw when mouse as the user might have panned or lassoed
401+
// Always redraw when mousedown as the user might have panned or lassoed
402402
if (mouseDown) drawRaf(); // eslint-disable-line no-use-before-define
403403
};
404404

@@ -1205,9 +1205,9 @@ const createScatterplot = (initialProperties = {}) => {
12051205
// Setup event handler
12061206
window.addEventListener('keyup', keyUpHandler, false);
12071207
window.addEventListener('blur', blurHandler, false);
1208-
window.addEventListener('mousedown', mouseDownHandler, false);
12091208
window.addEventListener('mouseup', mouseUpHandler, false);
12101209
window.addEventListener('mousemove', mouseMoveHandler, false);
1210+
canvas.addEventListener('mousedown', mouseDownHandler, false);
12111211
canvas.addEventListener('mouseenter', mouseEnterCanvasHandler, false);
12121212
canvas.addEventListener('mouseleave', mouseLeaveCanvasHandler, false);
12131213
canvas.addEventListener('click', mouseClickHandler, false);
@@ -1217,9 +1217,9 @@ const createScatterplot = (initialProperties = {}) => {
12171217
const destroy = () => {
12181218
window.removeEventListener('keyup', keyUpHandler, false);
12191219
window.removeEventListener('blur', blurHandler, false);
1220-
window.removeEventListener('mousedown', mouseDownHandler, false);
12211220
window.removeEventListener('mouseup', mouseUpHandler, false);
12221221
window.removeEventListener('mousemove', mouseMoveHandler, false);
1222+
canvas.removeEventListener('mousedown', mouseDownHandler, false);
12231223
canvas.removeEventListener('mouseenter', mouseEnterCanvasHandler, false);
12241224
canvas.removeEventListener('mouseleave', mouseLeaveCanvasHandler, false);
12251225
canvas.removeEventListener('click', mouseClickHandler, false);

tests/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ test('draw(), clear(), publish("select")', async (t) => {
684684
scatterplot.subscribe('deselect', deselectHandler);
685685

686686
// Test single selection via mouse clicks
687-
window.dispatchEvent(createMouseEvent('mousedown', hdim, hdim));
687+
canvas.dispatchEvent(createMouseEvent('mousedown', hdim, hdim));
688688
canvas.dispatchEvent(createMouseEvent('click', hdim, hdim));
689689

690690
t.equal(selectedPoints.length, 1, 'should have selected one point');
@@ -698,7 +698,7 @@ test('draw(), clear(), publish("select")', async (t) => {
698698
// Test that mousedown + mousemove + click is not interpreted as a click when
699699
// the cursor moved more than `LASSO_MIN_DIST` in between mousedown and
700700
// mouseup
701-
window.dispatchEvent(
701+
canvas.dispatchEvent(
702702
createMouseEvent('mousedown', hdim - LASSO_MIN_DIST, hdim)
703703
);
704704
canvas.dispatchEvent(createMouseEvent('click', hdim, hdim));
@@ -743,7 +743,7 @@ test('lasso selection with publish("select")', async (t) => {
743743
scatterplot.subscribe('deselect', deselectHandler);
744744

745745
// Test multi selections via mousedown + mousemove
746-
window.dispatchEvent(
746+
canvas.dispatchEvent(
747747
createMouseEvent('mousedown', dim * 1.125, hdim, { shiftKey: true })
748748
);
749749

0 commit comments

Comments
 (0)