Skip to content

Commit 5a48568

Browse files
committed
add select/lasso for scattercarpet traces
1 parent 4bbbe5c commit 5a48568

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

test/jasmine/tests/select_test.js

+40
Original file line numberDiff line numberDiff line change
@@ -420,4 +420,44 @@ describe('select box and lasso', function() {
420420
.catch(fail)
421421
.then(done);
422422
});
423+
424+
it('should work on scattercarpet traces', function(done) {
425+
var fig = Lib.extendDeep({}, require('@mocks/scattercarpet'));
426+
var gd = createGraphDiv();
427+
var pts = [];
428+
429+
fig.layout.dragmode = 'select';
430+
431+
function assertPoints(expected) {
432+
expect(pts.length).toBe(expected.length, 'selected points length');
433+
434+
pts.forEach(function(p, i) {
435+
var e = expected[i];
436+
expect(p.a).toBe(e.a, 'selected pt a val');
437+
expect(p.b).toBe(e.b, 'selected pt b val');
438+
});
439+
pts = [];
440+
}
441+
442+
Plotly.plot(gd, fig).then(function() {
443+
gd.on('plotly_selected', function(data) {
444+
pts = data.points;
445+
});
446+
447+
assertSelectionNodes(0, 0);
448+
drag([[300, 200], [400, 250]]);
449+
assertSelectionNodes(0, 2);
450+
assertPoints([{ a: 0.2, b: 1.5 }]);
451+
452+
return Plotly.relayout(gd, 'dragmode', 'lasso');
453+
})
454+
.then(function() {
455+
assertSelectionNodes(0, 0);
456+
drag([[300, 200], [400, 200], [400, 250], [300, 250], [300, 200]]);
457+
assertSelectionNodes(0, 2);
458+
assertPoints([{ a: 0.2, b: 1.5 }]);
459+
})
460+
.catch(fail)
461+
.then(done);
462+
});
423463
});

0 commit comments

Comments
 (0)