Skip to content

Commit 420cefc

Browse files
committed
rewrite fillRangeItems in select.js so that in does not depend on select mode
1 parent 33d0085 commit 420cefc

File tree

1 file changed

+33
-19
lines changed

1 file changed

+33
-19
lines changed

src/components/selections/select.js

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -149,30 +149,44 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
149149
if(plotinfo.fillRangeItems) {
150150
fillRangeItems = plotinfo.fillRangeItems;
151151
} else {
152-
if(isRectMode) {
153-
fillRangeItems = function(eventData, poly) {
154-
var ranges = eventData.range = {};
152+
fillRangeItems = function(eventData, poly, filterPoly) {
153+
var range = {};
154+
var ranges = {};
155+
156+
var hasRange = false;
157+
var hasRanges = false;
158+
159+
for(i = 0; i < allAxes.length; i++) {
160+
var ax = allAxes[i];
161+
var axLetter = ax._id.charAt(0);
155162

156-
for(i = 0; i < allAxes.length; i++) {
157-
var ax = allAxes[i];
158-
var axLetter = ax._id.charAt(0);
163+
var min = poly[axLetter + 'min'];
164+
var max = poly[axLetter + 'max'];
159165

160-
ranges[ax._id] = [
161-
p2r(ax, poly[axLetter + 'min']),
162-
p2r(ax, poly[axLetter + 'max'])
166+
if(min !== undefined && max !== undefined) {
167+
range[ax._id] = [
168+
p2r(ax, min),
169+
p2r(ax, max)
163170
].sort(ascending);
171+
172+
hasRange = true;
164173
}
165-
};
166-
} else { // case of isFreeMode
167-
fillRangeItems = function(eventData, poly, filterPoly) {
168-
var dataPts = eventData.lassoPoints = {};
169-
170-
for(i = 0; i < allAxes.length; i++) {
171-
var ax = allAxes[i];
172-
dataPts[ax._id] = filterPoly.filtered.map(axValue(ax));
174+
175+
if(filterPoly.filtered) {
176+
ranges[ax._id] = filterPoly.filtered.map(axValue(ax));
177+
178+
hasRanges = true;
173179
}
174-
};
175-
}
180+
}
181+
182+
if(hasRange) {
183+
eventData.range = range;
184+
}
185+
186+
if(hasRanges) {
187+
eventData.lassoPoints = ranges;
188+
}
189+
};
176190
}
177191

178192
dragOptions.moveFn = function(dx0, dy0) {

0 commit comments

Comments
 (0)