Skip to content

Commit 5b36d3b

Browse files
committed
fix mapbox multi-select error with shiftKey
1 parent 41b0fd2 commit 5b36d3b

File tree

2 files changed

+11
-18
lines changed

2 files changed

+11
-18
lines changed

src/plots/geo/geo.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -429,22 +429,18 @@ proto.updateFx = function(fullLayout, geoLayout) {
429429
]);
430430
}
431431

432-
var fillRangeItems;
433-
434-
if(dragMode === 'select') {
435-
fillRangeItems = function(eventData, poly) {
432+
var fillRangeItems = function(eventData, poly) {
433+
if(poly.isRect) {
436434
var ranges = eventData.range = {};
437435
ranges[_this.id] = [
438436
invert([poly.xmin, poly.ymin]),
439437
invert([poly.xmax, poly.ymax])
440438
];
441-
};
442-
} else if(dragMode === 'lasso') {
443-
fillRangeItems = function(eventData, poly) {
439+
} else {
444440
var dataPts = eventData.lassoPoints = {};
445441
dataPts[_this.id] = poly.map(invert);
446-
};
447-
}
442+
}
443+
};
448444

449445
// Note: dragOptions is needed to be declared for all dragmodes because
450446
// it's the object that holds persistent selection state.

src/plots/mapbox/mapbox.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ var dragElement = require('../../components/dragelement');
1010

1111
var Fx = require('../../components/fx');
1212
var dragHelpers = require('../../components/dragelement/helpers');
13-
var rectMode = dragHelpers.rectMode;
1413
var drawMode = dragHelpers.drawMode;
1514
var selectMode = dragHelpers.selectMode;
1615

@@ -550,20 +549,18 @@ proto.updateFx = function(fullLayout) {
550549
var dragMode = fullLayout.dragmode;
551550
var fillRangeItems;
552551

553-
if(rectMode(dragMode)) {
554-
fillRangeItems = function(eventData, poly) {
552+
fillRangeItems = function(eventData, poly) {
553+
if(poly.isRect) {
555554
var ranges = eventData.range = {};
556555
ranges[self.id] = [
557556
invert([poly.xmin, poly.ymin]),
558557
invert([poly.xmax, poly.ymax])
559558
];
560-
};
561-
} else {
562-
fillRangeItems = function(eventData, pts) {
559+
} else {
563560
var dataPts = eventData.lassoPoints = {};
564-
dataPts[self.id] = pts.map(invert);
565-
};
566-
}
561+
dataPts[self.id] = poly.map(invert);
562+
}
563+
};
567564

568565
// Note: dragOptions is needed to be declared for all dragmodes because
569566
// it's the object that holds persistent selection state.

0 commit comments

Comments
 (0)