diff --git a/src/plots/cartesian/select.js b/src/plots/cartesian/select.js index 2a55961d6bd..fd8d3479772 100644 --- a/src/plots/cartesian/select.js +++ b/src/plots/cartesian/select.js @@ -15,6 +15,7 @@ var Registry = require('../../registry'); var Color = require('../../components/color'); var Fx = require('../../components/fx'); +var Lib = require('../../lib'); var polygon = require('../../lib/polygon'); var throttle = require('../../lib/throttle'); var makeEventData = require('../../components/fx/helpers').makeEventData; @@ -49,8 +50,6 @@ function prepSelect(e, startX, startY, dragOptions, mode) { var allAxes = dragOptions.xaxes.concat(dragOptions.yaxes); var subtract = e.altKey; - var doneFnCompleted = dragOptions.doneFnCompleted; - var filterPoly, selectionTester, mergedPolygons, currentPolygon; var i, searchInfo, eventData; @@ -268,7 +267,7 @@ function prepSelect(e, startX, startY, dragOptions, mode) { } Fx.click(gd, evt); - }); + }).catch(Lib.error); }; dragOptions.doneFn = function() { @@ -288,8 +287,10 @@ function prepSelect(e, startX, startY, dragOptions, mode) { [].push.apply(dragOptions.mergedPolygons, mergedPolygons); } - doneFnCompleted(selection); - }); + if(dragOptions.doneFnCompleted) { + dragOptions.doneFnCompleted(selection); + } + }).catch(Lib.error); }; } diff --git a/test/jasmine/tests/select_test.js b/test/jasmine/tests/select_test.js index 2b015e00a42..1bc48e0fd3c 100644 --- a/test/jasmine/tests/select_test.js +++ b/test/jasmine/tests/select_test.js @@ -1597,6 +1597,7 @@ describe('Test select box and lasso per trace:', function() { beforeEach(function() { gd = createGraphDiv(); + spyOn(Lib, 'error'); }); afterEach(destroyGraphDiv); @@ -1716,6 +1717,7 @@ describe('Test select box and lasso per trace:', function() { .then(eventCounts[2] ? deselectPromise : Promise.resolve()) .then(function() { assertEventCounts(eventCounts[0], eventCounts[1], eventCounts[2], msg + ' (after dblclick)'); + expect(Lib.error).not.toHaveBeenCalled(); }); }